| Henri E. Bal and Matthew Haines. Approaches for integrating task and data parallelism. IEEE Concurrency, 6(3):74--84, July/ September 1998. |
....areas have an inherent modular structure of cooperating subtasks calling each other. Examples include environmental models combining atmospheric, surface water, and ground water models, or aircraft simulations combining models for fluid dynamics, structural mechanics, and surface heating, see [2] for an overview. Hierarchically structured M tasks are a natural way of coding those problems. 0 7695 1524 X 02 17.00 (c) 2002 IEEE The parallel execution of hierarchically structured M tasks on distributed memory machines (DMMs) requires a corresponding decomposition of the set of processors ....
....in p=16 consecutive p=16 linear p=16 extended p=32 consecutive p=32 linear p=32 extended Figure 8. Runtimes of the different execution schemes of the extrapolation method with 4 different stepsizes for # ##and # ##processors (top) and for # ###and # ###processors (bottom) of a Cray T3E. [2, 19] for an overview of systems and approaches and see [4] for a detailed investigation of the benefits of combining task and data parallel executions. Most closely related to our work concerning the parallel programming model are approaches which combine multiprocessor task and data parallelism. ....
[Article contains additional citation context not shown here]
H. Bal and M. Haines. Approaches for Integrating Task and Data Parallelism. IEEE Concurrency, 6(3):74--84, JulyAugust 1998.
....the processors into disjoint processor groups can be exploited simultaneously in a single parallel implementation. The parallel programming model is appropriate for grid based applications working in horizontal or vertical directions as well as and for mixed task and data parallel computations[2]. For those applications we propose a systematic development process for message passing programs using orthogonal processor groups. The development process starts with a specification of tasks indicating horizontal and vertical sections. A mapping to orthogonal processor groups realizes a ....
H. Bal and M. Haines. Approaches for Integrating Task and Data Parallelism. IEEE Concurrency, 6(3):74--84, July-August 1998.
....prior specific permission and or a fee. Proc. of 13th Annual ACM Symposium on Applied Computing, pp. 146 155, San Antonio, USA, 1999. Copyright 2001 ACM X XXXXX XX X XX XX . 5.00. numerical analysis, signal processing [17] and multidisciplinary codes like global climate modeling, see [1] for a good overview. Since many applications benefit from an exploitation of both task and data parallelism, many languages have been proposed to combine data parallel with task parallel executions, including Fx, Fortran M, Braid, Opus, or Orca [1] A more detailed discussion is given later. ....
....codes like global climate modeling, see [1] for a good overview. Since many applications benefit from an exploitation of both task and data parallelism, many languages have been proposed to combine data parallel with task parallel executions, including Fx, Fortran M, Braid, Opus, or Orca [1]. A more detailed discussion is given later. Usually, there are many possibilities for combining data parallel computations in a task parallel way, i.e. there is a large variety of alternative parallel implementations for one algorithm and it is often difficult to choose the most efficient ....
[Article contains additional citation context not shown here]
H. Bal and M. Haines. Approaches for Integrating Task and Data Parallelism. IEEE Concurrency, 6(3):74--84, July-August 1998.
....framework allows the number of addressable applications to be enlarged. On the other hand, the exploitation of parallelism at different levels may significantly increase the performances of algorithms which, by means of HPF alone, would exploit only a limited amount of data parallelism [15] 13] [3]. 2.1. Programming the SIMD part of a PQE 1 architecture To program the SIMD components a Fortran dialect, called TAO [14] is available. The most relevant peculiarity of this language is related to the data distribution strategy [14] In fact, due to the SIMD machine s architecture, integer ....
H. E. Bal and M. Haines. Approaches for integrating task and data parallelism. IEEE Concurrency, (3), July 1998.
....of the limited scope of its analysis techniques or because it is hidden by the data and computation structures used in the application. Many numerical applications also show multiple levels of parallelism, combining both task parallelism (usually at the coarser level) and loop level parallelism [1, 2]. Non numerical applications also have non homogeneous parallelism between zones distant apart. Nonetheless, the achievement of this parallelism may imply the use of parallelising techniques, analogous to the ones already used for parallelising loops, but in a more complex way. Therefore, the ....
H.E. Bal and M. Haines. Approaches for integrating task and data parallelism. IEEE Concurrency, July-September 1998.
....hardware support, but the softwareonly approach has performance and storage overhead costs. 2.2. 5 Object Based Shared Data: Orca Orca is an object based language and run time system that supports communication between distributed processes via a shared data object model [Bal et al. 1992, Bal et al. 1998] . A special compiler translates high level constructs in the Orca language that access the shared data (e.g. assigning a value) into lower level code that may result in messages across the network. The details of how the shared data object is actually accessed is transparent to the programmer. ....
....(Table 3.2) Aurora s mixed parallelism process model includes task parallelism, data parallelism, and SPMD. Furthermore, the various process models can be mixed within a single application in reasonable ways. Although some other existing systems also support mixed parallelism process models [Bal and Haines, 1998] , it is still not a capability that is common to all programming systems. As we will see in Chapter 5, different applications may require different process models. First, task parallelism is provided by the underlying ABC library through active objects [O Farrell et al. 1996] Active objects ....
H.E. Bal and M. Haines. Approaches for Integrating Task and Data Parallelism. IEEE Concurrency, 6(3):74--84, July--September 1998. 184 BIBLIOGRAPHY 185
....framework allows the number of addressable applications to be enlarged. On the other hand, the exploitation of parallelism at different levels may significantly increase the performances of algorithms which, by means of HPF alone, would exploit only a limited amount of data parallelism [15] 13] [3]. 2.1. Programming the SIMD part of a PQE 1 architecture To program the SIMD components a Fortran dialect, called TAO [14] is available. The most relevant peculiarity of this language is related to the data distribution strategy [14] In fact, due to the SIMD machine s architecture, integer ....
H. E. Bal and M. Haines. Approaches for integrating task and data parallelism. IEEE Concurrency, (3), July 1998.
....details such as data distribution, interprocessor communications and synchronizations. Nevertheless, it is widely accepted that many important parallel applications do not t a pure data parallel model and can be more eciently implemented by exploiting both task and data parallelism [1] 2] [3]. The advantage of exploiting both forms of parallelism is twofold. On the one hand the capability of integrating task and data parallelism in a single framework allows the number of addressable applications to be enlarged. On the other hand, the exploitation of parallelism at di erent levels may ....
H. E. Bal and M. Haines, Approaches for Integrating Task and Data Parallelism, IEEE Concurrency 3 July-September, (1998).
....Section 4 draws some conclusions. 2. INTEGRATING TASK AND DATA PARALLELISM Experience in applicative elds, above all deriving from the development of multidisciplinary applications, seems to suggest that the best way to integrate task and data parallelism is to keep them on two distinct levels [3]: an outer coordination level for task parallelism, and an inner computational level for data parallelism. Task parallelism requires languages programming environments that allow concurrent tasks to coordinate their execution and communicate with each other. Programmers are responsible for ....
H.E. Bal and M. Haines. Approaches for Integrating Task and Data Parallelism. IEEE Concurrency, pages 74-84, July-Spet. 1998.
....as many applications belonging to various elds (e. g computer vision, real time signal processing) do not allow e cient data parallel solutions to be devised, but can be eciently structured as ensembles of sequential and or data parallel tasks which cooperate according to a few common patterns [3,7,12]. The capability of integrating task and data parallelism into a single framework is the subject of many proposals since it allows the This work has been partially supported by HPPC SEA contract number EU1063. number of addressable applications to be considerably enlarged [11,22,10,8,6,15] ....
....and outlines future work. 2. Integrating task and data parallelism Experience in applicative elds, above all deriving from the development of multidisciplinary applications, seems to suggest that the best way to integrate task and data parallelism is to keep them on two distinct levels [3]: an outer coordination level for task parallelism. Task parallelism requires languages programming environments that allow concurrent tasks to coordinate their execution and communicate with each other. Programmers are responsible for selecting the code executed by each task, and for ....
H.E. Bal and M. Haines. Approaches for Integrating Task and Data Parallelism. IEEE Concurrency, pages 74-84, July-Spet. 1998.
....Key words: scheduling, distributed memory machines, task parallelism, data parallelism, genetic algorithms. 1 Introduction Several applications from scientific computing, e.g. from numerical analysis [5] signal processing [15] and multidisciplinary codes like global climate modeling [1] enclose different kinds of potential parallelism: task parallelism and data parallelism. Task parallelism results from the structure of the program. Independent program parts can be executed in parallel on disjoint groups of processors. Data parallelism is the result of data independences. It ....
H. Bal and M. Haines. Approaches for Integrating Task and Data Parallelism. IEEE Concurrency, 6(3):74-84, July-August 1998.
....distributions for variables. The best form for a node program can only be computed by including the cost of communication, including redistributing input and output data structures. This problem can be solved using a shortest path algorithm for searching alternate implementation structures. The paper (Skillicorn et al., 1998), which shows how to solve the problem for sequential compositions of nodes, can be straightforwardly extended to graphs. The graph version of the algorithm works, layer by layer, through the graph. The algorithm assumes that the total number of processors to be used is known; a sensible strategy ....
H.E. Bal and M. Haines. Approaches for integrating task and data parallelism. IEEE Concurrency, 6, No. 3:74--84, July-August 1998.
....It is commonly accepted that a number of applications can bene t from exploiting both kinds of parallelism. For instance, applications in signal and image processing are usually composed of a set of potentially data parallel tasks interacting to compute a stream of homogeneous data sets [2, 3, 20, 21]. In these applications data parallel modules usually do not scale beyond a given threshold due to the limited size of the data involved. In this case, using di erent sets of processors to compute independently di erent elements of the input stream can considerably increase the system throughput ....
....are multidisciplinary applications, in which di erent parts are developed independently as data parallel programs and interact at a coarser task level. This has caused a growing interest in models and systems which allow the expression (and the exploitation) of both task and data parallelism [2, 9, 16, 21 23]. In the general case, integration of task and data parallel models is rather dicult as these models tend to enforce di erent programming and implementation styles [2] However, most of the applications bene ting from a mixed style shows a fairly static and predictable structure [7, 10, 18] and ....
[Article contains additional citation context not shown here]
H. E. Bal and M. Haines. Approaches for integrating task and data parallelism. IEEE Concurrency, 6(3):74-84, July 1998.
....each of these more traditional languages suffers from deficiencies when used for composition. FX requires that all modules are written to conform to the FX language, including data representations. FX codes are also static compositions, and do not have the dynamism expected in an online system [9]. Static compositions cannot change or adapt to varying runtime conditions. Orca has its own distinct runtime support for use with its composition primitives, thus radically limits the potential for use of legacy codes in a composed program. The Opus extensions to HPF take a data centric view that ....
....primitives, thus radically limits the potential for use of legacy codes in a composed program. The Opus extensions to HPF take a data centric view that requires a programmer to have intimate knowledge of all data in a process, including typing and semantic meaning, to set up a megaprogram [9, 10]. Developing languages that have some unique features that make them particularly suited to specific domains is not new. LISP was developed to be good at processing lists and has seen widespread application (especially in AI) where that ability is critical. Fortran was designed with significant ....
H. Bal and M. Haines: "Approaches for Integrating Task and Data Parallelism," Technical Report IR-415, Vrije Universiteit, Amsterdam, December 1996.
....of communications, while Task Graphs use position as well. All three models use a global heuristic to optimise the distribution of data and the choice of implementation for each node. Other models have developed from approaches that already incorporate the idea of a task graph. Bal and Haines [1] give a good survey. One well known example is Opus [5] Programs are collections of parallel objects that interact via shared data abstractions which manage the invocation of remote methods, synchronously or asynchronously. Objects are statically allocated, but data are dynamically redistributed ....
H.E. Bal and M. Haines. Approaches for integrating task and data parallelism. IEEE Concurrency, 6, No. 3:74--84, July-August 1998.
....installations. Applications that benefit from a combination of task and data parallelism include examples from author supported by Deutsche Forschungsgemeinschaft 2 MODEL OVERVIEW 2 numerical analysis [23, 24] signal processing [29] and multidisciplinary codes like Global Climate Modeling [2]. The integration of task and data parallelism is an active area of research because of its potential benefits and several approaches have been proposed recently. These include language approaches like Fortran M, Fx, and Opus which add task parallel constructs to High Performance Fortran and ....
.... which add task parallel constructs to High Performance Fortran and compiler approaches like Paradigm aiming at an automatic detection of task and data parallel computations [21] Data parallel constructs as an extension to task parallel languages have also been proposed like in Orca and Braid, see [2] for a good overview and comparison. In this article, we describe a general framework for generating programs with mixed task parallel and data parallel executions on distributed memory machines (DMMs) based on the TwoL model (Two Level parallelism) Previous papers on this programming model ....
[Article contains additional citation context not shown here]
H. Bal and M. Haines. Approaches for Integrating Task and Data Parallelism. to appear: IEEE Concurrency, 1998.
....features and vice versa, such as the task parallel extensions of HPF 2 [107] and the data parallel extensions of Orca [18] A more detailed discussion of related parallel systems is given in Chapter 7. A comparative overview of languages integrating task and data parallelism can be found in [10]. Requirements for DHPC Applications. An efficient exploitation of hybrid forms of parallelism is of paramount importance for DHPC applications. Additionally, DHPC applications require support for heterogeneous platforms as well as heterogeneous programming environments, i.e. support for ....
....at MIT Lincoln Laboratories to measure the effectiveness of multicomputers in processing their sensor based applications. This application, and much of its description, is extracted from the CMU Task Parallel Program Suite [66] The Opus implementation was first discussed by Bal and Haines in [10] where they compare several languages that combine task and data parallelism, with respect to the NTR example. The input for the NTR program is data from a sensor along c = 4 independent channels. For each channel, r = 10 vectors of d = 512 complex numbers are received which form together an d ....
[Article contains additional citation context not shown here]
H. Bal and M. Haines. Approaches for Integrating Task and Data Parallelism. IEEE Concurrency, 6(3):74--84, 1998.
....communication between tasks (via channels) occurs only at task entry and exit points, resembling the way in which data is communicated between a calling program and a subroutine. Although Fx is good for the design of new task parallel codes, it is not particularly well suited for MDA applications [1]. First, within a single invocation, the Fx language provides excellent support for communication and parallelism. However, between two distinct codes, both written in Fx, the MDA builder is once again responsible for handling communication. In e ect, a static (where modules are never added or ....
....nodes. However, there is no explicit message passing in Orca. Instead, communication is handled by applying user de ned Abstract Data Type (ADT) operations on shared objects. Orca collections are good for coarse grained parallelism as operations on ADTs are always exclusive and indi7 visible [1]. Once again, since Orca is a complete programming language, users are limited to programming in Orca. This does limit the possibility of using legacy codes, and it also prevents users from easily extending the Orca speci cation. The Opus language speci cation was designed for specifying how to ....
[Article contains additional citation context not shown here]
H. Bal and M. Haines, Approaches for Integrating Task and Data Parallelism, Technical Report IR 415, Vrije Universiteit, Amsterdam, December 1996.
....the exploitation of data parallelism. Distributed SASPs give rise to some difficult issues such as proper synchronization of method executions and data exchange as will be discussed in Section 4.4. A good overview of issues relating to the combination of task and data parallelism can be found in [1, 28]. In order to exploit the available resources efficiently, multiple SASPs may reside on a node. The execution of an Opus program starts by executing the main procedure, so that we begin with a single (possibly distributed) SASP. When new SDAs are created, we allocate new SASPs on specific sets of ....
H.E. Bal and M. Haines. Approaches for Integrating Task and Data Parallelism. IEEE Concurrency, 6(3), 1998.
No context found.
Henri E. Bal and Matthew Haines. Approaches for integrating task and data parallelism. IEEE Concurrency, 6(3):74--84, July/ September 1998.
No context found.
H. E. Bal and M. Haines. Approaches for integrating task and data parallelism. IEEE Concurrency, 6(3):74--84, 1998.
No context found.
Henri Bal and Matthew Haines. Approaches for Integrating Task and Data Parallelism. IEEE Concurrency, 6(3):7484, 1998.
No context found.
H. Bal and M. Haines. Approaches for integrating task and data parallelism. IEEE Concurrency, 6(3):74--84, 1998.
No context found.
H. Bal and M. Haines. Approaches for Integrating Task and Data Parallelism. IEEE Concurrency, 6(3):74--84, JulyAugust 1998.
No context found.
H. E. Bal and M. Haines, \Approaches for Integrating Task and Data Parallelism," IEEE Concurrency, July-September 1998.
First 50 documents
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC