185 research outputs found

    MPF: A portable message passing facility for shared memory multiprocessors

    Get PDF
    The design, implementation, and performance evaluation of a message passing facility (MPF) for shared memory multiprocessors are presented. The MPF is based on a message passing model conceptually similar to conversations. Participants (parallel processors) can enter or leave a conversation at any time. The message passing primitives for this model are implemented as a portable library of C function calls. The MPF is currently operational on a Sequent Balance 21000, and several parallel applications were developed and tested. Several simple benchmark programs are presented to establish interprocess communication performance for common patterns of interprocess communication. Finally, performance figures are presented for two parallel applications, linear systems solution, and iterative solution of partial differential equations

    Constant RMR Group Mutual Exclusion for Arbitrarily Many Processes and Sessions

    Get PDF
    Group mutual exclusion (GME), introduced by Joung in 1998, is a natural synchronization problem that generalizes the classical mutual exclusion and readers and writers problems. In GME a process requests a session before entering its critical section; processes are allowed to be in their critical sections simultaneously provided they have requested the same session. We present a GME algorithm that (1) is the first to achieve a constant Remote Memory Reference (RMR) complexity for both cache coherent and distributed shared memory machines; and (2) is the first that can be accessed by arbitrarily many dynamically allocated processes and with arbitrarily many session names. Neither of the existing GME algorithms satisfies either of these two important properties. In addition, our algorithm has constant space complexity per process and satisfies the two strong fairness properties, first-come-first-served and first-in-first-enabled. Our algorithm uses an atomic instruction set supported by most modern processor architectures, namely: read, write, fetch-and-store and compare-and-swap

    A complexity separation between the cache-coherent and distributed shared memory models

    Full text link

    MCSH, a lock with the standard interface

    Get PDF
    The MCS lock of Mellor-Crummey and Scott (1991), 23 pages. is a very efficient first-come first-served mutual-exclusion algorithm that uses the atomic hardware primitives fetch-and-store and compare-and-swap. However, it has the disadvantage that the calling thread must provide a pointer to an allocated record. This additional parameter violates the standard locking interface, which has only the lock as a parameter. Hence, it is impossible to switch to MCS without editing and recompiling an application that uses locks.This article provides a variation of MCS with the standard interface, which remains FCFS, called MCSH. One key ingredient is to stack allocate the necessary record in the acquire procedure of the lock, so its life-time only spans the delay to enter a critical section. A second key ingredient is communicating the allocated record between the acquire and release procedures through the lock to maintain the standard locking interface. Both of these practices are known to practitioners, but our solution combines them in a unique way. Furthermore, when these practices are used in prior papers, their correctness is often argued informally. The correctness of MCSH is verified rigorously with the proof assistant PVS, and experiments are run to compare its performance with MCS and similar locks

    An Object-Oriented Model for Extensible Concurrent Systems: the Composition-Filters Approach

    Get PDF
    Applying the object-oriented paradigm for the development of large and complex software systems offers several advantages, of which increased extensibility and reusability are the most prominent ones. The object-oriented model is also quite suitable for modeling concurrent systems. However, it appears that extensibility and reusability of concurrent applications is far from trivial. The problems that arise, the so-called inheritance anomalies are analyzed and presented in this paper. A set of requirements for extensible concurrent languages is formulated. As a solution to the identified problems, an extension to the object-oriented model is presented; composition filters. Composition filters capture messages and can express certain constraints and operations on these messages, for example buffering. In this paper we explain the composition filters approach, demonstrate its expressive power through a number of examples and show that composition filters do not suffer from the inheritance anomalies and fulfill the requirements that were established

    Group Mutual Exclusion in Linear Time and Space

    Get PDF
    The Group Mutual Exclusion (GME) problem, introduced by Joung, is a natural extension of the classical Mutual Exclusion problem. In the classical Mutual Exclusion problem, two or more processes are not simultaneously allowed to be in their CRITICAL SECTION, a piece of code where a common resource is accessed. In the GME problem, it is necessary to impose mutual exclusion on different groups in processes in accessing a resource, while allowing processes of the same group to share the resource. The Group Mutual Exclusion problem arises in several applications and is the focus of this thesis. We present an algorithm for the GME problem that satisfies the properties of Mutual Exclusion, Starvation Freedom, Bounded Exit, Concurrent Entry and First-Come-First Served. Our algorithm has [theta] (N) shared space complexity and [omicron] (N)RMR (Remote Memory Reference) complexity. Our algorithm is developed by generalizing the well-known Lamport's Bakery Algorithm for the classical mutual exclusion problem, while preserving its simplicity and elegance. Just like Lamport's Bakery Algorithm, our algorithm has the disadvantage that the token numbers can grow in an unbunded manner. When all shared variables are required to be of bounded size, Hadzilacos presented an algorithm, whose shared space complexity is [theta] (N²) and whose RMR complexity is claimed to be [omicron] (N). Hadzilacos posed as an open problem, the development of a linear time and space algorithm that uses only bounded shared variables and only simple read and write instructions. As a solution to the open problem, Jayanti et al. presented a space efficient adaptation of the above algorithm that uses only [theta] (N) shared space and inherited the claim that the RMR complexity is [omicron] (N) We show that both of these algorithms are of RMR complexity [omega] (N²) and thus demonstrate that both claims are erroneous. So, the open problem posed by Hadzilacos is still open.Open Access FundingM.S

    A framework to study the performance of the group mutual exclusion algorithms

    Get PDF
    Group mutual exclusion problem generalizes the classical mutual exclusion problem, a fundamental problem in concurrent programming. It arises in applications involving sharing resources such as memory and data. In group mutual exclusion, a process requests for a “forum”; processes requesting the same forum may access the critical section simultaneously. Several algorithms have been proposed for the group mutual exclusion problem, but very few studies have been conducted to compare the performances of these algorithms by means of execution on actual machines. Besides the studies conducted have been a mere one-on-one comparison. Also, there exists no testing environment that accommodates multiple algorithms and compare their executions. This work aims at testing the performance of group mutual exclusion algorithms extensively by executing multiple such algorithms in a test framework. We propose to build an automated test framework to execute these algorithms, both individually and collectively under various experimental setups and observe their performances graphically using several performance metrics. Our experiments would constitute several collective comparison studies of algorithms along with replicating a few one-on-one comparison experiments from the literature. To use the algorithms into our framework, we intend to translate them from pseudo codes to source codes. The aim is to eventually creating a repository of these source codes such that they could be used for other applications besides our framework

    Predictable Real-Time Wireless Networking For Sensing And Control

    Get PDF
    Towards the end goal of providing predictable real-time wireless networking for sensing and control, we have developed a real-time routing protocol MTA that predictably delivers data by their deadlines, and a scheduling protocol PRKS to ensure a certain link reliability based on the Physical-ratio-K (PRK) model, which is both realistic and amenable for distributed implementation, and a greedy scheduling algorithm to deliver as many packets as possible to the sink by a deadline in lossy multi-hop wireless sensor networks. Real-time routing is a basic element of closed-loop, real-time sensing and control, but it is challenging due to dynamic, uncertain link/path delays. The probabilistic nature of link/path delays makes the basic problem of computing the probabilistic distribution of path delays NP-hard, yet quantifying probabilistic path delays is a basic element of real-time routing and may well have to be executed by resource-constrained devices in a distributed manner; the highly-varying nature of link/path delays makes it necessary to adapt to in-situ delay conditions in real-time routing, but it has been observed that delay-based routing can lead to instability, estimation error, and low data delivery performance in general. To address these challenges, we propose the Multi-Timescale Estimation (MTE) method; by accurately estimating the mean and variance of per-packet transmission time and by adapting to fast-varying queueing in an accurate, agile manner, MTE enables accurate, agile, and efficient estimation of probabilistic path delay bounds in a distributed manner. Based on MTE, we propose the Multi-Timescale Adaptation (MTA) routing protocol; MTA integrates the stability of an ETX-based directed-acyclic-graph (DAG) with the agility of spatiotemporal data flow control within the DAG to ensure real-time data delivery in the presence of dynamics and uncertainties. We also address the challenges of implementing MTE and MTA in resource-constrained devices such as TelosB motes. We evaluate the performance of MTA using the NetEye and Indriya sensor network testbeds. We find that MTA significantly outperforms existing protocols, e.g., improving deadline success ratio by 89% and reducing transmission cost by a factor of 9.7. Predictable wireless communication is another basic enabler for networked sensing and control in many cyber-physical systems, yet co-channel interference remains a major source of uncertainty in wireless communication. Integrating the protocol model\u27s locality and the physical model\u27s high fidelity, the physical-ratio-K (PRK) interference model bridges the gap between the suitability for distributed implementation and the enabled scheduling performance, and it is expected to serve as a foundation for distributed, predictable interference control. To realize the potential of the PRK model and to address the challenges of distributed PRK-based scheduling, we design protocol PRKS. PRKS uses a control-theoretic approach to instantiating the PRK model according to in-situ network and environmental conditions, and, through purely local coordination, the distributed controllers converge to a state where the desired link reliability is guaranteed. PRKS uses local signal maps to address the challenges of anisotropic, asymmetric wireless communication and large interference range, and PRKS leverages the different timescales of PRK model adaptation and data transmission to decouple protocol signaling from data transmission. Through sensor network testbed-based measurement study, we observe that, unlike existing scheduling protocols where link reliability is unpredictable and the reliability requirement satisfaction ratio can be as low as 0%, PRKS enables predictably high link reliability (e.g., 95%) in different network and environmental conditions without a priori knowledge of these conditions, and, through local distributed coordination, PRKS achieves a channel spatial reuse very close to what is enabled by the state-of-the-art centralized scheduler while ensuring the required link reliability. Ensuring the required link reliability in PRKS also reduces communication delay and improves network throughput. We study the problem of scheduling packet transmissions to maximize the expected number of packets collected at the sink by a deadline in a multi-hop wireless sensor network with lossy links. Most existing work assumes error-free transmissions when interference constraints are complied, yet links can be unreliable due to external interference, shadow- ing, and fading in harsh environments in practice. We formulate the problem as a Markov decision process, yielding an optimal solution. However, the problem is computationally in- tractable due to the curse of dimensionality. Thus, we propose the efficient and greedy Best Link First Scheduling (BLF) protocol. We prove it is optimal for the single-hop case and provide an approach for distributed implementation. Extensive simulations show it greatly enhances real-time data delivery performance, increasing deadline catch ratio by up to 50%, compared with existing scheduling protocols in a wide range of network and traffic settings

    Dynamic Resource Management in a Static Network Operating System

    Get PDF
    We present novel approaches to managing three key resources in an event-driven sensornet OS: memory, energy, and peripherals. We describe the factors that necessitate using these new approaches rather than existing ones. A combination of static allocation and compile-time virtualization isolates resources from one another, while dynamic management provides the flexibility and sharing needed to minimize worst-case overheads. We evaluate the effectiveness and efficiency of these management policies in comparison to those of TinyOS 1.x, SOS, MOS, and Contiki. We show that by making memory, energy, and peripherals first-class abstractions, an OS can quickly, efficiently, and accurately adjust itself to the lowest possible power state, enable high performance applications when active, prevent memory corruption with little RAM overhead, and be flexible enough to support a broad range of devices and uses
    • …
    corecore