Design and implementation of 8(1/2): A declarative data-parallel language

被引:1
|
作者
Michel, O
机构
来源
COMPUTER LANGUAGES | 1996年 / 22卷 / 2-3期
关键词
data-parallelism; declarative languages; collection-oriented languages; synchronous data-flow; recursive collection; data-distribution and scheduling;
D O I
10.1016/S0096-0551(96)00012-4
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In this article we advocate a declarative approach to data-parallelism to provide both parallelism expressiveness and efficient execution of data intensive applications. 8(1/2), an experimental language combining features of collection and stream oriented languages in a declarative framework, is presented. A new structure, the web, allows the programmer to write programmes as mathematical expressions and to implicitly express data and control parallelism. The first part of this paper proposes a classification of the various expressions of parallelism in programming languages. We show that hybrid execution models combining both data and control parallelism are possible and necessary to get an effective speedup. We sketch the advantage of the declarative style with respect to parallelism expression (application side) and exploitation (compiler side). In the second part we describe the 8(1/2) language and the concepts of collection, stream and web. A web is a multi-dimensional object that represents the successive values of a structured set of variables. Some 8(1/2) programmes are given to show the relevance of the web data structure for simulation applications (a resolution of O.D.P.E. and a simulation in artificial life). Examples of 8(1/2) programmes, involving the dynamic creation and destruction of webs, are also given. Such programmes are necessary for simulations of growing systems. In the third part, the implementation of a compiler restricted to the static part of the language is described. We focus on the process of web equations compilation towards a virtual SIMD machine. We also present the clock calculus, the scheduling inference and the distribution of the computations among the processing elements of a parallel computer. Copyright (C) 1996 Elsevier Science Ltd
引用
收藏
页码:165 / 179
页数:15
相关论文
共 50 条
  • [1] Straightforward translation of DOL systems in the declarative data-parallel language 81/2
    Michel, Olivier
    Lecture Notes in Computer Science, 1123
  • [2] IMPLEMENTATION OF A PORTABLE NESTED DATA-PARALLEL LANGUAGE
    BLELLOCH, GE
    CHATTERJEE, S
    HARDWICK, JC
    SIPELSTEIN, J
    ZAGHA, M
    SIGPLAN NOTICES, 1993, 28 (07): : 102 - 111
  • [3] IMPLEMENTATION OF A PORTABLE NESTED DATA-PARALLEL LANGUAGE
    BLELLOCH, GE
    HARDWICK, JC
    SIPELSTEIN, J
    ZAGHA, M
    CHATTERJEE, S
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1994, 21 (01) : 4 - 14
  • [4] Declarative Data-Parallel Programming with the Accelerator System
    Singh, Satnam
    DAMP'10: PROCEEDINGS OF THE 2010 ACM SIGPLAN WORKSHOP ON DECLARATIVE ASPECTS OF MULTICORE PROGRAMMING, 2010, : 1 - 1
  • [5] A GEOMETRICAL DATA-PARALLEL LANGUAGE
    DEKEYSER, JL
    LAZURE, D
    MARQUET, P
    SIGPLAN NOTICES, 1994, 29 (04): : 31 - 40
  • [6] Introducing dynamicity in the data-parallel language 81/2
    Michel, Olivier
    Lecture Notes in Computer Science, 1123
  • [7] A DATA-PARALLEL SCIENTIFIC MODELING LANGUAGE
    FRANCIS, RS
    MATHIESON, ID
    WHITING, PG
    DIX, MR
    DAVIES, HL
    ROTSTAYN, LD
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1994, 21 (01) : 46 - 60
  • [8] Language bindings for a data-parallel runtime
    Carpenter, B
    Fox, G
    Leskiw, D
    Li, X
    Wen, Y
    Zhang, G
    THIRD INTERNATIONAL WORKSHOP ON HIGH-LEVEL PARALLEL PROGRAMMING MODELS AND SUPPORTIVE ENVIRONMENTS, PROCEEDINGS, 1998, : 42 - 49
  • [9] DATA-PARALLEL PROGRAM DESIGN
    LEWIS, TG
    CURREY, R
    LIU, J
    LECTURE NOTES IN COMPUTER SCIENCE, 1992, 591 : 37 - 53
  • [10] CODE GENERATION FOR A DATA-PARALLEL SIMD LANGUAGE
    BREZANY, P
    SIPKOVA, V
    LECTURE NOTES IN COMPUTER SCIENCE, 1992, 591 : 127 - 138