Results 1 - 10
of
11
The CODE 2.0 Graphical Parallel Programming Language
"... CODE 2.0 is a graphical parallel programming system that targets the three goals of ease of use, portability, and production of efficient parallel code. Ease of use is provided by an integrated graphical/textual interface, a powerful dynamic model of parallel computation, and an integrated concept o ..."
Abstract
-
Cited by 82 (15 self)
- Add to MetaCart
CODE 2.0 is a graphical parallel programming system that targets the three goals of ease of use, portability, and production of efficient parallel code. Ease of use is provided by an integrated graphical/textual interface, a powerful dynamic model of parallel computation, and an integrated concept of program component reuse. Portability is approached by the declarative expression of synchronization and communication operators at a high level of abstraction in a manner which cleanly separates overall computation structure from the primitive sequential computations that make up a program. Execution efficiency is approached through a systematic class hierarchy that supports hierarchical translation refinement including special case recognition. This paper reports results obtained through experimental use of a prototype implementation of the CODE 2.0 system. CODE 2.0 represents a major conceptual advance over its predecessor systems (CODE 1.0 and CODE 1.2) in terms of the expressive power ...
A Petri Net Approach for Performance Oriented Parallel Program Design
, 1992
"... Performance orientation in the development process of parallel software is motivated by outlining the misconception of current approaches where performance activies come in at the very end of the development, mainly in terms of measurement or monitoring after the implementation phase. At that time m ..."
Abstract
-
Cited by 35 (6 self)
- Add to MetaCart
Performance orientation in the development process of parallel software is motivated by outlining the misconception of current approaches where performance activies come in at the very end of the development, mainly in terms of measurement or monitoring after the implementation phase. At that time major part of the development work is already done, and performance pitfalls are very hard to repair - if this is possible at all. A development process for parallel programs that launches performance engineering in the early design phase is proposed, based on a Petri net specification methodology for the performance critical parts of a parallel system. The Petri net formalism is used to define Program Resource Mapping-net (PRM-net) models, that serve as an integrated performance model of parallel processing systems, combining performance characteristics of parallel programs (P-net), parallel hardware (R-net) and the assignment of programs to hardware (Mapping) into a single performance model...
A Visualization System for Parallelizing Programs
- In Proceedings of Supercomputing
, 1992
"... A software environment for visualization when parallelizing programs is described in this paper. The system supports multi-paradigm program visualization, automatic generation of optimizers from specifications, interactive and undo facilities for code transformations, and a multilevel browser. Textu ..."
Abstract
-
Cited by 14 (2 self)
- Add to MetaCart
A software environment for visualization when parallelizing programs is described in this paper. The system supports multi-paradigm program visualization, automatic generation of optimizers from specifications, interactive and undo facilities for code transformations, and a multilevel browser. Textual and graphical forms of optimization specification languages are utilized in the specification of both traditional and parallelizing transformations. An undo facility is provided for the user to remove ineffective or inappropriate transformations. An extended form of the Program Dependence Graph is developed that not only enables the exploitation of parallelism in sequential programs by applying transformations but also facilitates mappings for code visualization. The conceptual framework that allows multi-paradigm program visualization is presented. A multi-level browser can be used to browse any block of statements in one program view and the corresponding code of another program view is...
Enterprise: An Interactive Graphical Programming Environment For Distributed Software Development
, 1992
"... Workstation environments have been in use for more than a decade now. Although a network of workstations together represents a large amount of aggregate computing power, single users often cannot utilize these resources for their applications. Enterprise is a programming environment for designing, c ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
Workstation environments have been in use for more than a decade now. Although a network of workstations together represents a large amount of aggregate computing power, single users often cannot utilize these resources for their applications. Enterprise is a programming environment for designing, coding, debugging, testing, monitoring, profiling and executing programs in a distributed hardware environment. Enterprise code looks like familiar sequential code; the parallelism is expressed graphically. The system automatically inserts the code necessary to handle communication, synchronization and fault tolerance, allowing the rapid construction of correct distributed programs. Enterprise programs run on a network of computers, absorbing the idle cycles on machines. The system supports load balancing, limited process migration, and dynamic distribution of work in environments with changing resource utilization. Enterprise offers a costeffective method for increasing the productivity of p...
Visual Programming and Parallel Computing
, 1994
"... Visual programming arguably provides greater benefit in explicit parallel programming, particularly coarse grain MIMD programming, than in sequential programming. Explicitly parallel programs are multi-dimensional objects; the natural representations of a parallel program are annotated directed grap ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Visual programming arguably provides greater benefit in explicit parallel programming, particularly coarse grain MIMD programming, than in sequential programming. Explicitly parallel programs are multi-dimensional objects; the natural representations of a parallel program are annotated directed graphs: data flow graphs, control flow graphs, etc. where the nodes of the graphs are sequential computations. The execution of parallel programs is a directed graph of instances of sequential computations. A visually based (directed graph) representation of parallel programs is thus more natural than a pure text string language where multi-dimensional structures must be implicitly defined. The naturalness of the annotated directed graph representation of parallel programs enables methods for programming and debugging which are qualitatively different and arguably superior to the conventional practice based on pure text string languages. Annotation of the graphs is a critical element of a practi...
The Enterprise Executive
, 1992
"... Enterprise is a graphical programming environment for designing, coding, debugging, testing, monitoring, profiling and executing programs in a distributed hardware environment. Enterprise code looks like familiar sequential code. The user attaches icons, called assets, to sequential code modules to ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Enterprise is a graphical programming environment for designing, coding, debugging, testing, monitoring, profiling and executing programs in a distributed hardware environment. Enterprise code looks like familiar sequential code. The user attaches icons, called assets, to sequential code modules to specify the parallelism of the program. The system provides several kinds of assets, each representing a different high-level technique of parallelism. There is an analogy between assets in a program and those in an organization. The system automatically inserts the code to handle communication and synchronization into a module based on its attached asset kind. Also, the system runs the program and supports limited process migration and dynamic distribution of work, based on the demand and availability of resources. Enterprise is an on going project involving many researchers. This thesis presents the work on the design and implementation of the textual interface, the Enterprise assets, the ...
unknown title
"... CODE 2.0 is a graphical parallel programming system that targets the three goals of ease of use, portability, and production of efficient parallel code. Ease of use is provided by an integrated graphical/textual interface, a powerful dynamic model of parallel computation, and an integrated concept o ..."
Abstract
- Add to MetaCart
CODE 2.0 is a graphical parallel programming system that targets the three goals of ease of use, portability, and production of efficient parallel code. Ease of use is provided by an integrated graphical/textual interface, a powerful dynamic model of parallel computation, and an integrated concept of program component reuse. Portability is approached by the declarative expression of synchronization and communication operators at a high level of abstraction in a manner which cleanly separates overall computation structure from the primitive sequential computations that make up a program. Execution efficiency is approached through a systematic class hierarchy that supports hierarchical translation refinement including special case recognition. This paper reports results obtained through experimental use of a prototype implementation of the CODE 2.0 system. CODE 2.0 represents a major conceptual advance over its predecessor systems (CODE 1.0 and CODE 1.2) in terms of the expressive power of the model of computation which is implemented and in potential for attaining efficiency across a wide spectrum of parallel architectures through the use of class hierarchies as a means of mapping from logical to executable program representations.
Views on Template-Based Parallel Programming
, 1996
"... For almost a decade we have been working at developing and using template-based models for coarse-grained parallel computing. Our initial system, FrameWorks, was positively received but had a number of shortcomings. The Enterprise parallel programming environment evolved out of this work, and now, a ..."
Abstract
- Add to MetaCart
For almost a decade we have been working at developing and using template-based models for coarse-grained parallel computing. Our initial system, FrameWorks, was positively received but had a number of shortcomings. The Enterprise parallel programming environment evolved out of this work, and now, after several years of experience with the system, its shortcomings are becoming evident. This paper outlines our experiences in developing and using the two parallel programming systems. Many of our observations are relevant to other parallel programming systems, even though they may be based on different assumptions. Although template-base models have the potential for simplifying the complexities of parallel programming, they have yet to realize these expectations for high-performance applications. 1 Introduction Along with the growing interest in parallel and distributed computing, there has been a corresponding increase in the development of models, tools and systems for parallel progra...
Requirements Analysis for the graphical specification of SPMD
, 1994
"... This report systematically surveys issues in graphical and visual programming, as well as development approaches for parallel programs in general. Three approaches that have been followed so far in order to come up with a visual language design to support performance oriented parallel programming a ..."
Abstract
- Add to MetaCart
This report systematically surveys issues in graphical and visual programming, as well as development approaches for parallel programs in general. Three approaches that have been followed so far in order to come up with a visual language design to support performance oriented parallel programming are presented. ffl For the specification of task graphs that are hierarchical, scalable, recursive, arbitrarily complex in size, but static, a manipulation language definition based exclusively on graphics has been developed, called PatternTool. A tool prototype was implemented and is available for experimentation. ffl The Communication Pattern Centered Language (CPCL), our second approach, intermediates graphical and textual specifications by combining both features. ffl Our third approach, VisualN-MAPs (VN-MAPs), intends to use graphics for no other than visual representations of the semantics of the (textual) N-MAP language. With the three different approaches studied so far, we have co...
Distributed Execution Environments Forthecode 2.0 Parallel Programming System
"... Syntax Tree 31 4.2 Structure of Output 33 4.3 Structured Files 34 4.4 Runtime Representation of CODE elements 35 4.4.1 Unit of Computation (UC) 35 4.4.2 Graph / Call Node 38 4.4.3 Name Sharing Relation (NSRel) 39 4.4.4 Creation Parameter Node (CreP) 41 4.4.5 Interface Nodes 41 4.5 Mapping Routine 41 ..."
Abstract
- Add to MetaCart
Syntax Tree 31 4.2 Structure of Output 33 4.3 Structured Files 34 4.4 Runtime Representation of CODE elements 35 4.4.1 Unit of Computation (UC) 35 4.4.2 Graph / Call Node 38 4.4.3 Name Sharing Relation (NSRel) 39 4.4.4 Creation Parameter Node (CreP) 41 4.4.5 Interface Nodes 41 4.5 Mapping Routine 41 4.6 PVM Scheduler 41 4.7 UC Computation 42 4.8 Data flow 43 4.8.1 Data flow from UC to UC 43 4.8.2 Data flow from UC to CreP 48 4.8.3 Data flow between UC and NSRel 51 4.9 Message Handling 56 4.10 Linking and Running 58 Chapter 5. Experimental Results 59 5.1 Goal 59 5.2 Set Up 59 5.3 Execution Environment 59 5.4 Example Programs 60 5.4.1 The Block Triangular Solver 60 5.4.2 The Life program 61 5.4.3 The Barnes-Hut Algorithm 62 5.5 Synthetic Benchmark 63 Chapter 6. Related Work 67 6.1 HeNCE 67 6.2 Linda 68 6.3 Others 69 Chapter 7. Conclusion and Future Work 70 Appendix A. Relevant PVM Primitives 71 Bibliography 72 Vita x List of Tables Table 5-1. Block Triangular Solver Timings. 60 Table...

