29,205 research outputs found
The essence of P2P: A reference architecture for overlay networks
The success of the P2P idea has created a huge diversity
of approaches, among which overlay networks, for example,
Gnutella, Kazaa, Chord, Pastry, Tapestry, P-Grid, or DKS,
have received specific attention from both developers and
researchers. A wide variety of algorithms, data structures,
and architectures have been proposed. The terminologies
and abstractions used, however, have become quite inconsistent since the P2P paradigm has attracted people from many different communities, e.g., networking, databases, distributed systems, graph theory, complexity theory, biology, etc. In this paper we propose a reference model for overlay networks which is capable of modeling different approaches in this domain in a generic manner. It is intended to allow researchers and users to assess the properties of concrete systems, to establish a common vocabulary for scientific discussion, to facilitate the qualitative comparison of the systems, and to serve as the basis for defining a standardized API to make overlay networks interoperable
Blazes: Coordination Analysis for Distributed Programs
Distributed consistency is perhaps the most discussed topic in distributed
systems today. Coordination protocols can ensure consistency, but in practice
they cause undesirable performance unless used judiciously. Scalable
distributed architectures avoid coordination whenever possible, but
under-coordinated systems can exhibit behavioral anomalies under fault, which
are often extremely difficult to debug. This raises significant challenges for
distributed system architects and developers. In this paper we present Blazes,
a cross-platform program analysis framework that (a) identifies program
locations that require coordination to ensure consistent executions, and (b)
automatically synthesizes application-specific coordination code that can
significantly outperform general-purpose techniques. We present two case
studies, one using annotated programs in the Twitter Storm system, and another
using the Bloom declarative language.Comment: Updated to include additional materials from the original technical
report: derivation rules, output stream label
A System for Distributed Mechanisms: Design, Implementation and Applications
We describe here a structured system for distributed mechanism design
appropriate for both Intranet and Internet applications. In our approach the
players dynamically form a network in which they know neither their neighbours
nor the size of the network and interact to jointly take decisions. The only
assumption concerning the underlying communication layer is that for each pair
of processes there is a path of neighbours connecting them. This allows us to
deal with arbitrary network topologies.
We also discuss the implementation of this system which consists of a
sequence of layers. The lower layers deal with the operations that implement
the basic primitives of distributed computing, namely low level communication
and distributed termination, while the upper layers use these primitives to
implement high level communication among players, including broadcasting and
multicasting, and distributed decision making.
This yields a highly flexible distributed system whose specific applications
are realized as instances of its top layer. This design is implemented in Java.
The system supports at various levels fault-tolerance and includes a
provision for distributed policing the purpose of which is to exclude
`dishonest' players. Also, it can be used for repeated creation of dynamically
formed networks of players interested in a joint decision making implemented by
means of a tax-based mechanism. We illustrate its flexibility by discussing a
number of implemented examples.Comment: 36 pages; revised and expanded versio
Hyperswitch communication network
The Hyperswitch Communication Network (HCN) is a large scale parallel computer prototype being developed at JPL. Commercial versions of the HCN computer are planned. The HCN computer being designed is a message passing multiple instruction multiple data (MIMD) computer, and offers many advantages in price-performance ratio, reliability and availability, and manufacturing over traditional uniprocessors and bus based multiprocessors. The design of the HCN operating system is a uniquely flexible environment that combines both parallel processing and distributed processing. This programming paradigm can achieve a balance among the following competing factors: performance in processing and communications, user friendliness, and fault tolerance. The prototype is being designed to accommodate a maximum of 64 state of the art microprocessors. The HCN is classified as a distributed supercomputer. The HCN system is described, and the performance/cost analysis and other competing factors within the system design are reviewed
- …