We present a case study of the alternatives and design trade-offs encountered when adapting an established numerical library into a form compatible with modern component-software implementation practices. Our study wi...
详细信息
ISBN:
(纸本)0769521517
We present a case study of the alternatives and design trade-offs encountered when adapting an established numerical library into a form compatible with modern component-software implementation practices. Our study will help scientific software users, authors, and maintainers develop their own roadmaps for shifting to component-oriented software. the primary library studied, LSODE, and the issues involved in the adaptation are typical of many commonly used numerical libraries. We examine the adaptation of a related library, CVODE, and compare the impact on applications of the two different designs. the LSODE-derived components solve models composed with CCA components developed independently at the Argonne and Oak Ridge National Laboratories. the resulting applications run in the Ccaffeine framework implementation of the Commmon Component Architecture specification. We provide CCA-style interface specifications appropriate to linear equations, ordinary differential equations (ODE), and differential algebraic equations (DAE) solvers.
the proceedings contains 13 papers from the conference on Ninthinternationalworkshop on high-levelparallelprogrammingmodels and supportiveenvironments. the topics discussed include: the multiloop programming con...
详细信息
the proceedings contains 13 papers from the conference on Ninthinternationalworkshop on high-levelparallelprogrammingmodels and supportiveenvironments. the topics discussed include: the multiloop programming construct;modeling master-worker application in POETRIES;abstraction for dynamic data distribution;the cascade high productivity language;techniques for wrapping scientific application to CORBA components;arches: an infrastructure for PSE development and DCA: a distributed CCA framework based on MPI.
the proceedings contain 9 papers. the topics discussed include: supporting peer-2-peer interactions in the consumer grid;DPS - dynamic parallel schedules;ParoC++: a requirement-driven parallel object-oriented programm...
ISBN:
(纸本)076951880X
the proceedings contain 9 papers. the topics discussed include: supporting peer-2-peer interactions in the consumer grid;DPS - dynamic parallel schedules;ParoC++: a requirement-driven parallel object-oriented programming language;on the implementation of JavaSymphony;compiler and runtime support for running OpenMP programs on Pentium- and Itanium-architectures;SMP-aware message passing programming;a comparison between MPI and OpenMP branch-and-bound skeletons;a comparison between MPI and OpenMP branch-and-bound skeletons;and algorithmic concept recognition support for skeleton based parallelprogramming.
In previous work we have introduced JavaSymphony, a system whose purpose is to simplify the development of distributed and parallel Java applications. JavaSymphony is a Java library that allows to control parallelism,...
详细信息
ISBN:
(纸本)076951880X
In previous work we have introduced JavaSymphony, a system whose purpose is to simplify the development of distributed and parallel Java applications. JavaSymphony is a Java library that allows to control parallelism, load balancing, and locality at a highlevel. Objects can be explicitly distributed and migrated within virtual architectures, which impose a virtual hierarchy on a distributed system of physical computing nodes. In this paper we present the design of the JavaSymphony Runtime System and the JavaSymphony Shell. Moreover we discuss details about an agent-based implementation of the JavaSymphony Runtime System which comprises the Network Agent, Object Agent, and Event Agent. We present a detailed comparison of the functionality provided by JavaSymphony with several related systems.
Dynamic parallel Schedules (DPS) is a high-level framework for developing parallel applications on distributed memory computers (e.g. clusters of PCs). Its model relies on compositional customizable split-compute-merg...
详细信息
ISBN:
(纸本)076951880X
Dynamic parallel Schedules (DPS) is a high-level framework for developing parallel applications on distributed memory computers (e.g. clusters of PCs). Its model relies on compositional customizable split-compute-merge graphs of operations (directed acyclic flow graphs). the graphs and the mapping of operations to processing nodes are specified dynamically at runtime. DPS applications are pipelined and multithreaded by construction, ensuring a maximal overlap of computations and communications. DPS applications can call parallel services exposed by other DPS applications, enabling the creation of reusable parallel components. the DPS framework relies on a C++ class library. thanks to its dynamic nature, DPS offers new perspectives for the creation and deployment of parallel applications running on server clusters.
this article describes and compares two parallel implementations of Branch-and-Bound skeletons. Using the C++ programming language, the user has to specify the type of the problem, the type of the solution and the spe...
详细信息
ISBN:
(纸本)076951880X
this article describes and compares two parallel implementations of Branch-and-Bound skeletons. Using the C++ programming language, the user has to specify the type of the problem, the type of the solution and the specific characteristics of the Branch-and-Bound technique. this information is combined withthe provided resolution skeletons to obtain a distributed and a shared parallel programs. MPI has been used to develop the Message Passing algorithm and for the Shared Memory one OpenMP has been chosen. Computational results for the 0/1 Knapsack Problem on a Sunfire 6800 SMP, a Origin 3000 and a PCs cluster are presented.
parallel Skeletons have been proposed as a possible programming model for parallel architectures. One of the problems withthis approach is the choice of the skeleton which is best suited to the characteristics of the...
详细信息
ISBN:
(纸本)076951880X
parallel Skeletons have been proposed as a possible programming model for parallel architectures. One of the problems withthis approach is the choice of the skeleton which is best suited to the characteristics of the algorithm program to be developed/parallelized, and of the target architecture, in terms of performance of the parallel implementation. Another problem arising withparallelization of legacy codes is the attempt to minimize the effort needed for program comprehension, and thus to achieve the minimum restructuring of the sequential code when producing the parallel version. In this paper we propose automated Program Comprehension at the algorithmic level as a driving feature in the task of selection of the proper parallel Skeleton, best suited to the characteristics of the algorithm/program and of the target architecture. Algorithmic concept recognition can automate or support the generation of parallel code through instantiation of the selected parallel Skeleton(s) with template based transformations of recognized code segments.
the Message Passing Interface (MPI) is designed as an architecture independent interface for parallelprogramming in the shared-nothing, message passing paradigm. We briefly summarize basic requirements to a high-qual...
详细信息
暂无评论