25. – 30. April 2004, Dagstuhl Seminar 04181
Atomicity in System Design and Execution
Die Dagstuhl-Stiftung erhielt eine Spende von:
|•||Microsoft Corporation, Redmond, US|
Auskunft zu diesem Dagstuhl Seminar erteilt
The Dagstuhl Seminar 04181 (Atomicity in System Design and Execution) brought together researchers and industrial practitioners from four fields: formal methods, fault tolerance, databases, and architecture to discuss the notion of Atomicity and its pervasive and effective use in all of their disciplines. The underlying purpose of Atomicity is to produce highly dependable, well architected, understandable, and verifiable computer systems or components. Members from these four fields engaged in an extremely productive discussion of ideas, techniques, and mindsets that is very difficult to achieve in a conference setting, where the scope is usually much narrower. In particular, the recent Dagstuhl Seminar provided ample opportunity for presenting seminal ideas, introducing new research, and engaging in intensive questioning and dialog. In short, it was a unique opportunity to learn from fields other than one's narrower specialty. We are writing an "Atomicity manifesto", recapping our Dagstuhl discussions and the insights gathered from across multiple fields, with the aim of encouraging by example more cross-discipline interactions. The unifying framework for that seminar was the notion of "Atomicity" which cuts across many areas of Computing Science. It can refer to both core proprieties of system execution and design techniques. Atomicity is fundamental in dealing with the complexity of modern systems. It is introduced to simplify reasoning about and dealing with concurrency and fault tolerance. Atomicity is frequently introduced with some form of system structuring to provide a basis for encapsulating complex system parts. Atomicity is a ubiquitous concept in computer science and has been studied from many different angles. The consensus among participants was that Seminar 04181 had been a very tasty first course in stimulating interactions between communities. The flexible plan of the first seminar initiated some real understanding but there was also a desire to move on to the next course. For example: discussions about how and when to use formal methods did not proceed far enough for us to understand their appropriate role and timing; it was unclear how database approaches can be applied outside of database systems; we speculated about hardware and programming language support for Atomicity without understanding fully how to provide or how to use such "built-in" support; we discussed the role of consensus and atomic broadcast in some settings, but did not explore this far enough. We believe that our research communities would greatly benefit by coming together again to further discuss how the various perspectives and technologies involving Atomicity might be applied in practice and embedded in a more comprehensive theoretical framework. Our intent is to re-invite a core of 04181 participants, and to reach out more broadly to other members of our respective disciplines, so as to further proselytize the value of cross discipline exchanges so well facilitated by Seminar 04181. We will specifically seek new participants representing other areas which will contribute to a better understanding of Atomicity (e.g. asynchronous hardware design, mobile systems, component technologies). We intend to organize a number of sessions for discussing foundational research, as well as current and future trends in several areas of computer science, such as: … Atomic (ACID) transactions in databases and how they might be applied more widely … Atomic actions in system design and implementation … Atomic broadcast and consensus to increase fault tolerance in many flavors of systems … Atomicity to reason about and define concurrency control … Atomicity in system formalization and analysis … Atomicity in software fault tolerance, error confinement and error recovery … The role of "distributed" Atomicity in systems … Atomicity in application programming, e.g. in workflow systems … Atomicity as an enabling concept that simplifies next-generation systems (AmI, peer-to-peer, etc.) … How Atomicity relates to other concepts used in complex systems These will be interspersed with cross-area discussion sessions and tutorial sessions aimed at developing a better fundamental understanding of Atomicity and its uses across all our communities. It is our plan to propose case studies and to organize some of the focused discussions around them.
Related Dagstuhl Seminar
- 06121: "Atomicity: A Unifying Concept in Computer Science " (2006)