Results 1 - 10
of
26
Competitive Concurrent Distributed Queuing
- In Proc. 20th ACM Symposium on Principles of Distributed Computing (PODC
, 2001
"... computing, arising in a variety of applications. The challenge in designing a distributed queuing algorithm is to minimize message trac and delay. ..."
Abstract
-
Cited by 23 (5 self)
- Add to MetaCart
(Show Context)
computing, arising in a variety of applications. The challenge in designing a distributed queuing algorithm is to minimize message trac and delay.
Ordered Multicast and Distributed Swap
, 2000
"... A multicast protocol is ordered (or totally ordered) if it ensures that messages multicast to a group of nodes are delivered in the same order at each destination node, even when those messages are generated concurrently from several sources. Ordered multicast is a natural foundation for push-based ..."
Abstract
-
Cited by 16 (7 self)
- Add to MetaCart
A multicast protocol is ordered (or totally ordered) if it ensures that messages multicast to a group of nodes are delivered in the same order at each destination node, even when those messages are generated concurrently from several sources. Ordered multicast is a natural foundation for push-based cache coherence and certain kinds of middleware. This paper shows how to reduce the complex problem of enforcing multicast ordering to a simpler distributed coordination problem we call distributed swap. Any distributed swap protocol can transform an unordered reliable multicast into an ordered multicast in a modular way. We introduce two novel distributed swap protocols, and discuss their corresponding ordered multicast protocols. These protocols have lower latency than more obvious approaches based on distributed counting.
Transparently Obtaining Scalability for Java Applications on a Cluster
, 2000
"... this article, we focus on the optimization ..."
Dynamic Analysis of the Arrow Distributed Protocol
, 2004
"... Arrow is a prominent distributed protocol which globally orders requests initiated by the nodes in a distributed system. In this paper we present a dynamic analysis of the Arrow protocol. We prove that Arrow is O(log D)-competitive, where D is the diameter of the spanning tree on which Arrow operate ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
(Show Context)
Arrow is a prominent distributed protocol which globally orders requests initiated by the nodes in a distributed system. In this paper we present a dynamic analysis of the Arrow protocol. We prove that Arrow is O(log D)-competitive, where D is the diameter of the spanning tree on which Arrow operates. In addition, we show that our analysis is almost tight by proving that for all trees the competitive ratio of Arrow is#88 D/ log log D).
Dynamic Analysis of the Arrow Distributed Protocol
- THEORY OF COMPUTING SYSTEMS
, 2006
"... Distributed queuing is a fundamental coordination problem that arises in a variety of applications, including distributed directories, totally ordered multicast, and distributed mutual exclusion. The arrow protocol is a solution to distributed queuing that is based on path reversal on a pre-selecte ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
(Show Context)
Distributed queuing is a fundamental coordination problem that arises in a variety of applications, including distributed directories, totally ordered multicast, and distributed mutual exclusion. The arrow protocol is a solution to distributed queuing that is based on path reversal on a pre-selected spanning tree of the network. We present a novel and comprehensive competitive analysis of the arrow protocol. We consider the total cost of handling a finite number of queuing requests, which may or may not be issued concurrently, and show that the arrow protocol is O(s · log D)-competitive to the optimal queuing protocol, where s and D are the stretch and the diameter, respectively, of the spanning tree. In addition, we show that our analysis is almost tight by proving that for every spanning tree chosen for execution, the arrow protocol is �(s ·log(D/s)/log log(D/s))-competitive to the optimal queuing protocol. Our analysis reveals an intriguing connection between the arrow protocol and the nearest neighbor traveling salesperson tour on an appropriately defined graph.
A peer-to-peer approach to enhance middleware connectivity
- IN OPODIS 2003: 7 TH INTERNATIONAL CONFERENCE ON PRINCIPLES OF DISTRIBUTED SYSTEMS
, 2003
"... One of the problems of middleware for shared state is that they are designed, explicitly or implicitly, for symmetric networks. However, since the Internet is not symmetric, end-to-end process connectivity cannot be guaranteed. Our solution to this is to provide the middleware with a network abstr ..."
Abstract
-
Cited by 8 (7 self)
- Add to MetaCart
(Show Context)
One of the problems of middleware for shared state is that they are designed, explicitly or implicitly, for symmetric networks. However, since the Internet is not symmetric, end-to-end process connectivity cannot be guaranteed. Our solution to this is to provide the middleware with a network abstraction layer that masks the asymmetry of the network and provides the illusion of a symmetric network. We describe the communication service of our middleware, the Distribution Subsystem (DSS), which carefully separates connections to remote processes from the protocols that communicate over them. This separation is used to plug-in a peer-to-peer module to provide symmetric and persistent connectivity. The P2P module can provide both up-to-date addresses for mobile processes as well as route discovery to overcome asymmetric links.
Self-stabilizing distributed queuing
- In Proc. 15th International Symposium on Distributed Computing (DISC
, 2001
"... Distributed queuing is a fundamental coordination problem, aris-ing in a variety of applications, including distributed shared memory, distributed directories, and totally ordered multicast. A distributed queue can be used to order events, user operations, or messages in a distributed system. ∗ A pr ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
Distributed queuing is a fundamental coordination problem, aris-ing in a variety of applications, including distributed shared memory, distributed directories, and totally ordered multicast. A distributed queue can be used to order events, user operations, or messages in a distributed system. ∗ A preliminary version of this article has appeared in the Proceedings of the 15th International Symposium on Distributed Computing (DISC) 2001, pages 209–223 † Contact Author 1 This paper presents a new self-stabilizing distributed queuing pro-tocol. This protocol adds self-stabilizing actions to the arrow dis-tributed queuing protocol, a simple path-reversal protocol that runs on a spanning tree of the network. We present a proof that the protocol stabilizes to a stable state irrespective of the (perhaps faulty) initial state, and also present an analysis of the time till convergence. The self-stabilizing queuing protocol is structured as a layer that runs on top of any self-stabilizing spanning tree protocol. This addi-tional queuing layer is guaranteed to stabilize in time bounded by a constant number of message delays across an edge, thus establishing that the stabilization time for distributed queuing is not much more than the stabilization time for spanning tree maintenance. The key idea in our protocol is that the global predicate defining the legality of a protocol state can be written as the conjunction of many purely local predicates, one for each edge of the spanning tree.
HyFlow: A High Performance Distributed Software Transactional Memory Framework
, 2011
"... We present HyFlow — a distributed software transactional memory (D-STM) framework for distributed concurrency control. Lock-based concurrency control suffers from drawbacks including deadlocks, livelocks, and scalability and composability challenges. These problems are exacerbated in distributed sys ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
(Show Context)
We present HyFlow — a distributed software transactional memory (D-STM) framework for distributed concurrency control. Lock-based concurrency control suffers from drawbacks including deadlocks, livelocks, and scalability and composability challenges. These problems are exacerbated in distributed systems due to their distributed versions which are more com-plex to cope with (e.g., distributed deadlocks). STM and D-STM are promising alternatives to lock-based and distributed lock-based concurrency control for centralized and distributed systems, respectively, that overcome these difficulties. HyFlow is a Java framework for D-STM, with pluggable support for directory lookup protocols, transactional synchronization and recovery mechanisms, contention management policies, cache coherence protocols, and network communication protocols. HyFlow exports a simple distributed programming model that excludes locks: using (Java 5) annotations, atomic sections are defined as transactions, in which reads and writes to shared, local and remote objects appear to take effect instanta-neously. No changes are needed to the underlying virtual machine or compiler. We describe HyFlow’s architecture and implementation, and report on experimental studies comparing HyFlow against competing models including Java remote method invocation (RMI) with mu-tual exclusion and read/write locks, distributed shared memory (DSM), and directory-based
Java for High-Performance Network-Based Computing: A Survey
, 2002
"... this paper is organized as follows. In Section 2, we describe the basic support for concurrent computing/programming provided by Java, as well as some other features that are relevant to understand the proposals described here. Readers that are familiar with Java's concurrency features can skip ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
this paper is organized as follows. In Section 2, we describe the basic support for concurrent computing/programming provided by Java, as well as some other features that are relevant to understand the proposals described here. Readers that are familiar with Java's concurrency features can skip this section. In Section 3, we describe the parameters chosen to classify each of the selected projects. In Section 4, we describe the Java environments and mechanisms for supporting high-performance network-based computing that were included in this survey. Section 5 presents a classi cation of these systems, based on the parameters described in Section 3. Section 6 concludes this work
Design of the Kan Distributed Object System
- CONCURR. PRACT. EXPER
, 1999
"... Distributed software problems are often addressed with object-oriented solutions. Objects provide the benefits of encapsulation and abstraction that have proven useful in managing the complexity of sequential code. However, the management of distributed objects is typically by means of complex APIs, ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Distributed software problems are often addressed with object-oriented solutions. Objects provide the benefits of encapsulation and abstraction that have proven useful in managing the complexity of sequential code. However, the management of distributed objects is typically by means of complex APIs, such as CORBA, DCOM, or Java RMI. The complexity of the APIs is itself a hurdle to the writing of efficient, robust programs. An alternate approach is to provide the programmer with a simple interface to an underlying object management layer that provides efficient access to objects and sufficient power for common distributed programming tasks. This paper describes the implementation of the Kan system. It has a clear, simple object model with powerful semantics, embodying such concepts as atomic transactions, asynchronous method calls, and multithreading. The model primitives help the programmer avoid common concurrent programming errors, allowing clean expressions of concurrent a...