A software development system based upon integrated skeleton technology (ASSIST) is a proposal of a new programming environment oriented to the development of parallel and distributed high-performance applications acc...
详细信息
A software development system based upon integrated skeleton technology (ASSIST) is a proposal of a new programming environment oriented to the development of parallel and distributed high-performance applications according to a unified approach. The main goals are: high-level programmability and software productivity for complex multidisciplinary applications, including data-intensive and interactive software;performance portability across different platforms, in particular large-scale platforms and grids;effective reuse of parallel software;efficient evolution of applications through versions that scale according to the underlying technologies. The purpose of this paper is to show the principles of the proposed approach in terms of the programming model (successive papers will deal with the environment implementation and with performance evaluation). The features and the characteristics of the ASSIST programming model are described according to an operational semantics style and using examples to drive the presentation, to show the expressive power and to discuss the research issues. According to our previous experience in structured parallel programming, in ASSIST we wish to overcome some limitations of the classical skeletons approach to improve generality and flexibility, expressive power and efficiency for irregular, dynamic and interactive applications, as well as for complex combinations of task and data parallelism. A new paradigm, called "parallel module" (parmod), is defined which, in addition to expressing the semantics of several skeletons as particular cases, is able to express more general parallel and distributed program structures, including both data-flow and nondeterministic reactive computations. ASSIST allows the programmer to design the applications in the form of generic graphs of parallel components. Another distinguishing feature is that ASSIST modules are able to utilize external objects, including shared data structures and abstract object
Current grid-aware applications are implemented on top of low-level libraries by developers who are experts on grid middleware architecture. This approach can hardly support the additional complexity of QoS control in...
详细信息
ISBN:
(纸本)3540287000
Current grid-aware applications are implemented on top of low-level libraries by developers who are experts on grid middleware architecture. This approach can hardly support the additional complexity of QoS control in real applications. We discuss a novel approach used in the ASSIST programming environment to implement/guarantee user provided QoS contracts in a transparent and effective way. Our approach is based on the implementation of automatic run-time reconfiguration of ASSIST application executions triggered by mismatch between the user provided QoS contract and the actual performance values achieved.
The whole computer hardware industry embraced multicores. For these machines, the extreme optimisation of sequential algorithms is no longer sufficient to squeeze the real machine power, which can be only exploited vi...
详细信息
ISBN:
(纸本)9783642158797
The whole computer hardware industry embraced multicores. For these machines, the extreme optimisation of sequential algorithms is no longer sufficient to squeeze the real machine power, which can be only exploited via thread-level parallelism. Decision tree algorithms exhibit natural concurrency that makes them suitable to be parallelised. This paper presents an approach for easy-yet-efficient porting of an implementation of the C4.5 algorithm on multicores. The parallel porting requires minimal changes to the original sequential code, and it is able to exploit up to 7x speedup on an Intel dual-quad core machine.
Current Grid-aware applications are developed on existing software infrastructures, such as Globus, by developers who are experts on Grid software implementation. Although many useful applications have been produced t...
详细信息
ISBN:
(纸本)076952513X
Current Grid-aware applications are developed on existing software infrastructures, such as Globus, by developers who are experts on Grid software implementation. Although many useful applications have been produced this way, this approach may hardly support the additional complexity to Quality of Service (QoS) control in real application. We describe the ASSIST programming environment, the prototype of parallelprogramming environment currently under development at our group, as a suitable basis to capture all the desired features for QoS control for the Grid Grid applications, built as compositions of ASSIST components, are supported by an innovative Grid Abstract Machine, which includes essential abstractions of standard middleware services and a hierarchical Application Manager, which may be considered as an early prototype of Autonomic Manager
Within an environment of parallel Objects, an approach of structured parallel programming and the paradigm of the Orientation to Objects, shows a programming method based on High Level parallel Compositions or HLPCs (...
详细信息
ISBN:
(纸本)9788890372407
Within an environment of parallel Objects, an approach of structured parallel programming and the paradigm of the Orientation to Objects, shows a programming method based on High Level parallel Compositions or HLPCs (CPANs in Spanish) by means of classes. The synchronous, asynchronous communication ways and asynchronous future of the pattern of parallel Objects (Rossainz and Capel 2005-2), the predefined patterns of communication/interaction of the structured approach, the encapsulation and the abstraction of the Orientation to Objects, to provide reusability to this patterns, together with a set of predefined restrictions of synchronization among processes (maxpar, mutex, sync) are used. The implementation of the commonly used communication patterns is explained, by means of the application of the method, which conform a library of susceptible classes of being used in applications within the environment of programming of the C++ and of the standard POSIX of programming with threads.
FastFlow is a structured parallel programming framework targeting shared memory multi-core architectures. In this paper we introduce a FastFlow extension aimed at supporting also a network of multi-core workstations. ...
详细信息
ISBN:
(纸本)9783642369490
FastFlow is a structured parallel programming framework targeting shared memory multi-core architectures. In this paper we introduce a FastFlow extension aimed at supporting also a network of multi-core workstations. The extension supports the execution of FastFlow programs by coordinating-in a structured way-the fine grain parallel activities running on a single workstation. We discuss the design and the implementation of this extension presenting preliminary experimental results validating it on state-of-the-art networked multi-core nodes.
We discuss the implementation of a minimalist parallel library in OCaml. The library provides parallel map and fold (reduce) higher order functions and targets standard cache coherent shared memory multi-cores. Our **...
详细信息
We discuss the implementation of a minimalist parallel library in OCaml. The library provides parallel map and fold (reduce) higher order functions and targets standard cache coherent shared memory multi-cores. Our *** and *** functions may be used to seamlessly replace OCaml List map and fold standard functions preserving their full functional semantics while achieving nearly optimal speedup on standard multi-core architectures. We discuss the design of the Parmap module, the main implementation features and we present some experimental results assessing the effciency of the Parmap parallel functions. Overall, Parmap represents a perfect incarnation of the “propagate the concept with minimal disruption” principle introduced in Cole's algorithmic skeleton manifesto .
The dataflow programming model has been extensively used as an effective solution to implement efficient parallelprogramming frameworks. However, the amount of resources allocated to the runtime support is usually fi...
详细信息
The dataflow programming model has been extensively used as an effective solution to implement efficient parallelprogramming frameworks. However, the amount of resources allocated to the runtime support is usually fixed once by the programmer or the runtime, and kept static during the entire execution. While there are cases where such a static choice may be appropriate, other scenarios may require to dynamically change the parallelism degree during the application execution. In this paper we propose an algorithm for multicore shared memory platforms, that dynamically selects the optimal number of cores to be used as well as their clock frequency according to either the workload pressure or to explicit user requirements. We implement the algorithm for both structured and unstructuredparallel applications and we validate our proposal over three real applications, showing that it is able to save a significant amount of power, while not impairing the performance and not requiring additional effort from the application programmer.
暂无评论