Many thanks to Alptekin and Heger for their contributions! While disk arrays, which are a form of a tightly coupled distributed system, have been in use for over two decades, the trend today is to move towards networked, widely dispersed distributed storage comprised of loosely coupled nodes.
Coding plays an important role in both contexts, as it can help provide fault-tolerance without an excessive storage overhead. Indeed, minimizing storage redundancy for a given level of faulttolerance was the first requirement considered in the design of codes for distributed storage systems. Over the years, numerous other considerations have come to light, driving the coding community to develop solutions that cater the various needs of distributed storage systems.
The current shift towards networked storage has raised the need for yet additional properties from codes, which are the subject of much ongoing research. This column deals with advances in coding theory that are or might be applicable to distributed storage. It begins with a primer by Yuval Cassuto, describing the different considerations in distributed storage, as well as codes designed to address them. Yuval lists a range of requirements from codes for distributed storage. The latter is the focus of our second contribution, by Anwitaman Datta and Frederique Oggier.
Their article gives an overview of codes that aim to achieve better repairability in networked distributed storage systems.
- The Theory of Social Health Insurance (Foundations and Trends in Microeconomics)!
- Landolt-Börnstein: Numerical Data and Functional Relationships in Science and Technology Part 2?
- Communications of the ACM - September !
- Computer Science Library Team!
- Computer Science Library Team.
In particular, Anwitaman and Frederique consider the rebuild cost in the face of concurrent failures. Many thanks to Yuval, Anwitaman, and Frederique for their contributions! The tutorial focuses on a canonical asynchronous computation model, where processes communicate by writing to and reading from shared memory. It studies which distributed tasks can be solved in this model in the presence of process failures and communication delays, and which cannot. The tutorial highlights two powerful techniques for obtaining computability results: First, the abstraction of an iterated write-snapshot model is used in order to simplify algorithms, and reduce the complexity of the solutions space one needs to explore for impossibility proofs.
- Training Request;
- In Your Face: Academy Award Celebrates the Innovative Tech Behind Digital Faces.
- Mark Rothko: Toward the Light in the Chapel (Jewish Lives);
- How to Write a Damn Good Novel: Advanced Techniques For Dramatic Storytelling.
Second, concepts from combinatorial topology provide an understanding of the mathematical structure induced by possible executions of a protocol in this model. After years of being narrowly deployed in a few domains, automated program synthesis now appears to be ready for prime time. There are two main factors contributing to this trend. First, much related technology has matured to the point that synthesis is now feasible.
In particular, program synthesis benets from advances in verication, decision procedures, and machine learning, as well as the availability of more powerful computers.
Second, with the increase in software complexity, automated program synthesis is now needed more than ever. The latter is particularly important in the domains covered by this column, namely distributed and concurrent systems.
As distributed protocols are now increasingly deployed in clouds and large data centers, synthesizing correct ones becomes more important. Likewise, automated synthesis can serve instrumental in alleviating the programming challenge raised by the multi-core revolution, which has been extensively discussed in past instances of this column. Today's column includes two articles highlighting recent advances in automated synthesis in these two domains.
Both consider the case where a given program was generated to work correctly in a certain model, but needs to be fixed to work in a different model, under less restrictive assumptions. In the context of distributed programs, Borzoo Bonakdarpour and Sandeep S. Kulkarni discuss automated model repair - a mechanism for automatically fixing bugs in a program or increasing its fault tolerance. They provide a broad survey of techniques developed in the last decade for model repair in distributed computing, fault-tolerance, self-stabilization, and real-time systems.
Second, Michael Kuperstein, Martin Vechev, and Eran Yahav present an approach for automatic fence inference in concurrent programs, allowing them to run under relaxed memory models. Again, we are given a program that is correct in some restricted model - in this case, a sequentially consistent memory model - and the problem is to synthesize one that behaves correctly under a relaxed model, such as those implemented in today's computer architectures.
Pdf Introduction In this issue, we have a short column. This annual work- shop focuses on developing theory for understanding transactional memory systems. It discusses recent achievements as well as remaining challenges. Many thanks to Petr and Srivatsan for their contribution. In a sybil attack , a malicious user assumes multiple identities, and uses them to pose as multiple users.
Sybil attacks are a threat of the new millennium -- they arise in Internet-based distributed systems with a dynamic user population. Indeed, such attacks were not a concern in traditional distributed systems, where the set of participating processes was statically pre-defined. Sybil attacks are inherently difficult to deal with in systems where users do not wish to disclose binding private information, like credit card numbers. A recent popular approach for overcoming sybil attacks is using social networks. Intuitively, even if a malicious user can create many identities, he will have a hard time getting many honest users to befriend all of them in a social network.
Thus, the graph structure of a social network can assist in revealing sybil nodes. In this column, Haifeng Yu presents a tutorial on how social networks can be leveraged to defend against sybil attacks, and a survey of recent suggestions employing this approach. Though Haifeng tackles the problem from a theoretical standpoint, proving formal bounds etc. Yet it appears that much theory for sybil defense using social networks is yet to be developed. In particular, there is a need for better understanding the graph properties of social networks, and how they can be leveraged to achieve provable bounds on false positives and false negatives in the detection of sybil nodes.
Haifeng touches upon some of these directions in the last section. Many thanks to Haifeng for his article! This column takes a look at attempts to combine the two. It features a review of recent work that provides both flavors of robustness by Ittai Abraham, Lorenzo Alvisi, and Joe Halpern. Ittai, Lorenzo, and Joe discuss how game theory-style strategic behavior can be accounted for in fault-tolerant distributed protocols.
They make a compelling case for bringing a game-theoretic perspective to distributed computing problems.
ACM SIGDOC :: Home
Many thanks to Ittai, Lorenzo and Joe for their article! Admittedly, the idea that a network can be dynamic is hardly new networking research has been considering network topology changes and churn for decades. But by and large, past research considered such changes to be exceptions, and focused on adapting to them and re-stabilizing. Only in recent years, we begin to see works that treat dynamic changes as the norm. Such work on constantly-evolving networks may prove important in capturing many real world scenarios, in particular, ones that arise in wireless networks with mobile devices.
In today's column, Fabian Kuhn and Rotem Oshman survey recent work on dynamic networks. They consider adversarial as well as random models of graph evolution. In this context, they explain how the classical graph notions of diameter and cover time generalize to dynamic ones.
These notions have important implications on information dissemination in the network. Fabian and Rotem then present an example algorithm for counting and information dissemination on adversarially evolving graphs. As research on dynamic networks is still in its infancy, many questions remain open; the column concludes with a discussion of some promising directions for future research. Many thanks to Fabian and Rotem for this survey! This column discusses two new research directions that further push the scale of BA. It suggests new domains where BA can, and perhaps should, be deployed.
First, our main contribution, by Valerie King and Jared Saia, argues for running BA in setting with a large number of nodes or processors. Valerie and Jared survey new BA protocols whose communication complexity is scalable in the number of participating processors. This, they argue, enables their deployment in larger-scale domains for which BA was considered infeasible before. The second contribution, by Marko Vukolic, considers another emerging domain for BA. It calls for wider-scale deployment of BA protocols, not among many processors, but rather over multiple cloud computing providers.
The column ends with a short announcement about Morgan Claypool's new monograph series on Distributed Computing Theory, edited by Nancy Lynch. Many thanks to Valerie, Jared, and Marko for sharing their insights! Wireless networks provide unique and challenging platforms for distributed computation, inspiring researchers to develop many distributed algorithms for such environments. Any algorithmic work targeting wireless networks must begin by defining an appropriate model.
My Complaint Against the ACM
The first research results in this vein employed simplified models, like the Unit Disk Graph UDG , which facilitated algorithm design and were readily amenable to analysis. Recently, models that more accurately capture the physical nature of wireless networks were developed; such models are nowadays being gradually adopted. This column's contribution, by Zvi Zvika Lotker and David Peleg focuses on the promising signal-to-interference and noise ratio SINR model, and studies it from an algorithmic perspective.
It surveys the model's structural properties as well as algorithms designed for this model. Many thanks to Zvika and David for their contribution! First-- a debt from last year. This timing did not readily allow for formal speeches. During a coffee break on the following day, some DISC attendees lamented the lack of such a speech, and opined that the Dijkstra Prize ought to be an occasion for the recipients to address the audience, although perhaps at a better timed event.
https://belgacar.com/components/pirater/application-root-android-74.php Yoram Moses followed up on this suggestion, but in lieu of delivering a formal speech, wrote down what he might have said in such an address. Second our main contribution for this column is a tutorial on reconfiguration in replicated state machines, by Leslie Lamport, Dahlia Malkhi, and Lidong Zhou of Microsoft Research.
Lidong had written that, in practice, reconfiguration of replicated systems has always been a key focus, though it got little attention in theoretical work.