22,268 research outputs found
Desynchronization: Synthesis of asynchronous circuits from synchronous specifications
Asynchronous implementation techniques, which measure logic delays at run time and activate registers accordingly, are inherently more robust than their synchronous counterparts, which estimate worst-case delays at design time, and constrain the clock cycle accordingly. De-synchronization is a new paradigm to automate the design of asynchronous circuits from synchronous specifications, thus permitting widespread adoption of asynchronicity, without requiring special design skills or tools. In this paper, we first of all study different protocols for de-synchronization and formally prove their correctness, using techniques originally developed for distributed deployment of synchronous language specifications. We also provide a taxonomy of existing protocols for asynchronous latch controllers, covering in particular the four-phase handshake protocols devised in the literature for micro-pipelines. We then propose a new controller which exhibits provably maximal concurrency, and analyze the performance of desynchronized circuits with respect to the original synchronous optimized implementation. We finally prove the feasibility and effectiveness of our approach, by showing its application to a set of real designs, including a complete implementation of the DLX microprocessor architectur
Parallel symbolic state-space exploration is difficult, but what is the alternative?
State-space exploration is an essential step in many modeling and analysis
problems. Its goal is to find the states reachable from the initial state of a
discrete-state model described. The state space can used to answer important
questions, e.g., "Is there a dead state?" and "Can N become negative?", or as a
starting point for sophisticated investigations expressed in temporal logic.
Unfortunately, the state space is often so large that ordinary explicit data
structures and sequential algorithms cannot cope, prompting the exploration of
(1) parallel approaches using multiple processors, from simple workstation
networks to shared-memory supercomputers, to satisfy large memory and runtime
requirements and (2) symbolic approaches using decision diagrams to encode the
large structured sets and relations manipulated during state-space generation.
Both approaches have merits and limitations. Parallel explicit state-space
generation is challenging, but almost linear speedup can be achieved; however,
the analysis is ultimately limited by the memory and processors available.
Symbolic methods are a heuristic that can efficiently encode many, but not all,
functions over a structured and exponentially large domain; here the pitfalls
are subtler: their performance varies widely depending on the class of decision
diagram chosen, the state variable order, and obscure algorithmic parameters.
As symbolic approaches are often much more efficient than explicit ones for
many practical models, we argue for the need to parallelize symbolic
state-space generation algorithms, so that we can realize the advantage of both
approaches. This is a challenging endeavor, as the most efficient symbolic
algorithm, Saturation, is inherently sequential. We conclude by discussing
challenges, efforts, and promising directions toward this goal
RoboCast: Asynchronous Communication in Robot Networks
This paper introduces the \emph{RoboCast} communication abstraction. The
RoboCast allows a swarm of non oblivious, anonymous robots that are only
endowed with visibility sensors and do not share a common coordinate system, to
asynchronously exchange information. We propose a generic framework that covers
a large class of asynchronous communication algorithms and show how our
framework can be used to implement fundamental building blocks in robot
networks such as gathering or stigmergy. In more details, we propose a RoboCast
algorithm that allows robots to broadcast their local coordinate systems to
each others. Our algorithm is further refined with a local collision avoidance
scheme. Then, using the RoboCast primitive, we propose algorithms for
deterministic asynchronous gathering and binary information exchange
Markov two-components processes
We propose Markov two-components processes (M2CP) as a probabilistic model of
asynchronous systems based on the trace semantics for concurrency. Considering
an asynchronous system distributed over two sites, we introduce concepts and
tools to manipulate random trajectories in an asynchronous framework: stopping
times, an Asynchronous Strong Markov property, recurrent and transient states
and irreducible components of asynchronous probabilistic processes. The
asynchrony assumption implies that there is no global totally ordered clock
ruling the system. Instead, time appears as partially ordered and random. We
construct and characterize M2CP through a finite family of transition matrices.
M2CP have a local independence property that guarantees that local components
are independent in the probabilistic sense, conditionally to their
synchronization constraints. A synchronization product of two Markov chains is
introduced, as a natural example of M2CP.Comment: 34 page
Exploring collaboration patterns among global software development teams.
This study examines communication behaviors in
global software student teams. The authors of the
paper characterize the types of communication
behaviors that occur when student teams are engaged
in a software development project. The authors
present findings from a one-semester study that
examined factors contributing to successful distributed
programming interactions among students enrolled at
the University of Atilim (Turkey), Universidad
Tecnológica de Panamá, University of North Texas,
and Middlesex University (UK). Using content and
cluster analyses techniques, we identified distinct
patterns of collaboration and examined how these
patterns were associated with task, culture, GPA, and
performance of collaborative teams. Our results
suggest that communication patterns among global
software learners may be related to task type, culture
and GPA. It is hoped that these findings will lead to the
development of new strategies for improving
communication among global software teams
Distributed Synthesis in Continuous Time
We introduce a formalism modelling communication of distributed agents
strictly in continuous-time. Within this framework, we study the problem of
synthesising local strategies for individual agents such that a specified set
of goal states is reached, or reached with at least a given probability. The
flow of time is modelled explicitly based on continuous-time randomness, with
two natural implications: First, the non-determinism stemming from interleaving
disappears. Second, when we restrict to a subclass of non-urgent models, the
quantitative value problem for two players can be solved in EXPTIME. Indeed,
the explicit continuous time enables players to communicate their states by
delaying synchronisation (which is unrestricted for non-urgent models). In
general, the problems are undecidable already for two players in the
quantitative case and three players in the qualitative case. The qualitative
undecidability is shown by a reduction to decentralized POMDPs for which we
provide the strongest (and rather surprising) undecidability result so far
Teaching Concurrent Software Design: A Case Study Using Android
In this article, we explore various parallel and distributed computing topics
from a user-centric software engineering perspective. Specifically, in the
context of mobile application development, we study the basic building blocks
of interactive applications in the form of events, timers, and asynchronous
activities, along with related software modeling, architecture, and design
topics.Comment: Submitted to CDER NSF/IEEE-TCPP Curriculum Initiative on Parallel and
Distributed Computing - Core Topics for Undergraduate
- …