A task- and data-parallel programming language based on shared objects

被引:16
|
作者
Ben Hassen, S [1 ]
Bal, HE [1 ]
Jacobs, CJH [1 ]
机构
[1] Vrije Univ Amsterdam, Amsterdam, Netherlands
关键词
data parallelism; shared objects; task parallelism;
D O I
10.1145/295656.295658
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Many programming languages support either task parallelism or data parallelism, but few languages provide a uniform framework for writing applications that need both types of parallelism. We present a programming language and system that integrates task and data parallelism using shared objects. Shared objects may be stored on one processor or may be replicated. Objects may also be partitioned and distributed on several processors. Task parallelism is achieved by forking processes remotely and have them communicate and synchronize through objects. Data parallelism is achieved by executing operations on partitioned objects in parallel. Writing task- and data-parallel applications with shared objects has several advantages. Programmers use the objects as if they were stored in a memory common to all processors. On distributed-memory machines, if objects are remote, replicated, or partitioned, the system takes care of many low-level details such as data transfers and consistency semantics. In this article, we show how to write task- and data-parallel programs with our shared object model. We also describe a portable implementation of the model. To assess the performance of the system, we wrote several applications that use task and data parallelism and executed them on a collection of Pentium Pros connected by Myrinet. The performance of these applications is also discussed in this article.
引用
收藏
页码:1131 / 1170
页数:40
相关论文
共 50 条
  • [1] UC - A SET-BASED LANGUAGE FOR DATA-PARALLEL PROGRAMMING
    BAGRODIA, R
    CHANDY, M
    DHAGAT, M
    [J]. JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1995, 28 (02) : 186 - 201
  • [2] A library-based approach to task parallelism in a data-parallel language
    Foster, I
    Kohr, DR
    Krishnaiyer, R
    Choudhary, A
    [J]. JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1997, 45 (02) : 148 - 158
  • [3] A PROOF SYSTEM FOR A SIMPLE DATA-PARALLEL PROGRAMMING LANGUAGE
    BOUGE, L
    LEGUYADEC, Y
    UTARD, G
    VIROT, B
    [J]. APPLICATIONS IN PARALLEL AND DISTRIBUTED COMPUTING, 1994, 44 : 63 - 72
  • [4] The development of the data-parallel GPU programming language CGiS
    Lucas, Philipp
    Fritz, Nicolas
    Wilhelm, Reinhard
    [J]. COMPUTATIONAL SCIENCE - ICCS 2006, PT 4, PROCEEDINGS, 2006, 3994 : 200 - 203
  • [5] Scout: a data-parallel programming language for graphics processors
    McCormick, Patrick
    Inman, Jeff
    Ahrens, James
    Mohd-Yusof, Jamaludin
    Roth, Greg
    Cummins, Sharen
    [J]. PARALLEL COMPUTING, 2007, 33 (10-11) : 648 - 662
  • [6] Task-parallel versus data-parallel library-based programming in multicore systems
    Andrade, Diego
    Fraguela, Basilio B.
    Brodman, James
    Padua, David
    [J]. PROCEEDINGS OF THE PARALLEL, DISTRIBUTED AND NETWORK-BASED PROCESSING, 2009, : 101 - +
  • [7] THE EXTENDED C-LANGUAGE NCX FOR DATA-PARALLEL PROGRAMMING
    YUASA, T
    KIJIMA, T
    KONISHI, Y
    [J]. SYSTEMS AND COMPUTERS IN JAPAN, 1995, 26 (10) : 13 - 23
  • [8] DATA-PARALLEL PROGRAMMING ON MULTICOMPUTERS
    QUINN, MJ
    HATCHER, PJ
    [J]. IEEE SOFTWARE, 1990, 7 (05) : 69 - 76
  • [9] Data-parallel programming on a reconfigurable parallel computer
    Sen, RK
    Rajesh, K
    Periswamy, M
    Selvakumar, S
    [J]. IETE TECHNICAL REVIEW, 1998, 15 (03) : 181 - 189
  • [10] A GEOMETRICAL DATA-PARALLEL LANGUAGE
    DEKEYSER, JL
    LAZURE, D
    MARQUET, P
    [J]. SIGPLAN NOTICES, 1994, 29 (04): : 31 - 40