We show how to apply a structured parallel programming (SPP) methodology based on skeletons to data mining (DM) problems, reporting several results about three commonly used mining techniques, namely association rules...
详细信息
We show how to apply a structured parallel programming (SPP) methodology based on skeletons to data mining (DM) problems, reporting several results about three commonly used mining techniques, namely association rules, decision tree induction and spatial clustering. We analyze the structural patterns common to these applications, looking at application performance and software engineering efficiency. Our aim is to clearly state what features a SPP environment should have to be useful for parallel DM. Within the skeleton-based PPE SHE that we have developed, we study the different patterns of data access of parallel implementations of Apriori, C4.5 and DBSCAN. We need to address large partitions reads, frequent and sparse access to small blocks, as well as an irregular mix of small and large transfers, to allow efficient development of applications on huge databases. We examine the addition of an object/component interface to the skeleton structured model, to simplify the development of environment-integrated, parallel DM applications. (C) 2002 Elsevier Science B.V. All rights reserved.
In this paper, we present parallelo parallel Library (PPL), a novel Rust library for structured parallel programming. Rust's fearless concurrency concept makes it a promising language for parallel application deve...
详细信息
ISBN:
(纸本)9798350363074;9798350363081
In this paper, we present parallelo parallel Library (PPL), a novel Rust library for structured parallel programming. Rust's fearless concurrency concept makes it a promising language for parallel application development. We present the development progress of parallelo parallel Library (PPL) and report preliminary performance results, comparing it to existing popular Rust libraries. Our results show that PPL provides robust support for parallelprogramming through high-level abstractions, delivering performance that matches or exceeds current state-of-the-art in the Rust ecosystem.
This work summarizes the possibilities offered by parallelprogramming environment ASSIST by outlining some of the features that will be demonstrated at the conference demo session. We'll substantially show how th...
详细信息
ISBN:
(纸本)354040788X
This work summarizes the possibilities offered by parallelprogramming environment ASSIST by outlining some of the features that will be demonstrated at the conference demo session. We'll substantially show how this environment can be deployed on a Linux workstation network/cluster, how applications can be compiled and run using ASSIST and eventually, we'll discuss some ASSIST scalability and performance features. We'll also outline how the ASSIST environment can be used to target GRID architectures.
In this paper, a highly effective parallel filter for visual data restoration is presented. The filter is designed following a skeletal approach, using a newly proposed stencil-reduce, and has been implemented by way ...
详细信息
In this paper, a highly effective parallel filter for visual data restoration is presented. The filter is designed following a skeletal approach, using a newly proposed stencil-reduce, and has been implemented by way of the FastFlow parallelprogramming library. As a result of its high-level design, it is possible to run the filter seamlessly on a multicore machine, on multi-GPGPUs, or on both. The design and implementation of the filter are discussed, and an experimental evaluation is presented.
In this work, we discuss an extension of the set of principles that should guide the future design and development of skeletal programming systems, as defined by Cole in his "pragmatic manifesto" paper. The ...
详细信息
In this work, we discuss an extension of the set of principles that should guide the future design and development of skeletal programming systems, as defined by Cole in his "pragmatic manifesto" paper. The three further principles introduced are related to the ability to exploit existing sequential code as well as to the ability to target typical modern architectures, those made out of heterogeneous processing elements with dynamically varying availability, processing power and connectivity features such as grids or heterogeneous, non-dedicated clusters. We outline two skeleton based programming environments currently developed at our university and we discuss how these environments adhere to the proposed set of principles. Eventually, we outline how some other relevant, well-known skeleton environments conform to the same set of principles. (c) 2006 Elsevier B.V. All rights reserved.
Dynamic reconfiguration refers to the ability of changing properties and structure of a distributed system, while it is running. It is essential when designing applications that need to adapt to unpredictable events, ...
详细信息
Dynamic reconfiguration refers to the ability of changing properties and structure of a distributed system, while it is running. It is essential when designing applications that need to adapt to unpredictable events, run on non-dedicated environments;for which configuration cannot be statically determined, or may change at runtime. Grid computing also gave new emphasis to the topic, being based on dynamic environments by definition. The first part of this work tries to give a definite organization to known literature and existing experiments, providing a general overview of the problem. Then we describe our approach to dynamicity in the context of the ASSIST programming environment and show how it is able to provide users with many of the required abstractions to develop adaptive, high-performance, distributed applications. (c) 2007 Elsevier B.V. All rights reserved.
Semantics of skeleton-based parallelprogramming languages comes usually as two distinct items: a functional semantics, modeling the function computed by the skeleton program, and a parallel semantics describing the w...
详细信息
Semantics of skeleton-based parallelprogramming languages comes usually as two distinct items: a functional semantics, modeling the function computed by the skeleton program, and a parallel semantics describing the ways used to exploit parallelism during the execution of the skeleton program. The former is usually expressed using some kind of semantic formalism, while the latter is almost always given in an informal way. Such a separation of functional and parallel semantics seriously impairs the possibility of programmers to use the semantic tools to prove properties of programs. In this work, we show how a formal semantic framework can be set up that handles both functional and parallel aspects of skeleton-based parallel programs. The framework is based on a labeled transition system. We show how different properties related to skeleton programs can be proved using such a system. We use Lithium, a skeleton-based full Java parallelprogramming environment, as the case study. (c) 2006 Elsevier Ltd. All rights reserved.
Adaptiveness is an essential feature for distributed parallel applications executed on dynamic environments like Grids and Clouds. Being adaptive means that parallel components can change their configuration at run-ti...
详细信息
Adaptiveness is an essential feature for distributed parallel applications executed on dynamic environments like Grids and Clouds. Being adaptive means that parallel components can change their configuration at run-time (by modifying their parallelism degree or switching to a different parallel variant) to face irregular workload or to react to uncontrollable changes of the execution platform. A critical problem consists in the definition of adaptation strategies able to select optimal reconfigurations (minimizing operating costs and reconfiguration overhead) and achieve the stability of control decisions (avoiding unnecessary reconfigurations). This paper presents an approach to apply Model Predictive Control (a form of optimal control studied in Control Theory) to adaptive parallel computations expressed according to the structured parallel programming methodology. We show that predictive control is amenable to achieve stability and optimality by relying on the predictability of structuredparallelism patterns and the possibility to express analytical cost models of their QoS metrics. The approach has been exemplified on two case-studies, providing a first assessment of its potential and feasibility.
We introduce a set of state access patterns suitable for managing accesses to states in parallel computations operating on streams. The state access patterns are useful for modelling typical stream parallel applicatio...
详细信息
We introduce a set of state access patterns suitable for managing accesses to states in parallel computations operating on streams. The state access patterns are useful for modelling typical stream parallel applications. We present a classification of the patterns according to the extent and way in which the state can be structured and accessed. We define precisely the state access patterns and discuss possible implementation schemas, performances and possibilities to manage adaptivity (parallelism degree) in the patterns. We present experimental results relative to implementations built on top of the structured parallel programming framework FastFlow that demonstrate the feasibility and efficiency of the proposed access patterns.
Technological directions for innovative HPC software environments are discussed in this paper. We focus on industrial user requirements of heterogeneous multidisciplinary applications, performance portability, rapid p...
详细信息
Technological directions for innovative HPC software environments are discussed in this paper. We focus on industrial user requirements of heterogeneous multidisciplinary applications, performance portability, rapid prototyping and software reuse, integration and interoperability of standard tools. The Various issues are demonstrated with reference to the PQE2000 project and its programming environment Skeleton-based Integrated Environment (SkIE), SkIE includes a coordination language, SkIECL, allowing the designers to express, in a primitive and structured way, efficient combinations of data parallelism and task parallelism. The goal is achieving fast development and good efficiency for applications in different areas. Modules developed with standard languages and tools are encapsulated into SkIECL structures to form the global application. Performance models associated to the coordination language allow powerful optimizations to be introduced both at run time and at compile time without the direct intervention of the programmer. The paper also discusses the features of the SkIE environment related to debugging, performance analysis tools, visualization and graphical user interface. A discussion of the results achieved in some applications developed using the environment concludes the paper. (C) 1999 Elsevier Science B.V. All rights reserved.
暂无评论