<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>DSpace Collection:</title>
    <link>http://hdl.handle.net/1880/45313</link>
    <description />
    <pubDate>Thu, 23 May 2013 04:51:02 GMT</pubDate>
    <dc:date>2013-05-23T04:51:02Z</dc:date>
    <item>
      <title>LIMITATIONS AND CAPABILITIES OF WEAK MEMORY CONSISTENCY SYSTEMS</title>
      <link>http://hdl.handle.net/1880/46623</link>
      <description>Title: LIMITATIONS AND CAPABILITIES OF WEAK MEMORY CONSISTENCY SYSTEMS
Authors: KAWASH, JALAL
Abstract: This dissertation develops and exploits a formalism for specifying 
memory consistency models.  This formalism lays down the foundations for 
describing memory consistency models at various levels, and develops techniques
 to prove the equivalence between models defined at different levels.  Two 
levels, called non-operational and operational, are addressed in this 
dissertation.  The non-operational level describes these models in terms of 
program instructions or procedures, while the operational level describes them 
in terms of implementation events.  Formal techniques are developed to prove 
the equivalence of rigorous specifications at both levels. This formalism is 
then exploited to define the memory consistency models of two state-of-the-art 
multiprocess systems: the SPARC version 8 architecture and the Java Virtual 
Machine.  These models are defined at both operational and non-operational 
levels.  These operational and non-operational descriptions are proved 
equivalent.  The SPARC models provide "reasonably" weak memory consistency 
models that are capable of avoiding the use of explicit synchronization 
primitives for certain problems.  However, Java provides a consistency model 
that is completely dependent on synchronization primitives, without which no 
form of coordination between different threads is possible.   Fundamental 
process coordination problems have been extensively studied for traditional 
systems with strong memory consistency.  This dissertation revisits the 
critical section and the producer/consumer problems in the context of weak 
memory consistency models.  It establishes that the majority of known weak 
memory consistency models are incapable of supporting a solution to the 
critical section problem without the use of explicit synchronization 
primitives.  Surprisingly, most of these models are capable of supporting 
solutions to versions of the producer/consumer problem without the use of these
 primitives.</description>
      <pubDate>Wed, 22 Mar 2000 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">http://hdl.handle.net/1880/46623</guid>
      <dc:date>2000-03-22T00:00:00Z</dc:date>
    </item>
    <item>
      <title>CRITICAL SECTIONS AND PRODUCER/CONSUMER QUEUES IN WEAK MEMORY SYSTEMS</title>
      <link>http://hdl.handle.net/1880/46030</link>
      <description>Title: CRITICAL SECTIONS AND PRODUCER/CONSUMER QUEUES IN WEAK MEMORY SYSTEMS
Authors: Higham, Lisa; Kawash, Jalal
Abstract: In machines with a weak memory consistency model, the ordering constraints on
memory accesses are few.  In order to properly program these machines, certain
powerful or explicit synchronization instructions are additionally provided 
in their architecture.  We show that although a solution to the critical 
section problem (also referred to as the mutual exclusion problem) is
impossible without such powerful synchronization, certain versions of the 
producer/consumer problem can be solved even in the weakest systems without
the need for any such powerful instructions.  These instructions are
expensive, and avoiding their use is desirable for better performance.</description>
      <pubDate>Sun, 01 Jun 1997 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">http://hdl.handle.net/1880/46030</guid>
      <dc:date>1997-06-01T00:00:00Z</dc:date>
    </item>
    <item>
      <title>BOUNDS FOR MUTUAL EXCLUSION WITH ONLY PROCESSOR CONSISTENCY</title>
      <link>http://hdl.handle.net/1880/45997</link>
      <description>Title: BOUNDS FOR MUTUAL EXCLUSION WITH ONLY PROCESSOR CONSISTENCY
Authors: Higham, Lisa; Kawash, Jalal
Abstract: Most weak memory consistency models are incapable of supporting a 
solution to mutual exclusion using only read and write  operations.  Processor 
Consistency-Goodman's version is an exception.  Ahamad et al.[1] showed that 
Peterson's mutual  exclusion algorithm is correct for PC-G, but Lamport's 
bakery algorithm is not.  In this paper, we derive a lower bound on  the number
 and type (single- or multi-writer) of variables that a mutual exclusion 
algorithm must use in order to be correct  for PC-G.  We show that any such 
solution for n processes must use at least one multi-writer and n 
single-writers.  This  lower bound is tight when n = 2, and is tight when n &gt;_2
 for solutions that do not provide fairness.  We show that Burn's  algorithm is
 an unfair solution for mutual exclusion in PC-G that achieves our bound.  
However, five other known algorithms  that use the same number and type of 
variables are incorrect for PC-G.  A corollary of this investigation is that, 
in contrast  to Sequential Consistency, multi-writers cannot be implemented 
from single-writers in PC-G.</description>
      <pubDate>Wed, 15 Dec 1999 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">http://hdl.handle.net/1880/45997</guid>
      <dc:date>1999-12-15T00:00:00Z</dc:date>
    </item>
    <item>
      <title>JAVA:  MEMORY CONSISTENCY AND PROCESS COORDINATION</title>
      <link>http://hdl.handle.net/1880/45995</link>
      <description>Title: JAVA:  MEMORY CONSISTENCY AND PROCESS COORDINATION
Authors: Higham, Lisa; Kawash, Jalal
Abstract: In Java, some memory updates are necessarily visible to some threads but never
to others.  A definition of Java memory consistency must take this fact into
consideration to capture the semantics of non-terminating systems, such as a
Java operating system.  This paper presents a programmer-centered formal 
definition of Java memory behavior that captures those semantics.
Our definition is employed to prove that it is impossible to provide 
fundamental process coordination in Java, such as critical sections and
producer/consumer coordination, without the use of the synchronized and 
volatile constructs.  However, we show that a weaker form of synchronization
suffices to solve some of these problems in Java.</description>
      <pubDate>Wed, 01 Apr 1998 00:00:00 GMT</pubDate>
      <guid isPermaLink="false">http://hdl.handle.net/1880/45995</guid>
      <dc:date>1998-04-01T00:00:00Z</dc:date>
    </item>
  </channel>
</rss>

