HOME





Huang's Algorithm
Huang's algorithm is an algorithm for detecting termination in a distributed system. The algorithm was proposed by Shing-Tsaan Huang in 1989 in the '' Journal of Computers''. Termination detection The basis of termination detection is in the concept of a distributed system process' state. At any time, a process in a distributed system is either in an active state or in an idle state. An active process may become idle at any time but an idle process may only become active again upon receiving a computational message. Termination occurs when all processes in the distributed system become idle and there are no computational messages in transit. Algorithm Huang's algorithm can be described by the following: * Initially all processes are idle. * A distributed task is started by a process sending a computational message to another process. This initial process to send the message is the "controlling agent". ** The initial weight of the controlling agent is w (usually 1). * The followi ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Algorithm
In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing calculations and data processing. More advanced algorithms can perform automated deductions (referred to as automated reasoning) and use mathematical and logical tests to divert the code execution through various routes (referred to as automated decision-making). Using human characteristics as descriptors of machines in metaphorical ways was already practiced by Alan Turing with terms such as "memory", "search" and "stimulus". In contrast, a heuristic is an approach to problem solving that may not be fully specified or may not guarantee correct or optimal results, especially in problem domains where there is no well-defined correct or optimal result. As an effective method, an algorithm can be expressed within a finite amount of spac ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Termination Analysis
In computer science, termination analysis is program analysis which attempts to determine whether the evaluation of a given program halts for ''each'' input. This means to determine whether the input program computes a ''total'' function. It is closely related to the halting problem, which is to determine whether a given program halts for a ''given'' input and which is undecidable. The termination analysis is even more difficult than the Halting problem: the termination analysis in the model of Turing machines as the model of programs implementing computable functions would have the goal of deciding whether a given Turing machine is a total Turing machine, and this problem is at level \Pi^0_2 of the arithmetical hierarchy and thus is strictly more difficult than the Halting problem. Now as the question whether a computable function is total is not semi-decidable, each ''sound'' termination analyzer (i.e. an affirmative answer is never given for a non-terminating program) is ''i ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


picture info

Distributed System
A distributed system is a system whose components are located on different networked computers, which communicate and coordinate their actions by passing messages to one another from any system. Distributed computing is a field of computer science that studies distributed systems. The components of a distributed system interact with one another in order to achieve a common goal. Three significant challenges of distributed systems are: maintaining concurrency of components, overcoming the lack of a global clock, and managing the independent failure of components. When a component of one system fails, the entire system does not fail. Examples of distributed systems vary from SOA-based systems to massively multiplayer online games to peer-to-peer applications. A computer program that runs within a distributed system is called a distributed program, and ''distributed programming'' is the process of writing such programs. There are many different types of implementations for t ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  


Journal Of Computers
A journal, from the Old French ''journal'' (meaning "daily"), may refer to: * Bullet journal, a method of personal organization * Diary, a record of what happened over the course of a day or other period *Daybook, also known as a general journal, a daily record of financial transactions *Logbook, a record of events important to the operation of a vehicle, facility, or otherwise *Record (other) * Transaction log, a chronological record of data processing *Travel journal In publishing, ''journal'' can refer to various periodicals or serials: * Academic journal, an academic or scholarly periodical **Scientific journal, an academic journal focusing on science **Medical journal, an academic journal focusing on medicine ** Law review, a professional journal focusing on legal interpretation *Magazine, non-academic or scholarly periodicals in general ** Trade magazine, a magazine of interest to those of a particular profession or trade **Literary magazine, a magazine devoted t ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]  




Dijkstra–Scholten Algorithm
The Dijkstra–Scholten algorithm (named after Edsger W. Dijkstra and Carel S. Scholten) is an algorithm for detecting termination in a distributed system. The algorithm was proposed by Dijkstra and Scholten in 1980.. First, consider the case of a simple process graph which is a tree. A distributed computation which is tree-structured is not uncommon. Such a process graph may arise when the computation is strictly a divide-and-conquer type. A node starts the computation and divides the problem in two (or more, usually a multiple of 2) roughly equal parts and distribute those parts to other processors. This process continues recursively until the problems are of sufficiently small size to solve in a single processor. Algorithm The Dijkstra–Scholten algorithm is a tree-based algorithm which can be described by the following: * The initiator of a computation is the root of the tree. * Upon receiving a computational message: ** If the receiving process is currently not in the compu ...
[...More Info...]      
[...Related Items...]     OR:     [Wikipedia]   [Google]   [Baidu]