The MILLIPEDE system is a small yet powerful interface of a virtual parallel machine (VPM) on top of distributed computing environments. MILLIPEDE is thus a convenient environment for porting various existing parallel...
详细信息
The MILLIPEDE system is a small yet powerful interface of a virtual parallel machine (VPM) on top of distributed computing environments. MILLIPEDE is thus a convenient environment for porting various existing parallel programming languages, for the design of new parallel programming languages, and for the development of parallel applications. MILLIPEDE is fully implemented at the Technion on a cluster of PCs running Windows-NT. We briefly describe the MILLIPEDE interface and discuss the implementation issues of several parallel languages.
This paper presents the BaLinda model, based on last in/first out threads that interact via a shared tuplespace, and discusses the idea of using function based objects as the basic unit of parallel execution, and the ...
详细信息
This paper presents the BaLinda model, based on last in/first out threads that interact via a shared tuplespace, and discusses the idea of using function based objects as the basic unit of parallel execution, and the hierarchical structure to partition tuplespaces. It is argued that the two-level parallel execution, both within and between objects, are well suited to scalable parallel platforms with shared memory nodes connected by high speed networks.
Several parallel programming languages, libraries and environments have been developed to ease the task of writing programs for multiprocessors. Proponents of each approach often point out various language features th...
详细信息
Several parallel programming languages, libraries and environments have been developed to ease the task of writing programs for multiprocessors. Proponents of each approach often point out various language features that are designed to provide the programmer with a simple programming interface. However, virtually no data exists that quantitatively evaluates the relative ease of use of different parallel programming languages. The paper borrows techniques from the software engineering field to quantify the complexity of three predominate programming models: shared memory, message passing and High-Performance Fortran. It is concluded that traditional software complexity metrics are effective indicators of the relative complexity of parallel programming languages. The impact of complexity on run-time performance is also discussed in the context of message passing versus HPF on an IBM SP2.
Implementing realistic scientific applications on parallel platforms requires a high level, problem adequate and flexible programming environment. The hybrid system PROMOTER pursues a two level approach allowing easy ...
详细信息
Implementing realistic scientific applications on parallel platforms requires a high level, problem adequate and flexible programming environment. The hybrid system PROMOTER pursues a two level approach allowing easy and flexible programming at both language and library levels. The core concept of PROMOTER's language model is its highly abstract and unified concept of data and communication structures. The paper briefly addresses the programming model, but focuses on implementation aspects of the compiler and runtime system. Finally, performance results are given, evaluating the efficiency of the PROMOTER system.
This paper argues for the development of more general and user-friendly parallel programming models, independent of hardware structures and concurrency concepts of operating systems theory, leading to portable program...
详细信息
This paper argues for the development of more general and user-friendly parallel programming models, independent of hardware structures and concurrency concepts of operating systems theory, leading to portable programs and easy to use languages. It then presents the BaLinda model, based on last in/first out threads that interact via a shared tuplespace, and argues that it is simple enough to be both general and easy to use. It also discusses the idea of using function-based objects as the basic unit of parallel execution and the hierarchical structure to partition tuplespaces.
This paper presents the coherent parallel programming concept using a new parallel language called C/spl par/ (pronounced C parallel). The C/spl par/ language is based on the standard C language with a small set of ex...
详细信息
ISBN:
(纸本)0818678763
This paper presents the coherent parallel programming concept using a new parallel language called C/spl par/ (pronounced C parallel). The C/spl par/ language is based on the standard C language with a small set of extended constructs for parallelism and process interaction. At the core of C/spl par/ is a structured construct called coherent region, which facilitates the development of coherent programs, i.e., parallel programs that are structured, determinate, terminative, and compositional. We present the basic features of C/spl par/ and show that coherent region is a versatile construct.
parallel programming on loosely coupled distributed systems is becoming a viable approach with the rapid increase in network speeds and availability of large amounts of unused CPU capacity on individual workstations. ...
详细信息
parallel programming on loosely coupled distributed systems is becoming a viable approach with the rapid increase in network speeds and availability of large amounts of unused CPU capacity on individual workstations. parallel programs are often written for a specific configuration of the distributed system such as the number of nodes, their relative speeds and their network connections. These programs perform poorly when there is a change in the configuration or when they are taken to a system other than what they are intended for. We propose a new paradigm which can express the scale of a program as a part of the program itself. The scale of the program is specified in an abstract manner for an arbitrary number of nodes, their relative speeds and their network connections. The runtime system uses this information to decide the actual scale of program on a given distributed system.
parallel applications with inconstant usage patterns presents a big challenge to programmers in that the spawning of tasks and the communication between them may be conditional (named "conditional parallel progra...
详细信息
parallel applications with inconstant usage patterns presents a big challenge to programmers in that the spawning of tasks and the communication between them may be conditional (named "conditional parallel programming"). Ideally, the programmer should not be burdened by operational issues which have little relationship to the application itself. This paper proposes a new parallel programming environment, ATME, to automate task scheduling in conditional parallel programming. By adaptively producing accurate estimates of the task model prior to execution, ATME modifies task distribution to improve the system and application performance.
This paper presents a programming tool for development of parallel applications on a networked environment, called GPS. The programming model adopted is based on message passing and process groups. The process group a...
详细信息
This paper presents a programming tool for development of parallel applications on a networked environment, called GPS. The programming model adopted is based on message passing and process groups. The process group approach is very attractive for model parallel applications since it is a very natural concept, closer to the application structure. The programming interface provided by GPS differs from other message-passing interfaces by its simplicity, generality and ease of use. The implementation of the tool, also covered in the paper, follows a new idea about distributed systems design: it is based on a microkernel environment.
暂无评论