The design and implementation of Glasgow distributed Haskell

被引:0
|
作者
Pointon, RF [1 ]
Trinder, PW [1 ]
Loidl, HW [1 ]
机构
[1] Heriot Watt Univ, Dept Elect & Comp Engn, Edinburgh EH14 4AS, Midlothian, Scotland
来源
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
This paper presents the design and implementation of Glasgow distributed Haskell (GdH), a non-strict distributed functional language. The language is intended for constructing scalable, reliable distributed applications, and is Haskell'98 compliant, being a superset of both Concurrent Haskell and Glasgow parallel Haskell (GpH). GdH distributes both pure and impure threads across multiple Processing Elements (PEs), each location is made explicit so a program can use resources unique to PE, and objects including threads can be created on a named PE. The location that uniquely owns a resource is identified by a method of a new Immobile type class. Impure threads communicate and synchronise explicitly to co-ordinate actions on the distributed state, but both pure and impure threads synchronise and communicate implicitly to share data. Limited support for fault tolerant programming is provided by distributed exception handling. The language constructs are illustrated by example, and two demonstration programs give a flavour of GdH programming. Although many distributed functional languages have been designed, relatively few have robust implementations. The GdH implementation fuses and extends two mature implementation technologies: the GUM runtime system (RTS) of GpH and the RTS for Concurrent Haskell. The fused RTS is extended with a small number of primitives from which more sophisticated constructs can be constructed, and libraries are adapted to the distributed context.
引用
收藏
页码:53 / 70
页数:18
相关论文
共 50 条
  • [31] Wizardry in Distributed Participatory Design From Design to Implementation
    Wik, Malin
    Khumalo, Akhona
    HUMAN-COMPUTER INTERACTION. DESIGN AND USER EXPERIENCE, HCI 2020, PT I, 2020, 12181 : 172 - 186
  • [32] Improving performance of distributed Haskell in Mosix clusters
    Collins, L
    Gross, M
    Whitlock, PA
    COMPUTATIONAL SCIENCE - ICCS 2005, PT 3, 2005, 3516 : 983 - 986
  • [33] Lava: Hardware design in Haskell
    Bjesse, P
    Claessen, K
    Sheeran, M
    Singh, S
    ACM SIGPLAN NOTICES, 1999, 34 (01) : 174 - 184
  • [34] On the implementation of SPMD applications using Haskell#
    de Carvalho, FH
    Lins, RD
    Quental, NC
    15TH SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING, PROCEEDINGS, 2003, : 55 - 63
  • [35] A Simple Parallel Implementation of Interaction Nets in Haskell
    Kahl, Wolfram
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2015, (179): : 33 - 47
  • [36] A framework for distributed knowledge management: Design and implementation
    Pirro, Giuseppe
    Mastroianni, Carlo
    Talia, Domenico
    FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2010, 26 (01): : 38 - 49
  • [37] Design and Implementation of a Heterogeneous Distributed Database System
    金志权
    柳诚飞
    孙钟秀
    周晓方
    陈佩佩
    顾建明
    Journal of Computer Science and Technology, 1990, (04) : 363 - 373
  • [38] Design and implementation of a distributed X-multiplexor
    Krantz, AT
    Rhee, I
    Chodrow, SE
    Sult, J
    Hirsch, MD
    Sunderam, VS
    18TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, PROCEEDINGS, 1998, : 372 - 379
  • [39] The Design and Implementation of Distributed File Access Middleware
    Zhang, Buzhong
    Jin, Haidong
    DCABES 2008 PROCEEDINGS, VOLS I AND II, 2008, : 89 - +
  • [40] Design and Implementation of an Efficient Distributed Assessment System
    El-Bakry, Hazem M.
    Mastorakis, Nikos
    PROCEEDINGS OF THE 13TH WSEAS INTERNATIONAL CONFERENCE ON COMPUTERS, 2009, : 566 - +