We have designed and implemented a Grid RPC system called OmniRPC, for parallel programming in cluster and grid environments. While OmniRPC inherits its AN from Ninf, the programmer can use OpenMP for easy-to-use para...
详细信息
ISBN:
(纸本)0769519199
We have designed and implemented a Grid RPC system called OmniRPC, for parallel programming in cluster and grid environments. While OmniRPC inherits its AN from Ninf, the programmer can use OpenMP for easy-to-use parallel programming because the API is designed to be thread-safe. To support typical master-worker grid applications such as a parametric execution, OmniRPC provides an automatic-initializable remote module to send and store data to a remote executable invoked in the remote host. Since it may accept several requests for subsequent calls by keeping the connection alive, the data set by the initialization is re-used, resulting in efficient execution by reducing the amount of communication. The OmniRPC system also supports a local environment with "rsh", a grid environment with Globus, and remote hosts with "ssh". Furthermore, the user can use the same program over OmniRPC for both clusters and grids because a typical grid resource is regarded simply as a cluster of clusters distributed geographically. For a cluster over a private network, an agent process running the server host functions as a proxy to relay communications between the client and the remote executables by multiplexing the communications into one connection to the client. This feature allows a single client to use a thousand of remote computing hosts.
This paper presents general concepts of Object Oriented parallel Processing;also comparing two of the most widely used OOPP techniques. PVM (parallel Virtual Machine) and MPI (Message Passing Interface) and introduces...
详细信息
ISBN:
(纸本)078037505X
This paper presents general concepts of Object Oriented parallel Processing;also comparing two of the most widely used OOPP techniques. PVM (parallel Virtual Machine) and MPI (Message Passing Interface) and introduces the SCOOP (SCalable Object Oriented programming), approach to support the design and execution of parallel applications. As parallel programming tools are progressively being adopted, parallel applications are becoming less platform independent. PVM and AM are tools that have enabled portable parallel programming. Portability and platform independence is of prime importance in parallel programming as parallel processes simultaneously execute on potentially different platforms. Key factors affecting the performance of parallel applications on a target platform are parallelism, granularity. load balancing and scalability. The SCOOP system is a step forward in the development of techniques for dynamic granularity control, applied to parallel OO languages.
In this tutorial participants learn how to build their own parallel programming language features by developing them as language extensions in the ableC [4] extensible C compiler framework. By implementing new paralle...
详细信息
ISBN:
(纸本)9781450362252
In this tutorial participants learn how to build their own parallel programming language features by developing them as language extensions in the ableC [4] extensible C compiler framework. By implementing new parallel programming abstractions as language extensions one can build on an existing host language and thus avoid re-implementing common language features such as the type checking and code generation of arithmetic expressions and control flow statements. Using ableC, one can build expressive language features that fit seamlessly into the C11 host language.
parallel programming has rapidly moved from a special-purpose technique to standard practice. This newfound ubiquity needs to be matched by improved parallel programming education. As parallel programming involves hig...
详细信息
ISBN:
(纸本)9781538655559
parallel programming has rapidly moved from a special-purpose technique to standard practice. This newfound ubiquity needs to be matched by improved parallel programming education. As parallel programming involves higher level concepts, students tend to struggle with turning the abstract information into concrete mental models. Analogies are known to aid in this knowledge transfer, by providing an existing schema as the basis for the formation of a new schema. Additionally, technology has been proven to increase motivation and engagement in students, which ultimately improves learning. Combining these ideas, this paper presents several contributions that enhance aspects of parallel programming education. These contributions include a set of collaborative learning activities to target fundamental scheduling concepts, a detailed analogy to assist in the understanding of the scheduling concepts, and an augmented reality application to facilitate the collaborative learning activity by bringing the analogy to life.
We propose a new theoretical model for parallelism. The model is explictly based on data and work distributions, a feature missing from other theoretical models. The major theoretic result is that data movement can th...
详细信息
ISBN:
(纸本)9789881925169
We propose a new theoretical model for parallelism. The model is explictly based on data and work distributions, a feature missing from other theoretical models. The major theoretic result is that data movement can then be derived by formal reasoning. While the model has an immediate interpretation in distributed memory parallelism, we show that it can also accomodate shared memory and hybrid architectures such as clusters with accelerators. The model gives rise in a natural way to objects appearing in widely different parallel programming systems such as the PETSc library or the Quark task scheduler. Thus we argue that the model offers the prospect of a high productivity programming system that can be compiled down to proven high-performance environments.
parallel programming is an important tool used in flash memories to achieve high write speed. In parallel programming, a common programm voltage is applied to many cells for simultaneous charge injection. This propert...
详细信息
ISBN:
(纸本)9781424482641
parallel programming is an important tool used in flash memories to achieve high write speed. In parallel programming, a common programm voltage is applied to many cells for simultaneous charge injection. This property significantly simplifies the complexity of the memory hardware, and is a constraint that limits the storage capacity of flash memories. Another important property is that cells have different hardness for charge injection. It makes the charge injected into cells differ even when the same program voltage is applied to them. In this paper, we study the parallel programming of flash memory cells, focusing on the above two properties. We present algorithms for parallel programming when there is information on the cells' hardness for charge injection, but there is no feedback information on cell levels during programming. We then proceed to the programming model with feedback information on cell levels, and study how well the information on the cells' hardness for charge injection can be obtained. The results can be useful for understanding the storage capacity of flash memories with parallel programming.
There is a debate on when and how to teach parallel programming in the undergraduate curriculum. We try to structure the debate along a number of dimensions and then present the solution that we adopted for an enginee...
详细信息
ISBN:
(纸本)9781450305006
There is a debate on when and how to teach parallel programming in the undergraduate curriculum. We try to structure the debate along a number of dimensions and then present the solution that we adopted for an engineering-oriented curriculum. We added an introduction to parallel programming to the list of mandatory classes in the 2nd semester. The class exposes students to three styles of parallel programming: threads with shared memory, CSP-style message passing, and OpenMP-based parallel programming. Within these models, the class aims to focus the student's attention on communication as the key issue in parallel programs. Explicit communication (or their absence) causes correctness problems, implicit communication (e.g., when accessing shared data in different threads) forces the student to understand when updates are globally visible. An introductory class early in the undergraduate curriculum has a number of benefits and disadvantages, which are discussed in this paper. A preliminary evaluation after two editions of this course indicates that the design goals are met but also points to several issues that other institutions may want to consider.
The authors report on preliminary results of a joint project of the Center for Large Scale Computation at the City University of New York and the Department of Computer and Information Sciences at The Ohio State Unive...
详细信息
ISBN:
(纸本)0818620560
The authors report on preliminary results of a joint project of the Center for Large Scale Computation at the City University of New York and the Department of Computer and Information Sciences at The Ohio State University intended to study the use of multilinear algebra in designing and implementing algorithms for linear computations. In particular, they discuss their experience in using these techniques on the Cray Y-MP and to implement Strassen's matrix multiplication algorithm on the Encore Multimax. It is concluded that the formulation of numerical algorithms in terms of the constructs of multilinear algebra, especially the tensor product, together with the coding methods presented, simplifies the writing of the programs for implementing these algorithms. By making the implementation process simpler and more mechanical, one can more easily experiment with and monitor the coding of these algorithms and thereby find better implementations.
Concurrent and parallel programming (CPP) skills are increasingly important in today's world of parallel hardware. However, the conceptual leap from deterministic sequential programming to CPP is notoriously chall...
详细信息
ISBN:
(纸本)9781450372176
Concurrent and parallel programming (CPP) skills are increasingly important in today's world of parallel hardware. However, the conceptual leap from deterministic sequential programming to CPP is notoriously challenging to make. Our educational game parallel is designed to support the learning of CPP core concepts through a game-based learning approach, focusing on the connection between gameplay and CPP. Through a 10-week user study (n 25) in an undergraduate concurrent programming course, the first empirical study for a CPP educational game, our results show that parallel offers both CPP knowledge and student engagement. Furthermore, we provide a new framework to describe the design space for programming games in general.
This paper proposes a data race prevention scheme, which can prevent data races in the View-Oriented parallel programming (VOPP) model. VOPP is a novel shared-memory data-centric parallel programming;model, which uses...
详细信息
ISBN:
(纸本)9781424452910
This paper proposes a data race prevention scheme, which can prevent data races in the View-Oriented parallel programming (VOPP) model. VOPP is a novel shared-memory data-centric parallel programming;model, which uses views to bundle mutual exclusion with data access. We have implemented the data race prevention scheme with a memory protection mechanism. Experimental results show that the extra overhead of memory protection is trivial in our applications. We also present a new VOPP implementation-Maotai 2.0, which has advanced features such as deadlock avoidance, producer/consumer view and system queues, in addition to the data race prevention scheme. The performance of Maotai 2.0 is evaluated and compared with modern programming models such as OpenMP and Cilk.
暂无评论