parallel Skeletons have been proposed as a possible programming model for parallel architectures. One of the problems with this 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 with this 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 with parallelization 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.
In the context of a learning game to teach parallel programming, we describe a procedural content generation (PCG) approach that can be controlled to generate programming puzzles involving a desired set of concepts, a...
详细信息
ISBN:
(纸本)9781450353199
In the context of a learning game to teach parallel programming, we describe a procedural content generation (PCG) approach that can be controlled to generate programming puzzles involving a desired set of concepts, and of desired size and "difficulty". Our approach is based on grammars to control the generation of the puzzle structure, and orthographic graph embedding techniques to render it into a two-dimensional grid for our game. The proposed PCG system is designed to work with a player model in order to provide personalized learning experiences. We present an evaluation of the variability of the generated puzzles using several metrics including challenge and solvability as evaluated by a custom-build model checker. Our evaluation shows that this PCG system can generate a large number of varied puzzles but it is still not able to generate puzzles with certain aesthetic and functional qualities found in puzzles generated by human authors.
Algorithmic skeletons define general patterns of computation which are useful for exposing the computational structure of a program. Being general structures they qualify as a target for parallelisation, which is most...
详细信息
ISBN:
(数字)9783540453611
ISBN:
(纸本)3540419195
Algorithmic skeletons define general patterns of computation which are useful for exposing the computational structure of a program. Being general structures they qualify as a target for parallelisation, which is most often carried out by providing specialised, non-portable, low-level parallel implementations (architectural skeletons) of each algorithmic skeleton for different platforms. In the paper we introduce an intermediate layer of implementation skeletons for the parallel functional language Eden. These are portable high-level skeletons which simplify the design of parallel programs substantially. Runtime experiments on a network of workstations and on a Beowulf cluster have shown that even on such high-latency parallel platforms good speedups can be obtained.
In this paper we present a global semaphores mechanism, and ported on various parallel programming environments. The whole mechanism is available as a library for the C programming language and some additional include...
详细信息
ISBN:
(纸本)3540636978
In this paper we present a global semaphores mechanism, and ported on various parallel programming environments. The whole mechanism is available as a library for the C programming language and some additional include files. The parallel applications programmer uses these functions in order to construct transparent synchronization schemes in a wide variety of parallel processing systems.
In this paper, a practical coarse-grained distributed parallel programming interface for grid computing (P14GC) is introduced. It provides a group of generic and abstract function prototypes with well-specified semant...
详细信息
ISBN:
(纸本)3540219889
In this paper, a practical coarse-grained distributed parallel programming interface for grid computing (P14GC) is introduced. It provides a group of generic and abstract function prototypes with well-specified semantics. P14GC is an MPI-like interface plus high-level parallel tasking over grid. Following its specification, users could couple multiple computing tools distributed over grid to run complex computing problems. We first describe the motivations of P14GC and related works. Then its specification is put forward in detail. At last, implementation of P14GC over OGSA is also discussed simply.
In this paper, TOPAS, a new parallel programming environment for distributed systems is presented. TOPAS automatically analyzes data dependence among tasks and synchronizes data, which reduces the time needed for para...
详细信息
ISBN:
(纸本)3540435913
In this paper, TOPAS, a new parallel programming environment for distributed systems is presented. TOPAS automatically analyzes data dependence among tasks and synchronizes data, which reduces the time needed for parallel program developments. TOPAS also provides supports for scheduling, dynamic load balancing and fault tolerance. Experiments show simplicity and efficiency of parallel programming in TOPAS environment.
programming paradigms are designed to express algorithms elegantly and efficiently. There are many parallel programming paradigms, each suited to a certain class of problems. Selecting the best parallel programming pa...
详细信息
ISBN:
(纸本)9783540897392
programming paradigms are designed to express algorithms elegantly and efficiently. There are many parallel programming paradigms, each suited to a certain class of problems. Selecting the best parallel programming paradigm for a. problem minimizes programming effort and maximizes performance. Given the increasing complexity of parallel applications, no one paradigm may be suitable for all components of an application. Today, most parallel scientific applications are programmed with a single paradigm and the challenge of multi-paradigm parallel programming remains unmet in the broader community. We believe that each component, of a parallel program should be programmed using the most suitable paradigm. Furthermore, it is not sufficient to simply bolt modules together: programmers should be able to switch between paradigms easily, and resource management across paradigms should be automatic. We present a pre-existing adaptive run-time system (ARTS) and show how it can be used to meet these challenges by allowing the simultaneous use of multiple parallel programming paradigms and supporting resource management across all of them. We discuss the implementation of some common paradigms within the ARTS and demonstrate the use of multiple paradigms within our feature-rich unstructured mesh framework. We show how this approach boosts performance and productivity for an application developed using this framework.
High-level programming languages such as Python are increasingly used to provide intuitive interfaces to libraries written in lower-level languages and for assembling applications from various components. This migrati...
详细信息
ISBN:
(纸本)9781450366700
High-level programming languages such as Python are increasingly used to provide intuitive interfaces to libraries written in lower-level languages and for assembling applications from various components. This migration towards orchestration rather than implementation, coupled with the growing need for parallel computing (e.g., due to big data and the end of Moore's law), necessitates rethinking how parallelism is expressed in programs. Here, we present Parsl, a parallel scripting library that augments Python with simple, scalable, and flexible constructs for encoding parallelism. These constructs allow Parsl to construct a dynamic dependency graph of components that it can then execute efficiently on one or many processors. Parsl is designed for scalability, with an extensible set of executors tailored to different use cases, such as low-latency, high-throughput, or extreme-scale execution. We show, via experiments on the Blue Waters supercomputer, that Parsl executors can allow Python scripts to execute components with as little as 5 ms of overhead, scale to more than 250 000 workers across more than 8000 nodes, and process upward of 1200 tasks per second. Other Parsl features simplify the construction and execution of composite programs by supporting elastic provisioning and scaling of infrastructure, fault-tolerant execution, and integrated wide-area data management. We show that these capabilities satisfy the needs of many-task, interactive, online, and machine learning applications in fields such as biology, cosmology, and materials science.
We present a domain specific language, embedded in Haskell, for general purpose parallel programming on GPUs. Our intention is to explore the use of connection patterns in parallel programming. We briefly present our ...
详细信息
ISBN:
(纸本)9783642244513
We present a domain specific language, embedded in Haskell, for general purpose parallel programming on GPUs. Our intention is to explore the use of connection patterns in parallel programming. We briefly present our earlier work on hardware generation, and outline the current state of GPU architectures and programming models. Finally, we present the current status of the Obsidian project, which aims to make GPU programming easier, without relinquishing detailed control of GPU resources. Both a programming example and some details of the implementation are presented. This is a report on work in progress.
In the paper there is discussed problem of use semaphores to solve parallel programming problems. There is proposed new semaphore mechanism of extended features. An example of application of such a semaphore for contr...
详细信息
ISBN:
(纸本)0769517315
In the paper there is discussed problem of use semaphores to solve parallel programming problems. There is proposed new semaphore mechanism of extended features. An example of application of such a semaphore for controlling a technological process is introduced and discussed Simulation results and advantages of applying the new mechanism are presented.
暂无评论