A Graph-Theoretic Model of Shared-Memory Legality

Size: px
Start display at page:

Download "A Graph-Theoretic Model of Shared-Memory Legality"

Transcription

1 A Graph-Theoretic Model of Shared-Memory Legality Ayru L Oliveira Filho Valmir C Barbosa Centro de Pesquisas de Energia Elétrica CEPEL Caixa Postal Rio de Janeiro - RJ, Brazil ayru@cepelbr Programa de Engenharia de Sistemas e Computação, COPPE/UFRJ Caixa Postal Rio de Janeiro - RJ, Brazil valmir@cosufrjbr Abstract The concept of legality is a crucial one for the definition of many shared-memory consistency conditions As originally defined, a sequence of operations on a given object is legal if it is in the set of valid sequences specified for that object Being thus defined on totally ordered sets of operations, the notion of legality is not fully realistic, because parallel executions on sharedmemory multiprocessing systems are best represented by partially ordered sets of operations It is conceivable, therefore, that the eventual derivation of practical systems based on consistency models that rely on some form of legality will tend to be excessively heavy on the required synchronization In this paper, we introduce an alternative definition of legality that is based on partially ordered sets of operations Our treatment starts with a system model that makes very few assumptions on machine architecture, and proceeds to employ a graph-theoretic formalism to handle the normally troublesome issue of write multiplicity and to characterize legality Using this same formalism, we argue that the novel definition of legality is consonant with the one on totally ordered sets of operations, so it carries the same intuitive appeal intended by the original definition Keywords: Shared Memory, Legality, Consistency Models, Distributed Computing 1

2 1 Introduction The design of a scalable, efficient multiprocessing system, that is, a system comprising several processors that share a common address space, is dependent upon a variety of important factors Of these factors, one that seems to be especially critical is what is known as the system s consistency model, which, in essence, is a set of constraints (consistency conditions) that regulate the intertwining of operations on shared objects Ultimately, the choice of a consistency model poses a tradeoff between how general the program can be at the user level and how time-consuming guaranteeing correctness may be at lower levels The sequential consistency model [1], for example, allows ample generality at the user level, however at the expense of efficiency [2] Even so, various other consistency models have appeared in the wake of sequential consistency, and many of them retain the notion of sequential consistency, albeit in a considerably restricted manner (eg, [3, 4, 5, 6, 7]) In all of these consistency models, and after a fashion in some others as well [8, 9], one of the key concepts is that of the legality of a sequence of operations on shared objects Starting from the specification of what the valid sequences of operations on each shared object are, a given sequence is said to be legal if the subsequence of operations corresponding to each shared object is one of those valid sequences When the shared objects are memory locations, then the operations at hand are the writing of a value into a location and the reading of its content In this case, a sequence of operations is said to be legal if every read operation returns the value that was last written into the corresponding location according to the sequence [2] Given this notion of legality for read/write operations, an execution, broadly understood as a partially ordered set of reads and writes, is said to be sequentially consistent if a legal sequence of those operations exists in which every read returns the same value as it does in the execution, and furthermore the order in which operations appear in the program is maintained in the sequence [2] Because legality is defined on totally ordered sets of operations, the actual derivation of algorithms and protocols to implement the consistency models that rely on some form of legality is not based on executions, which are partially ordered sets of operations, but rather on sequences that are related to those executions by the definition of legality A question that comes naturally, then, is whether such approaches tend to exaggerate the amount of synchronization that they eventually require, and, if so, by how much We believe that providing characterizations of legality on the partially ordered sets of operations that constitute executions is a fundamental first step towards answering these questions This, to our knowledge, has not yet been attempted satisfactorily, and is the main theme of this paper We start in Section 2 with the description of a system model that is general enough to represent a great variety of architectures The model is built at two levels, of which the bottommost aims at hiding the details of specific architectures At this level, the model comprises a partially ordered set of events, these being the start and end of read and write operations (the end of a write is to be understood merely as a signal that the processor may proceed, and bears no relation to the actual writing of a value into a memory location, however that may be carried out) Such events are related to one another to yield the partial order in a manner that depends entirely on architectural details and is as such not pursued further The model s second level comprises a partially ordered set of read and write operations At this level, it is worth noting that multiple writes of a same value into the same memory location 2

3 are allowed As one may readily recognize, this amounts to additional complexity in the treatment of legality on partially ordered sets When legality is examined on a sequence, all that matters is the most recent value written into a memory location, regardless of whether multiple writes are allowed or not If, on the other hand, operations are not totally ordered, then the multiplicity of writes must be handled explicitly Following this introduction of the system model in Section 2, the remainder of the paper proceeds as follows Section 3 contains a treatment of legality on partially ordered sets when multiple writes are disallowed This sets the stage for the remaining sections, which incorporate multiple writes into the execution (Section 4), then regard such an execution as what is known as an AND-OR graph (Section 5), and finally come to a graph-theoretic characterization of legality on executions (Section 6) This characterization requires the existence of at least one legal sequence of operations that, in a manner to be made precise later, extends the execution, and is in this sense in consonance with the usual definition of legality on sequences Concluding remarks follow in Section 7 2 System Model In this section, we present the basic assumptions and definitions related to the system model We consider a multiprocessing system in which shared memory is the only means of communication among processors, and assume that each processor runs one single process during the execution of a parallel program The shared-memory abstraction is supported by a memory system with which processes interact by requesting that operations on shared objects be carried out The objects we consider in this paper are memory locations, and the operations that processes may request are reads and writes We assume, for the sake of simplicity, that the initial values of all memory locations result from write operations requested by the processes A read of the value v from location x is denoted by r(x)v This operation comprises two events, namely a start event denoted by s[r(x)v] and an end event denoted by e[r(x)v] Likewise, w(x)v denotes the write of the value v to location x, with s[w(x)v] and e[w(x)v] denoting the operation s start and end events, respectively Start events correspond to the requests sent by processes to the memory system, while the end events correspond to the respective responses sent by the memory system back to the processes Note that while the occurrence of e[r(x)v] at a process indicates completion of the operation r(x)v, meaning that the value v has been read, nothing of the sort can be said of e[w(x)v] What this event indicates is merely that the command to perform the write has been passed on to the memory system Because we want to stay clear of architectural details and be able to make statements that hold across a wide variety of shared-memory architectures, we assume that all events occurring during a computation are partially ordered by a relation that we denote by This relation reflects the internals of the memory system, and can be thought of as being akin to the usual happenedbefore relation of distributed computing [10, 11] To judge by most current implementations of shared memory, what determines is the precedence that the message passing used to implement the memory system imposes on the start and end events of operations, as well as the temporal precedence of events occurring at the same process Despite this purposeful generality of, all events occurring at a same process are totally ordered by it, although it is conceivable that this total order does not alternate start events with end events In other words, the model supports 3

4 computations with more than one outstanding request by the same process On top of, several relations of interest at the level of operations can be defined The following two are crucial for the subsequent developments in the paper May influence ( ): mi This relation is akin to the one introduced in [12], and indicates, for a read, the writes that may have been responsible for the value returned by the read Obviously, such writes and the read must involve the same value, so mi is intended to allow the handling of multiple writes of the same value to the same memory location Thus w(x)v mi r(x)v if and only if s[w(x)v] e[r(x)v] Execution order ( ): This relation is meant to capture the partial order that exists among operations issued by the same process If op and op are two such operations, then there are two cases to be considered The first case is that of two reads, say op = r(x)v and op = r(y)u, and the second case is the case of a read and a write, say op = r(x)v and op = w(y)u In either case, op op if and only if e[op] e[op ] Note that cases in which op is a write are deliberately left aside, because the completion of a write is, as we remarked earlier, unrelated to the occurrence of the write s end event What is related to the completion of a w(x)v operation, instead, is the end event of a r(x)v operation such that w(x)v mi r(x)v More specifically, the end event of a r(x)v issued by a certain process indicates completion, as far as that process is concerned, of at least one of the w(x)v operations that precede r(x)v in mi Orders mi and are the ones that interest us now, but others may be of interest when addressing specific consistency models on top of our generic system model One example is the following Program order ( ): po Like, this relation is intended to capture the ordering of operations issued by the same process Unlike, po however, is a total order given the process Specifically, for op and op we have op po op if and only if op precedes op in the code of the process where they appear In comparison with other system models (eg, [13]), the two-level model we have introduced makes virtually no assumptions on architectural details It has therefore the potential for greater generality, so the properties that we show to hold for it will tend to be applicable to a wider variety of architectures We are then in position to define what will be meant throughout the paper as an execution An execution is a set of operations (reads and writes) partially ordered by the relation [ ] mi +, that is, by the transitive closure of all pairs of operations related by or mi In the sequel, we denote such a set of operations by Ω, and let denote the partial order [ ] mi + The execution is then the partially ordered set (Ω, ) Any total order of the operations in Ω is a serialization of those operations A serialization ρ is a linear extension (or linearization) of if every pair of operations in also appears in ρ 4

5 In sections to come it will be useful to regard an execution as an acyclic directed graph, call it G, of vertex set Ω and edge set given by the pairs of operations in mi and in the transitive reduction of Consider, for example, Figure 1 In the first graph, no pair of operations are related by, mi since no read returns the value written by the only write operation in the execution In the second graph, although r(b) po w(b)5, the execution shows no relation between r(b)5 and w(b)5 by Supposing that s[w(b)5] e[r(b)] and that r(b) returns the value 5, w(b)5 mi r(b)5 P 1 r(x) w(y)1 r(z) r(x)0 w(y)1 r(z)0 P 2 r(a) r(b) w(b)5 r(a)0 w(b)5 mi r(b)5 Figure 1: Executions as directed graphs 3 Legality under Single Writes As we indicated in Section 1, the original definition of legality is given for totally ordered sets of operations [2] That definition assumes that every object has a sequential specification of the set of allowed operations and of the set of valid sequences of operations Based on the sequential specification of each object, legality is defined as given next, and is henceforth referred to as sequential legality 1 Definition 1 (Sequential legality) A sequence of operations is legal if and only if, for every ρ object x, the subsequence of comprising operations on x only is in the sequential specification of x In this paper, objects are shared-memory locations and operations are reads and writes Operation sequences in the objects sequential specifications are all those in which read operations do not ρ return overwritten values In order to be more specific, let be a sequence of operations A read operation r(x)v is said to be legal if there exists a write operation w(x)v such that w(x)v ρ r(x)v and there exists no write operation w(x)v such that v v and w(x)v ρ w(x)v ρ r(x)v Based on this notion of the legality of a read operation, we can specialize the definition of sequential legality as follows 1 For the sake of notational simplicity, in the remainder of the paper we use a total order, instead of a totally ordered set, to denote a sequence of operations The corresponding set of operations is then left to be inferred from the context ρ 5

6 ρ Definition 2 (Sequential legality, revised) A sequence of operations is legal if and only if all read operations in ρ are legal Definition 2 and the notion of legal reads on which it is based are often used in the definition of memory consistency conditions over sets of read/write operations (partially or totally ordered) [5, 7] The central issue addressed in this paper is the establishment of legality over a partially ordered set of operations By doing so, we hope to be opening up the possibility that algorithms and protocols aimed at implementing legality-based consistency models require just the right amount of synchronization that the models dictate Before we delve more deeply into the details of a definition of legality over partially ordered sets of operations, we point out that such a definition must necessarily be somehow tied to the usual definition on sequences, so that a common semantics of avoiding value overwriting can be shared by the two The way we approach this is by requiring the existence of a legal sequence of operations that extends, in a sense to be made precise further in this section and more generally in Section 6, the partially ordered set we define to be legal We also note that requiring this semantic equivalence is what makes our and previous related approaches (eg, [14, 6]) totally distinct Our first definition of legality over a partially ordered set is based on the simplifying assumption that, for every read in an execution, there exists exactly one write that appears along with it in a mi pair Note that this does not preclude the existence of multiple writes of a same value to the same memory location, but rather implies that the sets of reads that those various writes may influence are all pairwise disjoint For this reason, such writes can be suitably tagged and the execution treated thereafter as if every value were uniquely identified, that is, as if no value were written to the same memory location more than once As a consequence, the semantics associated with the mi relation is one of certainly influences as opposed to may influence This assumption has been used in order to simplify some formal definitions of consistency models [15, 14, 16, 6] In Section 6, this assumption is relaxed and a second definition for legality is introduced The first step towards defining legality over an execution is to extend the execution s partial order through the addition of pairs of operations aimed at reflecting the need for a legal linear extension (the existence of such an extension is, in the case of single writes, the way the aforementioned semantic equivalence will turn out to be secured) The following definition formalizes this notion as the relation, lc called a legality constraint Definition 3 (Legality constraint for single writes) For v v, let r(x)v and w(x)v be such that r(x)v does not precede w(x)v in Then r(x)v lc w(x)v if and only if there exists r(x)v such that w(x)v r(x)v The intuition behind this legality constraint is the following If r(x)v, w(x)v, and r(x)v are all as in Definition 3, then, in any linear extension of, w(x)v must precede w(x)v Thus, in order not to violate sequential legality, r(x)v must precede w(x)v Letting = ˆ [ mi ] lc +, we can define the legality of an execution based on relation ˆ ˆ Definition 4 (Legality under single writes) (Ω, ) is legal if and only if is acyclic 6

7 w(x)0 w(y)0 r(x)0 r(y)0 w(x)1 r(x)1 w(y)1 r(y)1 r(y)0 r(x)0 Figure 2: An execution that is not legal We note before proceeding that this definition is closely related to the condition for a sequentializable history such as defined in [14] However, this similarity is not without important differences, as for example the fact that, in [14], the execution is subject to a write order constraint (or an object order constraint) Also, the exclusive edges, although defined very similarly to our legality constraint, do not contemplate the case in which a write precedes a read of another value, as a consequence of the write order constraint We thus believe that our approach is more general, in addition to being amenable to a graceful extension to the case of multiple writes, as we see in sections to come Such a case is not addressed in [14] Figure 2 depicts an execution that is not legal In the figure, graph G is shown with its edge set expanded by the addition of edges to represent the legality constraint (dashed edges) Note, for example, that w(x)0 r(x)1, so the r(x)0 that does not precede w(x)1 in must do so in the legality constraint The execution represented by G is in this case not legal because there exists a directed cycle in ˆ (this cycle can be seen clearly in the expanded graph) This is also, incidentally, an execution that the criterion of [14] classifies as legal, which further stresses the difference between that criterion and ours The following theorem relates executions that are legal by Definition 4 to sequential legality Theorem 1 (Ω, ) is legal if and only if has a legal linear extension Proof If has no legal linear extension, then there must exist locations x and y, and values v x, v x, v y, and v y, such that w(x)v x r(x)v x r(y)v y and w(y)v y r(y)v y r(x)v x In lc lc this case, is such that r(x)v x w(x)v x lc and r(y)v y w(y)v y, ˆ and therefore contains a directed cycle By Definition 4, (Ω, ) is not legal ρ Conversely, if has a legal linear extension, call it, then, by Definition 2, fixing a location x yields an alternating pattern in : ρ First a write to x appears, then the reads of that value, then the write of another value to x, then its reads, and so on By Definition 3, such a ρ contains lc, so ρ ˆ is also a linear extension of, which must then be acyclic By Definition 4, (Ω, ) is legal 4 Modeling Multiple Writes In this section, the simplifying assumption that all values are uniquely identified is dropped As will become apparent shortly, our approach will be to consider all writes that may influence a 7

8 read concomitantly The reader should note that this is in contrast with other models that also allow multiple writes The approach of [5], for example, is to tackle one such write-read pair at a time In order to generalize the legality constraint of Definition 3, a little elaboration is needed first Consider an execution (Ω, ), and let a relation be called a single-write reduction from if it is defined like but replacing mi mi with a subset of that includes exactly one pair for each read In other words, the mi pairs that participate in the definition of are pairs according to which exactly one write may influence each read Note that, following our discussion in Section mi 3, such a subset of can be regarded as characterizing single writes of a same value to the same memory location Definition 5 (Legality constraint for multiple writes) For v v, let r(x)v and w(x)v be such that r(x)v does not precede w(x)v in Then r(x)v lc w(x)v if and only if there exists a single-write reduction from, call it, for which r(x)v lc w(x)v, where lc is the legality constraint that results from the application of Definition 3 to in place of According to Definition 5, the legality constraint for multiple writes is the union of the legality constraints that result from applying Definition 3 to all single-write reductions from lc Admittedly, such a definition of is somewhat too abstract if we contemplate eventual practical uses of it However, as we demonstrate next, it is possible to display exactly which read-write pairs result from Definition 5 Proposition 1 For v v, let r(x)v and w(x)v be such that r(x)v does not precede w(x)v in Then r(x)v lc w(x)v if and only if there exist w(x)v and r(x)v such that (a) w(x)v mi r(x)v, (b) w(x)v r(x)v, and (c) w(x)v mi r(x)v Proof If r(x)v lc w(x)v, then by Definition 5 there exists, a single-write reduction from, such that r(x)v lc w(x)v, where lc results from applying Definition 3 to in place of By Definition 3, it then follows that there exists r(x)v such that w(x)v r(x)v, where w(x)v is the single write that precedes r(x)v by mi in, thus implying (a) Likewise, w(x)v precedes r(x)v by mi in, thence (c) Item (b) follows directly from the fact that every pair in is also a pair in Conversely, assume that there exist w(x)v and r(x)v such that (a) through (c) hold If we let be the single-write reduction from in which w(x)v precedes r(x)v by mi and w(x)v precedes r(x)v by, mi then by Definition 3 r(x)v lc w(x)v, where lc results from applying that definition to By Definition 5, it follows that r(x)v lc w(x)v By Proposition 1, a more intuitive rendering of the notion in Definition 5 is the following If r(x)v is as in Definition 5, and if at least one of the write operations that may influence r(x)v precedes in a read operation also involving location x but a different value v, then r(x)v must also precede the writes that may influence that r(x)v, as we intend to tackle all multiple writes of a same value to the same memory location concomitantly This is illustrated in Figure 3, where a fragment of an execution is shown along with dashed edges to represent the pairs in lc Solid 8 lc

9 edges represent pairs in The operations on x in the figure relate to Proposition 1 in such a way that v = 0 and v = 1,2 w(x)0 w(x)0 w(x)2 w(x)2 r(x)0 r(x)2 w(x)1 w(x)1 w(x)1 r(x)1 Figure 3: Legality-constraint pairs 5 Executions and AND-OR Graphs In this section, we extend the definition of graph G to yield another directed graph, to be denoted by Ĝ, and examine the structure of this resulting graph closely As we recall from Section 2, G has a vertex for each operation in Ω and a directed edge for each pair in mi or in the transitive reduction of If to this edge set we add the pairs in lc as well, then the resulting graph is Ĝ Note that graph Ĝ has already been informally used in our depiction of legal executions under single writes (cf Definition 4) in Figure 2, as well as in Figure 3 In G and in Ĝ, a node may have one immediate ancestor connected to it by an edge, and must have one or more immediate ancestors connected to it by mi edges (if it is a read) In Ĝ, it may also have immediate ancestors that connect to it by lc edges (if it is a write) This is depicted in Figure 4 If we recall that these graphs embody the dependencies that constitute an execution, then clearly only one (any one) of the immediate ancestors (writes) connecting to a read edges is indispensable, in the sense that the read would behave likewise if none but that one ancestor actually performed a write What this means is that both G and Ĝ carry an AND-OR semantics, and should as such be viewed as what is known as AND-OR graphs In order to reason about the properties of an execution as it relates to an AND-OR graph, we need additional definitions and results Let H = (N, E) be an AND-OR graph For each node n i N, let D i and A i be, respectively, the set of descendants and ancestors of n i in H Let O i D i be the set of immediate descendants of n i and I i A i be the set of immediate ancestors of n i Also, for t i 0, let Pi 1,,P t i i be the subsets of I i representing the AND groups of immediate ancestors of n i In the case of G and Ĝ, we have the following If n i is a read, then t i is the number of writes that may influence that read, and each set in Pi 1,,P t i i has cardinality 1 or 2, connecting forward to n i by at most one edge and exactly one mi edge If n i is a write, then in G t i 1 and Pi 1, if it exists, connects forward to n i by one edge The AND groups of immediate ancestors of n i in Ĝ when n i is a write are determined in great closeness to Definition 5 of Section 4, as follows Let R Ω be a set of reads This set is an AND group of immediate ancestors of n i in Ĝ if and only if there exists a single-write reduction from by mi 9

10 mi w(x)v w(x)v mi r(x)v lc w(x)v lc Figure 4: Fragments of Ĝ, call it, with the following property When Definition 3 is applied to in place of, the reads that precede n i in the resulting legality constraint are exactly those in R Naturally, the number t i of such AND groups depends on how many distinct R sets can be produced, via Definition 3, from single-write reductions from Now let H = (N,E ) be a subgraph of H H is a b-subgraph [17] of H if every node n i N has at most t i immediate ancestors in H, of which at least one is in each of Pi 1,,P t i i Analogously, H is a c-subgraph of H if every node n i N has as its immediate ancestors in H all the elements of exactly one of Pi 1,,P t i i We will also be using a graph structure known as a knot A knot is a subset K N with the property that, for each node n i K, A i = K A subset K N is said to be a b-knot [17] in H if K is a knot in some b-subgraph of H As we will see in the next section, the existence of structures akin to b-knots in Ĝ is strongly related to the legality of the execution that Ĝ stands for First, though, we introduce two supporting lemmas Lemma 1 If H contains no b-knots, then every strongly connected component of H has at least one node n i such that at least one of Pi 1,,P t i i does not intersect the component Proof The lemma is trivial for single-node components If this is not the case, then let C be a strongly connected component of H, and let L be its node set Suppose that every n i L is such that all of Pi 1,,P t i i intersect L We show that H contains a b-knot, and for such we first build a b-subgraph H of H This b-subgraph has node set L, and in it each n i L has at least one immediate ancestor in each of Pi 1 L,,P t i i L Note that, by assumption, this construction is always possible Also, because C is strongly connected, H has no sources Now consider the sequence of sets A 1 i,a2 i,a3 i,, for some n i L, such that A 1 i is the set of ancestors of node n i in H and, for k > 1, A k i is the set of ancestors in H of all nodes in Ai k 1 The absence of sources in H ensures that all sets in this sequence are nonempty In addition, because L is finite, the sequence has a fixed point, which is by definition a knot in H, therefore a b-knot in H Lemma 2 H contains a b-knot if and only if every spanning c-subgraph of H contains a directed cycle 10

11 Proof Let K be a b-knot in H By definition, every spanning c-subgraph of H includes K as part of its node set Let H be one such c-subgraph, and consider a traversal of H that starts anywhere in K and proceeds as follows When at node n i, the traversal moves on to another node that is an immediate ancestor of n i in both H and the b-subgraph of H where K is a knot (note that such an ancestor must always exist, as a consequence of the very definitions of b-subgraphs and c-subgraphs) This traversal is confined to K and, because K is finite, must eventually return to a node already encountered, thereby characterizing a directed cycle in H If H contains no b-knots, then we display an acyclic spanning c-subgraph of H In order to construct such a c-subgraph, we first split H s nodes into maximal strongly connected components C 1,,C m If all of C 1,,C m are singletons, then H is acyclic by the maximality of the components, and so is every one of its c-subgraphs Otherwise, by Lemma 1, and for 1 k m, let F k be the nonempty set of nodes of C k such that, if n i F k, then at least one of Pi 1,,P t i i does not intersect C k If we regard each of C 1,,C m as a supernode and let the only edges coming into supernode C k be those coming from all the nodes in one of the sets Pi 1,,P t i i that does not intersect C k for n i F k, then what we have is an acyclic c-subgraph on supernodes (acyclic, as before, by the maximality of the strongly connected components) Next we shrink supernode C k by removing F k from it, and recursively repeat the entire process from the splitting into maximal strongly connected components The recursion ends when no such components can any longer be found that are not singletons, at which time an acyclic spanning c-subgraph of H has been found 6 Legality under Multiple Writes The characterization of b-knots provided by Lemma 2 holds for AND-OR graphs in general In the case of Ĝ, however, the c-subgraphs of interest are those that are consistent with respect to Definition 5 For such a consistent c-subgraph of Ĝ, there exists a single-write reduction from that yields both the immediate ancestors of reads in the c-subgraph and the immediate ancestors of writes (via an application of Definition 3 to that single-write reduction) We say that Ĝ contains a quasi-b-knot if, for every single-write reduction from, there exists a strongly connected component C in Ĝ such that, for every node n i in C, the subset of I i that connects forward to n i by intersects C The proof of the following lemma is entirely analogous to that of Lemma 2 Lemma 3 Ĝ contains a quasi-b-knot if and only if every spanning c-subgraph of Ĝ that is consistent contains a directed cycle We are now in position to define the legality of an execution when multiple writes of a same value to the same memory location are allowed Definition 6 (Legality under multiple writes) (Ω, ) is legal if and only if Ĝ does not contain a quasi-b-knot This definition can be thought of as the counterpart of Definition 4 in the presence of multiple writes Likewise, Theorem 2, given next, is the counterpart of Theorem 1 The meaning this 11

12 theorem carries is that the legality of an execution as given in Definition 6 is in consonance with the usual notion of sequential legality Theorem 2 (Ω, ) is legal if and only if there exists a single-write reduction from that has a legal linear extension Proof The proof is based on the observation that to every spanning, consistent c-subgraph of Ĝ there corresponds a relation that is a single-write reduction from, and conversely Such a relation is the transitive closure of all pairs in mi or in the set of pairs that appear in the c-subgraph The c-subgraph, therefore, is subject to the results of Section 3 If (Ω, ) is legal, then by Definition 6 Ĝ has no quasi-b-knots By Lemma 3, at least one spanning c-subgraph of Ĝ that is consistent is acyclic The corresponding single-write reduction from has, by Theorem 1 under Definition 4, a legal linear extension Conversely, if (Ω, ) is not legal, then it follows from Definition 6 that Ĝ has a quasi-b-knot, and from Lemma 3 that all of Ĝ s spanning c-subgraphs that are consistent contain directed cycles Once again by Definition 4 and Theorem 1, no single-write reduction from has a legal linear extension Definition 6 can now be used to specify shared-memory consistency conditions that depend on legality directly on executions For example, (Ω, ) is sequentially consistent if a legal execution (Ω, ) exists such that: (i) Ω Ω ; (ii) Ω \ Ω comprises read operations exclusively; 2 (iii) every read in Ω Ω returns the same value in both executions; and (iv) is a total order consistent with po when restricted to any single process Conditions (i) through (iv) amount to extending the set of operations Ω by the inclusion of artificial reads meant to ensure that the resulting is a total order, given a process, that is consistent with po Clearly, in such a total order, write operations alternate with groups of reads, of which the one that immediately follows a w(x)v is a r(x)v This r(x)v may or may not be one of the artificially included reads, depending on whether an appropriate read already exists in Ω 7 Concluding Remarks We have in this paper addressed the issue of legality in multiprocessing systems Starting with the usual definition of legality on sequences of operations, we argued for the possible need for a definition given directly on partially ordered sets of operations, and proceeded all the way to providing such a definition by employing graph-theoretic properties of the so-called AND-OR type of directed graphs We finalized by showing that this new definition of legality is consonant with the traditional definition, in the sense that a partially ordered set is legal if and only if another partial order closely related to it via the AND-OR graph-theoretic formalism admits a linear extension that is legal by the original definition Our treatment has been based on a system model that makes very few assumptions on machine architecture, and in addition tackles the issue of multiple writes of a same value to the same memory location directly, without the recourse, used previously by other authors, of breaking up 2 \ denotes set difference 12

13 the multiple writes and treating them separately The work we have reported on has been extended by addressing, based on this system model, the issue of how to express the most relevant memory consistency models that have been proposed to date [18] In the wake of this investigation, it is now possible to come to the question of how the design of algorithms and protocols to support those consistency models can be conducted so to benefit from the new notion of legality we have described Acknowlegments: The authors acknowledge partial support from CNPq and CAPES, from the PRONEX initiative of Brazil s MCT under contract , and from a FAPERJ BBP grant References [1] L Lamport How to make a multiprocessor computer that correctly executes multiprocess programs IEEE Trans on Computers, C-28(9): , September 1979 [2] M P Herlihy and J M Wing Linearizability: A correctness condition for concurrent objects ACM Trans on Programming Languages and Systems, 12(3): , July 1990 [3] K Gharachorloo, D E Lenoski, J Laudon, P Gibbons, A Gupta, and J L Hennessy Memory consistency and event ordering in scalable shared-memory multiprocessors In Proc of the 17th Annual Int Symp on Computer Architecture (ISCA 90), pages 15 26, May 1990 [4] S V Adve and M D Hill A unified formalization of four shared-memory models IEEE Trans on Parallel and Distributed Systems, 4(6): , June 1993 [5] M Ahamad, R A Bazzi, R John, P Kohli, and G Neiger The power of processor consistency (extended abstract) In Proc of the 5th ACM Annual Symp on Parallel Algorithms and Architectures (SPAA 93), pages , June 1993 [6] M Raynal and A Schiper A suite of formal definitions for consistency criteria in shared memories In Proc of the ISCA Int Conf on Parallel and Distributed Computing Systems (ICPDS 96), pages , September 1996 [7] H Attiya, S Chaudhuri, R Friedman, and J Welch Shared memory consistency conditions for non-sequential execution: Definitions and programming strategies SIAM J on Computing, 27(1): 65 89, February 1998 [8] G R Gao and V Sarkar Location consistency: Stepping beyond the memory coherence barrier In Proc of the 1995 Int Conf on Parallel Processing (ICPP 95), volume II, pages 73 76, August 1995 [9] M Frigo The weakest reasonable memory Master s thesis, Department of Electrical Engineering and Computer Science, MIT, 1998 [10] L Lamport Time, clocks, and the ordering of events in a distributed system Communications of the ACM, 21(7): , July

14 [11] V C Barbosa An Introduction to Distributed Algorithms The MIT Press, Cambridge, MA, 1996 [12] L Lamport On interprocess communication Part I: Basic formalism Distributed Computing, 1: 77 85, 1986 [13] K Gharachorloo Memory Consistency Models for Shared-Memory Multiprocessors PhD thesis, Stanford University, 1995 [14] M Mizuno, M Raynal, and J Z Zhou Sequential consistency in distributed systems: Theory and implementation In F Mattern KP Birman and A Schiper, editors, Lecture Notes in Computer Science, pages Springer Verlag, 1995 [15] J Misra Axioms for memory access in asynchronous hardware systems ACM Trans on Programming Languages and Systems, 8(1): , January 1986 [16] M Raynal and A Schiper From causal consistency to sequential consistency in shared memory systems In Proc of the 15th Int Conf on Foundations of Software Technology and Theoretical Computer Science, volume 1026 of Lecture Notes in Computer Science, pages , December 1995 [17] V C Barbosa and M R F Benevides A graph-theoretic characterization of AND-OR deadlocks Technical Report ES-472/98, COPPE/UFRJ, Rio de Janeiro, Brazil, July 1998 [18] A L Oliveira Filho The Legality of Shared-Memory Computations PhD thesis, Federal University of Rio de Janeiro, 2000 In Portuguese 14

Valmir C. Barbosa. Programa de Engenharia de Sistemas e Computac~ao, COPPE. Caixa Postal Abstract

Valmir C. Barbosa. Programa de Engenharia de Sistemas e Computac~ao, COPPE. Caixa Postal Abstract The Interleaved Multichromatic Number of a Graph Valmir C. Barbosa Universidade Federal do Rio de Janeiro Programa de Engenharia de Sistemas e Computac~ao, COPPE Caixa Postal 685 2945-970 Rio de Janeiro

More information

A Suite of Formal Denitions for Consistency Criteria. in Distributed Shared Memories Rennes Cedex (France) 1015 Lausanne (Switzerland)

A Suite of Formal Denitions for Consistency Criteria. in Distributed Shared Memories Rennes Cedex (France) 1015 Lausanne (Switzerland) A Suite of Formal Denitions for Consistency Criteria in Distributed Shared Memories Michel Raynal Andre Schiper IRISA, Campus de Beaulieu EPFL, Dept d'informatique 35042 Rennes Cedex (France) 1015 Lausanne

More information

How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor

How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor How to Make a Correct Multiprocess Program Execute Correctly on a Multiprocessor Leslie Lamport 1 Digital Equipment Corporation February 14, 1993 Minor revisions January 18, 1996 and September 14, 1996

More information

Byzantine Consensus in Directed Graphs

Byzantine Consensus in Directed Graphs Byzantine Consensus in Directed Graphs Lewis Tseng 1,3, and Nitin Vaidya 2,3 1 Department of Computer Science, 2 Department of Electrical and Computer Engineering, and 3 Coordinated Science Laboratory

More information

On the Definition of Sequential Consistency

On the Definition of Sequential Consistency On the Definition of Sequential Consistency Ali Sezgin Ganesh Gopalakrishnan Abstract The definition of sequential consistency is compared with an intuitive notion of correctness. A relation between what

More information

Implementing Sequential Consistency In Cache-Based Systems

Implementing Sequential Consistency In Cache-Based Systems To appear in the Proceedings of the 1990 International Conference on Parallel Processing Implementing Sequential Consistency In Cache-Based Systems Sarita V. Adve Mark D. Hill Computer Sciences Department

More information

An Implementation of Causal Memories using the Writing Semantic

An Implementation of Causal Memories using the Writing Semantic An Implementation of Causal Memories using the Writing Semantic R. Baldoni, C. Spaziani and S. Tucci-Piergiovanni D. Tulone Dipartimento di Informatica e Sistemistica Bell-Laboratories Universita di Roma

More information

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

More information

Fundamental Properties of Graphs

Fundamental Properties of Graphs Chapter three In many real-life situations we need to know how robust a graph that represents a certain network is, how edges or vertices can be removed without completely destroying the overall connectivity,

More information

FOUR EDGE-INDEPENDENT SPANNING TREES 1

FOUR EDGE-INDEPENDENT SPANNING TREES 1 FOUR EDGE-INDEPENDENT SPANNING TREES 1 Alexander Hoyer and Robin Thomas School of Mathematics Georgia Institute of Technology Atlanta, Georgia 30332-0160, USA ABSTRACT We prove an ear-decomposition theorem

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

A Parametrized Algorithm that Implements Sequential, Causal, and Cache Memory Consistencies

A Parametrized Algorithm that Implements Sequential, Causal, and Cache Memory Consistencies A Parametrized Algorithm that Implements Sequential, Causal, and Cache Memory Consistencies Ernesto Jiménez b, Antonio Fernández a, Vicent Cholvi c, a Universidad Rey Juan Carlos, 28933 Móstoles, Spain

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

About the efficiency of partial replication to implement Distributed Shared Memory

About the efficiency of partial replication to implement Distributed Shared Memory About the efficiency of partial replication to implement Distributed Shared Memory Jean-Michel Hélary IRISA Campus de Beaulieu, 35042 Rennes-cedex, France helary@irisa.fr Alessia Milani DIS, Universitá

More information

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) January 11, 2018 Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 In this lecture

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

On the interconnection of message passing systems

On the interconnection of message passing systems Information Processing Letters 105 (2008) 249 254 www.elsevier.com/locate/ipl On the interconnection of message passing systems A. Álvarez a,s.arévalo b, V. Cholvi c,, A. Fernández b,e.jiménez a a Polytechnic

More information

Fork Sequential Consistency is Blocking

Fork Sequential Consistency is Blocking Fork Sequential Consistency is Blocking Christian Cachin Idit Keidar Alexander Shraer Novembe4, 008 Abstract We consider an untrusted server storing shared data on behalf of clients. We show that no storage

More information

Relaxed Memory-Consistency Models

Relaxed Memory-Consistency Models Relaxed Memory-Consistency Models [ 9.1] In small multiprocessors, sequential consistency can be implemented relatively easily. However, this is not true for large multiprocessors. Why? This is not the

More information

The Structure of Bull-Free Perfect Graphs

The Structure of Bull-Free Perfect Graphs The Structure of Bull-Free Perfect Graphs Maria Chudnovsky and Irena Penev Columbia University, New York, NY 10027 USA May 18, 2012 Abstract The bull is a graph consisting of a triangle and two vertex-disjoint

More information

Fork Sequential Consistency is Blocking

Fork Sequential Consistency is Blocking Fork Sequential Consistency is Blocking Christian Cachin Idit Keidar Alexander Shraer May 14, 2008 Abstract We consider an untrusted server storing shared data on behalf of clients. We show that no storage

More information

Core Membership Computation for Succinct Representations of Coalitional Games

Core Membership Computation for Succinct Representations of Coalitional Games Core Membership Computation for Succinct Representations of Coalitional Games Xi Alice Gao May 11, 2009 Abstract In this paper, I compare and contrast two formal results on the computational complexity

More information

Star Decompositions of the Complete Split Graph

Star Decompositions of the Complete Split Graph University of Dayton ecommons Honors Theses University Honors Program 4-016 Star Decompositions of the Complete Split Graph Adam C. Volk Follow this and additional works at: https://ecommons.udayton.edu/uhp_theses

More information

5. Lecture notes on matroid intersection

5. Lecture notes on matroid intersection Massachusetts Institute of Technology Handout 14 18.433: Combinatorial Optimization April 1st, 2009 Michel X. Goemans 5. Lecture notes on matroid intersection One nice feature about matroids is that a

More information

A Reduction of Conway s Thrackle Conjecture

A Reduction of Conway s Thrackle Conjecture A Reduction of Conway s Thrackle Conjecture Wei Li, Karen Daniels, and Konstantin Rybnikov Department of Computer Science and Department of Mathematical Sciences University of Massachusetts, Lowell 01854

More information

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

This article was originally published in a journal published by Elsevier, and the attached copy is provided by Elsevier for the author s benefit and for the benefit of the author s institution, for non-commercial

More information

A Distributed Algorithm to Find k-dominating Sets

A Distributed Algorithm to Find k-dominating Sets A Distributed Algorithm to Find k-dominating Sets Lucia D. Penso a,1 Valmir C. Barbosa a, arxiv:cs/0309040v1 [cs.dc] 23 Sep 2003 Abstract a Programa de Engenharia de Sistemas e Computação, COPPE, Universidade

More information

A Model of Machine Learning Based on User Preference of Attributes

A Model of Machine Learning Based on User Preference of Attributes 1 A Model of Machine Learning Based on User Preference of Attributes Yiyu Yao 1, Yan Zhao 1, Jue Wang 2 and Suqing Han 2 1 Department of Computer Science, University of Regina, Regina, Saskatchewan, Canada

More information

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY

A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY A GRAPH FROM THE VIEWPOINT OF ALGEBRAIC TOPOLOGY KARL L. STRATOS Abstract. The conventional method of describing a graph as a pair (V, E), where V and E repectively denote the sets of vertices and edges,

More information

Treewidth and graph minors

Treewidth and graph minors Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under

More information

Höllische Programmiersprachen Hauptseminar im Wintersemester 2014/2015 Determinism and reliability in the context of parallel programming

Höllische Programmiersprachen Hauptseminar im Wintersemester 2014/2015 Determinism and reliability in the context of parallel programming Höllische Programmiersprachen Hauptseminar im Wintersemester 2014/2015 Determinism and reliability in the context of parallel programming Raphael Arias Technische Universität München 19.1.2015 Abstract

More information

THE TRANSITIVE REDUCTION OF A DIRECTED GRAPH*

THE TRANSITIVE REDUCTION OF A DIRECTED GRAPH* SIAM J. COMPUT. Vol. 1, No. 2, June 1972 THE TRANSITIVE REDUCTION OF A DIRECTED GRAPH* A. V. AHO, M. R. GAREY" AND J. D. ULLMAN Abstract. We consider economical representations for the path information

More information

A Connection between Network Coding and. Convolutional Codes

A Connection between Network Coding and. Convolutional Codes A Connection between Network Coding and 1 Convolutional Codes Christina Fragouli, Emina Soljanin christina.fragouli@epfl.ch, emina@lucent.com Abstract The min-cut, max-flow theorem states that a source

More information

Applied Mathematics Letters. Graph triangulations and the compatibility of unrooted phylogenetic trees

Applied Mathematics Letters. Graph triangulations and the compatibility of unrooted phylogenetic trees Applied Mathematics Letters 24 (2011) 719 723 Contents lists available at ScienceDirect Applied Mathematics Letters journal homepage: www.elsevier.com/locate/aml Graph triangulations and the compatibility

More information

On Sequential Topogenic Graphs

On Sequential Topogenic Graphs Int. J. Contemp. Math. Sciences, Vol. 5, 2010, no. 36, 1799-1805 On Sequential Topogenic Graphs Bindhu K. Thomas, K. A. Germina and Jisha Elizabath Joy Research Center & PG Department of Mathematics Mary

More information

Throughout the chapter, we will assume that the reader is familiar with the basics of phylogenetic trees.

Throughout the chapter, we will assume that the reader is familiar with the basics of phylogenetic trees. Chapter 7 SUPERTREE ALGORITHMS FOR NESTED TAXA Philip Daniel and Charles Semple Abstract: Keywords: Most supertree algorithms combine collections of rooted phylogenetic trees with overlapping leaf sets

More information

Bijective Proofs of Two Broken Circuit Theorems

Bijective Proofs of Two Broken Circuit Theorems Bijective Proofs of Two Broken Circuit Theorems Andreas Blass PENNSYLVANIA STATE UNIVERSITY UNIVERSITY PARK, PENNSYLVANIA 16802 Bruce Eli Sagan THE UNIVERSITY OF PENNSYLVANIA PHILADELPHIA, PENNSYLVANIA

More information

Schema Design for Uncertain Databases

Schema Design for Uncertain Databases Schema Design for Uncertain Databases Anish Das Sarma, Jeffrey Ullman, Jennifer Widom {anish,ullman,widom}@cs.stanford.edu Stanford University Abstract. We address schema design in uncertain databases.

More information

Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching

Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching Henry Lin Division of Computer Science University of California, Berkeley Berkeley, CA 94720 Email: henrylin@eecs.berkeley.edu Abstract

More information

Fast, Effective Vertex Cover Kernelization: A Tale of Two Algorithms

Fast, Effective Vertex Cover Kernelization: A Tale of Two Algorithms Fast, Effective Vertex Cover Kernelization: A Tale of Two Algorithms Faisal N. Abu-Khzam Division of Computer Science and Mathematics Lebanese American University Beirut, Lebanon faisal.abukhzam@lau.edu.lb

More information

Recognizing Interval Bigraphs by Forbidden Patterns

Recognizing Interval Bigraphs by Forbidden Patterns Recognizing Interval Bigraphs by Forbidden Patterns Arash Rafiey Simon Fraser University, Vancouver, Canada, and Indiana State University, IN, USA arashr@sfu.ca, arash.rafiey@indstate.edu Abstract Let

More information

ACONCURRENT system may be viewed as a collection of

ACONCURRENT system may be viewed as a collection of 252 IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 10, NO. 3, MARCH 1999 Constructing a Reliable Test&Set Bit Frank Stomp and Gadi Taubenfeld AbstractÐThe problem of computing with faulty

More information

Topic C Memory Models

Topic C Memory Models Memory Memory Non- Topic C Memory CPEG852 Spring 2014 Guang R. Gao CPEG 852 Memory Advance 1 / 29 Memory 1 Memory Memory Non- 2 Non- CPEG 852 Memory Advance 2 / 29 Memory Memory Memory Non- Introduction:

More information

2. Correctness of Transactions: Serialization

2. Correctness of Transactions: Serialization 2. Correctness of Transactions: Serialization 2.1 Formal Model 2.2 Conflict serializability 2.3 Other types of serializability 2.4 Recoverable transactions and more 2.5 Distributed TAs Es gibt nichts Praktischeres

More information

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs Graphs and Network Flows IE411 Lecture 21 Dr. Ted Ralphs IE411 Lecture 21 1 Combinatorial Optimization and Network Flows In general, most combinatorial optimization and integer programming problems are

More information

CLASS-ROOM NOTES: OPTIMIZATION PROBLEM SOLVING - I

CLASS-ROOM NOTES: OPTIMIZATION PROBLEM SOLVING - I Sutra: International Journal of Mathematical Science Education, Technomathematics Research Foundation Vol. 1, No. 1, 30-35, 2008 CLASS-ROOM NOTES: OPTIMIZATION PROBLEM SOLVING - I R. Akerkar Technomathematics

More information

Incompatibility Dimensions and Integration of Atomic Commit Protocols

Incompatibility Dimensions and Integration of Atomic Commit Protocols The International Arab Journal of Information Technology, Vol. 5, No. 4, October 2008 381 Incompatibility Dimensions and Integration of Atomic Commit Protocols Yousef Al-Houmaily Department of Computer

More information

A Mechanism for Sequential Consistency in a Distributed Objects System

A Mechanism for Sequential Consistency in a Distributed Objects System A Mechanism for Sequential Consistency in a Distributed Objects System Cristian Ţăpuş, Aleksey Nogin, Jason Hickey, and Jerome White California Institute of Technology Computer Science Department MC 256-80,

More information

FUTURE communication networks are expected to support

FUTURE communication networks are expected to support 1146 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL 13, NO 5, OCTOBER 2005 A Scalable Approach to the Partition of QoS Requirements in Unicast and Multicast Ariel Orda, Senior Member, IEEE, and Alexander Sprintson,

More information

Throughout this course, we use the terms vertex and node interchangeably.

Throughout this course, we use the terms vertex and node interchangeably. Chapter Vertex Coloring. Introduction Vertex coloring is an infamous graph theory problem. It is also a useful toy example to see the style of this course already in the first lecture. Vertex coloring

More information

This is already grossly inconvenient in present formalisms. Why do we want to make this convenient? GENERAL GOALS

This is already grossly inconvenient in present formalisms. Why do we want to make this convenient? GENERAL GOALS 1 THE FORMALIZATION OF MATHEMATICS by Harvey M. Friedman Ohio State University Department of Mathematics friedman@math.ohio-state.edu www.math.ohio-state.edu/~friedman/ May 21, 1997 Can mathematics be

More information

5 MST and Greedy Algorithms

5 MST and Greedy Algorithms 5 MST and Greedy Algorithms One of the traditional and practically motivated problems of discrete optimization asks for a minimal interconnection of a given set of terminals (meaning that every pair will

More information

Exact Algorithms Lecture 7: FPT Hardness and the ETH

Exact Algorithms Lecture 7: FPT Hardness and the ETH Exact Algorithms Lecture 7: FPT Hardness and the ETH February 12, 2016 Lecturer: Michael Lampis 1 Reminder: FPT algorithms Definition 1. A parameterized problem is a function from (χ, k) {0, 1} N to {0,

More information

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition.

Matching Algorithms. Proof. If a bipartite graph has a perfect matching, then it is easy to see that the right hand side is a necessary condition. 18.433 Combinatorial Optimization Matching Algorithms September 9,14,16 Lecturer: Santosh Vempala Given a graph G = (V, E), a matching M is a set of edges with the property that no two of the edges have

More information

The Geometry of Carpentry and Joinery

The Geometry of Carpentry and Joinery The Geometry of Carpentry and Joinery Pat Morin and Jason Morrison School of Computer Science, Carleton University, 115 Colonel By Drive Ottawa, Ontario, CANADA K1S 5B6 Abstract In this paper we propose

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Abstract We present two parameterized algorithms for the Minimum Fill-In problem, also known as Chordal

More information

Graph Connectivity G G G

Graph Connectivity G G G Graph Connectivity 1 Introduction We have seen that trees are minimally connected graphs, i.e., deleting any edge of the tree gives us a disconnected graph. What makes trees so susceptible to edge deletions?

More information

XI International PhD Workshop OWD 2009, October Fuzzy Sets as Metasets

XI International PhD Workshop OWD 2009, October Fuzzy Sets as Metasets XI International PhD Workshop OWD 2009, 17 20 October 2009 Fuzzy Sets as Metasets Bartłomiej Starosta, Polsko-Japońska WyŜsza Szkoła Technik Komputerowych (24.01.2008, prof. Witold Kosiński, Polsko-Japońska

More information

STABILITY AND PARADOX IN ALGORITHMIC LOGIC

STABILITY AND PARADOX IN ALGORITHMIC LOGIC STABILITY AND PARADOX IN ALGORITHMIC LOGIC WAYNE AITKEN, JEFFREY A. BARRETT Abstract. Algorithmic logic is the logic of basic statements concerning algorithms and the algorithmic rules of deduction between

More information

Applying Sequential Consistency to Web Caching

Applying Sequential Consistency to Web Caching Applying Sequential Consistency to Web Caching Francisco J. Torres-Rojas and Esteban Meneses Abstract Web caches have several advantages for reducing the server load, minimizing the network traffic and

More information

A step towards the Bermond-Thomassen conjecture about disjoint cycles in digraphs

A step towards the Bermond-Thomassen conjecture about disjoint cycles in digraphs A step towards the Bermond-Thomassen conjecture about disjoint cycles in digraphs Nicolas Lichiardopol Attila Pór Jean-Sébastien Sereni Abstract In 1981, Bermond and Thomassen conjectured that every digraph

More information

On partial order semantics for SAT/SMT-based symbolic encodings of weak memory concurrency

On partial order semantics for SAT/SMT-based symbolic encodings of weak memory concurrency On partial order semantics for SAT/SMT-based symbolic encodings of weak memory concurrency Alex Horn and Daniel Kroening University of Oxford April 30, 2015 Outline What s Our Problem? Motivation and Example

More information

5 MST and Greedy Algorithms

5 MST and Greedy Algorithms 5 MST and Greedy Algorithms One of the traditional and practically motivated problems of discrete optimization asks for a minimal interconnection of a given set of terminals (meaning that every pair will

More information

Rigidity, connectivity and graph decompositions

Rigidity, connectivity and graph decompositions First Prev Next Last Rigidity, connectivity and graph decompositions Brigitte Servatius Herman Servatius Worcester Polytechnic Institute Page 1 of 100 First Prev Next Last Page 2 of 100 We say that a framework

More information

Acyclic fuzzy preferences and the Orlovsky choice function: A note. Denis BOUYSSOU

Acyclic fuzzy preferences and the Orlovsky choice function: A note. Denis BOUYSSOU Acyclic fuzzy preferences and the Orlovsky choice function: A note Denis BOUYSSOU Abstract This note corrects and extends a recent axiomatic characterization of the Orlovsky choice function for a particular

More information

A Methodological Construction of an Efficient Sequential Consistency Protocol Λ

A Methodological Construction of an Efficient Sequential Consistency Protocol Λ A Methodological Construction of an Efficient Sequential Consistency Protocol Λ Vicent CHOLVI ffi Antonio FERNÁNDEZ y Ernesto JIMÉNEZ z Michel RAYNAL? ffi Universidad Jaume I, Castellón, Spain y Laboratorio

More information

Characterization of Boolean Topological Logics

Characterization of Boolean Topological Logics Characterization of Boolean Topological Logics Short Form: Boolean Topological Logics Anthony R. Fressola Denison University Granville, OH 43023 University of Illinois Urbana-Champaign, IL USA 61801-61802

More information

Faster parameterized algorithms for Minimum Fill-In

Faster parameterized algorithms for Minimum Fill-In Faster parameterized algorithms for Minimum Fill-In Hans L. Bodlaender Pinar Heggernes Yngve Villanger Technical Report UU-CS-2008-042 December 2008 Department of Information and Computing Sciences Utrecht

More information

Pebble Sets in Convex Polygons

Pebble Sets in Convex Polygons 2 1 Pebble Sets in Convex Polygons Kevin Iga, Randall Maddox June 15, 2005 Abstract Lukács and András posed the problem of showing the existence of a set of n 2 points in the interior of a convex n-gon

More information

A digital pretopology and one of its quotients

A digital pretopology and one of its quotients Volume 39, 2012 Pages 13 25 http://topology.auburn.edu/tp/ A digital pretopology and one of its quotients by Josef Šlapal Electronically published on March 18, 2011 Topology Proceedings Web: http://topology.auburn.edu/tp/

More information

Optimal Parallel Randomized Renaming

Optimal Parallel Randomized Renaming Optimal Parallel Randomized Renaming Martin Farach S. Muthukrishnan September 11, 1995 Abstract We consider the Renaming Problem, a basic processing step in string algorithms, for which we give a simultaneously

More information

Maximal Monochromatic Geodesics in an Antipodal Coloring of Hypercube

Maximal Monochromatic Geodesics in an Antipodal Coloring of Hypercube Maximal Monochromatic Geodesics in an Antipodal Coloring of Hypercube Kavish Gandhi April 4, 2015 Abstract A geodesic in the hypercube is the shortest possible path between two vertices. Leader and Long

More information

Lecture Notes on Monadic Logic Programming

Lecture Notes on Monadic Logic Programming Lecture Notes on Monadic Logic Programming 15-816: Linear Logic Frank Pfenning Lecture 20 We have discussed both forward and backward chaining at length; in this lecture we address the question how they

More information

Lecture Notes on Liveness Analysis

Lecture Notes on Liveness Analysis Lecture Notes on Liveness Analysis 15-411: Compiler Design Frank Pfenning André Platzer Lecture 4 1 Introduction We will see different kinds of program analyses in the course, most of them for the purpose

More information

Preimages of Small Geometric Cycles

Preimages of Small Geometric Cycles Preimages of Small Geometric Cycles Sally Cockburn Department of Mathematics Hamilton College, Clinton, NY scockbur@hamilton.edu Abstract A graph G is a homomorphic preimage of another graph H, or equivalently

More information

Parameterized graph separation problems

Parameterized graph separation problems Parameterized graph separation problems Dániel Marx Department of Computer Science and Information Theory, Budapest University of Technology and Economics Budapest, H-1521, Hungary, dmarx@cs.bme.hu Abstract.

More information

Representation of Finite Games as Network Congestion Games

Representation of Finite Games as Network Congestion Games Representation of Finite Games as Network Congestion Games Igal Milchtaich To cite this version: Igal Milchtaich. Representation of Finite Games as Network Congestion Games. Roberto Cominetti and Sylvain

More information

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely

More information

Michał Kukieła. Rescalings and the coreduction homology algorithm for cubical complexes. Uniwersytet M. Kopernika w Toruniu

Michał Kukieła. Rescalings and the coreduction homology algorithm for cubical complexes. Uniwersytet M. Kopernika w Toruniu Michał Kukieła Uniwersytet M. Kopernika w Toruniu Rescalings and the coreduction homology algorithm for cubical complexes Praca semestralna nr 3 (semestr letni 2011/12) Opiekun pracy: prof. dr hab. Marian

More information

12.1 Formulation of General Perfect Matching

12.1 Formulation of General Perfect Matching CSC5160: Combinatorial Optimization and Approximation Algorithms Topic: Perfect Matching Polytope Date: 22/02/2008 Lecturer: Lap Chi Lau Scribe: Yuk Hei Chan, Ling Ding and Xiaobing Wu In this lecture,

More information

A Methodological Construction of an Efficient Sequentially Consistent Distributed Shared Memory 1

A Methodological Construction of an Efficient Sequentially Consistent Distributed Shared Memory 1 The Computer Journal Advance Access published November 3, 2009 The Author 2009. Published by Oxford University Press on behalf of The British Computer Society. All rights reserved. For Permissions, please

More information

However, this is not always true! For example, this fails if both A and B are closed and unbounded (find an example).

However, this is not always true! For example, this fails if both A and B are closed and unbounded (find an example). 98 CHAPTER 3. PROPERTIES OF CONVEX SETS: A GLIMPSE 3.2 Separation Theorems It seems intuitively rather obvious that if A and B are two nonempty disjoint convex sets in A 2, then there is a line, H, separating

More information

Breakpoints and Halting in Distributed Programs

Breakpoints and Halting in Distributed Programs 1 Breakpoints and Halting in Distributed Programs Barton P. Miller Jong-Deok Choi Computer Sciences Department University of Wisconsin-Madison 1210 W. Dayton Street Madison, Wisconsin 53706 Abstract Interactive

More information

Formal Model. Figure 1: The target concept T is a subset of the concept S = [0, 1]. The search agent needs to search S for a point in T.

Formal Model. Figure 1: The target concept T is a subset of the concept S = [0, 1]. The search agent needs to search S for a point in T. Although this paper analyzes shaping with respect to its benefits on search problems, the reader should recognize that shaping is often intimately related to reinforcement learning. The objective in reinforcement

More information

Embedding a graph-like continuum in some surface

Embedding a graph-like continuum in some surface Embedding a graph-like continuum in some surface R. Christian R. B. Richter G. Salazar April 19, 2013 Abstract We show that a graph-like continuum embeds in some surface if and only if it does not contain

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

A Unified Formalization of Four Shared-Memory Models

A Unified Formalization of Four Shared-Memory Models Computer Sciences Technical Rert #1051, September 1991, Revised September 1992 A Unified Formalization of Four Shared-Memory Models Sarita V. Adve Mark D. Hill Department of Computer Sciences University

More information

On the Space-Time Trade-off in Solving Constraint Satisfaction Problems*

On the Space-Time Trade-off in Solving Constraint Satisfaction Problems* Appeared in Proc of the 14th Int l Joint Conf on Artificial Intelligence, 558-56, 1995 On the Space-Time Trade-off in Solving Constraint Satisfaction Problems* Roberto J Bayardo Jr and Daniel P Miranker

More information

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006 The Encoding Complexity of Network Coding Michael Langberg, Member, IEEE, Alexander Sprintson, Member, IEEE, and Jehoshua Bruck,

More information

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Sections p.

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Sections p. CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Sections 10.1-10.3 p. 1/106 CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer

More information

Concurrency Control / Serializability Theory

Concurrency Control / Serializability Theory Concurrency Control / Serializability Theory Correctness of a program can be characterized by invariants Invariants over state Linked list: For all items I where I.prev!= NULL: I.prev.next == I For all

More information

9.5 Equivalence Relations

9.5 Equivalence Relations 9.5 Equivalence Relations You know from your early study of fractions that each fraction has many equivalent forms. For example, 2, 2 4, 3 6, 2, 3 6, 5 30,... are all different ways to represent the same

More information

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings On the Relationships between Zero Forcing Numbers and Certain Graph Coverings Fatemeh Alinaghipour Taklimi, Shaun Fallat 1,, Karen Meagher 2 Department of Mathematics and Statistics, University of Regina,

More information

The minimum spanning tree and duality in graphs

The minimum spanning tree and duality in graphs The minimum spanning tree and duality in graphs Wim Pijls Econometric Institute Report EI 2013-14 April 19, 2013 Abstract Several algorithms for the minimum spanning tree are known. The Blue-red algorithm

More information

2 Modelling Multiprocessor Memories 2.1 A framework for describing memory Our goal is to precisely capture the impact of the memory model of a multipr

2 Modelling Multiprocessor Memories 2.1 A framework for describing memory Our goal is to precisely capture the impact of the memory model of a multipr Critical Sections and Producer/Consumer Queues in Weak Memory Systems y Lisa Higham and Jalal Kawash Department of Computer Science, The University of Calgary, Calgary, Alberta, Canada email:@cpsc.ucalgary.ca

More information

An algorithm for Performance Analysis of Single-Source Acyclic graphs

An algorithm for Performance Analysis of Single-Source Acyclic graphs An algorithm for Performance Analysis of Single-Source Acyclic graphs Gabriele Mencagli September 26, 2011 In this document we face with the problem of exploiting the performance analysis of acyclic graphs

More information

Scan Scheduling Specification and Analysis

Scan Scheduling Specification and Analysis Scan Scheduling Specification and Analysis Bruno Dutertre System Design Laboratory SRI International Menlo Park, CA 94025 May 24, 2000 This work was partially funded by DARPA/AFRL under BAE System subcontract

More information

Provably Efficient Non-Preemptive Task Scheduling with Cilk

Provably Efficient Non-Preemptive Task Scheduling with Cilk Provably Efficient Non-Preemptive Task Scheduling with Cilk V. -Y. Vee and W.-J. Hsu School of Applied Science, Nanyang Technological University Nanyang Avenue, Singapore 639798. Abstract We consider the

More information

Leveraging Set Relations in Exact Set Similarity Join

Leveraging Set Relations in Exact Set Similarity Join Leveraging Set Relations in Exact Set Similarity Join Xubo Wang, Lu Qin, Xuemin Lin, Ying Zhang, and Lijun Chang University of New South Wales, Australia University of Technology Sydney, Australia {xwang,lxue,ljchang}@cse.unsw.edu.au,

More information