8,685 research outputs found
Wait-Free Global Virtual Time Computation in Shared Memory Time-Warp Systems
Global Virtual Time (GVT) is a powerful abstraction used to discriminate what events belong (and what do not belong) to the past history of a parallel/distributed computation. For high performance simulation systems based on the Time Warp synchronization protocol, where concurrent simulation objects are allowed to process their events speculatively and causal consistency is achieved via rollback/recovery techniques, GVT is used to determine which portion of the simulation can be considered as committed. Hence it is the base for actuating memory recovery (e.g. of obsolete logs that were taken in order to support state recoverability) and nonrevocable operations (e.g. I/O). For shared memory implementations of simulation platforms based on the Time Warp protocol, the reference GVT algorithm is the one presented by Fujimoto and Hybinette [1]. However, this algorithm relies on critical sections that make it non-wait-free, and which can hamper scalability. In this article we present a waitfree shared memory GVT algorithm that requires no critical section. Rather, correct coordination across the processes while computing the GVT value is achieved via memory atomic operations, namely compare-and-swap. The price paid by our proposal is an increase in the number of GVT computation phases, as opposed to the single phase required by the proposal in [1]. However, as we show via the results of an experimental study, the wait-free nature of the phases carried out in our GVT algorithm pays-off in reducing the actual cost incurred by the proposal in [1]
Wireless Software Synchronization of Multiple Distributed Cameras
We present a method for precisely time-synchronizing the capture of image
sequences from a collection of smartphone cameras connected over WiFi. Our
method is entirely software-based, has only modest hardware requirements, and
achieves an accuracy of less than 250 microseconds on unmodified commodity
hardware. It does not use image content and synchronizes cameras prior to
capture. The algorithm operates in two stages. In the first stage, we designate
one device as the leader and synchronize each client device's clock to it by
estimating network delay. Once clocks are synchronized, the second stage
initiates continuous image streaming, estimates the relative phase of image
timestamps between each client and the leader, and shifts the streams into
alignment. We quantitatively validate our results on a multi-camera rig imaging
a high-precision LED array and qualitatively demonstrate significant
improvements to multi-view stereo depth estimation and stitching of dynamic
scenes. We release as open source 'libsoftwaresync', an Android implementation
of our system, to inspire new types of collective capture applications.Comment: Main: 9 pages, 10 figures. Supplemental: 3 pages, 5 figure
Feedback Control Goes Wireless: Guaranteed Stability over Low-power Multi-hop Networks
Closing feedback loops fast and over long distances is key to emerging
applications; for example, robot motion control and swarm coordination require
update intervals of tens of milliseconds. Low-power wireless technology is
preferred for its low cost, small form factor, and flexibility, especially if
the devices support multi-hop communication. So far, however, feedback control
over wireless multi-hop networks has only been shown for update intervals on
the order of seconds. This paper presents a wireless embedded system that tames
imperfections impairing control performance (e.g., jitter and message loss),
and a control design that exploits the essential properties of this system to
provably guarantee closed-loop stability for physical processes with linear
time-invariant dynamics. Using experiments on a cyber-physical testbed with 20
wireless nodes and multiple cart-pole systems, we are the first to demonstrate
and evaluate feedback control and coordination over wireless multi-hop networks
for update intervals of 20 to 50 milliseconds.Comment: Accepted final version to appear in: 10th ACM/IEEE International
Conference on Cyber-Physical Systems (with CPS-IoT Week 2019) (ICCPS '19),
April 16--18, 2019, Montreal, QC, Canad
PALS/PRISM Software Design Description (SDD): Ver. 0.51
This Software Design Description (SDD) provides detailed information on the architecture and coding for the PRISM C++ library (version 0.51). The PRISM C++ library supports consistent information sharing and in- teractions between distributed components of networked embedded systems, e.g. avionics. It is designed to reduce the complexity of the networked sys- tem by employing synchronous semantics provided by the architectural pat- tern called a Physically-Asynchronous Logically-Synchronous (PALS) system.unpublishednot peer reviewe
Adaptive Dispatching of Tasks in the Cloud
The increasingly wide application of Cloud Computing enables the
consolidation of tens of thousands of applications in shared infrastructures.
Thus, meeting the quality of service requirements of so many diverse
applications in such shared resource environments has become a real challenge,
especially since the characteristics and workload of applications differ widely
and may change over time. This paper presents an experimental system that can
exploit a variety of online quality of service aware adaptive task allocation
schemes, and three such schemes are designed and compared. These are a
measurement driven algorithm that uses reinforcement learning, secondly a
"sensible" allocation algorithm that assigns jobs to sub-systems that are
observed to provide a lower response time, and then an algorithm that splits
the job arrival stream into sub-streams at rates computed from the hosts'
processing capabilities. All of these schemes are compared via measurements
among themselves and with a simple round-robin scheduler, on two experimental
test-beds with homogeneous and heterogeneous hosts having different processing
capacities.Comment: 10 pages, 9 figure
General analytical framework for cooperative sensing and access trade-off optimization
In this paper, we investigate the joint cooperative spectrum sensing and
access design problem for multi-channel cognitive radio networks. A general
heterogeneous setting is considered where the probabilities that different
channels are available, SNRs of the signals received at secondary users (SUs)
due to transmissions from primary users (PUs) for different users and channels
can be different. We assume a cooperative sensing strategy with a general
a-out-of-b aggregation rule and design a synchronized MAC protocol so that SUs
can exploit available channels. We analyze the sensing performance and the
throughput achieved by the joint sensing and access design. Based on this
analysis, we develop algorithms to find optimal parameters for the sensing and
access protocols and to determine channel assignment for SUs to maximize the
system throughput. Finally, numerical results are presented to verify the
effectiveness of our design and demonstrate the relative performance of our
proposed algorithms and the optimal ones.Comment: arXiv admin note: text overlap with arXiv:1404.167
SICStus MT - A Multithreaded Execution Environment for SICStus Prolog
The development of intelligent software agents and other
complex applications which continuously interact with their
environments has been one of the reasons why explicit concurrency has
become a necessity in a modern Prolog system today. Such applications
need to perform several tasks which may be very different with respect
to how they are implemented in Prolog. Performing these tasks
simultaneously is very tedious without language support.
This paper describes the design, implementation and evaluation of a
prototype multithreaded execution environment for SICStus Prolog. The
threads are dynamically managed using a small and compact set of
Prolog primitives implemented in a portable way, requiring almost no
support from the underlying operating system
- …