How to write parallel programs: a guide to the perplexed
ACM Computing Surveys (CSUR)
Experimental Evaluation of a Reusability-Oriented Parallel Programming Environment
IEEE Transactions on Software Engineering
Making asynchronous parallelism safe for the world
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Computer
Disconnected operation in the Coda file system
SOSP '91 Proceedings of the thirteenth ACM symposium on Operating systems principles
Graphical development tools for network-based concurrent supercomputing
Proceedings of the 1991 ACM/IEEE conference on Supercomputing
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Run-time Support for Dynamic Load Balancing and Debugging in Paralex
Run-time Support for Dynamic Load Balancing and Debugging in Paralex
An Introduction to Parallel Object-Oriented Programming with Mentat
An Introduction to Parallel Object-Oriented Programming with Mentat
The CODE 2.0 graphical parallel programming language
ICS '92 Proceedings of the 6th international conference on Supercomputing
The process group approach to reliable distributed computing
Communications of the ACM
ACM SIGOPS Operating Systems Review
Trade-offs in implementing causal message logging protocols
PODC '96 Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing
P-RIO: A Modular Parallel-Programming Environment
IEEE Concurrency
Visual parallel programming with Visper
HPC-ASIA '97 Proceedings of the High-Performance Computing on the Information Superhighway, HPC-Asia '97
A conceptual model for increasing utilization of dependable computer networks
Data & Knowledge Engineering
Adaptive dynamic load-balancing through evolutionary formation of coalitions
Design and application of hybrid intelligent systems
Dryad: distributed data-parallel programs from sequential building blocks
Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
Enabling rapid development of parallel tree search applications
Proceedings of the 5th IEEE workshop on Challenges of large applications in distributed environments
A visual environment for specifying global reduction operations
International Journal of High Performance Computing and Networking
Hi-index | 0.02 |
Modern distributed systems consisting of powerful workstations and high-speed interconnection networks are an economical alternative to special-purpose super computers. The technical issues that need to be addressed in exploiting the parallelism inherent in a distributed system include heterogeneity, high-latency communication, fault tolerance and dynamic load balancing. Current software systems for parallel programming provide little or no automatic support towards these issues and require users to be experts in fault-tolerant distributed computing. The Paralex system is aimed at exploring the extent to which the parallel application programmer can be liberated from the complexities of distributed systems. Paralex is a complete programming environment and makes extensive use of graphics to define, edit, execute and debug parallel scientific applications. All of the necessary code for distributing the computation across a network and replicating it to achieve fault tolerance and dynamic load balancing is automatically generated by the system. In this paper we give an overview of Paralex and present our experiences with a prototype implementation.