Parallel Arch. & Lang. (PARLE 94), Lect. Notes in Comp. Sci., Vol 817, pp , July 1994

Size: px
Start display at page:

Download "Parallel Arch. & Lang. (PARLE 94), Lect. Notes in Comp. Sci., Vol 817, pp , July 1994"

Transcription

1 Parallel Arch. & Lang. (PARLE 94), Lect. Notes in Comp. Sci., Vol 817, pp , July 1994 A Formal Approach to Modeling Expected Behavior in Parallel Program Visualizations? Joseph L. Sharnowski and Betty H.C. Cheng?? Department of Computer Science, Michigan State University, A714 Wells Hall, East Lansing, Michigan (ph: ; fax: ) fsharnows,chengbg@cps.msu.edu Abstract. Visualizations of program execution are useful for debugging the complex behavior of parallel programs. However, the eectiveness of the visualizations is limited by how well their representations match the programmer's conceptual model of the expected program behavior. In this paper, we show that the LOTOS specication of a parallel program may be used to model expected behavior in the visualizations of the program's execution. We developed a prototype debugging environment, Panorama, to provide a framework for the modeling of expected behavior, collection of trace data, and the generation of the corresponding visualizations. We illustrate, by example, that debugging of incorrect message-passing communication is facilitated by this visualization strategy. 1 Introduction Debugging a sequential program is a dicult task, as it relies on insight in order to know where to look for the cause of an error. Such insight is often only achieved after years of experience in program development [1]. Debugging a parallel program presents an even more dicult challenge [2], as communication between processing elements complicates the task of locating the cause of an error. In order to simplify the development of parallel programs, support tools must be devised for handling this additional complexity. An indirect solution for addressing the diculty of parallel debugging is to minimize the number of errors that must be detected and corrected. The application of formal methods to the process of software development provides a means for achieving this solution. Formal methods are mathematically-based techniques that are used to describe and reason about properties of software systems. The description of the properties are presented using a notation called a formal specication language, and the document in which the properties are described is called a formal specication [3]. The formal specication is an abstraction of? This work is supported in part by the NSF Grant CCR ?? Please address all correspondences to this author.

2 the software system, where the implementation details are intentionally omitted. Using formal specications facilitates the early evaluation of a software design through the use of formal reasoning techniques. The use of formal specications is unfortunately unable to entirely eliminate the possibility of errors in the implementation. For example, even if the specication accurately represents a problem, the process of constructing an implementation for the specication is subject to coding errors. In particular, the expected behavior, as described by the formal specication, may be inconsistent with the actual behavior, as revealed during the program's execution. Visualization has been shown to be an eective approach for representing the complex behavior of a parallel program [4, 5]. Large quantities of event data from the program execution can be encapsulated in compact graphical representations. These visualizations reveal patterns and discrepancies in the event data more readily than the corresponding textual output. A major diculty in the use of visualization is nding a graphical representation for the event data that ts the programmer's conceptual model of the problem at hand [6]. Many visualizations lack any use of abstraction to model the low-level events in terms of high-level behavior, such as stages in the algorithm. In order to debug any errors, the programmer must manually establish a relationship between the graphically-displayed events and the patterns of expected behavior for the program. This paper presents an approach for visualizing the execution of a parallel program in the context of the program's formal specication, written in the specication language LOTOS (Language of Temporal Ordering Specications) [7, 8]. A LOTOS specication is used to represent an abstraction of the program, thus providing a model of the program's expected behavior. We specically consider the case of programs written for distributed-memory systems, where communication between nodes is via message-passing. We present the prototype visualization environment, Panorama, which implements our approach for modeling expected behavior in program visualizations. The remainder of this paper is organized as follows. Section 2 describes how LOTOS is used for the specication of parallel programs. Section 3 discusses how Panorama supports the collection of data, and Section 4 discusses how it supports the modeling of expected behavior in program visualizations. Section 5 considers a practical example where we demonstrate how Panorama can be used to detect message-passing errors. Finally, conclusions are discussed in Section 6. 2 Parallel Program Specication Using LOTOS LOTOS [7, 8] is a formal specication language that has been specically designed to specify protocols and services. The concepts of LOTOS are general in nature, however, thus making the language useful for a wide variety of other tasks, including the specication of parallel programs. In this section, we present a brief discussion of how the language may be used to specify a parallel program

3 written for a distributed-memory system, where communication channels interconnect the nodes to provide a medium for message-passing. For a general introduction to LOTOS, the reader may refer to the tutorials provided in [8, 9]. Also, additional discussion regarding the LOTOS specication of parallel computing environments may be found in [10, 11]. A simple example of a parallel computing environment consists of two processing elements P 1 and P 2 connected via a unidirectional channel C1, as shown in Figure 1. The synchronization points between the processing elements and the channels are the gates labeled send and recv. An action that sends a message Mesg from a processing element labeled Sender to a processing element labeled Rcvr may be formatted as [10]: send!sender!rcvr!mesg Similarly, the action that receives the message may be formatted as: recv!sender!rcvr?mesg:message where, in this case, Mesg is a variable whose value is set through synchronization. P1 send C1 recv P2 Fig. 1. Simple parallel computing environment Consider a program for the computing environment given in Figure 1, whose purpose is to send a natural number from P 1 to P 2. The specication for this program is shown in Figure 2. The behavior expression for the overall specication states that the actions of the processing elements (P 1 and P 2) may interleave, but the actions between the processing elements and the channel C1 must fully synchronize (i.e., synchronize on both the send and recv gates). By examining the behavior expressions in the three process denitions of the specication, we observe that the rst synchronization that occurs is between P 1 and C1 at the send gate. This synchronization causes the variable Msg in the action \send!p1!p2?msg:nat" to accept the value SomeNum oered by the action \send!p1!p2!somenum", eectively representing the passing of the message from P 1 to C1. Similarly, an additional synchronization then occurs at the recv gate, representing the passing of the message from C1 to P 2. We developed a model for a general parallel computing environment that supports an unlimited number of processing elements, where each pair of processing elements is connected by two unidirectional channels, one in each direction. We assign each processing element with a natural number for its name. The number zero is assigned to a special processing element called the host node, whose purpose is to handle management duties for the set of processing elements, such as assigning tasks or data sets to the other processing elements. We refer to the other processing elements in the environment as worker nodes, assigning them the names 1; : : : ;W, where W refers to the number of worker nodes in

4 specication SimpleSend(SomeNum:Nat): exit library NaturalNumber endlib behavior ( P1[send,recv](SomeNum) jjj P2[send,recv] ) jj C1[send,recv] where process P1[send,recv](SomeNum:Nat):exit := send!p1!p2!somenum ; exit endproc process P2[send,recv]:exit := recv!p1!p2?receivednum:nat ; exit endproc process C1[send,recv]:exit := send!p1!p2?msg:nat ; recv!p1!p2!msg ; exit endproc endspec Fig. 2. Specication for sending a number from P 1 to P 2 the environment. The purpose of the worker nodes is to collectively complete the main computation for a problem by each performing a portion of it. The LOTOS specication for this type of computing environment may be constructed by using recursive LOTOS processes to create both the individual instances of worker node processes as well as the processes for the channels that interconnect the processing elements [10, 11]. A simple example of a message-passing parallel program is one in which the host node sends each worker node a natural number equal to the value of the worker node's name, where the worker node then doubles the received number and returns the result to the host. The specications for the host and worker node processes of this number-doubling program are shown in Figure 3. The behavior expression for the host node illustrates the use of process decomposition, where the subprocesses Send_Numbers and Receive_Replies perform the tasks of sending messages to the worker nodes and receiving the results, respectively. The denitions for each of these subprocesses illustrate the use of recursion, where the NodeCtr variable is used to recursively count in descending order through all the \names" of the worker nodes, from W to 1. 3 Data Collection Step Panorama incorporates a post-mortem visualization strategy, where trace data of important events are collected during program execution, while the graphical depiction of the data takes place o-line after execution is complete. In this section, we discuss the collection of the two types of data used by Panorama's graphical depiction step: the expected behavior data and the trace data. A LOTOS specication is an abstraction of a program, from which a model of the program's expected behavior may be derived. In order to facilitate the

5 process Host_Node[send,recv](W:Nat): exit := Send_Numbers[send,recv](W); Receive_Replies[send,recv](W); exit where (* Use recursion to send a number to each worker node *) process Send_Numbers[send,recv](NodeCtr:Nat): exit := [NodeCtr > 0] {> send!0!nodectr!nodectr ; Send_Numbers[send,recv](NodeCtr - 1) [ ] [NodeCtr = 0] {> exit endproc (* Send_Numbers *) (* Use recursion to receive a number from each worker node *) process Receive_Replies[send,recv](NodeCtr:Nat): exit := [NodeCtr > 0] {> (* Since Sender is a variable, receive the replies in any order *) recv?sender:nat!0?reply:nat ; Receive_Replies[send,recv](NodeCtr - 1) [ ] [NodeCtr = 0] {> exit endproc (* Receive_Replies *) endproc (* Host_Node *) process Worker_Node[send,recv](W,MyNum:Nat): exit := (* Receive a number and return twice its value *) recv!0!mynum?value:nat ; send!mynum!0!(value+value) ; exit endproc (* Worker_Node *) Fig. 3. Specication of host and worker nodes for the number-doubling program task of debugging message-passing errors, Panorama's expected behavior model focuses on capturing the occurrences of the message-passing actions according to where they appear in the process hierarchy of the LOTOS specication. Panorama generates the expected behavior model by calculating the tree-like hierarchy, where the name of the specication is placed at the root of the tree. As each process is added to the tree, the message-passing actions that occur in the behavior expression of that process are recorded with it. For example, Figure 4 shows the subtree of processes for the specication of the host node in the number-doubling program from Section 2, where the message-passing actions that occur in the specication are listed with their corresponding processes. After nishing the calculation of the expected behavior model, Panorama stores the model, where the stored version is known as expected behavior data. Panorama uses a software instrumentation approach for the collection of trace data, where appropriate statements are added to the source code in order to generate the relevant trace data during program execution. The method for adding these data collection statements is based directly on the expected behavior model, where the programmer maps items from the expected behavior

6 Host_Node Send_Numbers send!0!nodectr!nodectr Receive_Replies recv?sender:nat!0?reply:nat Fig. 4. Subtree of processes for the host node in the number-doubling program model to their corresponding instrumentation points in the source code via a graphical interface [11]. After the programmer has performed the mapping procedure, Panorama handles the underlying details of adding the data collection statements to the source code. Currently, Panorama provides software instrumentation support for both C and Fortran programs that use PVM (Parallel Virtual Machine) version 2.4 [12] message-passing primitives, where PVM is a parallel computing environment for heterogeneous networks of parallel and serial computers. An advantage to using a software instrumentation approach is that the data collection statements are capable of generating auxiliary information as part of a traced event, where the auxiliary information is used to map the event to its corresponding location in the source code and formal specication. The instrumented version of the source code may be compiled and executed, where each processing element produces a le of trace data during the program execution. A post-processing stage is then used to perform a time-ordered merge of these trace les. Since distributed-memory systems generally lack a synchronized global clock, additional analysis is then performed to adjust the ordering to be consistent with the happened-before relation [13], such that any event E1 that can aect an event E2 is placed in the global ordering before E2. In the Panorama framework, it is guaranteed that no message-passing events are listed in the time-ordering as being received before they are sent. 4 Graphical Depiction Step The graphical depiction step of Panorama uses both the expected behavior data and the trace data to render a visualization of the program execution that models the expected behavior of the program. In this section, we discuss the visualization strategy used by Panorama, including a description of the major features available for generating visualizations. Space-time diagrams [13] display communication events between processing elements across time. One axis of the diagram represents the processing elements, while the other axis represents time. Arcs are drawn between appropriate points in the diagram to represent message-passing events. Panorama uses an enhanced version of a space-time diagram for graphically depicting program execution, where the enhancement is an overlay of the active LOTOS processes onto the diagram. The shaded portion of a rectangle is used to represent the interval between the entry and exit times of a corresponding process. Dierent

7 shading patterns are used to distinguish between active processes. The graphical depiction of the events is performed by a playback strategy, where the programmer may choose either to sequence through the events in a step mode or have Panorama provide a simulated replay. By graphically depicting the trace data in terms of items from the expected behavior model, the diagram facilitates a comparison between the actual behavior and expected behavior of the program. Thus, we call this diagram a Behavior Comparison graph, or BC-graph for short. A BC-graph for the execution of the number-doubling program is illustrated in Figure 5. 1 This visualization shows that six processing elements were involved in the computation, consisting of one host (labeled \0") and ve worker nodes (labeled \1-5"). The message-passing events are depicted in the model of active processes, thus facilitating a visual mapping of the message-passing events to their corresponding location in the expected behavior model. Fig. 5. BC-graph of the execution of the number-doubling program Panorama's visualization strategy oers several features that facilitate the debugging of message-passing errors. First, the graphical elements that represent the items from the expected behavior model may be selected using the cursor, at which time windows are activated that display the portions of the source code and LOTOS specication that correspond to the selected element. Second, in order to avoid congestion, Panorama can perform selective ltering of the events to be depicted, where the processes in the expected behavior model are 1 The trace data for this visualization was generated using a PVM 2.4 [12] implementation of the program, with the execution occurring on a cluster of six identical ethernet-connected SUN SPARCstation 1 workstations.

8 used as the basis for the selection. Finally, a BC-graph provides an abstraction (clustering) mechanism for displaying a subtree of active processes by the parent (root) process of the subtree, thus reducing the congestion that may be caused by displaying the individual active processes (as depicted by the shaded rectangles). Examples of several of these debugging features are given in the following section. 5 Debugging Example: Cholesky Factorization This section illustrates an example in which Panorama facilitates the task of debugging a message-passing error. The application we use is the Cholesky factorization program supplied with the PVM 2.4 [12] distribution. In the discussion below, we present an informal description of the program, followed by LOTOS specications of relevant portions of the program. (We omit the full specication of the program due to space limitations, but the interested reader may refer to [11] for the complete specication.) We then illustrate the use of Panorama for debugging a message-passing error in the program. The trace data for this example was obtained by running the program on a cluster of eight identical ethernet-connected SUN SPARCstation 1 workstations. 5.1 Informal Description of the Program Cholesky factorization considers the special case in which a matrix A is both symmetric and positive denite. In this case, matrix A has a factorization of the form A = LL T, where L is a lower triangular matrix. This factorization is known as the Cholesky factorization. The program that we use to compute the Cholesky factorization is a Column- Cholesky [14] implementation, in which the worker nodes are each assigned an approximately equal number of columns for the computational tasks, although not necessarily consecutive. (The host node process participates in the computation only during initialization.) The implementation consists of three phases: synchronous Cholesky factorization, forward substitution, and backward substitution. A full discussion of these phases is beyond the scope of this paper, although the interested reader may refer to [14]. In the following presentation, we focus on the patterns of the message-passing events, and do not consider the contents of the messages. The matrix we consider is of size n n, where the columns are numbered 0; : : : ; n? 1. The number of available worker nodes is represented by W. All three phases of the program contain message-passing events within loops that use the column number as the index variable. The error we consider below is located within the forward substitution phase, and so we focus our discussion on that phase. That particular phase iterates in order of increasing column number, from 1 to n? 1 (column zero is skipped). If the relevant processing element determines that it is assigned the column corresponding to the value of the index variable, then it waits to receive values sent from each of the other processing elements. Otherwise, it sends a message to the processing element that is assigned the column.

9 5.2 LOTOS Specications for the Program The behavior expression for the Forward_Substitution process consists of a set of initialization operations, followed by a main loop. The header and behavior expression for the process that species the main loop is: process For_Sub_Main_Loop[send,recv](CurrentCol:Nat,MAX_COL:Nat, hlocal Variablesi): exit := [CurrentCol MAX_COL] {> For_Sub_Pre-communication[send,recv](hLocal Variablesi); For_Sub_Communication[send,recv](CurrentCol,hLocal Variablesi); For_Sub_Post-communication[send,recv](hLocal Variablesi); For_Sub_Main_Loop[send,recv](CurrentCol+1,MAX_COL,hLocal Variablesi) [ ] [CurrentCol > MAX_COL] {> exit As shown in the behavior expression above, the CurrentCol variable is used to iterate in order of increasing column number through recursive calls to the For_Sub_Main_Loop process. The specication of the For_Sub_Communication process is as follows: process For_Sub_Communication[send,recv](CurrentCol:Nat, hlocal Variablesi): exit := [CurrentCol 2 MY_COL_SET] {> For_Sub_Receive[send,recv](0,W,MyNum); [ ] [CurrentCol 62 MY_COL_SET] {> send!mynum!owner(currentcol)!msg:message ; exit where process For_Sub_Receive[send,recv](NodeCtr:Nat, W:Nat, MyNum:Nat): exit := [NodeCtr < (W - 1)] {> (* Since Sender is a variable, receive the messages in any order *) recv?sender:nat!mynum?msg:message ; For_Sub_Receive[send,recv](NodeCtr + 1,W,MyNum) [ ] [NodeCtr = (W - 1)] {> exit endproc (* For_Sub_Receive *) endproc (* For_Sub_Communication *) The behavior expression for this process is divided into two choices that determine whether the worker node should participate in send or receive actions, which is based on whether the CurrentCol variable belongs to the set of columns assigned to the worker node that has invoked the process. In the case where the column is assigned to a worker node, the recursive For_Sub_Receive process is used to receive W-1 messages sent by the other worker nodes.

10 5.3 Debugging the Message-Passing Error The error that we investigate is located in the communication step of the forward substitution phase. Specically, the processing element that is assigned the column corresponding to the current value of the index variable must wait to receive messages from W - 1 worker node processes, where a looping construct is used to implement the receipt of multiple messages. We consider the case in which the looping construct is implemented erroneously, such that it waits for messages from W worker node processes instead of W? 1. Since only W? 1 worker nodes send messages, the processing element that is assigned the column enters a deadlock state where it is waiting for a message that will never arrive. The other worker nodes are able to proceed to the next iteration, but each one eventually enters the deadlock state upon executing an iteration in which it is assigned the current column. Since the processing elements enter deadlock states, our discussion below considers partial trace les that were generated by the worker nodes before they entered the deadlock state. The complexity of the message-passing patterns complicates the task of locating the error in the forward substitution phase. By using the clustering mechanism, a BC-graph may be used to display the message-passing events in a model of the high-level stages of the program. For example, Figure 6 shows the message-passing behavior in the synchronous Cholesky factorization and forward substitution phases of the program, where phases are distinguished by the level of shading. (The host node, represented by processing element \0", does not communicate with the worker nodes after initialization, and, thus, there are no message-passing events shown for processing element \0".) Fig. 6. BC-graph of both active processes and message-passing events

11 In order to gain a better understanding of the erroneous message-passing behavior in the forward substitution phase, ltering may be used to depict key events. For example, the BC-graph in the left side of Figure 7 shows the case in which lters have been applied to depict only the active For_Sub_Receive processes along with the relevant message-passing events. This visualization illustrates that the processing elements are each waiting in the For_Sub_Receive process at the point where the information in the partial trace les is exhausted. (The depicted events are the last events recorded for each of the processing elements, at which point progress apparently stops since none of the processing elements completed the execution of the program.) The behavior of processing element \1" is of particular interest, as we see that it received one message from each of the other processing elements (i.e., the expected behavior, as dened by the For_Sub_Receive process for a worker node whose CurrentCol 2 MY_COL_SET), yet it failed to exit the For_Sub_Receive process. Upon locating this questionable behavior, the programmer may use the cursor to select any of the graphical elements that represent the process, at which time windows are displayed showing the specication and source code corresponding to the questionable event, as is shown in Figure 7. Through a comparison of the contents of the two windows, an inconsistency may be detected in the bound for the number of messages to be received, where the specication states a bound equal to W?1, but the source code states a bound equal to W. This inconsistency explains the cause of the deadlock problem. Fig. 7. Specication and source code corresponding to questionable process 6 Conclusions This paper has discussed a strategy for using the LOTOS specication of a parallel program to form an expected behavior model in which to visualize program execution. We have described an approach where expected behavior data and trace data are rst collected and then used to generate visualizations.

12 Each visualization is represented using a BC-graph, where the actual behavior of the program (as represented by trace data) is depicted in terms of the expected behavior. This approach to program visualization, implemented in the tool Panorama, has been demonstrated for debugging message-passing errors. Future work will include extending the expected behavior model to include other aspects of the LOTOS specication besides message-passing actions, such as data operations. Acknowledgments The authors wish to thank the anonymous reviewers for their helpful comments, and Enoch Wang for his assistance with the graphics programming. References 1. Keijiro Araki, Zengo Furukawa, and Jingde Cheng. A general framework for debugging. IEEE Software, pages 14{20, May Charles E. McDowell and David P. Helmbold. Debugging concurrent programs. ACM Computing Surveys, 21(4):593{622, December Jeannette M. Wing. A specier's introduction to formal methods. IEEE Computer, pages 8{24, September Eileen Kraemer and John T. Stasko. The visualization of parallel systems: An overview. Journal of Parallel and Distributed Computing, 18:105{117, Mark V. LaPolla, Joseph L. Sharnowski, Betty H. C. Cheng, and Kevin Anderson. Data parallel program visualizations from formal specications. Journal of Parallel and Distributed Computing, 18:252{257, Cherri M. Pancake and Sue Utter. Models for visualization in parallel debuggers. In Proceedings of 1989 Supercomputing Conference, pages 627{636, International Organization for Standardization, IS LOTOS: A formal description technique based on the temporal ordering of observational behavior, Tommaso Bolognesi and Ed Brinksma. Introduction to the ISO specication language LOTOS. Computer Networks and ISDN Systems, 14(1):25{59, Luigi Logrippo, Mohammed Faci, and Mazen Haj-Hussein. An introduction to LOTOS: learning by examples. Computer Networks and ISDN Systems, 23:325{ 342, Mazen Haj-Hussein and Luigi Logrippo. Specifying distributed algorithms in LOTOS. To appear in Revue reseaux et informatique repartie. 11. Joseph L. Sharnowski and Betty H. C. Cheng. A formal approach to modeling expected behavior in parallel program visualizations. Technical Report MSU-CPS , Michigan State University, November Adam Beguelin, Jack Dongarra, Al Geist, Robert Manchek, and Vaidy Sunderam. A users' guide to PVM: Parallel Virtual Machine. Technical Report ORNL/TM , Oak Ridge National Laboratory, July Leslie Lamport. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21(7):558{565, July Alan George, Michael T. Heath, and Joseph Liu. Parallel Cholesky factorization on a shared-memory multiprocessor. Linear Algebra and Its Applications, 77:165{187, 1986.

13 This article was processed using the LaT E X macro package with LLNCS style

Kevin Skadron. 18 April Abstract. higher rate of failure requires eective fault-tolerance. Asynchronous consistent checkpointing oers a

Kevin Skadron. 18 April Abstract. higher rate of failure requires eective fault-tolerance. Asynchronous consistent checkpointing oers a Asynchronous Checkpointing for PVM Requires Message-Logging Kevin Skadron 18 April 1994 Abstract Distributed computing using networked workstations oers cost-ecient parallel computing, but the higher rate

More information

Technische Universitat Munchen. Institut fur Informatik. D Munchen.

Technische Universitat Munchen. Institut fur Informatik. D Munchen. Developing Applications for Multicomputer Systems on Workstation Clusters Georg Stellner, Arndt Bode, Stefan Lamberts and Thomas Ludwig? Technische Universitat Munchen Institut fur Informatik Lehrstuhl

More information

A taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA

A taxonomy of race. D. P. Helmbold, C. E. McDowell. September 28, University of California, Santa Cruz. Santa Cruz, CA A taxonomy of race conditions. D. P. Helmbold, C. E. McDowell UCSC-CRL-94-34 September 28, 1994 Board of Studies in Computer and Information Sciences University of California, Santa Cruz Santa Cruz, CA

More information

Department of Computing, Macquarie University, NSW 2109, Australia

Department of Computing, Macquarie University, NSW 2109, Australia Gaurav Marwaha Kang Zhang Department of Computing, Macquarie University, NSW 2109, Australia ABSTRACT Designing parallel programs for message-passing systems is not an easy task. Difficulties arise largely

More information

Normal mode acoustic propagation models. E.A. Vavalis. the computer code to a network of heterogeneous workstations using the Parallel

Normal mode acoustic propagation models. E.A. Vavalis. the computer code to a network of heterogeneous workstations using the Parallel Normal mode acoustic propagation models on heterogeneous networks of workstations E.A. Vavalis University of Crete, Mathematics Department, 714 09 Heraklion, GREECE and IACM, FORTH, 711 10 Heraklion, GREECE.

More information

100 Mbps DEC FDDI Gigaswitch

100 Mbps DEC FDDI Gigaswitch PVM Communication Performance in a Switched FDDI Heterogeneous Distributed Computing Environment Michael J. Lewis Raymond E. Cline, Jr. Distributed Computing Department Distributed Computing Department

More information

[8] J. J. Dongarra and D. C. Sorensen. SCHEDULE: Programs. In D. B. Gannon L. H. Jamieson {24, August 1988.

[8] J. J. Dongarra and D. C. Sorensen. SCHEDULE: Programs. In D. B. Gannon L. H. Jamieson {24, August 1988. editor, Proceedings of Fifth SIAM Conference on Parallel Processing, Philadelphia, 1991. SIAM. [3] A. Beguelin, J. J. Dongarra, G. A. Geist, R. Manchek, and V. S. Sunderam. A users' guide to PVM parallel

More information

Khoral Research, Inc. Khoros is a powerful, integrated system which allows users to perform a variety

Khoral Research, Inc. Khoros is a powerful, integrated system which allows users to perform a variety Data Parallel Programming with the Khoros Data Services Library Steve Kubica, Thomas Robey, Chris Moorman Khoral Research, Inc. 6200 Indian School Rd. NE Suite 200 Albuquerque, NM 87110 USA E-mail: info@khoral.com

More information

Steering. Stream. User Interface. Stream. Manager. Interaction Managers. Snapshot. Stream

Steering. Stream. User Interface. Stream. Manager. Interaction Managers. Snapshot. Stream Agent Roles in Snapshot Assembly Delbert Hart Dept. of Computer Science Washington University in St. Louis St. Louis, MO 63130 hart@cs.wustl.edu Eileen Kraemer Dept. of Computer Science University of Georgia

More information

CHAPTER 4 AN INTEGRATED APPROACH OF PERFORMANCE PREDICTION ON NETWORKS OF WORKSTATIONS. Xiaodong Zhang and Yongsheng Song

CHAPTER 4 AN INTEGRATED APPROACH OF PERFORMANCE PREDICTION ON NETWORKS OF WORKSTATIONS. Xiaodong Zhang and Yongsheng Song CHAPTER 4 AN INTEGRATED APPROACH OF PERFORMANCE PREDICTION ON NETWORKS OF WORKSTATIONS Xiaodong Zhang and Yongsheng Song 1. INTRODUCTION Networks of Workstations (NOW) have become important distributed

More information

Network. Department of Statistics. University of California, Berkeley. January, Abstract

Network. Department of Statistics. University of California, Berkeley. January, Abstract Parallelizing CART Using a Workstation Network Phil Spector Leo Breiman Department of Statistics University of California, Berkeley January, 1995 Abstract The CART (Classication and Regression Trees) program,

More information

Optimum Alphabetic Binary Trees T. C. Hu and J. D. Morgenthaler Department of Computer Science and Engineering, School of Engineering, University of C

Optimum Alphabetic Binary Trees T. C. Hu and J. D. Morgenthaler Department of Computer Science and Engineering, School of Engineering, University of C Optimum Alphabetic Binary Trees T. C. Hu and J. D. Morgenthaler Department of Computer Science and Engineering, School of Engineering, University of California, San Diego CA 92093{0114, USA Abstract. We

More information

Storage System. Distributor. Network. Drive. Drive. Storage System. Controller. Controller. Disk. Disk

Storage System. Distributor. Network. Drive. Drive. Storage System. Controller. Controller. Disk. Disk HRaid: a Flexible Storage-system Simulator Toni Cortes Jesus Labarta Universitat Politecnica de Catalunya - Barcelona ftoni, jesusg@ac.upc.es - http://www.ac.upc.es/hpc Abstract Clusters of workstations

More information

PARALLEL COMPUTATION OF THE SINGULAR VALUE DECOMPOSITION ON TREE ARCHITECTURES

PARALLEL COMPUTATION OF THE SINGULAR VALUE DECOMPOSITION ON TREE ARCHITECTURES PARALLEL COMPUTATION OF THE SINGULAR VALUE DECOMPOSITION ON TREE ARCHITECTURES Zhou B. B. and Brent R. P. Computer Sciences Laboratory Australian National University Canberra, ACT 000 Abstract We describe

More information

2 Application Support via Proxies Onion Routing can be used with applications that are proxy-aware, as well as several non-proxy-aware applications, w

2 Application Support via Proxies Onion Routing can be used with applications that are proxy-aware, as well as several non-proxy-aware applications, w Onion Routing for Anonymous and Private Internet Connections David Goldschlag Michael Reed y Paul Syverson y January 28, 1999 1 Introduction Preserving privacy means not only hiding the content of messages,

More information

and easily tailor it for use within the multicast system. [9] J. Purtilo, C. Hofmeister. Dynamic Reconguration of Distributed Programs.

and easily tailor it for use within the multicast system. [9] J. Purtilo, C. Hofmeister. Dynamic Reconguration of Distributed Programs. and easily tailor it for use within the multicast system. After expressing an initial application design in terms of MIL specications, the application code and speci- cations may be compiled and executed.

More information

Array Decompositions for Nonuniform Computational Environments

Array Decompositions for Nonuniform Computational Environments Syracuse University SURFACE College of Engineering and Computer Science - Former Departments, Centers, Institutes and Projects College of Engineering and Computer Science 996 Array Decompositions for Nonuniform

More information

On Checkpoint Latency. Nitin H. Vaidya. In the past, a large number of researchers have analyzed. the checkpointing and rollback recovery scheme

On Checkpoint Latency. Nitin H. Vaidya. In the past, a large number of researchers have analyzed. the checkpointing and rollback recovery scheme On Checkpoint Latency Nitin H. Vaidya Department of Computer Science Texas A&M University College Station, TX 77843-3112 E-mail: vaidya@cs.tamu.edu Web: http://www.cs.tamu.edu/faculty/vaidya/ Abstract

More information

THE IMPLEMENTATION OF A DISTRIBUTED FILE SYSTEM SUPPORTING THE PARALLEL WORLD MODEL. Jun Sun, Yasushi Shinjo and Kozo Itano

THE IMPLEMENTATION OF A DISTRIBUTED FILE SYSTEM SUPPORTING THE PARALLEL WORLD MODEL. Jun Sun, Yasushi Shinjo and Kozo Itano THE IMPLEMENTATION OF A DISTRIBUTED FILE SYSTEM SUPPORTING THE PARALLEL WORLD MODEL Jun Sun, Yasushi Shinjo and Kozo Itano Institute of Information Sciences and Electronics University of Tsukuba Tsukuba,

More information

Centre for Parallel Computing, University of Westminster, London, W1M 8JS

Centre for Parallel Computing, University of Westminster, London, W1M 8JS Graphical Construction of Parallel Programs G. R. Ribeiro Justo Centre for Parallel Computing, University of Westminster, London, WM 8JS e-mail: justog@wmin.ac.uk, Abstract Parallel programming is not

More information

Client 1. Client 2. out. Tuple Space (CB400, $5400) (Z400, $4800) removed from tuple space (Z400, $4800) remains in tuple space (CB400, $5400)

Client 1. Client 2. out. Tuple Space (CB400, $5400) (Z400, $4800) removed from tuple space (Z400, $4800) remains in tuple space (CB400, $5400) VisuaLinda: A Framework and a System for Visualizing Parallel Linda Programs Hideki Koike 3 Graduate School of Information Systems University of Electro-Communications 1{5{1, Chofugaoka, Chofu, Tokyo 182,

More information

MOTION ESTIMATION IN MPEG-2 VIDEO ENCODING USING A PARALLEL BLOCK MATCHING ALGORITHM. Daniel Grosu, Honorius G^almeanu

MOTION ESTIMATION IN MPEG-2 VIDEO ENCODING USING A PARALLEL BLOCK MATCHING ALGORITHM. Daniel Grosu, Honorius G^almeanu MOTION ESTIMATION IN MPEG-2 VIDEO ENCODING USING A PARALLEL BLOCK MATCHING ALGORITHM Daniel Grosu, Honorius G^almeanu Multimedia Group - Department of Electronics and Computers Transilvania University

More information

2 J. Karvo et al. / Blocking of dynamic multicast connections Figure 1. Point to point (top) vs. point to multipoint, or multicast connections (bottom

2 J. Karvo et al. / Blocking of dynamic multicast connections Figure 1. Point to point (top) vs. point to multipoint, or multicast connections (bottom Telecommunication Systems 0 (1998)?? 1 Blocking of dynamic multicast connections Jouni Karvo a;, Jorma Virtamo b, Samuli Aalto b and Olli Martikainen a a Helsinki University of Technology, Laboratory of

More information

Rance Cleaveland The Concurrency Factory is an integrated toolset for specication, simulation,

Rance Cleaveland The Concurrency Factory is an integrated toolset for specication, simulation, The Concurrency Factory Software Development Environment Rance Cleaveland (rance@csc.ncsu.edu) Philip M. Lewis (pml@cs.sunysb.edu) y Scott A. Smolka (sas@cs.sunysb.edu) y Oleg Sokolsky (oleg@ccc.com) y

More information

RECONFIGURATION OF HIERARCHICAL TUPLE-SPACES: EXPERIMENTS WITH LINDA-POLYLITH. Computer Science Department and Institute. University of Maryland

RECONFIGURATION OF HIERARCHICAL TUPLE-SPACES: EXPERIMENTS WITH LINDA-POLYLITH. Computer Science Department and Institute. University of Maryland RECONFIGURATION OF HIERARCHICAL TUPLE-SPACES: EXPERIMENTS WITH LINDA-POLYLITH Gilberto Matos James Purtilo Computer Science Department and Institute for Advanced Computer Studies University of Maryland

More information

Dewayne E. Perry. Abstract. An important ingredient in meeting today's market demands

Dewayne E. Perry. Abstract. An important ingredient in meeting today's market demands Maintaining Consistent, Minimal Congurations Dewayne E. Perry Software Production Research, Bell Laboratories 600 Mountain Avenue, Murray Hill, NJ 07974 USA dep@research.bell-labs.com Abstract. An important

More information

Network Computing Environment. Adam Beguelin, Jack Dongarra. Al Geist, Robert Manchek. Keith Moore. August, Rice University

Network Computing Environment. Adam Beguelin, Jack Dongarra. Al Geist, Robert Manchek. Keith Moore. August, Rice University HeNCE: A Heterogeneous Network Computing Environment Adam Beguelin, Jack Dongarra Al Geist, Robert Manchek Keith Moore CRPC-TR93425 August, 1993 Center for Research on Parallel Computation Rice University

More information

Covering the Aztec Diamond with One-sided Tetrasticks Extended Version

Covering the Aztec Diamond with One-sided Tetrasticks Extended Version Covering the Aztec Diamond with One-sided Tetrasticks Extended Version Alfred Wassermann, University of Bayreuth, D-95440 Bayreuth, Germany Abstract There are 107 non-isomorphic coverings of the Aztec

More information

n m-dimensional data points K Clusters KP Data Points (Cluster centers) K Clusters

n m-dimensional data points K Clusters KP Data Points (Cluster centers) K Clusters Clustering using a coarse-grained parallel Genetic Algorithm: A Preliminary Study Nalini K. Ratha Anil K. Jain Moon J. Chung Department of Computer Science Department of Computer Science Department of

More information

Minoru SASAKI and Kenji KITA. Department of Information Science & Intelligent Systems. Faculty of Engineering, Tokushima University

Minoru SASAKI and Kenji KITA. Department of Information Science & Intelligent Systems. Faculty of Engineering, Tokushima University Information Retrieval System Using Concept Projection Based on PDDP algorithm Minoru SASAKI and Kenji KITA Department of Information Science & Intelligent Systems Faculty of Engineering, Tokushima University

More information

Hunting for Bindings in Distributed Object-Oriented Systems

Hunting for Bindings in Distributed Object-Oriented Systems Hunting for Bindings in Distributed Object-Oriented Systems Magdalena S lawiñska Faculty of Electronics, Telecommunications and Informatics Gdańsk University of Technology Narutowicza 11/12, 80-952 Gdańsk,

More information

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements.

Contemporary Design. Traditional Hardware Design. Traditional Hardware Design. HDL Based Hardware Design User Inputs. Requirements. Contemporary Design We have been talking about design process Let s now take next steps into examining in some detail Increasing complexities of contemporary systems Demand the use of increasingly powerful

More information

The Matrix Market Exchange Formats:

The Matrix Market Exchange Formats: NISTIR 5935 The Matrix Market Exchange Formats: Initial Design Ronald F. Boisvert Roldan Pozo Karin A. Remington U. S. Department of Commerce Technology Administration National Institute of Standards and

More information

A Tutorial on Agent Based Software Engineering

A Tutorial on Agent Based Software Engineering A tutorial report for SENG 609.22 Agent Based Software Engineering Course Instructor: Dr. Behrouz H. Far A Tutorial on Agent Based Software Engineering Qun Zhou December, 2002 Abstract Agent oriented software

More information

Transport protocols are of practical. login, le transfer, and remote procedure. calls. will operate on and therefore are generally

Transport protocols are of practical. login, le transfer, and remote procedure. calls. will operate on and therefore are generally Hazard-Free Connection Release Jennifer E. Walter Department of Computer Science Texas A&M University College Station, TX 77843-3112, U.S.A. Jennifer L. Welch Department of Computer Science Texas A&M University

More information

Distributed minimum spanning tree problem

Distributed minimum spanning tree problem Distributed minimum spanning tree problem Juho-Kustaa Kangas 24th November 2012 Abstract Given a connected weighted undirected graph, the minimum spanning tree problem asks for a spanning subtree with

More information

Adaptive Methods for Distributed Video Presentation. Oregon Graduate Institute of Science and Technology. fcrispin, scen, walpole,

Adaptive Methods for Distributed Video Presentation. Oregon Graduate Institute of Science and Technology. fcrispin, scen, walpole, Adaptive Methods for Distributed Video Presentation Crispin Cowan, Shanwei Cen, Jonathan Walpole, and Calton Pu Department of Computer Science and Engineering Oregon Graduate Institute of Science and Technology

More information

The Use of Process Clustering in Distributed-System Event Displays

The Use of Process Clustering in Distributed-System Event Displays The Use of Process Clustering in Distributed-System Event Displays David J. Taylor Abstract When debugging a distributed application, a display showing the events causing interactions between processes

More information

Egemen Tanin, Tahsin M. Kurc, Cevdet Aykanat, Bulent Ozguc. Abstract. Direct Volume Rendering (DVR) is a powerful technique for

Egemen Tanin, Tahsin M. Kurc, Cevdet Aykanat, Bulent Ozguc. Abstract. Direct Volume Rendering (DVR) is a powerful technique for Comparison of Two Image-Space Subdivision Algorithms for Direct Volume Rendering on Distributed-Memory Multicomputers Egemen Tanin, Tahsin M. Kurc, Cevdet Aykanat, Bulent Ozguc Dept. of Computer Eng. and

More information

EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH PARALLEL IN-MEMORY DATABASE. Dept. Mathematics and Computing Science div. ECP

EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH PARALLEL IN-MEMORY DATABASE. Dept. Mathematics and Computing Science div. ECP EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH CERN/ECP 95-29 11 December 1995 ON-LINE EVENT RECONSTRUCTION USING A PARALLEL IN-MEMORY DATABASE E. Argante y;z,p. v.d. Stok y, I. Willers z y Eindhoven University

More information

Architecture-Dependent Tuning of the Parameterized Communication Model for Optimal Multicasting

Architecture-Dependent Tuning of the Parameterized Communication Model for Optimal Multicasting Architecture-Dependent Tuning of the Parameterized Communication Model for Optimal Multicasting Natawut Nupairoj and Lionel M. Ni Department of Computer Science Michigan State University East Lansing,

More information

E-R Model. Hi! Here in this lecture we are going to discuss about the E-R Model.

E-R Model. Hi! Here in this lecture we are going to discuss about the E-R Model. E-R Model Hi! Here in this lecture we are going to discuss about the E-R Model. What is Entity-Relationship Model? The entity-relationship model is useful because, as we will soon see, it facilitates communication

More information

A Formal View of Multicomputers. Jose A. Galludy, Jose M. Garcazand Francisco J. Quilesy

A Formal View of Multicomputers. Jose A. Galludy, Jose M. Garcazand Francisco J. Quilesy A Formal View of Multicomputers Jose A. Galludy, Jose M. Garcazand Francisco J. Quilesy ydepartamento de Informatica, Universidad de Castilla-La Mancha, Escuela Universitaria Politecnica de Albacete, Campus

More information

An Integrated Course on Parallel and Distributed Processing

An Integrated Course on Parallel and Distributed Processing An Integrated Course on Parallel and Distributed Processing José C. Cunha João Lourenço fjcc, jmlg@di.fct.unl.pt Departamento de Informática Faculdade de Ciências e Tecnologia Universidade Nova de Lisboa

More information

POM: a Virtual Parallel Machine Featuring Observation Mechanisms

POM: a Virtual Parallel Machine Featuring Observation Mechanisms POM: a Virtual Parallel Machine Featuring Observation Mechanisms Frédéric Guidec, Yves Mahéo To cite this version: Frédéric Guidec, Yves Mahéo. POM: a Virtual Parallel Machine Featuring Observation Mechanisms.

More information

(b) extended UML state machine diagram. (a) UML state machine diagram. tr D2 tr D1 D2 D1 D2

(b) extended UML state machine diagram. (a) UML state machine diagram. tr D2 tr D1 D2 D1 D2 A Semantic Model for the State Machine in the Unied Modeling Language Kevin Compton 1, James Huggins 3, and Wuwei Shen 1? 1 EECS Department, University of Michigan 1301 Beal Avenue, Ann Arbor, MI 48109-2122

More information

Client (meet lib) tac_firewall ch_firewall ag_vm. (3) Create ch_firewall. (5) Receive and examine (6) Locate agent (7) Create pipes (8) Activate agent

Client (meet lib) tac_firewall ch_firewall ag_vm. (3) Create ch_firewall. (5) Receive and examine (6) Locate agent (7) Create pipes (8) Activate agent Performance Issues in TACOMA Dag Johansen 1 Nils P. Sudmann 1 Robbert van Renesse 2 1 Department of Computer Science, University oftroms, NORWAY??? 2 Department of Computer Science, Cornell University,

More information

MC member other network node. Link used by the MC Link not used by the MC. Cell forwarding at X: cell forwarding. cell arrivial

MC member other network node. Link used by the MC Link not used by the MC. Cell forwarding at X: cell forwarding. cell arrivial Switch-Aided Flooding Operations in ATM Networks Yih Huang and Philip K. McKinley Department of Computer Science Michigan State University East Lansing, Michigan 48824 fhuangyih, mckinleyg@cps.msu.edu

More information

highest cosine coecient [5] are returned. Notice that a query can hit documents without having common terms because the k indexing dimensions indicate

highest cosine coecient [5] are returned. Notice that a query can hit documents without having common terms because the k indexing dimensions indicate Searching Information Servers Based on Customized Proles Technical Report USC-CS-96-636 Shih-Hao Li and Peter B. Danzig Computer Science Department University of Southern California Los Angeles, California

More information

Extra-High Speed Matrix Multiplication on the Cray-2. David H. Bailey. September 2, 1987

Extra-High Speed Matrix Multiplication on the Cray-2. David H. Bailey. September 2, 1987 Extra-High Speed Matrix Multiplication on the Cray-2 David H. Bailey September 2, 1987 Ref: SIAM J. on Scientic and Statistical Computing, vol. 9, no. 3, (May 1988), pg. 603{607 Abstract The Cray-2 is

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)

CIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions) By the end of this course, students should CIS 1.5 Course Objectives a. Understand the concept of a program (i.e., a computer following a series of instructions) b. Understand the concept of a variable

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2004 Vol. 3, No. 7, July-August 2004 UML 2 Activity and Action Models Part 5: Partitions

More information

Eliminating False Loops Caused by Sharing in Control Path

Eliminating False Loops Caused by Sharing in Control Path Eliminating False Loops Caused by Sharing in Control Path ALAN SU and YU-CHIN HSU University of California Riverside and TA-YUNG LIU and MIKE TIEN-CHIEN LEE Avant! Corporation In high-level synthesis,

More information

TRAPPER A GRAPHICAL PROGRAMMING ENVIRONMENT O. KR AMER-FUHRMANN. German National Research Center for Computer Science (GMD)

TRAPPER A GRAPHICAL PROGRAMMING ENVIRONMENT O. KR AMER-FUHRMANN. German National Research Center for Computer Science (GMD) TRAPPER A GRAPHICAL PROGRAMMING ENVIRONMENT FOR PARALLEL SYSTEMS O. KR AMER-FUHRMANN German National Research Center for Computer Science (GMD) Schloss Birlinghoven, D-53757 Sankt Augustin, Germany L.

More information

N. Hitschfeld. Blanco Encalada 2120, Santiago, CHILE.

N. Hitschfeld. Blanco Encalada 2120, Santiago, CHILE. Generalization of modied octrees for geometric modeling N. Hitschfeld Dpto. Ciencias de la Computacion, Univ. de Chile Blanco Encalada 2120, Santiago, CHILE E-mail: nancy@dcc.uchile.cl Abstract. This paper

More information

Rowena Cole and Luigi Barone. Department of Computer Science, The University of Western Australia, Western Australia, 6907

Rowena Cole and Luigi Barone. Department of Computer Science, The University of Western Australia, Western Australia, 6907 The Game of Clustering Rowena Cole and Luigi Barone Department of Computer Science, The University of Western Australia, Western Australia, 697 frowena, luigig@cs.uwa.edu.au Abstract Clustering is a technique

More information

ANALYZING PROCESS MODELS USING GRAPH REDUCTION TECHNIQUES

ANALYZING PROCESS MODELS USING GRAPH REDUCTION TECHNIQUES NLYZING PROCESS MODELS USING GRPH REDUCTION TECHNIQUES WSIM SDIQ ND MRI E. ORLOWSK Distributed Systems Technology Centre Department of Computer Science & Electrical Engineering The University of Queensland,

More information

Parallel Implementation of a Unied Approach to. Image Focus and Defocus Analysis on the Parallel Virtual Machine

Parallel Implementation of a Unied Approach to. Image Focus and Defocus Analysis on the Parallel Virtual Machine Parallel Implementation of a Unied Approach to Image Focus and Defocus Analysis on the Parallel Virtual Machine Yen-Fu Liu, Nai-Wei Lo, Murali Subbarao, Bradley S. Carlson yiu@sbee.sunysb.edu, naiwei@sbee.sunysb.edu

More information

HARNESS. provides multi-level hot pluggability. virtual machines. split off mobile agents. merge multiple collaborating sites.

HARNESS. provides multi-level hot pluggability. virtual machines. split off mobile agents. merge multiple collaborating sites. HARNESS: Heterogeneous Adaptable Recongurable NEtworked SystemS Jack Dongarra { Oak Ridge National Laboratory and University of Tennessee, Knoxville Al Geist { Oak Ridge National Laboratory James Arthur

More information

A Boolean Expression. Reachability Analysis or Bisimulation. Equation Solver. Boolean. equations.

A Boolean Expression. Reachability Analysis or Bisimulation. Equation Solver. Boolean. equations. A Framework for Embedded Real-time System Design? Jin-Young Choi 1, Hee-Hwan Kwak 2, and Insup Lee 2 1 Department of Computer Science and Engineering, Korea Univerity choi@formal.korea.ac.kr 2 Department

More information

CUMULVS: Collaborative Infrastructure for Developing. Abstract. by allowing them to dynamically attach to, view, and \steer" a running simulation.

CUMULVS: Collaborative Infrastructure for Developing. Abstract. by allowing them to dynamically attach to, view, and \steer a running simulation. CUMULVS: Collaborative Infrastructure for Developing Distributed Simulations James Arthur Kohl Philip M. Papadopoulos G. A. Geist, II y Abstract The CUMULVS software environment provides remote collaboration

More information

An Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs)

An Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs) An Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs) Rosziati Ibrahim, Siow Yen Yen Abstract System development life cycle (SDLC) is a process uses during the development of any

More information

Localization in Graphs. Richardson, TX Azriel Rosenfeld. Center for Automation Research. College Park, MD

Localization in Graphs. Richardson, TX Azriel Rosenfeld. Center for Automation Research. College Park, MD CAR-TR-728 CS-TR-3326 UMIACS-TR-94-92 Samir Khuller Department of Computer Science Institute for Advanced Computer Studies University of Maryland College Park, MD 20742-3255 Localization in Graphs Azriel

More information

UNIT-IV BASIC BEHAVIORAL MODELING-I

UNIT-IV BASIC BEHAVIORAL MODELING-I UNIT-IV BASIC BEHAVIORAL MODELING-I CONTENTS 1. Interactions Terms and Concepts Modeling Techniques 2. Interaction Diagrams Terms and Concepts Modeling Techniques Interactions: Terms and Concepts: An interaction

More information

Enhancing Integrated Layer Processing using Common Case. Anticipation and Data Dependence Analysis. Extended Abstract

Enhancing Integrated Layer Processing using Common Case. Anticipation and Data Dependence Analysis. Extended Abstract Enhancing Integrated Layer Processing using Common Case Anticipation and Data Dependence Analysis Extended Abstract Philippe Oechslin Computer Networking Lab Swiss Federal Institute of Technology DI-LTI

More information

DRAFT for FINAL VERSION. Accepted for CACSD'97, Gent, Belgium, April 1997 IMPLEMENTATION ASPECTS OF THE PLC STANDARD IEC

DRAFT for FINAL VERSION. Accepted for CACSD'97, Gent, Belgium, April 1997 IMPLEMENTATION ASPECTS OF THE PLC STANDARD IEC DRAFT for FINAL VERSION. Accepted for CACSD'97, Gent, Belgium, 28-3 April 1997 IMPLEMENTATION ASPECTS OF THE PLC STANDARD IEC 1131-3 Martin hman Stefan Johansson Karl-Erik rzen Department of Automatic

More information

Software Component Relationships. Stephen H. Edwards. Department of Computer Science. Virginia Polytechnic Institute and State University

Software Component Relationships. Stephen H. Edwards. Department of Computer Science. Virginia Polytechnic Institute and State University Software Component Relationships Stephen H. Edwards Department of Computer Science Virginia Polytechnic Institute and State University 660 McBryde Hall Blacksburg, VA 24061-0106 Tel: (540)-231-7537 Email:

More information

The PVM 3.4 Tracing Facility and XPVM 1.1 *

The PVM 3.4 Tracing Facility and XPVM 1.1 * The PVM 3.4 Tracing Facility and XPVM 1.1 * James Arthur Kohl (kohl@msr.epm.ornl.gov) G. A. Geist (geist@msr.epm.ornl.gov) Computer Science & Mathematics Division Oak Ridge National Laboratory Oak Ridge,

More information

Abstract Studying network protocols and distributed applications in real networks can be dicult due to the need for complex topologies, hard to nd phy

Abstract Studying network protocols and distributed applications in real networks can be dicult due to the need for complex topologies, hard to nd phy ONE: The Ohio Network Emulator Mark Allman, Adam Caldwell, Shawn Ostermann mallman@lerc.nasa.gov, adam@eni.net ostermann@cs.ohiou.edu School of Electrical Engineering and Computer Science Ohio University

More information

DBMS Environment. Application Running in DMS. Source of data. Utilization of data. Standard files. Parallel files. Input. File. Output.

DBMS Environment. Application Running in DMS. Source of data. Utilization of data. Standard files. Parallel files. Input. File. Output. Language, Compiler and Parallel Database Support for I/O Intensive Applications? Peter Brezany a, Thomas A. Mueck b and Erich Schikuta b University of Vienna a Inst. for Softw. Technology and Parallel

More information

Compiler and Runtime Support for Programming in Adaptive. Parallel Environments 1. Guy Edjlali, Gagan Agrawal, and Joel Saltz

Compiler and Runtime Support for Programming in Adaptive. Parallel Environments 1. Guy Edjlali, Gagan Agrawal, and Joel Saltz Compiler and Runtime Support for Programming in Adaptive Parallel Environments 1 Guy Edjlali, Gagan Agrawal, Alan Sussman, Jim Humphries, and Joel Saltz UMIACS and Dept. of Computer Science University

More information

RACE CONDITION DETECTION FOR DEBUGGING SHARED-MEMORY PARALLEL PROGRAMS

RACE CONDITION DETECTION FOR DEBUGGING SHARED-MEMORY PARALLEL PROGRAMS RACE CONDITION DETECTION FOR DEBUGGING SHARED-MEMORY PARALLEL PROGRAMS by ROBERT HARRY BENSON NETZER A thesis submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy

More information

Reverse Engineering with a CASE Tool. Bret Johnson. Research advisors: Spencer Rugaber and Rich LeBlanc. October 6, Abstract

Reverse Engineering with a CASE Tool. Bret Johnson. Research advisors: Spencer Rugaber and Rich LeBlanc. October 6, Abstract Reverse Engineering with a CASE Tool Bret Johnson Research advisors: Spencer Rugaber and Rich LeBlanc October 6, 994 Abstract We examine using a CASE tool, Interactive Development Environment's Software

More information

Real-Time Coordination in Distributed Multimedia Systems

Real-Time Coordination in Distributed Multimedia Systems Real-Time Coordination in Distributed Multimedia Systems Theophilos A. Limniotes and George A. Papadopoulos Department of Computer Science University of Cyprus 75 Kallipoleos Str, P.O.B. 20537 CY-1678

More information

Advanced Topics UNIT 2 PERFORMANCE EVALUATIONS

Advanced Topics UNIT 2 PERFORMANCE EVALUATIONS Advanced Topics UNIT 2 PERFORMANCE EVALUATIONS Structure Page Nos. 2.0 Introduction 4 2. Objectives 5 2.2 Metrics for Performance Evaluation 5 2.2. Running Time 2.2.2 Speed Up 2.2.3 Efficiency 2.3 Factors

More information

Verification of Bakery algorithm variants for two processes

Verification of Bakery algorithm variants for two processes Verification of Bakery algorithm variants for two processes David Dedi 1, Robert Meolic 2 1 Nova Vizija d.o.o., Vreerjeva ulica 8, SI-3310 Žalec 2 Faculty of Electrical Engineering and Computer Science,

More information

Active Motion Detection and Object Tracking. Joachim Denzler and Dietrich W.R.Paulus.

Active Motion Detection and Object Tracking. Joachim Denzler and Dietrich W.R.Paulus. 0 Active Motion Detection and Object Tracking Joachim Denzler and Dietrich W.R.Paulus denzler,paulus@informatik.uni-erlangen.de The following paper was published in the Proceedings on the 1 st International

More information

Information management - Topic Maps visualization

Information management - Topic Maps visualization Information management - Topic Maps visualization Benedicte Le Grand Laboratoire d Informatique de Paris 6, Universite Pierre et Marie Curie, Paris, France Benedicte.Le-Grand@lip6.fr http://www-rp.lip6.fr/~blegrand

More information

User Machine. Other Machines. process. (main deamon) Central. debugger. User Tool. controller. front-end. controller. debugging library.

User Machine. Other Machines. process. (main deamon) Central. debugger. User Tool. controller. front-end. controller. debugging library. A Debugging Engine for a Parallel and Distributed Environment? Jose C. Cunha, Jo~ao Lourenco, Tiago Ant~ao Universidade Nova de Lisboa Faculdade de Ci^encias e Tecnologia Departamento de Informatica 2825

More information

9/24/ Hash functions

9/24/ Hash functions 11.3 Hash functions A good hash function satis es (approximately) the assumption of SUH: each key is equally likely to hash to any of the slots, independently of the other keys We typically have no way

More information

Flight Systems are Cyber-Physical Systems

Flight Systems are Cyber-Physical Systems Flight Systems are Cyber-Physical Systems Dr. Christopher Landauer Software Systems Analysis Department The Aerospace Corporation Computer Science Division / Software Engineering Subdivision 08 November

More information

GRED: Graphical Design. GRP file. GRP2C precompiler. C Source Code. Makefile. Building executables. Executables. Execution. Trace file.

GRED: Graphical Design. GRP file. GRP2C precompiler. C Source Code. Makefile. Building executables. Executables. Execution. Trace file. A Graphical Development and Debugging Environment for Parallel Programs Peter Kacsuk, Jose C. Cunha Gabor Dozsa, Jo~ao Lourenco Tibor Fadgyas, Tiago Ant~ao KFKI-MSZKI Research Institute for Measurement

More information

1.1 Related work Our taxonomy aims at providing a terminology of replay debugger characteristics. The need for a debugging terminology has been formal

1.1 Related work Our taxonomy aims at providing a terminology of replay debugger characteristics. The need for a debugging terminology has been formal A Taxonomy of Distributed Debuggers Based on Execution Replay 1 Carl Dionne Marc Feeley Jocelyn Desbiens Alex Informatique Universite de Montreal INRS-Telecommunications Lachine (Quebec) Montreal (Quebec)

More information

Parallel Computation of the Singular Value Decomposition on Tree Architectures

Parallel Computation of the Singular Value Decomposition on Tree Architectures Parallel Computation of the Singular Value Decomposition on Tree Architectures Zhou B. B. and Brent R. P. y Computer Sciences Laboratory The Australian National University Canberra, ACT 000, Australia

More information

Two Image-Template Operations for Binary Image Processing. Hongchi Shi. Department of Computer Engineering and Computer Science

Two Image-Template Operations for Binary Image Processing. Hongchi Shi. Department of Computer Engineering and Computer Science Two Image-Template Operations for Binary Image Processing Hongchi Shi Department of Computer Engineering and Computer Science Engineering Building West, Room 331 University of Missouri - Columbia Columbia,

More information

SmallSync: A Methodology for Diagnosis & Visualization of Distributed Processes on the Web

SmallSync: A Methodology for Diagnosis & Visualization of Distributed Processes on the Web SmallSync: A Methodology for Diagnosis & of Distributed Processes on the Web Ming C. Hao, Deon Glajchen, Joseph S. Sventek {(mhao, sventek)@hpl.hp.com}, deon-glajchen@hp.com Hewlett-Packard Co., CA Abstract

More information

Application. CoCheck Overlay Library. MPE Library Checkpointing Library. OS Library. Operating System

Application. CoCheck Overlay Library. MPE Library Checkpointing Library. OS Library. Operating System Managing Checkpoints for Parallel Programs Jim Pruyne and Miron Livny Department of Computer Sciences University of Wisconsin{Madison fpruyne, mirong@cs.wisc.edu Abstract Checkpointing is a valuable tool

More information

Real-Time Scalability of Nested Spin Locks. Hiroaki Takada and Ken Sakamura. Faculty of Science, University of Tokyo

Real-Time Scalability of Nested Spin Locks. Hiroaki Takada and Ken Sakamura. Faculty of Science, University of Tokyo Real-Time Scalability of Nested Spin Locks Hiroaki Takada and Ken Sakamura Department of Information Science, Faculty of Science, University of Tokyo 7-3-1, Hongo, Bunkyo-ku, Tokyo 113, Japan Abstract

More information

IMPERATIVE PROGRAMS BEHAVIOR SIMULATION IN TERMS OF COMPOSITIONAL PETRI NETS

IMPERATIVE PROGRAMS BEHAVIOR SIMULATION IN TERMS OF COMPOSITIONAL PETRI NETS IMPERATIVE PROGRAMS BEHAVIOR SIMULATION IN TERMS OF COMPOSITIONAL PETRI NETS Leontyev Denis Vasilevich, Kharitonov Dmitry Ivanovich and Tarasov Georgiy Vitalievich ABSTRACT Institute of Automation and

More information

Submitted for TAU97 Abstract Many attempts have been made to combine some form of retiming with combinational

Submitted for TAU97 Abstract Many attempts have been made to combine some form of retiming with combinational Experiments in the Iterative Application of Resynthesis and Retiming Soha Hassoun and Carl Ebeling Department of Computer Science and Engineering University ofwashington, Seattle, WA fsoha,ebelingg@cs.washington.edu

More information

Introduction to Parallel Performance Engineering

Introduction to Parallel Performance Engineering Introduction to Parallel Performance Engineering Markus Geimer, Brian Wylie Jülich Supercomputing Centre (with content used with permission from tutorials by Bernd Mohr/JSC and Luiz DeRose/Cray) Performance:

More information

2 Fredrik Manne, Svein Olav Andersen where an error occurs. In order to automate the process most debuggers can set conditional breakpoints (watch-poi

2 Fredrik Manne, Svein Olav Andersen where an error occurs. In order to automate the process most debuggers can set conditional breakpoints (watch-poi This is page 1 Printer: Opaque this Automating the Debugging of Large Numerical Codes Fredrik Manne Svein Olav Andersen 1 ABSTRACT The development of large numerical codes is usually carried out in an

More information

Reactive Types. Jean-Pierre Talpin. Campus de Beaulieu, Rennes, France.

Reactive Types. Jean-Pierre Talpin. Campus de Beaulieu, Rennes, France. Reactive Types Jean-Pierre Talpin IRISA (INRIA-Rennes & CNRS URA 227) Campus de Beaulieu, 35000 Rennes, France E-mail: talpin@irisa.fr Abstract. Synchronous languages, such as Signal, are best suited for

More information

The Level Ancestor Problem simplied

The Level Ancestor Problem simplied Theoretical Computer Science 321 (2004) 5 12 www.elsevier.com/locate/tcs The Level Ancestor Problem simplied Michael A. Bender a; ;1, Martn Farach-Colton b;2 a Department of Computer Science, State University

More information

1 INTRODUCTION The LMS adaptive algorithm is the most popular algorithm for adaptive ltering because of its simplicity and robustness. However, its ma

1 INTRODUCTION The LMS adaptive algorithm is the most popular algorithm for adaptive ltering because of its simplicity and robustness. However, its ma MULTIPLE SUBSPACE ULV ALGORITHM AND LMS TRACKING S. HOSUR, A. H. TEWFIK, D. BOLEY University of Minnesota 200 Union St. S.E. Minneapolis, MN 55455 U.S.A fhosur@ee,tewk@ee,boley@csg.umn.edu ABSTRACT. The

More information

CPEG 852 Advanced Topics in Computing Systems The Dataflow Model of Computation

CPEG 852 Advanced Topics in Computing Systems The Dataflow Model of Computation CPEG 852 Advanced Topics in Computing Systems The Dataflow Model of Computation Stéphane Zuckerman Computer Architecture & Parallel Systems Laboratory Electrical & Computer Engineering Dept. University

More information

Using semantic causality graphs to validate MAS models

Using semantic causality graphs to validate MAS models Using semantic causality graphs to validate MAS models Guillermo Vigueras 1, Jorge J. Gómez 2, Juan A. Botía 1 and Juan Pavón 2 1 Facultad de Informática Universidad de Murcia Spain 2 Facultad de Informática

More information

15.4 Longest common subsequence

15.4 Longest common subsequence 15.4 Longest common subsequence Biological applications often need to compare the DNA of two (or more) different organisms A strand of DNA consists of a string of molecules called bases, where the possible

More information

The S-Expression Design Language (SEDL) James C. Corbett. September 1, Introduction. 2 Origins of SEDL 2. 3 The Language SEDL 2.

The S-Expression Design Language (SEDL) James C. Corbett. September 1, Introduction. 2 Origins of SEDL 2. 3 The Language SEDL 2. The S-Expression Design Language (SEDL) James C. Corbett September 1, 1993 Contents 1 Introduction 1 2 Origins of SEDL 2 3 The Language SEDL 2 3.1 Scopes : : : : : : : : : : : : : : : : : : : : : : : :

More information