With the increase of both computing power available and computer application size and complexity, existing programming methodologies and technologies for parallel and distributed computing demonstrated their inadequac...
详细信息
With the increase of both computing power available and computer application size and complexity, existing programming methodologies and technologies for parallel and distributed computing demonstrated their inadequacy. New techniques have therefore been designed and are currently being developed that aim at providing the user/programmer with higher level programming methodologies, environments and run time supports. In this work, we take into account some of these new technologies and we discuss their features, both positive and negative. Eventually, exploiting our experience in structured parallel programming environment design, we try to summarize which features have to be included in the programming environments of the near future, those answering (or trying to answer) the pressures and urgencies of current days claiming for new, efficient, easy to use high performance programming environments. (C) 2003 Elsevier B.V. All rights reserved.
The point of this paper is to review recent theoretical and experimental results related to scalability of the FETI based domain decomposition algorithm that was proposed recently by, Dostal, Friedlander, Santos and G...
详细信息
The point of this paper is to review recent theoretical and experimental results related to scalability of the FETI based domain decomposition algorithm that was proposed recently by, Dostal, Friedlander, Santos and Gomes for numerical solution of discretized variational inequalities. After briefly describing the basic algorithm with a "natural coarse grid" and its implementation, we review theoretical results that indicate a kind of optimality of the algorithm, namely that the number of iterations that are necessary to complete some parts of the algorithm is bounded independently of the discretization parameter. Then, we give some results of numerical experiments with parallel solution of a model problem discretized by up to more than eight million of nodal variables to give an evidence of both numerical and parallel scalability of the algorithm presented. (C) 2002 IMACS. Published by Elsevier Science B.V. All rights reserved.
A design pattern is a mechanism for encapsulating the knowledge of experienced designers into a re-usable artifact. parallel design patterns reflect commonly occurring parallel communication and synchronization struct...
详细信息
ISBN:
(纸本)9781581135886
A design pattern is a mechanism for encapsulating the knowledge of experienced designers into a re-usable artifact. parallel design patterns reflect commonly occurring parallel communication and synchronization structures. Our tools, CO2P3S (Correct Object-Oriented Pattern-based parallel programming System) and MetaCO(2)P(3)S, use generative design patterns. A programmer selects the parallel design patterns that are appropriate for an application, and then adapts the patterns for that specific application by selecting from a small set of code-configuration options. CO2P3S then generates a custom framework for the application that includes all of the structural code necessary for the application to ran in parallel. The programmer is only required to write simple code that launches the application and to fill in some application-specific sequential hook routines. We use generative design patterns to take an application specification (parallel design patterns + sequential user code) and use it to generate parallel application code that achieves good performance in shared memory and distributed memory environments. Although our implementations are for Java, the approach we describe is tool and language independent. This paper describes generalizing CO2P3S to generate distributed-memory parallel solutions.
Today, parallel programming is dominated by message passing libraries such as MPI. Algorithmic skeletons intend to simplify parallel programming by their expressive power. The idea is to offer typical parallel program...
详细信息
ISBN:
(纸本)3540221190
Today, parallel programming is dominated by message passing libraries such as MPI. Algorithmic skeletons intend to simplify parallel programming by their expressive power. The idea is to offer typical parallel programming patterns as polymorphic higher-order functions which are efficiently implemented in parallel. Skeletons can be understood as a domain-specific language for parallel programming. In this chapter, we describe a set of data parallel skeletons in detail and investigate the potential of optimizing sequences of these skeletons by replacing them by more efficient sequences. Experimental results based on a draft implementation of our skeleton library are shown.
The paper presents a new approach for the introduction of computational science into high level school curricula. It also discusses a set of real life problems that are appropriate for these curricula because they can...
详细信息
The paper presents a new approach for the introduction of computational science into high level school curricula. It also discusses a set of real life problems that are appropriate for these curricula because they can be described through simple models. The computer based simulation of these systems require an ad hoc environment, including a programming language, suitable for this target age. The paper proposes a new environment, the ORESPICS environment, including a new programming language. The sequential part of the language integrates the classical imperative constructs with a simple set of graphical primitives, mostly taken from the LOGO language. The concurrent part of the language is based on the message passing paradigm. The solutions of some classical problems through ORESPICS are shown. (C) 2003 Elsevier B.V. All rights reserved.
The Mobile Agents model has the potential to provide a flexible framework to face the challenges of High Performance Computing, especially when targeted towards heterogeneous distributed architectures. We developed a ...
详细信息
ISBN:
(纸本)0769518753
The Mobile Agents model has the potential to provide a flexible framework to face the challenges of High Performance Computing, especially when targeted towards heterogeneous distributed architectures. We developed a framework for supporting programming and execution of mobile agent based distributed applications, the MAGDA (Mobile AGents Distributed Applications) toolset. It supplements mobile agent technology with a set of features for supporting parallel programming on a dynamic heterogeneous distributed environment.
Collective communication is very useful for parallel applications, especially those in which matrix and vector data structures need to be manipulated by a group of processes. This paper presents a performance analysis...
详细信息
ISBN:
(纸本)0769520464
Collective communication is very useful for parallel applications, especially those in which matrix and vector data structures need to be manipulated by a group of processes. This paper presents a performance analysis of collective communication primitives designed for the DECK parallel programming environment, with the aid of different numerical methods used to solve hydrodynamics and mass transportation models.
This paper proposes a set of extensions to the OpenMP programming model to express point-to-point synchronization schemes. This is accomplished by defining, in the form of directives, precedence relations among the ta...
详细信息
ISBN:
(纸本)0769520170
This paper proposes a set of extensions to the OpenMP programming model to express point-to-point synchronization schemes. This is accomplished by defining, in the form of directives, precedence relations among the tasks that are originated from OpenMP work-sharing constructs. The proposal is based on the definition of a name space that identifies the work parceled out by these work-sharing constructs. Then the programmer defines the precedence relations using this name space. This relieves the programmer from the burden of defining complex synchronization data structures and the insertion of explicit synchronization actions in the program that make the program difficult to understand and maintain. The paper briefly describes the main aspects of the runtime implementation required to support precedences relations in OpenMP The paper focuses on the evaluation of the proposal through its use two benchmarks: NAS LU and ASCl Seep3d.
暂无评论