Asynchronous communication is often viewed as a single entity, the counterpart of synchronous communication. Although the basic concept of asynchronous communication is the decoupling of send and receive events, there is actually room for a variety of additional specification of the communication, for instance in terms of ordering. Yet, these different asynchronous communications are used interchangeably and seldom distinguished. This paper is a contribution to the study of these models, their differences, and how they are related. In this paper, the variety of point-to-point asynchronous communication paradigms is considered with two approaches. In the first and theoretical one, communication models are specified as properties on the ordering of events in distributed executions. In the second and more practical approach that involves composition of peers, they are modeled with transition systems and message histories as part of a framework. The described framework enables to model peer composition and compatibility properties. Besides, an implemented tool chain based on the TLA + formalism and model checking is also proposed and illustrated. The conformance of the two approaches is highlighted. A hierarchy is established between the studied communication models. From the execution viewpoint, it completes existing work in the area by introducing more asynchronous communication models and showing their differences. The framework is shown to offer abstract implementations of the communication models. Both the correctness and the completeness of the descriptions in the framework are studied. This reveals necessary restrictions on the behavior of the peers so that the communication models are actually implementable.
One of the great benefits of computational grids is to give access to a wide range of scientific software and computers with different architectures. It is then possible to use a huge variety of tools for solving the same problem and even to combine these tools in order to obtain the best solution.Grid service trading (searching for the best combination of software and execution platform according to the user requirements) is thus a crucial issue. Trading relies on the description of available services and computers, on the current state of the grid, and on the user requirements. Given the large amount of services that may be deployed over the grid, this description cannot be reduced to a simple service name.A sophisticated service specification approach similar to algebraic data type is presented in this paper. Services are described in terms of their algebraic and semantic properties. This is nothing else than proceeding to a description of algorithms and objects properties for a given application domain.We then illustrate how this specification can be used to determine the service or the combination of services that best answer a user request. As a major benefit, users are not required to explicitly call grid-services, but instead manipulate high-level domainspecific expressions.Our approach is fully generic and can be used in almost all application domains. We illustrate this approach and its possible limitations within the framework of dense linear algebra. More precisely, we focus on Level 3 BLAS (ACM Trans Math Softw 16:1-17, 1990; ibid 16:18-28, 1990) and LAPACK (Society for Industrial and Applied Mathematics, Philadelphia, 1999). Some examples in nonlinear optimization A. Hurault ( ) · M. Daydé · M. Pantel Advanced service trading for scientific computing over the grid 65 are also given to demonstrate how generic our approach is and report on experiments where both domains interact to show the multi-domain possibilities.
Shared-memory concurrent algorithms are well-known for being difficult to write, ill-adapted to test, and complex to prove. Waitfree concurrent objects are a subclass where a process is never prevented from progressing, whatever the other processes are doing (or not doing). Algorithms in this subclass are often non intuitive and among the most complex to prove. This paper presents the analysis and the proof of a wait-free concurrent algorithm that is used to rename processes. By its adaptive and non-blocking nature, the renaming algorithm resists to test, because of the cost of covering all its states and transitions even with a small input set. Thus, a proof has been conducted in TLA + and verified with TLAPS, the TLA + Proof System. This algorithm is itself based on the assembly of wait-free concurrent objects, the splitters, that separate processes. With just two shared variables and three assignments, a splitter seems a simple object but it is not linearizable. To avoid explicitly in-lining it and dealing with its internal state, the proof of the renaming algorithm relies on replacing the splitter with a sequential specification that is proved correct with TLAPS and verified complete by modelchecking on finite instances.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.