Home

Geometry and Concurrency: A User's Guide

image

Contents

1. 1996a The dynamics of wait free distributed computations Technical report Research Report LIENS 96 26 Goubault E 1996b A semantic view on distributed computability and complexity In Pro ceedings of the 3rd Theory and Formal Methods Section Workshop Imperial College Press also available at http www dmi ens fr goubault Goubault E 1997 Optimal implementation of wait free binary relations In Proceedings of the 22nd CAAP Springer Verlag Goubault E and Jensen T P 1992 Homology of higher dimensional automata In Proc of CONCUR 92 Stonybrook New York Springer Verlag Goubault Larrecq J and Goubault E 1999 Order theoretic geometric and combinatorial models of intuitionistic s4 proofs In proceedings of IMLA 99 Groves J R J 1991 Rewriting systems and homology of groups In Kovacs L G edi tor Groups Canberra 1989 number 1456 pages 114 141 Lecture notes in Mathematics Springer Verlag Gunawardena J 1994 Homotopy and concurrency In Bulletin of the EATCS number 54 pages 184 193 Herlihy M and Rajsbaum S 1994 Set consensus using arbitrary objects In Proc of the 18th Annual ACM Symposium on Principles of Distributed Computing ACM Press Herlihy M and Rajsbaum S 1995 Algebraic spans preliminary version In Proceedings of the Fourteenth Annual ACM Symposium on Principles of Distributed Computing pages 90 99 Ottawa Ontario Canada Herlihy M and Rajsbaum S
2. 1991 because it really makes sense to consider a hypercube as some form of transition Actually at about the same time a bisimulation semantics was given in van Glabbeek 1991 Notice that 2 transitions or squares are nothing but a local commutation relation as in Mazurkiewicz trace theory independence relation as in asynchronous transition systems see Bednarczyk 1988 and Shields 1985 as in trace automata as used in e g Kahn 1974 Kahn and MacQueen 1977 as in transition systems with independence Sassone et al 1994 or indirectly as with the confluence relation of concurrent transition systems Stark 1989 There 4 Which appeared later see Fajstrup et al 1999 not to be completely adequate Eric Goubault 6 are two more ingredients with HDA the elegance and the power of the tools of geometric formalisations and the natural generalisation to higher dimensions i e higher order independence relation or n ary independence relations The later semantic papers on the subject were very much influenced by Pratt 1991 In 1992 homological methods see Mac Lane 1963 for a start for studying the prop erties of Higher Dimensional Automata were advocated in Goubault and Jensen 1992 given that they provide computable invariants of homotopy at least in the usual case A semantics of CCS was also discussed in a suitable category of HDA also studied in Lanzmann 1993 together with a notion of bisimu
3. and releasing a lock on a semaphore Geometry and Concurrency A User s Guide 3 Fig 2 The corresponding request graph Fig 1 Example of a progress graph call these paths directed paths or dipaths This entails that paths reaching the states in the dashed square underneath the forbidden region marked unsafe are deemed to deadlock i e they cannot possibly reach the allowed terminal state which is 1 1 here Similarly by reversing the direction of time the states in the square above the forbidden region marked unreachable cannot be reached from the initial state which is 0 0 here Also notice that all terminating paths above the forbidden region are equivalent in some sense given that they are all characterized by the fact that T gt gets a and b before T as far as resources are concerned we call this a schedule Similarly all paths below the forbidden region are characterized by the fact that 7 gets a and b before To does On this picture one can already recognize many ingredients that are at the center of the main problem of algebraic topology namely the classification of shapes modulo elastic deformation As a matter of fact the actual coordinates that are chosen for representing the times at which Ps and Vs occur are unimportant and these can be stretched in any manner so the properties deadlocks schedules etc are invariant under some notion of deformation or homotopy This is a p
4. be solved in certain asynchronous systems was finally proven in three different papers inde pendently Borowsky and Gafni 1993 Saks and Zaharoglou 1993 and Herlihy and Shavit 1993 The basic idea of Herlihy and Shavit 1993 is to generalize such pictures as the one of Figure 7 using s mplicial sets instead of graphs which are special cases of the former Simplicial sets are made up of vertices edges but also triangles simplexes in general glued altogether A simplex of dimension n represents the global state at some point of the execution of n processes Vertices are still pairs composed of the name of the process together with its local state Again given an initial global state the semantics of the operations of the distributed machine we want to study is defined by the reachable global states at any time For instance Figure 8 shows the simplicial set called protocol complex after one round of communication on a synchronous message passing machine which broadcasts the local states to all processes at each step If there is a simplicial map from it to some suitable set of global states respecting the specification of the problem then there exists a corresponding wait free protocol This enables us also to compute how many rounds of communication might be necessary to solve a given problem Notice that the simplexes of the protocol complex are really the schedules and this should be related to the directed homotopy approach
5. given n deterministic sequential processes Q1 Qn abstracted as a sequence of locks and unlocks on shared objects Q R a R a R ia RF being P or V there is a natural way to un derstand the possible behaviours of their concurrent execution by associating to each process a coordinate line in IR The state of the system corresponds to a point in IR whose ith coordinate describes the state or local time of the ith processor Consider a system with finitely many processes running altogether We assume that each process starts at local time 0 and finishes at local time 1 the P and V actions correspond to sequences of real numbers between 0 and 1 which reflect the order of the P s and V s The initial state is 0 0 and the final state is 1 1 An example consisting of the two processes T Pa Pb Vb Va and T3 Pb Pa Va Vb gives rise to the two dimensional progress graph of Figure 1 The shaded area represents states which are not allowed in any execution path since they correspond to mutual exclusion Such states constitute the forbidden area An ere cution path is a path from the initial state 0 0 to the final state 1 1 avoiding the forbidden area and increasing in each coordinate time cannot run backwards We t as E W Dijkstra originally put it in Dijkstra 1968 now more usually called deadlock Using E W Dijkstra s notation P and V Dijkstra 1968 for respectively acquiring
6. 1999 New perspectives in distributed computing In Kutylowski M Pacholski L and Wierzbicki T editors 24th International Symposium on Mathematical Foundations of Computer Science volume LNCS 1672 pages 170 186 Springer Verlag Herlihy M and Shavit N 1993 The asynchronous computability theorem for t resilient tasks In Proc of the 25th STOC ACM Press Herlihy M and Shavit N 1994 A simple constructive computability theorem for wait free computation In Proceedings of STOC 94 ACM Press Jayanti P 1993 On the robustness of Herlihy s hierarchy In Proceedings of the Twelth Annual ACM Symposium on Principles of Distributed Computing pages 145 157 Ithaca New York USA Jayanti P 1997 Robust wait free hierarchies Journal of the ACM 44 4 592 614 Kahn G 1974 The semantics of a simple language for parallel programming Information Processing 74 Kahn G and MacQueen D B 1977 Coroutines and networks of parallel processes Infor mation Processing 77 Kobayashi Y 1990 Complete rewriting systems and homology of monoid algebras Journal of Pure and Applied Algebra 65 263 275 Lafont Y and Prout A 1990 Church Rosser property and homology of monoids Technical report Ecole Normale Sup rieure Lanzmann E 1993 Automates d ordre sup rieur Master s thesis Universit d Orsay L vy J J 1978 R ductions Correctes et Optimales dans le Lambda Calcul PhD thesis U
7. Cattani G L 1996 Higher dimensional transition systems In Proceedings of LICS 96 Sassone V Nielsen M and Winskel G 1994 Relationships between models of concurrency In Proceedings of the Rex 93 school and symposium Schenk E 1997 The consensus hierarchy is not robust In Proceedings of the Sixteenth Annual ACM Symposium on Principles of Distributed Computing page 279 Santa Barbara California Shields M 1985 Concurrent machines Computer Journal 28 Shoshani A and Coffman E G 1970 Sequencing tasks in multiprocess systems to avoid deadlocks In Conference Record of 1970 Eleventh Annual Symposium on Switching and Automata Theory pages 225 235 Santa Monica California IEEE Soisalon Soininen E and Wood D 1985 An optimal algorithm for testing for safety and detecting deadlocks in locked transaction systems In Symposium on Principles of Database Systems PODS 82 pages 108 116 Sokolowski S 1998a Homotopy in concurrent processes Technical report Institute of Com puter Science Gdansk Division Sokolowski S 1998b Investigation of concurrent processes by means of homotopy functors Technical report Institute of Computer Science Gdansk Division Sokolowski S 1998c Point glueing in cpo s Technical report Institute of Computer Science Gdansk Division Spanier E J 1966 Algebraic Topology McGraw Hill Squier C C Otto F and Kobayashi Y 1994 A finiteness condi
8. Under consideration for publication in Math Struct in Comp Science Geometry and Concurrency A User s Guide ERIC GOUBAULT LETI CEA Technologies Avanc es DEIN SLA CEA F 91191 Gif sur Yvette Cedex France Email Eric Goubault cea fr Received 31 January 2000 Geometrical methods in concurrency theory and in distributed systems theory have appeared recently for modelling and analyzing systems behaviours and also for solving computability and complexity issues We identify some of the main directions of research and survey some of the major ideas on which all this is based on some of which are more than thirty years old 1 Introduction Geometry and Concurrency is not yet a well established domain of research but is rather made of a collection of seemingly related techniques algorithms and formal izations coming from different application areas accumulated over a long period of time There is currently a certain amount of effort made for unifying these in par ticular see the article Gunawardena 1994 following the workshop New Connec tions between Computer Science and Mathematics held at the Newton Institute in Cambridge England in November 1995 and sponsored by HP BRIMS More recently the first workshop on the very same subject has been held in Aalborg Denmark see http www math auc dk raussen admin workshop workshop html where the arti cles of this issue among others have been first sketc
9. and we could hope that the more general study of the schedules with such datatypes could lead to some better classifications In Algebraic Spans in this issue M Herlihy and S Rajsbaum introduce a new tool related to the one described in Herlihy and Rajsbaum 1995 for proving impossibility results based on a core theorem of algebraic topology the acyclic carrier theorem which unifies generalizes and extends earlier results 6 Some perspectives There are numerous perspectives in static analysis of concurrent programs computabil ity and complexity issues in fault tolerant distributed systems as well as in concurrent database theory as I have been trying to explain in the previous sections The aim here is not to list the possible research that could be carried on in these directions good references for this are Fajstrup et al 1999 and Herlihy and Rajsbaum 1999 but to look at other possible use of these techniques For instance Squier s theorem in rewriting systems theory which gives a necessary condition for the existence of a presentation of a given monoid by a finite canonical rewriting system in terms of its homology must be of finite dimension seems very much related to the techniques presented above It is definitely a computability result as we have in fault tolerant distributed systems theory but for something which looks sequential rewriting As hinted in Goubault 1995a this can be understood as a proble
10. anics though have to consider time as non reversible hence have to construct some kind of directed topology Acknowledgments I feel very much indebted to Giuseppe Longo who gave me the opportunity to act as a guest editor of this special issue and who very kindly helped me through the many different steps that editing necessitates My very warm thanks to the authors who did a very nice job in a relatively short time Finally I wish to thank the referees of this issue who sometimes found bugs that I would not have found and who suggested very useful improvements to the authors The referees were Nir Shavit Stefan Sokolowski Christophe Tabacznyj Jean Goubault Larrecq Arnaud Venet Ronnie Brown and Tim Porter as well as some of the authors who cross checked other authors articles Philippe Gaucher Martin Raussen and Lisbeth Fajstrup References Anick D J 1986 On the homology of associative algebras Transactions of the American Mathematical Society 296 641 659 Attiya H Bar Noy A Dolev D Peleg D and Reischuk R 1990 Renaming in an asyn chronous environment Journal of the ACM 37 3 524 548 Baues H J 1989 Algebraic homotopy In Cambridge Studies in Advanced Mathematics volume 15 Cambridge University Press Bednarczyk M A 1988 Categories of asynchronous systems PhD thesis University of Sussex Biran O Moran S and Zaks S 1988 A combinatorial characterization of the distribut
11. articular kind of homotopy though and this will be at the center of many difficulties in later work We call it in subsequent work directed homotopy or dthomotopy in the sense that it should preserve the direction of time For instance the two homotopic shapes all of which have two holes of Figure 3 and Figure 4 have a different number of dihomotopy classes of dipaths In Figure 3 there are essentially four dipaths up to dihomotopy i e four schedules corresponding to all possibilities of accesses of resources a and b whereas in Figure 4 there are essentially three dipaths up to dihomotopy There is another method to determine deadlocks in such situations which was of course known long ago and was entirely graph theoretic known as the request graph Figure 2 depicts the request graph corresponding to the progress graph of Figure 1 Nodes of this graph are resources of the concurrent system 1 e here semaphores There is an oriented edge from a resource g to a resource y if there is a process which has locked z and needs to lock y at a given time A sufficient condition for such systems to be deadlock Vb Pb Va Pa 4 Pb Vb Pa Va Fig 4 The progress graph corresponding to Pb Vb Pa Va Pa Va Pb Vb free is that their corresponding request graphs be acyclic Unfortunately this is not a necessary condition in general For instance a request graph cannot capture the notion of n semaph
12. d semantic models are the n categorical formulations of Buck land and Johnson 1996 and some other recent combinatorial or categorical formulations in Fiore et al 1997 Sassone and Cattani 1996 Sokolowski 1998a Sokolowski 1998b Sokolowski 1998c 4 Correctness of Distributed Databases Another strand of research is concerned with distributed databases and in fact this is very much related to the multiprogramming and semaphore strand described before But the kind of properties which have been studied are slightly different and the focus has been put on devising optimal algorithms for the analysis of simple transaction models As a matter of fact a distributed database can be seen as a shared memory machine containing items on which processes called transactions act by reading and writing getting permissions to do so by using the appropriate functions on attached semaphores One of the main purposes of this area is to ensure coherence of the distributed database while ensuring good performance through a definition of suitable policies protocols for transactions to perform their own actions with P and V This entails that deadlock freedom of transactions is of importance Correctness of a distributed database is itself very often expressed by some form of a serializability condition Look for instance at Figure 4 This could describe a database with two transactions 7 Pb Vb Pa Va and To Pa Va Pb Vb tryin
13. e pages 268 279 Warsaw Poland IEEE Computer Society Press Fisher M Lynch N A and Paterson M S 1985 Impossibility of distributed commit with one faulty process Journal of the ACM 32 2 374 382 Gabriel P and Zisman M 1967 Calculus of fractions and homotopy theory In Ergebnisse der Mathematik und ihrer Grenzgebiete volume 35 Springer Verlag Gaucher P 1997a Connexion de flux d information en alg bre homologique Technical report IRMA Strasbourg available at http irmasrv1 u strasbg fr gaucher activite html Gaucher P 1997b Etude homologique des chemins de dimension 1 d un automate Technical report IRMA Strasbourg available at http irmasrvl u strasbg fr gaucher activite html Godefroid P and Wolper P 1991 Using partial orders for the efficient verification of deadlock freedom and safety properties In Proc of the Third Workshop on Computer Aided Verifica tion volume 575 pages 417 428 Springer Verlag Lecture Notes in Computer Science Goubault E 1993 Domains of higher dimensional automata In Proc of CONCUR 93 Hildesheim Springer Verlag Goubault E 1995a The Geometry of Concurrency PhD thesis Ecole Normale Sup rieure also available at http www dmi ens fr goubault Eric Goubault 14 Goubault E 1995b Schedulers as abstract interpretations of HDA In Proc of PEPM 95 La Jolla ACM Press also available at http www dmi ens fr goubault Goubault E
14. e all atomic actions for the derived analyses to be correct hence incurring a great complexity Quite a few models for true concurrency have appeared see in particular the account of Winskel and Nielsen 1994 but it is only in 1991 that geometry is proposed to solve the problem in Pratt 1991 The diagnosis is that interleaving is only the boundary of the real picture a b is really the filled in square whose boundary is the non deterministic choice a then b or b then a the hollow square The natural combinatorial notion exten sion of transition systems is that of a cubical set which is a collection of points states edges transitions squares cubes and hypercubes higher dimensional transitions rep resenting the truly concurrent execution of some number of actions This is introduced in Pratt 1991 as well as possible formalizations using n categories and a notion of homotopy This is actually a combinatorial view of some kind of progress graph Look back to Figure 1 Consider all interleavings of actions Pa Pb Va and Vb they form a subgrid of the progress graph Take as 2 transitions i e squares in the cubical set we are building the filled in squares Only the forbidden region is really interleaved Cubi cal sets generalize progress graphs in that they allow any amount of non deterministic choices as well as dynamic creation of processes These cubical sets are called Higher Dimensional Automata HDA following Pratt
15. ed tasks which are solvable in the presence of one faulty processor In Proc 7th Annual ACM Symposium on Principles of Distributed Computing pages 263 275 ACM Press Borowsky E and Gafni E 1993 Generalized FLP impossibility result for t resilient asyn chronous computations In Proc of the 25th STOC ACM Press Brown R and Higgins P J 1981la Colimit theorems for relative homotopy groups Journal of Pure and Applied Algebra 22 11 41 Brown R and Higgins P J 1981b On the algebra of cubes Journal of Pure and Applied Algebra 21 233 260 Geometry and Concurrency A User s Guide 13 Buckland R and Johnson M 1996 ECHIDNA A system for manipulating explicit choice higher dimensional automata In AMAST 96 Fifth Int Conf on Algebraic Methodology and Software Technology Munich Burroni A 1991 Higher dimensional word problem Lecture notes in computer science 530 Carson 5 D and Reynolds Jr P F 1987 The geometry of semaphore programs ACM Transactions on Programming Languages and Systems 9 1 25 53 Chaudhuri 5 1990 Agreement is harder than consensus set consensus problems in totally asynchronous systems In Proc of the 9th Annual ACM Symposium on Principles of Dis tributed Computing pages 311 334 ACM Press Coffman E G Elphick M J and Shoshani A 1971 System deadlocks Computing Surveys 3 2 67 78 Cousot P and Cousot R 1977 Abstract interpretation A unified
16. f fault tolerant protocols for distributed systems where the main application is the determination of the computability and then complexity of some functions on given distributed architectures After a brief history in Section 2 we review the main contributions to date in all three directions In Sections 3 4 and 5 we present the articles of this issue and how they naturally fall into one of these pre existing strands Finally in Section 6 we give a few directions for future work in particular some areas of research for which these techniques seem also to have appeared or might be useful 2 A brief history The first algebraic topological model I am aware of is called progress graph and has appeared in operating systems theory in particular for describing the problem of deadly embrace in multiprogramming systems Progress graphs are introduced in Coffman et al 1971 but attributed there to E W Dijkstra In fact they also appeared slightly earlier for editorial reasons it seems in Shoshani and Coffman 1970 The basic idea is to give a description of what can happen when several processes are modifying shared ressources Given a shared resource a we see it as its associated semaphore that rules its behaviour with respect to processes For instance if a is an ordinary shared variable it is customary to use its semaphore to ensure that only one process at a time can write on it this is mutual exclusion Then
17. g to modify two items a and b All paths of execution above the left hole are equivalent to a serial execution of transaction T then transaction T All paths of execution below the right hole are equivalent to the serial execution of transaction T then To The third type of dipath is not a serial dipath it describes several equivalent cases for instance T acquires b To acquires a then T acquires a and T acquires b Think of the database to represent airplane tickets for instance b is the return ticket Eric Goubault 8 corresponding to the one way ticket a and the two transactions to represent remote booking booths the action between a P and its corresponding V is writing a name on the ticket The situation here is that 7 will have reserved its one way ticket and Ts will have reserved its return ticket only This is not an allowed behaviour It is not equivalent to a purely serial schedule which are the only ones that are specified as correct only one of T or Tz gets the whole lot of tickets Testing serializability is unfortunately known to be a NP complete problem in Pa padimitriou 1979 even when the model is only based on simple binary semaphores The progress graph approach to the study of distributed databases was really initiated in Yannakakis et al 1979 and then in Papadimitriou 1983 In Lipski and Papadim itriou 1981 an algorithm for proving the safety through serializability of distributed databases wit
18. h only two transactions expressed as progress graphs was described The underlying algorithmics is relying on proving the connectedness of the closure of the set of forbidden rectangles Of course the real problem in our previous example was that the forbidden region was disconnected allowing dipaths to interleave some of the requests of different transactions Another algorithm for proving freedom from deadlock for two transactions synchronizing with binary semaphores only was also described It was shown to have O n lognloglogn where n is the number of forbidden rectangles time complexity A notion of directed homotopy was also defined The generalization of safety conditions to higher dimensions through the method of Yannakakis et al 1979 reducing to 2 dimensional problems was shown to be in O nd2 d log n log log n time complexity d is the dimension i e the number of transactions Much work has been done in algorithmics of these geometric problems and the algorithm above for safety is improved actually it is optimal then in Soisalon Soininen and Wood 1985 achieving O nlogn time and O n space complexity for 2 transactions then relying on M Yan nakakis result for the extension to any dimension This is not the best that can be done in higher dimensions the next step is achieved in Fajstrup et al 1998 where a direct method for unsafe regions is described and where it is shown that the closure of the for bidden reg
19. hed But what is Geometry and Concurrency composed of then It is an area of research made of techniques which use geometrical reasoning for describing and solving problems appearing in concurrent systems Here geometrical reasoning means mostly using tech niques from algebraic topologyt therefore involving an idea of topological invariance under some form of homotopy as will be explained in next section Graphs and partial orders do include some form of geometric reasoning indeed but these are now stan dard techniques in computer science to which quite a few conferences and journals are devoted whereas we will be more interested in higher dimensional phenomena here These techniques have cropped up in different areas of computer science for over thirty t Work partly done when the author was at Ecole Normale Sup rieure Paris t More or less abstract from simple topological notions like connectedness Spanier 1966 simplicial complexes May 1967 Gabriel and Zisman 1967 etc to abstract homotopy categories Baues 1989 Eric Goubault 2 years now We have somewhat artificially subdivided them into three main strands One is concerned with giving semantics to concurrent machines and languages for formalizing and analyzing their properties Another one has been mostly concerned with distributed databases and the scheduling of transactions with a view to their correctness Finally the most recent one is in the field o
20. ion in higher dimension is not a strong enough condition for serializability in general An application to proving the 2 phase locked protocol is given in Gunawardena 1994 and using dihomotopy in Fajstrup et al 1999 5 Computability and Complexity of Fault Tolerant Distributed Protocols The strand of work here is concerned with the robust or fault tolerant implementation of distributed programs More precisely the interest here is in wazt free or t resilient 0 lt t lt n 1 where n is the number of processors involved wait free being n 1 resilient implementations on a distributed machine composed of several units communi cating through a shared memory via atomic read write or FIFO queues etc or through synchronous asynchronous message passing This means that the processes executed on the n processors must be as loosely coupled as possible so that even if processors fail TT Also cited in chapter The geometry of rectangles in Preparata and Shamos 1993 Geometry and Concurrency A User s Guide 9 A P1 0 al P2 0 P1 0 N P2 0 2 001 e a gt tor gt io P2 1 s PL P2 1 _ P1 1 0 100 1 110 0 110 1 010 Fig 8 The synchronous protocol complex Fig 7 The binary consensus decision for 3 processes after one round map from initial global states to final global states to terminate the others will carry on their computation and find a correct partial result as observed o
21. lation This homology theory is not the definitive one in particular it cannot distinguish some situations which are quite sim ple Some further work was needed and began in Gaucher 1997a and Gaucher 1997b In Homotopy invariants of higher dimensional categories and concurrency in computer science I and IT in this issue P Gaucher extends his work in using strict globular w categories generalizing Pratt 1991 to formalize the execution paths of a parallel automaton He also defines three new homology theories which are more adequate than the one proposed in Goubault 1995a The first properties of these theories are proven in particular Hurewicz morphisms are constructed relating homotopy and homology It is to be noted that at the very time this was written up R Brown from Bangor Univer sity and R Steiner from Glasgow University made an important contribution very much related to this in showing that the category of w categories is equivalent to the category of cubical sets with connections and compositions see Brown and Higgins 1981a and Brown and Higgins 1981b for an introduction More general languages were modeled in Goubault 1993 with HDAs Then a few analyses of programs by abstract interpretation see Cousot and Cousot 1977 for a start were designed some earlier steps in Cridlig and Goubault 1993 then the auto matic determination of a superset of possible schedules from the geometry of executi
22. lattice model for static analysis of programs by construction of approximations of fixed points Principles of Pro gramming Languages 4 pages 238 252 Cridlig R 1995 Semantic analysis of shared memory concurrent languages using abstract model checking In Proc of PEPM 95 La Jolla ACM Press Cridlig R 1996 Semantic analysis of Concurrent ML by abstract model checking In Pro ceedings of the LOMAPS Workshop Cridlig R and Goubault E 1993 Semantics and analyses of Linda based languages In Proc of WSA 93 number 724 in LNCS Springer Verlag Dijkstra E 1968 Cooperating Sequential Processes Academic Press Fajstrup L Goubault E and Raussen M 1998 Detecting deadlocks in concurrent systems In Proceedings of the 9th International Conference on Concurrency Theory also available at hitp www dmi ens fr goubault Springer Verlag Fajstrup L Goubault E and Raussen M 1999 Algebraic topology and concurrency sub mitted to Theoretical Computer Science also technical report Aalborg University Fajstrup L and Raussen M 1996 Detecting deadlocks in concurrent systems Technical report BRICS Research Report Aalborg University Farkas D R 1992 The Anick resolution Journal of Pure and Applied Algebra 79 Fiore M Plotkin G and Power J 1997 Complete cuboidal sets in axiomatic domain theory extended abstract In Proceedings Twelth Annual EEE Symposium on Logic in Computer Scienc
23. m of concurrency theory in that the study of the confluence of rewriting systems is related to parallel reduction techniques as in L vy 1978 for instance The resolutions used in most of the proofs of this theorem like in Kobayashi 1990 Groves 1991 Anick 1986 Farkas 1992 and Lafont and Prout 1990 are very much like a Knuth Bendix completion procedure where higher dimensional objects are filling in possible defects of local confluence This looks like building higher dimensional transitions implementing the parallel confluent reductions Eric Goubault 12 see in particular Groves 1991 where the resolution is a cubical complex and in dimen sion one it is generated by the transition system coming from the reduction relation Some other proof techniques use something which is very much like some kind of directed homotopy as in Squier et al 1994 for instance Other interesting relations should be studied concerning higher dimensional word problems as in Burroni 1991 A hope is that geometry can also give some insight in logics especially modal logics as in Goubault Larrecq and Goubault 1999 Finally there is some intuition from theoretical physics that seems relevant to semantics in particular concerning time and dynamical systems Some of the concepts of M Raussen s and L Fasjtrup s articles in this issue are based on similar notions as in Penrose 1972 some areas of physics not classical mech
24. n the non faulty ones Consider as an example a machine with two processors P and P gt communicating by atomic reads and writes on a shared memory Each of these processes has a local binary variable x for P and 2 for Ps respectively The binary consensus problem is to design an algorithm for having P and P agree on one value which moreover has to be a value that one of them started with Therefore if z 0 and a2 1 at the beginning we want them to be x 0 and z 0 or x 1 and z 1 at the end Of course this is complicated by the fact that we ask the solution to be wait free If one of the two processes fails the other process being unable to know whether this process is dead or just very slow then the non faulty one must terminate with one of the values P or Pz started with originally It is unfortunately proved in Fisher et al 1985 that this is not possible in fact it was proven for the equivalent case of an asynchronous message passing system in the general resilient case The article used an argument from graph theory but already quite geometric in nature It has in fact originated the geometric point of view on this field of research as we are going to explainlll The main argument can be understood in broad terms similarity chain as a con nectedness result If we represent the local states of each processor P i 1 2 at some point of the execution of a program by a vertex P x and
25. ned from the HDA semantics to derive automatic parallelization algorithms This has been fully treated for CCS in Takayama 1995 Takayama 1996 Most of the models used since V Pratt s article were based on some form of cubi cal set Some more recent work in Fajstrup and Raussen 1996 and Fajstrup et al 1998 in particular introduced topological models the local po space models generalizing the previous models for being able to reason in a similar way as in ordinary algebraic topology i e by reasoning directly on continuous shapes and not through their com binatorial representations simplicial sets in general Of course as in the standard case there is as shown in Fajstrup et al 1999 again a natural relationship between com binatorial and topological representations through a pair of adjoint functors geometric realization and singular cube functors The expected applications of this modelization as well as some of the basic notions about directed homotopy and schedules are de scribed in Fajstrup et al 1999 More recently V Pratt proposed Chu Spaces see for instance Pratt 1999 as a model for concurrency starting back to the failure identi fied in Pratt 1991 of the natural duality event schedule in interleaving semantics V Pratt in Higher Dimensional Automata Revisited in this issue develops this idea and expresses the HDA geometric model in terms of Chu spaces Some potentially relate
26. niversit Paris VII Lipski and Papadimitriou 1981 A fast algorithm for testing for safety and detecting deadlocks in locked transaction ALGORITHMS Journal of Algorithms Lynch N 1996 Distributed Algorithms Morgan Kaufmann Geometry and Concurrency A User s Guide 15 Mac Lane 8 1963 Homology In Die Grundlehren der Mathematischen Wissenschaften in Einzeldarstellungen volume 114 Springer Verlag May J P 1967 Simplicial objects in algebraic topology D van Nostrand Company inc Papadimitriou C H 1979 The serializability of concurrent database updates Journal of the ACM 26 4 631 653 Papadimitriou C H 1983 Concurrency control by locking SIAM Journal on Computing 12 2 215 226 Penrose R 1972 Techniques of Differential Topology in Relativity volume 7 of Conference Board of the Mathematical Sciences Regional Conference Series in Applied Ma thematics SIAM Philadelphia USA Pratt V 1991 Modeling concurrency with geometry In Proc of the 18th ACM Symposium on Principles of Programming Languages ACM Press Pratt V 1999 Chu spaces In Course notes for the School in Category Theory and Applica tions Coimbra Portugal Preparata F P and Shamos M I 1993 Computational Geometry an Introduction Springer Verlag Saks M and Zaharoglou F 1993 Wait free k set agreement is impossible The topology of public knowledge In Proc of the 25th STOC ACM Press Sassone V and
27. of Section 3 This has been hinted in Goubault 1996a Goubault 1996b Goubault 1997 for simple cases only It was also proved in Herlihy and Shavit 1993 that in a shared memory model with single reader single writer registers providing atomic read and write operations k set agreement requires at least f k 1 rounds where f is the number of processes that can fail The renaming task processes must try to agree on a smaller set of names between each other than the original set of names first proposed in Attiya et al 1990 was also finally solved in Herlihy and Shavit 1993 There is a wait free protocol for the renaming task in certain asynchronous systems if the output name space is sufficiently large It was already known that there is a wait free solution for the renaming task for 2n 1 or more output names on a system of n 1 asynchronous processors and none for n 2 or fewer output names M Herlihy and N Shavit refined this result and showed that there was no solution for strictly less that 2n 1 output names Not only impossibility results can be given but also constructive means for finding algorithms follow from this work see for instance Herlihy and Shavit 1994 More generally datatypes do matter for computability results It is known for quite a long time that consensus for two processes can be solved with shared memory with atomic reads and writes plus a FIFO queue or plus an atomic test amp set operation If
28. ons i e histories of resource usage in Goubault 1995a and Goubault 1995b some ap plications to model checking in 1995 in Cridlig 1995 for shared memory programming languages and in Cridlig 1996 on CML i e message passing languages A proto type Parallel Pascal Analyser has been implemented along these lines by R Cridlig see http www dmi ens fr cridlig In On the classification of dipaths in geometric models of concurrency in this issue M Raussen focusses on the determination of the dihomotopy classes in cubical complexes deadlock detection and serializability see next section being only special cases An algorithm is given for the 2 dimensional case and some ideas are given for solving the general case In Loops Ditopology and Deadlocks in this issue L Fajstrup gives a geometric model of a truly concurrent PV system of n processes with finitely many nested loops and proves that it suffices to study a finite number of deloopings of each loop to determine the unsafe region and the deadlocks Hence the previous algorithm on deadlock detection of Fajstrup et al 1998 can be applied to these finitely many deloopings and give the precise unsafe area in concurrent systems with loops 88 Also there is a way to fully compute the branchings mergings and deadlocks inductively on this language Geometry and Concurrency A User s Guide 7 Some proposals have been made to use the scheduling information obtai
29. ores i e resources that can be shared by up to n processes but not n 1 for instance asynchronous buffers of communication of size n which can be written on by at most n processes This in fact really calls for some higher dimensional versions of graphs Starting from progress graphs the article Coffman et al 1971 developed an algo rithm in O n n is the number of tasks to determine freedom from deadlocks The notion of unsafe state was also introduced with the hope to determine automatically the right schedulers that would prevent the whole system from running into a deadlock situ ation This was limited to binary semaphores only thoughll A fully worked out deadlock detection algorithm on progress graphs including the determination of the unsafe region is described in Carson and Reynolds Jr 1987 which takes care of this limitation This was unfortunately not an optimal algorithm 3 Semantics and Analysis of Concurrency The semantics community came back to these geometric considerations with the develop ment of truly concurrent semantics as opposed to interleaving semantics The base of the argument was that interleaving semantics i e the representation of parallelism by non determinism ignores real asynchronous behaviours that actually exist T a b where a and b are atomic is represented by the same transition system as the non deterministic choice a then 6 or 6 then a see Figure 5 This fact creates p
30. roblems in particular in static analysis of asynchronous concur rent systems in that interleaving builds a lot of uninteresting states in the modelisation T Note that this is a very geometric condition indeed ll There is a way to translate general semaphores into binary semaphores see Dijkstra 1968 but this uses an encoding with integers which cannot be represented in progress graphs tt For instance a distributed system which does not have a global clock is such a system Geometry and Concurrency A User s Guide 5 Fig 5 Interleaving semantics of a b Fig 6 A refinement of a b hence inducing a high cost in verification This is called the state space explosion prob lem Some techniques exist now to circumvent part of the problem actually mostly de rived from truly concurrent considerations originally Petri nets in Valmari 1990 and Mazurkiewicz trace theory in Godefroid and Wolper 1991 Another problem is that refinement which is a very convenient technique in program analysis is very difficult to apply in interleaving semantics see van Glabbeek and Goltz 1989 for instance suppose that action a is in fact non atomic and is composed of two subactions c then d then a b in interleaving semantics is no longer equivalent to a then b or b then a The path c then b then d is missing there see Figure 6 the missing part is represented by the dashed line This implies that interleaving semantics is bound to describ
31. the global states of the system by an un oriented edge linking the two local states which compose them then it is easy to see that the semantics of atomic reads and writes imposes that the reach able global states starting from one initial global state have to form a connected graph There is no way a program on such a machine can break connectivity This implies that the binary consensus cannot be implemented here since we must be able to reach from the global state P1 0 P2 1 two disconnected global states P 0 P2 0 and P1 1 P2 1 as shown on Figure 7 Further work generalizes this simple geometric argument to the needed higher dimensio nal cases In Biran et al 1988 a characterization of a class of problems solvable in lll We refer the reader to the book Lynch 1996 to have a flavour of the vast amount of results that have been proven in the field of fault tolerant distributed protocols Eric Goubault 10 asynchronous message passing systems in the presence of a single failure was given No generalization to more failures has since been solved using the same kinds of graph techniques It was then a rather shared belief that one would have to use more power ful techniques in that case The conjecture Chaudhuri 1990 that the k set agreement problem a kind of weak consensus all is required is that the non faulty processes even tually agree on a subset of at most k values taken from the input values cannot
32. tion for rewriting systems Theoretical Computer Science 131 271 294 Stark A 1989 Concurrent transition systems Theoretical Computer Science 64 221 269 Takayama Y 1995 Cycle filling as parallelization with expansion law In submitted to publi cation Takayama Y 1996 Extraction of concurrent processes from higher dimensional automata In Proceedings of CAAP 96 pages 72 85 Valmari A 1990 A stubborn attack on state explosion In Proc of CAV 90 Springer Verlag LNCS Eric Goubault 16 van Glabbeek R 1991 Bisimulation semantics for higher dimensional au tomata Technical report Stanford University Manuscript available on the web as http theory stanford edu rvg hda van Glabbeek R and Goltz U 1989 Partial order semantics for refinement of actions Bulletin of the EATCS 34 Winskel G and Nielsen M 1994 Models for concurrency volume 3 of Handbook of Logic in Computer Science pages 100 200 Oxford University Press Yannakakis M Papadimitriou C H and Kung H T 1979 Locking policies Safety and freedom from deadlock In 20th Annual Symposium on Foundations of Computer Science pages 286 297 San Juan Puerto Rico IEEE
33. we define the consensus number of a data type as the maximal number of asynchronous processors having atomic read and write on which it can implement wait free consensus then Geometry and Concurrency A User s Guide 11 atomic read write registers have consensus number 1 test amp set and fetch amp add registers queues and stacks have consensus number 2 n register assignment has consensus number 2n 2 load locked store conditional and compare and swap registers have consensus number OO These facts motivated the introduction of the following general problem dealing with the power of the architecture of distributed machines We say that a datatype or object is an m j consensus object if it allows any set of m processes to solve j set agreement tasks Herlihy and Rajsbaum in Herlihy and Rajsbaum 1994 see also Borowsky and Gafni 1993 proved that is is impossible to implement n 1 amp consensus using m j consensus objects if n k gt m j Further work on this can be found in Jayanti 1993 Jayanti 1997 and Schenk 1997 In particular the problem identified in Jayanti 1997 is that the hierarchy of data objects as briefly sketched above is not robust in the sense that it is possible to implement some datatypes with consensus number k using several datatypes with consensus numbers strictly less than k This of course is due to some subtle interactions between the use of these data objects

Download Pdf Manuals

image

Related Search

Related Contents

LogiLink PCI Serial card  SMART Podium série 500 Visor interativo com caneta Guia do usuário  商品についている    Bedienungsanleitung  Alice 6 Labordiagnosesysteme  CYLINDRE A BULLES  

Copyright © All rights reserved.
Failed to retrieve file