| G. Andrews, "Paradigms for process interaction in distributed programs," Computing Surveys, vol. 23, no. 1, pp. 49--90, 1991. |
....applications. We present experimental results on the effectiveness of our approach for loosely synchronous, data parallel applications. 1 Introduction This paper investigates the issues of general data layout and consistency for sci entific applications in distributed memory systems [3, 4]. Hence, a data layout shows how to partition a large data set into subsets and how to map the subsets onto different address spaces. We address data parallel, SPMD (Single Program Multiple Data) applications, with general access patterns. In this concurrency model, peer processes I proceed ....
G. R. Andrews. Paradigms for process interaction in distributed programs. A CM Computing Surveys, 23(1):49,90, March 1991.
....secure communication may be difficult to achieve, using broadcast as the primitive message passing mechanism provides several advantages over point to point message passing. For example, this model of communication affords the opportunity for higher reliability and availability within the system [3, 2]. The use of the broadcast mechanism provides robustness in that duplicate objects can be easily represented within Concurrent METATEM. These objects can either provide an alternative source for replies to messages or can be used as reserve objects that can take the place of the primary object ....
G. Andrews. Paradigms for Process Interaction in Distributed Programs. ACM Computing Surveys, 23(1):49--90, March 1991.
....Because components must be pluggable, it is important that these mechanisms do not require a component to know anything about the structure of the system they are plugged into. We discuss four important types of coordination mechanisms: messaging, events, shared data spaces, and channels [1]. Messaging. With this type of connection, components send messages to each other. These messages need not be explicitly targeted; a component can send a message meant for any component having some kind of specific service (publish and subscribe model) instead of sending it to a particular ....
....of the specified type. The value of this parameter can be synchronous or asynchronous channels like FIF0, bag, set, etc. The channel ends, source and sink, are created at the same location as the component and their references are returned as an array of type Object: Object[O] Source and 0bject[1] Sink. We return this array, instead of some Channel data structure containing the channel end references, in order to avoid introducing new unnecessary data types. If desired, this method can be wrapped to return such a Channel class but this is not necessary. Conneci connects the specified ....
[Article contains additional citation context not shown here]
G. Andrews, Paradigms for process interaction in distributed programs, ACM Computing Surveys, 23(1):49-90, 1991.
....models. Nor do existing techniques deal with the multitude of system wide issues that arise in critical infrastructure applications. Modeling and characterizing of distributed systems have been studied extensively. Andrews discusses process types and process interaction in distributed systems [1]. Nikolaidou et al. describe a Distributed System Simulator (DSS) 23] The DSS is an integrated environment for performance evaluation of distributed systems. A distributed system is viewed as a combination of a distributed application and a network infrastructure. The DSS permits analysis of the ....
G. R. Andrews, Paradigms for Process Interaction in Distributed Programs, ACM Computing Surveys, Vol. 23, No. 1, March 1991, pp. 49-90.
....from this lack (see [14] 12] 11] and [7] However, to give an example, the use of paradigmatic problems to accentuate the essentials of a scientific subject is excellently demonstrated in parallel programming. Various textbooks and surveys are based on this conception (see [6] 15] 10] [4], and [3] With respect to parallel programming the community of scientists is familiar with a variety of paradigmatic problems (e.g. producerconsumer, reader writer, dining philosophers) to assess the aptness of conceptions, methods and languages for parallel programming. Our experimental ....
G. R. Andrews. Paradigms for process interaction in distributed programs. ACM Computing Surveys, 23(1):49--90, March 1991.
....Additionally, buffers are placed between the stages of the pipeline. All buffers have the same generic form though they may differ in the number of buffer slots. To avoid internal data movements a shared address space is needed. The control of access contention is a standard problem in concurrency [19]. On transputers, software semaphores can be utilised by missing out any assembly language statement which might allow a context switch by the firmware. So that the buffer slot size should remain transparent to the message arrival size an initial buffer slot size is set which can be expanded by ....
G. R. Andrews. Paradigms for process interaction in distributed programs. ACM Computing Surveys, 23(1):49--90, 1991.
....them reconfigurable. We present one such approach. We assume that each application can use all of the nodes allocated to it during its lifetime. We also assume that these applications can be decomposed into the structure depicted in Fig. 1. This structure has been variously called bag of tasks[1, 10], master slave parallelism[25] and task queue model [15, 5] Each application consists of a coordinator process along with a set of worker processes as shown in Fig. 1. When an application starts it spawns a set of worker processes and the logically centralized coordinator. Each worker process is ....
....running on that node. The system then starts the new application s processes on that node. The parallel programming model we have chosen is a popular one, and it is easy to make adaptive. It is possible to structure a large class of applications in this manner, including Adaptive Quadrature [1] (a method for performing numerical integration) AtEarth [3] a simulation of the flight of neutrinos from the sun towards the earth) DNA parallel sequence generation programs [3] and Computational Fluid Dynamics applications [26, 27] Furthermore, many Linda programs are inherently structured ....
G. R. Andrews. Paradigms for process interaction in distributed programs. ACM Computing Surveys, 23(1):49-- 90, Mar. 1991.
....is structured in three main parts: Figure 1 The first part, headed by PCG, specifies the Process Communication Graph (PCG) of the application, independently of any MPE. PCGs are a natural structure for specifying processes and their communication dependencies and are close to program design [1]. Nodes on a PCG denote processes and arcs denote point topoint communication channels (dependencies) between them. PCGs have been used in modelling, in dynamic 4 analysis and simulation, in mapping techniques, etc. In the PCG part, we first specify the components involved (e.g. T and R) then ....
....communication channels (dependencies) between them. PCGs have been used in modelling, in dynamic 4 analysis and simulation, in mapping techniques, etc. In the PCG part, we first specify the components involved (e.g. T and R) then the processes instantiated from each component (e.g. T[1], T[5] and R[1] R[3] and finally, the communication channels between the processes. Scalability is an important aspect of parallel programs, which due to programming complexity, is usually considered in terms of global parameters in an application, e.g. sizes of dimensions of a grid ....
[Article contains additional citation context not shown here]
Andrews, G R, Paradigms for Process Interaction in Distributed Programs, ACM Computing Surveys 23(1) (1991) 49-90.
....in the time domain. A network preemption mechanism provides not only fast process switching, but also termination (idle) detection of a distributed computation. A distributed computation is said to be terminated, if (i) every process is idle, and (ii) there are no messages in a network [1]. The second condition can be checked by investigating on the saved router status. In practice the next condition is needed: iii) no suspending systemcalls. This checks the existence of one or more threads waiting for the result(s) of systemcall(s) such as I O completion. If only condition (iii) ....
G. R. Andrews. Paradigms for Process Interaction in Distributed Programs. Computing Surveys, 23(1):49--90, March 1991.
....Experience shows the existence of a set of parallel algorithmic schemes that can be applied to problems of a different nature and always repeat the same communication structure. These algorithmic schemes have been studied and characterized by different authors with different points of view [9, 10, 11 12, 13, 14]. As it is presented in [15] we characterize a parallel paradigm by a general scheme of both data and control distribution. This scheme involves particular data dependencies and communication requirements among the processes. The different implementations of the distribution scheme derived from ....
G.R. Andrews. "Paradigms for Process Interaction in Distributed Programs". ACM Computing Surveys. v.15, n.1, pp.49-90, 1991.
....in programming with the Occam language, therefore the work presented is influenced by this language. Several classifications of parallel algorithm paradigms have been proposed in the last few years. Among the most significant, with respect to our work, are those proposed by G.A. Andrews [1], P.Brinch Hansen [2] and F.Rabhi [3] Andrews carried out a clarifying study of several distributed programming techniques applicable to numerous practical problems. These techniques assume a different communication pattern among the processes in order to obtain a specific distributed algorithm, ....
....of a service not available in client processes. In this scheme, particularized to the SPMD framework, some processes may act as client and server at different moments according to the interactions performed with other processes. This scheme is similar to the replicated servers scheme proposed in [1]. The global data and resources are distributed by partition, replication, etc. the implementation of mechanisms of workload balancing being necessary. The control is fully distributed: there is no central process; this may imply the implementation of distributed protocols of synchronization ....
[Article contains additional citation context not shown here]
G.R. Andrews. Paradigms for Process Interaction in Distributed Programs. ACM Computing Surveys, 15(1): 49-90, 1991.
....Human Computer Interface interactions [Pinhannez 97] and process to process communication [Liu 96] Some patterns have started to emerge from this work, but most do not apply to software component or concurrent process interactions. Although process interfaces have been studied for some time [Andrews91] Frlund 94] Fowler97] they haven t been raised yet to a status level deserving patterns. Software component interactions can draw on patterns that apply to communication in general, including conversations between people and interactions between people and machines. These patterns can be ....
G. Andrews. Paradigms for process interaction in distributed programs ACM Computing Surveys. 23(1) (March 1991), pp 49-90.
....operations, only one will succeed. The change operation was added (in relation to Linda) to cover the onewriter and multiple readers applications. Despite the scarce number of primitives, they are powerful enough to write logically centralized software with distributed hardware applications [AND91]. Other HetNOS system servers TS Unix kernel DCL FS NS distributed system servers distributed kernel HetNOS distributed applications AS master client hsh slave 1 Figure 1 layered local structure of a HetNOS node may, but do not have to, use NS services. In fact, currently, two servers ....
.... procedure call (RPC) and distributed shared memory (DSM) As a general rule, we can say that the greater the abstraction and sophistication, the poorer the system performance (although there have been improvements on DSM performance [ZHO92] All these three options have their pros and cons [AND91, BAL89, GOS92, SIN94, ZHO92], and there is no agreement on which paradigm is the best one. This analysis is beyond the scope of this work. One can interconnect Unix systems using a network API. The main problem with this approach is the need to handle host addresses, communication ports, etc. When using Unix sockets or TLI ....
ANDREWS, G.R. Paradigms for Process Interaction in Distributed Programs. ACM Computing Surveys, New York, v.23, n.1, Mar. 1991.
....information from detailed traces. The perturbation is with no doubt the primary problem, however, there exist several other problems that must be considered in designing tools that monitor parallel programs. There are many parallel programming models available on computing systems (see e.g. Andrews91] so tools should be highly flexible. In tuning applications system effects must be distinguished from application bottlenecks [Ries93] The primary motivation of building multiprocessor systems is to cost effectively improve system performance. As we have seen earlier, given a parallel ....
....and ways to model various computer hardware and software systems. To model parallel systems, the modeling technique must have the ability to describe synchronization between parallel processes. Two forms of synchronization can be distinguished: mutual exclusion and condition synchronization [Andrews91a] Product form queueing networks can describe mutual exclusion but cannot express condition synchronization [Jonkers94] Because of this, other techniques must be used together with queueing models. Usually, task graph models are applied, which are used to express condition synchronization. In ....
Andrews, G. R., "Paradigms for process interaction in distributed programs," ACM Computing Surveys, vol. 23, no. 1, pp. 49-90, March 1991.
.... There are now many such languages, for example Ada, Concurrent C, occam and SR, with nearly 100 being listed in [3] The semantics of the interactions between such primitives is also well understood and documented, even when it must be assumed that the processes are communicating across processors [2]. On the hardware side, the connections between the processors will depend on the type of hardware architecture and can broadly speaking be by means of a bus (typically used by LANs) or a direct links, with or without a switch (for hypercubes and networks that need additional speed) 2 If the ....
....T800 processors, which physically have 4 input links and four output links. component t800 provide linkin [4] require linkout[4] a) Describing one processor as a transputer with 4 possible in links and 4 possible out links component line; use t800; inst t800[1] pe = 1; t800[2] pe = 2; bind t800[1] linkout[2] t800[2] linkin[0] Line 2 0 pe 1 pe 2 (b) Describing a line as a hardware component with two t800 components with their in and out links joined. line producer consumer (c) Creating a distributed system on the hardware configuration described in line and ....
[Article contains additional citation context not shown here]
G R Andrews, "Paradigms for process interaction in distributed programs", ACM Comp. Surv. 23 (1) pp 49--90 March 1991
....parallel so that it would be somewhat difficult to write them using procedure call abstraction; for example, problems that need group communication primitivessuch as broadcast or multicast. But many practical applications can be naturally expressed in a modular way using procedure call abstraction [2]. The previous unavailability of proper optimization methods discouraged programmers from using the RPC paradigm for high performance oriented distributed programming, in spite of its convenience. We have presented a source level transformation framework for RPC based distributed programs, whose ....
G. R. Andrews. Paradigms for process interaction in distributed programs. ACM Computing Surveys, Vol. 23(1),
.... a component is described in terms of the communication objects it provides (roughly comparable to input channels) and the communication objects it requires (roughly comparable to output channels) This approach allows the specification of different paradigms of interaction between processes [1]. For instance, filtering structures can be easily built from components such as the one shown below: component filter provide left port,int ; require right port,int ; In the CORBA model [21] interfaces are described in IDL by method signatures, instead of input and output ports. Method ....
G. Andrews. Paradigms for process interaction in distributed programs. Computing Surveys, 23(1), 1991.
....com send( A , ANSWER ) B nexthost= C n = 3 A nexthost= B C nexthost= D n = 5 D nexthost=nil n = 7 same received message Figure 3: Self replicating Message is to structure each agent as a state machine. Consider, as an example, the class of probe echo algorithms [1]. Roughly, they work as follows. A probe is a message sent by a node to its successors, an echo is a subsequent answer. When a node receives a probe from a neighbor, it sends probes to all its other neighbors, and proceeds to wait for their answers. When it receives all the echos it expects, the ....
G. Andrews. Paradigms for process interaction in distributed programs. Computing Surveys, 23(1):49--90, 1991.
....3 Communication Pattern based Checkpointing Coordination Let P denote the set of processes cooperating for a parallel or distributed program and jP j = N . More formally, P = fp i ji is an integer and 1 i Ng. Then, the communication pattern among the processes in P can be one of the followings [3, 12]: ffl Centralized Communication : For a certain p i 2 P , there is communication between p i and every p j 2 P , however, there is no communication between p j 2 P and p k 2 P if p j 6= p i and p k 6= p i . ffl Serial Communication : Every p i 2 P communicates with only two other processes p ....
G.R. Andrews, "Paradigms for process interaction in distributed programs," ACM Computing Surveys, Vol. 23, No. 1, pp. 49--90, 1991.
....properties of selected concurrent programs. Such results are useful as an initial indication of the feasibility of an analysis technique. The cost of an analysis technique can vary greatly from program to program. The control and communication structures that are used in real concurrent programs [And91] can also vary greatly. Therefore, a thorough understanding of the practical benefits of an analysis technique requires evaluation of that technique over a wide range of real concurrent programs. To date, there has been little empirical work in evaluating concurrency analysis techniques. ....
G.R. Andrews. Paradigms for process interaction in distributed programs. ACM Computing Surveys, 23(1):49--90, March 1991.
.... a component is described in terms of the communication objects it provides (roughly comparable to input channels) and the communication objects it requires (roughly comparable to output channels) This approach allows the specification of different paradigms of interaction between processes [1]. Filtering structures can be easily built from components such as the one shown in Figure 1. component filter provide left port,int ; require right port,int ; output port,int ; Figure 1. example of component specification in Darwin. More recently much attention has been given to ....
.... through the trading server or even through more alternative means, such as a message to a ns = createproxy( nameServer ) dom = puc rio ; subd = inf hosts = ns:whoDoes( mail ,dom,subd) if hosts.n = 0 then error( no mail server in this domain ) end p = ns:hostAddress(dom,subd,hosts[1]) c = ns:hostAccess(dom,subd,hosts[1] session = snmp open peer=p, community=c varBind = snmp get(session, sysDescr.0 ) print(var2string(varBind) Figure 6. Accessing the name server via LuaOrb. newsgroup, can be used to help in the management activity. 6.2. Sets of Workers In this ....
[Article contains additional citation context not shown here]
G. Andrews. Paradigms for process interaction in distributed programs. Computing Surveys, 23(1), 1991.
No context found.
G. Andrews, "Paradigms for process interaction in distributed programs," Computing Surveys, vol. 23, no. 1, pp. 49--90, 1991.
No context found.
G.R. Andrews, "Paradigms for process interaction in distributed programs," ACM Computing Surveys, Vol. 23, No. 1, March 1991, pp. 49-90.
No context found.
G. Andrews, `Paradigms for process interaction in distributed programs', ACM Computing Surveys, 23, (1), 49--90 (1991).
No context found.
G. R. Andrews. Paradigms for process interaction in distributed programs. ACM Computing Surveys, 23(1):49--90, Mar. 1991.
First 50 documents Next 50
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC