MULTILISP: a language for concurrent symbolic computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
A network multi-processor for experiments in parallelism
Concurrency: Practice and Experience
Orca: A Language for Parallel Programming of Distributed Systems
IEEE Transactions on Software Engineering
Network-based concurrent computing on the PVM system
Concurrency: Practice and Experience
The design of a standard message passing interface for distributed memory concurrent computers
Parallel Computing - Special issue: message passing interfaces
The object-oriented components of the Enterprise parallel programming environment
TOOLS '93 Proceedings of the eleventh international conference on Technology of object-oriented languages and systems
IEEE Parallel & Distributed Technology: Systems & Technology
The Enterprise Model for Developing Distributed Applications
IEEE Parallel & Distributed Technology: Systems & Technology
Hi-index | 0.00 |
Software development costs for parallel programs can be considerably higher than for sequential software. There are a variety of reasons for this, but two of the major ones are the programming model and the execution environment. Most parallel programming models are very different from sequential ones, so there is strong resistance to change. In most parallel programming systems, the user must be aware of the target hardware configuration and must tailor programs to match the execution environment. Ideally, programming a parallel application should be no more difficult than programming a sequential one.Enterprise is a programming environment for designing, coding, debugging, testing, monitoring, profiling and executing parallel programs in a distributed hardware environment. The two major goals of the Enterprise project are to provide an easy-to-use, familiar programming model for writing parallel applications (the user's interface to the system) and to remove considerations of the target hardware from the user (the system's interface to the hardware). This paper discusses the current status and the future directions of the project. Features of particular note are sequential C for programming; an analogical model for representing the parallelism; transparent access to a variety of underlying communications subsystems; and visual tools for supporting program design, program animation, forced replay and message level debugging.By providing a familiar programming model, utilizing a uniform graphical interface and abstracting away all considerations of the hardware, Enterprise can be used to reduce the costs of parallel software development.