scholarly journals Revisiting snapshot algorithms by refinement-based techniques

2014 ◽  
Vol 11 (1) ◽  
pp. 251-270 ◽  
Author(s):  
Bruno Andriamiarina ◽  
Dominique Méry ◽  
Kumar Singh

The snapshot problem addresses a collection of important algorithmic issues related to distributed computations, which are used for debugging or recovering distributed programs. Among existing solutions, Chandy and Lamport have proposed a simple distributed algorithm. In this paper, we explore the correct-byconstruction process to formalize the snapshot algorithms in distributed system. The formalization process is based on a modeling language Event B, which supports a refinement-based incremental development using RODIN platform. These refinement-based techniques help to derive correct distributed algorithms. Moreover, we demonstrate how other distributed algorithms can be revisited. A consequence is to provide a fully mechanized proof of the resulting distributed algorithms.

2007 ◽  
Vol 08 (03) ◽  
pp. 253-284 ◽  
Author(s):  
IAIN A. STEWART

We derive a sequential algorithm Find-Ham-Cycle with the following property. On input: k and n (specifying the k-ary n-cube [Formula: see text]); F, a set of at most 2n − 2 faulty links; and v , a node of [Formula: see text], the algorithm outputs nodes v + and v − such that if Find-Ham-Cycle is executed once for every node v of [Formula: see text] then the node v + (resp. v −) denotes the successor (resp. predecessor) node of v on a fixed Hamiltonian cycle in [Formula: see text] in which no link is in F. Moreover, the algorithm Find-Ham-Cycle runs in time polynomial in n and log k. We also obtain a similar algorithm for an n-dimensional hypercube with at most n − 2 faulty links. We use our algorithms to obtain distributed algorithms to embed Hamiltonian cycles k-ary n-cubes and hypercubes with faulty links; our hypercube algorithm improves on a recently-derived algorithm due to Leu and Kuo, and our k-ary n-cube algorithm is the first distributed algorithm for embedding a Hamiltonian cycle in a k-ary n-cube with faulty links.


2006 ◽  
Vol 14 (2) ◽  
pp. 151-170 ◽  
Author(s):  
Sharon Simmons ◽  
Dennis Edwards ◽  
Phil Kearns

Capturing and examining the causal and concurrent relationships of a distributed system is essential to a wide range of distributed systems applications. Many approaches to gathering this information rely on trace files of executions. The information obtained through tracing is limited to those executions observed. We present a methodology that analyzes the source code of the distributed system. Our analysis considers each process's source code and produces a single comprehensive graph of the system's possible behaviors. The graph, termed the partial order graph (POG), uniquely represents each possible partial order of the system. Causal and concurrent relationships can be extracted relative either to a particular partial order, which is synonymous to a single execution, or to a collection of partial orders. The graph provides a means of reasoning about the system in terms of relationships that will definitely occur, may possible occur, and will never occur. Distributed assert statements provide a means to monitor distributed system executions. By constructing thePOGprior to system execution, the causality information provided by thePOGenables run-time evaluation of the assert statement without relying on traces or addition messages.


Author(s):  
A. Satybaldiyeva ◽  
A. Ismailova ◽  
R. Moldasheva ◽  
A. Mukhanova ◽  
K. Kadirkulov

Distributed system is a group of decentralized interacting executers. Distributed algorithm is the communication protocol for a distributed system that transforms the group into a team to solve some task. Multiagent system is a distributed system that consists of autonomous reactive agents, i.e. executers which internal states can be characterized in terms Believes (B), Desires (D), and Intentions (I). Multiagent algorithm is a distributed algorithm for a multiagent system. The article discusses the basic concepts of agents and multi-agent systems. Also, two problems of multi-agent algorithms for representing knowledge in the context of Social Software Engineering are considered. A number of new multi-agent algorithms are presented, and their correctness is proved. The main characteristics of agents are provided, such as autonomy, proactivity, social ability, and reactivity; also, agents can have such additional characteristics as persistence, reasonability, performance, mobility, personality, and rationality. A number of new multi-agent algorithms are presented, and their correctness is proved. Two statements have been proved for solving RAM and MRP problems. This time we address a social issue of agent anonymity and privacy in these algo-rithms.


Author(s):  
KRISHNAKUMAR BALASUBRAMANIAN ◽  
ANIRUDDHA GOKHALE ◽  
YUEHUA LIN ◽  
JING ZHANG ◽  
JEFF GRAY

Domain-specific models increase the level of abstraction used to develop large-scale component-based systems. Model-driven development (MDD) approaches (e.g., Model-Integrated Computing and Model-Driven Architecture) emphasize the use of models at all stages of system development. Decomposing problems using MDD approaches may result in a separation of the artifacts in a way that impedes comprehension. For example, a single concern (such as deployment of a distributed system) may crosscut different orthogonal activities (such as component specification, interaction, packaging and planning). To keep track of all entities associated with a component, and to ensure that the constraints for the system as a whole are not violated, a purely model-driven approach imposes extra effort, thereby negating some of the benefits of MDD. This paper provides three contributions to the study of applying aspect-oriented techniques to address the crosscutting challenges of model-driven component-based distributed systems development. First, we identify the sources of crosscutting concerns that typically arise in model-driven development of component-based systems. Second, we describe how aspect-oriented model weaving helps modularize these crosscutting concerns using model transformations. Third, we describe how we have applied model weaving using a tool called the Constraint-Specification Aspect Weaver (C-SAW) in the context of the Platform-Independent Component Modeling Language (PICML), which is a domain-specific modeling language for developing component-based systems. A case study of a joint-emergency response system is presented to express the challenges in modeling a typical distributed system. Our experience shows that model weaving is an effective and scalable technique for dealing with crosscutting aspects of component-based systems development.


2015 ◽  
Vol 23 (4) ◽  
pp. 325-331 ◽  
Author(s):  
Ievgen Ivanov ◽  
Mykola Nikitchenko ◽  
Uri Abraham

Summary Proving properties of distributed algorithms is still a highly challenging problem and various approaches that have been proposed to tackle it [1] can be roughly divided into state-based and event-based proofs. Informally speaking, state-based approaches define the behavior of a distributed algorithm as a set of sequences of memory states during its executions, while event-based approaches treat the behaviors by means of events which are produced by the executions of an algorithm. Of course, combined approaches are also possible. Analysis of the literature [1], [7], [12], [9], [13], [14], [15] shows that state-based approaches are more widely used than event-based approaches for proving properties of algorithms, and the difficulties in the event-based approach are often emphasized. We believe, however, that there is a certain naturalness and intuitive content in event-based proofs of correctness of distributed algorithms that makes this approach worthwhile. Besides, state-based proofs of correctness of distributed algorithms are usually applicable only to discrete-time models of distributed systems and cannot be easily adapted to the continuous time case which is important in the domain of cyber-physical systems. On the other hand, event-based proofs can be readily applied to continuous-time / hybrid models of distributed systems. In the paper [2] we presented a compositional approach to reasoning about behavior of distributed systems in terms of events. Compositionality here means (informally) that semantics and properties of a program is determined by semantics of processes and process communication mechanisms. We demonstrated the proposed approach on a proof of the mutual exclusion property of the Peterson’s algorithm [11]. We have also demonstrated an application of this approach for proving the mutual exclusion property in the setting of continuous-time models of cyber-physical systems in [8]. Using Mizar [3], in this paper we give a formal proof of the mutual exclusion property of the Peterson’s algorithm in Mizar on the basis of the event-based approach proposed in [2]. Firstly, we define an event-based model of a shared-memory distributed system as a multi-sorted algebraic structure in which sorts are events, processes, locations (i.e. addresses in the shared memory), traces (of the system). The operations of this structure include a binary precedence relation ⩽ on the set of events which turns it into a linear preorder (events are considered simultaneous, if e1 ⩽ e2 and e2 ⩽ e1), special predicates which check if an event occurs in a given process or trace, predicates which check if an event causes the system to read from or write to a given memory location, and a special partial function “val of” on events which gives the value associated with a memory read or write event (i.e. a value which is written or is read in this event) [2]. Then we define several natural consistency requirements (axioms) for this structure which must hold in every distributed system, e.g. each event occurs in some process, etc. (details are given in [2]). After this we formulate and prove the main theorem about the mutual exclusion property of the Peterson’s algorithm in an arbitrary consistent algebraic structure of events. Informally, the main theorem states that if a system consists of two processes, and in some trace there occur two events e1 and e2 in different processes and each of these events is preceded by a series of three special events (in the same process) guaranteed by execution of the Peterson’s algorithm (setting the flag of the current process, writing the identifier of the opposite process to the “turn” shared variable, and reading zero from the flag of the opposite process or reading the identifier of the current process from the “turn” variable), and moreover, if neither process writes to the flag of the opposite process or writes its own identifier to the “turn” variable, then either the events e1 and e2 coincide, or they are not simultaneous (mutual exclusion property).


1998 ◽  
Vol 08 (04) ◽  
pp. 473-488 ◽  
Author(s):  
Beverly A. Sanders ◽  
Berna L. Massingill ◽  
Svetlana Kryukova

In a network supporting mobile communication devices, a mechanism to find the location of a device, wherever it may be, is needed. In this paper, we present a distributed algorithm for this purpose along with its formal specification and proof sketch. Starting with an algorithm due to Wang, the process of formalization together with careful attention to abstraction leads to a more regular, general, and robust algorithm with a clearer description. An incidental contribution is a useful theorem for proving progress properties in distributed algorithms that use tokens.


Author(s):  
Eslam Al Maghayreh

Ensuring the correctness of a distributed program is not an easy task. Testing and formal methods can play a significant role in this regard. However, testing does not allow for formal specification of the properties to be checked. On the other hand, formal methods verify that a model of a distributed system satisfies certain properties that are formally specified. However, formal methods do not guarantee that a particular implementation of the system under consideration will also satisfy all of the necessary properties. Runtime verification tries to combine some of the advantages of testing and some of the advantages of formal methods. Runtime verification works on a particular implementation of the system and at the same time it allows us to specify the properties of interest formally. In this chapter we have talked about runtime verification of distributed programs. The main components of a runtime verification framework have been presented and discussed in some details. The reasons that make runtime verification of distributed programs a difficult task have been discussed. A summarization of some of the techniques presented in the literature to simplify runtime verification of distributed programs has also been presented.


Author(s):  
Wai-Ho Au

The mining of fuzzy association rules has been proposed in the literature recently. Many of the ensuing algorithms are developed to make use of only a single processor or machine. They can be further enhanced by taking advantage of the scalability of parallel or distributed computer systems. The increasing ability to collect data and the resulting huge data volume make the exploitation of parallel or distributed systems become more and more important to the success of fuzzy association rule mining algorithms. This chapter proposes a new distributed algorithm, called DFARM, for mining fuzzy association rules from very large databases. Unlike many existing algorithms that adopt the support-confidence framework such that an association is considered interesting if it satisfies some user-specified minimum percentage thresholds, DFARM embraces an objective measure to distinguish interesting associations from uninteresting ones. This measure is defined as a function of the difference in the actual and the expected number of tuples characterized by different linguistic variables (attributes) and linguistic terms (attribute values). Given a database, DFARM first divides it into several horizontal partitions and assigns them to different sites in a distributed system. It then has each site scan its own database partition to obtain the number of tuples characterized by different linguistic variables and linguistic terms (i.e., the local counts), and exchange the local counts with all the other sites to find the global counts. Based on the global counts, the values of the interestingness measure are computed, and the sites can uncover interesting associations. By repeating this process of counting, exchanging counts, and calculating the interestingness measure, it unveils the underlying interesting associations hidden in the data. We implemented DFARM in a distributed system and used a popular benchmark data set to evaluate its performance. The results show that it has very good size-up, speedup, and scale-up performance. We also evaluated the effectiveness of the proposed interestingness measure on two synthetic data sets. The experimental results show that it is very effective in differentiating between interesting and uninteresting associations.


2021 ◽  
Vol 40 ◽  
pp. 03036
Author(s):  
Sureshkumar Jha ◽  
Rohan Sawant ◽  
Parth Shinde ◽  
Rakhi Kalantri ◽  
Shagufta Rajguru

This work proposes a system to successfully track, identify and tag target objects or individuals in a real time environment. Consider a sequence of cameras installed in an environment or a facility. Through these cameras user can track those intruders who are aware of how the surveillance system operates and are actively trying to avoid getting seen by the surveillance system. This system tracks the movement of any person’s movement and record and maintain that data throughout any facility in which such a solution is deployed. Movement logging of any individual person can also be done if it does not infringe his/her privacy. Design and analysis a distributed algorithm for the optimization of the recognition and mapping of the given subject/subjects on a User Interface. Finally, the performance and robustness of the distributed system is further analyzed through continuously training the algorithm or maybe real time demo.


2011 ◽  
Vol 219-220 ◽  
pp. 191-194
Author(s):  
Bo He

Most distributed algorithms of mining global frequent itemsets worked on net structure network and adopted Apriori-like algorithm. Whereas there were some problems in these algorithms: a lot of candidate itemsets and heavy communication traffic. Aiming at these problems, this paper proposed a fast distributed algorithm of mining global frequent itemsets, namely, FDMGFI algorithm, which set centre node. FDMGFI algorithm made computer nodes compute local frequent itemsets independently with FP-growth algorithm, then the centre node exchanged data with other computer nodes and combined, finally, global frequent itemsets were gained. FDMGFI algorithm required far less communication traffic by the searching strategies of top-down and bottom-up. Theoretical analysis and experimental results suggest that FDMGFI algorithm is fast and effective.


Sign in / Sign up

Export Citation Format

Share Document