31 research outputs found
Fairness in systems based on multiparty interactions
In the context of the Multiparty Interaction Model, fairness is used to insure that an interaction that is
enabled sufficiently often in a concurrent program will eventually be selected for execution. Unfortunately,
this notion does not take conspiracies into account, i.e. situations in which an interaction never becomes
enabled because of an unfortunate interleaving of independent actions; furthermore, eventual execution is
usually too weak for practical purposes since this concept can only be used in the context of infinite
executions. In this article, we present a new fairness notion, k-conspiracy-free fairness, that improves on
others because it takes finite executions into account, alleviates conspiracies that are not inherent to a
program, and k may be set a priori to control its goodness to address the above-mentioned problems.Ministerio de Ciencia y Tecnología TIC-2000-1106-C02-01Ministerio de Ciencia y Tecnología FIT-150100-2001-78Ministerio de Ciencia y Tecnología TAMANSI PCB-02-00
Generating non-conspiratorial executions
Avoiding conspiratorial executions is useful for debugging, model checking or refinement, and helps implement several wellknown
problems in faulty environments; furthermore, avoiding non-equivalence robust executions prevents conflicting
observations in a distributed setting from occurring. Our results prove that scheduling pairs of states and transitions in a strongly
fair manner suf-fices to prevent conspiratorial executions; we then establish a formal connection between conspiracies and
equivalence robustness; finally, we present a transformation scheme to implement our results and show how to build them into a
well-known distributed scheduler. Previous results were applicable to a subset of systems only, just attempted to characterise
potential conspiracies, or were tightly bound up with a particular interaction model.Comisión Interministerial de Ciencia y Tecnología TIC2003-02737-C0
On the Behaviour of General-Purpose Applications on Cloud Storages
Managing data over cloud infrastructures raises novel challenges with respect to existing and well studied approaches such as ACID and long running transactions. One of the main requirements is to provide availability and partition tolerance in a scenario with replicas and distributed control. This comes at the price of a weaker consistency, usually called eventual consistency. These weak memory models have proved to be suitable in a number of scenarios, such as the analysis of large data with Map-Reduce. However, due to the widespread availability of cloud infrastructures, weak storages are used not only by specialised applications but also by general purpose applications. We provide a formal approach, based on process calculi, to reason about the behaviour of programs that rely on cloud stores. For instance, one can check that the composition of a process with a cloud store ensures `strong' properties through a wise usage of asynchronous message-passing
An Algorithm for Ensuring Fairness and Liveness in Non-deterministic Systems Based on Multiparty Interactions
Strong fairness is a notion we can use to ensure that an element
that is enabled infinitely often in a non–deterministic programme,
will eventually be selected for execution so that it can progress. Unfortunately,
“eventually” is too weak to induce the intuitive idea of liveliness
and leads to anomalies that are not desirable, namely fair finiteness and
conspiracies. In this paper, we focus on non–deterministic programmes
based on multiparty interactions and we present a new criteria for selecting
interactions called strong k–fairness that improves on other proposals
in that it addresses both anomalies simultaneously, and k may be set a
priori to control its goodness. We also show our notion is feasible, and
present an algorithm for scheduling interactions in a strongly k–fair manner
using a theoretical framework to support the multiparty interaction
model. Our algorithm does not require to transform the source code to
the processes that compose the system; furthermore, it can deal with
both terminating and non–terminating processes.Comisión Interministerial de Ciencia y Tecnología TIC 2000–1106–C02–0
On the nature of progress
15th International Conference, OPODIS 2011, Toulouse, France, December 13-16, 2011. ProceedingsWe identify a simple relationship that unifies seemingly unrelated progress conditions ranging from the deadlock-free and starvation-free properties common to lock-based systems, to non-blocking conditions such as obstruction-freedom, lock-freedom, and wait-freedom.
Properties can be classified along two dimensions based on the demands they make on the operating system scheduler. A gap in the classification reveals a new non-blocking progress condition, weaker than obstruction-freedom, which we call clash-freedom.
The classification provides an intuitively-appealing explanation why programmers continue to devise data structures that mix both blocking and non-blocking progress conditions. It also explains why the wait-free property is a natural basis for the consensus hierarchy: a theory of shared-memory computation requires an independent progress condition, not one that makes demands of the operating system scheduler
An Abstract Framework for Deadlock Prevention in BIP
Part 6: Session 5: Model CheckingInternational audienceWe present a sound but incomplete criterion for checking deadlock freedom of finite state systems expressed in BIP: a component-based framework for the construction of complex distributed systems. Since deciding deadlock-freedom for finite-state concurrent systems is PSPACE-complete, our criterion gives up completeness in return for tractability of evaluation. Our criterion can be evaluated by model-checking subsystems of the overall large system. The size of these subsystems depends only on the local topology of direct interaction between components, and not on the number of components in the overall system. We present two experiments, in which our method compares favorably with existing approaches. For example, in verifying deadlock freedom of dining philosphers, our method shows linear increase in computation time with the number of philosophers, whereas other methods (even those that use abstraction) show super-linear increase, due to state-explosion
Justness: A Completeness Criterion for Capturing Liveness Properties (Extended Abstract)
This paper poses that transition systems constitute a good model of
distributed systems only in combination with a criterion telling which paths
model complete runs of the represented systems. Among such criteria, progress
is too weak to capture relevant liveness properties, and fairness is often too
strong; for typical applications we advocate the intermediate criterion of
justness. Previously, we proposed a definition of justness in terms of an
asymmetric concurrency relation between transitions. Here we define such a
concurrency relation for the transition systems associated to the process
algebra CCS as well as its extensions with broadcast communication and signals,
thereby making these process algebras suitable for capturing liveness
properties requiring justness.Comment: An extended abstract of this paper appears in Proc. FoSSaCS'1