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 条
  • [21] Data-Parallel Implementation of Reconfigurable Digital Predistortion on a Mobile GPU
    Ghazi, Amanullah
    Boutellier, Jani
    Anttila, Lauri
    Juntti, Markku
    Valkama, Mikko
    2015 49TH ASILOMAR CONFERENCE ON SIGNALS, SYSTEMS AND COMPUTERS, 2015, : 186 - 191
  • [23] UC - A SET-BASED LANGUAGE FOR DATA-PARALLEL PROGRAMMING
    BAGRODIA, R
    CHANDY, M
    DHAGAT, M
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1995, 28 (02) : 186 - 201
  • [24] A data-parallel implementation of hierarchical N-body methods
    Hu, Y
    Johnsson, SL
    INTERNATIONAL JOURNAL OF SUPERCOMPUTER APPLICATIONS AND HIGH PERFORMANCE COMPUTING, 1996, 10 (01): : 3 - 40
  • [25] THE EXTENDED C-LANGUAGE NCX FOR DATA-PARALLEL PROGRAMMING
    YUASA, T
    KIJIMA, T
    KONISHI, Y
    SYSTEMS AND COMPUTERS IN JAPAN, 1995, 26 (10) : 13 - 23
  • [27] Design and Implementation of a Compiled Declarative Language for Game AI Control
    Cromer, Christopher
    Araneda, Martin
    Rubio-Manzano, Clemente
    APPLIED SCIENCES-BASEL, 2025, 15 (01):
  • [28] A library-based approach to task parallelism in a data-parallel language
    Foster, I
    Kohr, DR
    Krishnaiyer, R
    Choudhary, A
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 1997, 45 (02) : 148 - 158
  • [29] A Library-Based Approach to Task Parallelism in a Data-Parallel Language
    Foster, I.
    Kohr, D. R.
    Krishnaiyer, R.
    Choudhary, A.
    Journal of Parallel and Distributed Computing, 45 (02):
  • [30] SCL-Chan: An asynchronous data-parallel language for irregular algorithms
    Melin, E
    Raffin, B
    Rebeuf, X
    Virot, B
    SECOND INTERNATIONAL WORKSHOP ON HIGH-LEVEL PARALLEL PROGRAMMING MODELS AND SUPPORTIVE ENVIRONMENTS, PROCEEDINGS, 1997, : 64 - 71