跳到主要内容
2014年10月14日/15596550.1596589acm会议文章/章节视图摘要出版物页面国际货币基金组织会议记录会议集合
研究论文

并发Haskell中的并发ML库

出版:2009年8月31日出版历史

摘要

在Concurrent ML中,同步抽象可以定义为值并作为值传递,就像ML中的函数一样。这种机制允许一种强大的模块化并发编程风格,称为高阶并发程序设计不幸的是,尚不清楚这种编程风格是否适用于仅支持一阶消息传递的Concurrent Haskell等语言。事实上,Concurrent ML中同步抽象的实现依赖于相当低级的、特定于语言的细节。在本文中,我们建设性地表明,同步抽象可以在只支持一阶消息传递的语言中得到支持。具体来说,我们实现了一个库,使Concurrent Haskell中的ConcurrentML-style编程成为可能。我们从π演算中同步抽象的核心、形式化实现开始。然后,我们扩展此实现,在Concurrent Haskell中对所有ConcurrentML的并发原语(以及更多!)进行编码。我们的实现效率出奇地高,即使没有可能的优化。在几个小型的非正式实验中,我们的库似乎优于OCaml的并发ML风格原语的标准库。我们实现的核心是一个新的分布式同步协议,我们证明它是正确的。与以前并发语言中同步抽象的几个翻译不同,我们仍然忠实于concurrent ML的并发原语的标准语义。例如,我们保留了选择的对称性,这可以表达选择性交流。作为推论,我们确定在分布式机器上实现选择性通信并不比在此类机器上实现一阶消息传递困难。

跳过补充材料部分

补充材料

当前askellonvimeo.mp4中的并发库

英里4

97 MB

参考文献

  1. R.巴格罗迪亚。一种分布式算法,用于实现CSP的通用替代命令。ICDCS’86:分布式计算系统国际会议,第422-427页。IEEE,1986年。谷歌学者谷歌学者
  2. R.博纳特。广义Occam协议。软件实践与经验,16(9):783-7991986。ISSN 0038-0644。谷歌学者谷歌学者数字图书馆数字图书馆
  3. G.N.Buckley和A.Silberschatz。CSP广义输入输出结构的有效实现。美国计算机学会程序设计语言与系统汇刊,5(2):223--2351983。ISSN 0164-0925。谷歌学者谷歌学者数字图书馆数字图书馆
  4. A.Chaudhuri,《Concurrent Haskell中的并发ML库》,2009年。链接到上的证明和实验http://www.cs.umd.edu/avik/projects/cmllch/。谷歌学者谷歌学者
  5. Avik Chaudhuri和Benjamin Franksen。Hackagedb cml包,2009年。可在http://hackage.haskell.org/cgi-bin/hackage-scripts/package/cml。谷歌学者谷歌学者
  6. E.D.德曼。同步信道上非确定性通信的协议。在IPPS/SDP'98:并行和分布式处理研讨会上,第24-30页。IEEE,1998年。谷歌学者谷歌学者数字图书馆数字图书馆
  7. K.Donnelly和M.Fluet。事务性事件。在ICFP'06:函数式编程国际会议中,第124-135页。ACM,2006年。谷歌学者谷歌学者数字图书馆数字图书馆
  8. L.Effinger-Dean、M.Kehrt和D.Grossman。2008年ICFP:函数编程国际会议ML事务事件,第103-114页。ACM,2008年。谷歌学者谷歌学者数字图书馆数字图书馆
  9. M.Flatt和R.B.Findler。Kill-safe同步抽象。在PLDI’04:编程语言设计与实现,第47-58页。ACM,2004年。国际标准图书编号1-58113-807-5。谷歌学者谷歌学者数字图书馆数字图书馆
  10. A.D.戈登。功能编程和输入/输出。剑桥大学,1994年。国际标准书号0-521-47103-6。谷歌学者谷歌学者数字图书馆数字图书馆
  11. C.A.R.霍尔。传达顺序过程。美国计算机学会通讯,21(8):666--6771978。谷歌学者谷歌学者数字图书馆数字图书馆
  12. F.克纳贝。一种用于基于信道的通信的分布式协议。《1992年巴黎:并行架构和语言》,欧洲,第947-948页。施普林格,1992年。国际标准图书编号(ISBN)3-540-55599-4。谷歌学者谷歌学者数字图书馆数字图书馆
  13. X.Leroy、D.Doligez、J.Garrigue、D.Rémy和J.Vouillon。目标凸轮系统文档:事件模块,2008年。可在http://caml.inia.fr/pub/docs/manual-ocaml/libref/Event.html。谷歌学者谷歌学者
  14. R.Milner、J.Parrow和D.Walker。移动进程的微积分,第一部分和第二部分。信息与计算,100(1):1-771992。谷歌学者谷歌学者数字图书馆数字图书馆
  15. S.L.Peyton-Jones和P.Wadler。强制性函数编程。在《POPL'93:编程语言原理》中,第71-84页。ACM,1993年。谷歌学者谷歌学者数字图书馆数字图书馆
  16. S.L.Peyton-Jones、A.D.Gordon和S.Finne。并发哈斯克尔。在《POPL'96:编程语言原理》中,第295-308页。ACM,1996年。谷歌学者谷歌学者数字图书馆数字图书馆
  17. J.H.代表。剑桥大学ML并行编程,1999年。国际标准图书编号0-521-48089-2。谷歌学者谷歌学者数字图书馆数字图书馆
  18. J.H.Reppy。高阶并发。康奈尔大学博士论文,1992年。技术报告92-1852。谷歌学者谷歌学者数字图书馆数字图书馆
  19. J.H.Reppy。一流的同步操作。在TPPP’94:并行编程的理论与实践。斯普林格,1994年。谷歌学者谷歌学者数字图书馆数字图书馆
  20. J.H.Reppy和Y.Xiao。在DAMP'08中实现并行ML:多核编程的声明性方面。ACM,2008年。谷歌学者谷歌学者
  21. G.罗素。Haskell中的事件,以及如何实现它们。在ICFP'01:函数式编程国际会议中,第157-168页。ACM,2001年。国际标准书号1-58113-415-0。谷歌学者谷歌学者数字图书馆数字图书馆
  22. D.Sangiorgi。从圆周率到高阶圆周率,再回来。在TAPSOFT’93:软件开发理论与实践中,第151-166页。施普林格,1993年。谷歌学者谷歌学者数字图书馆数字图书馆
  23. 维基百科。埃拉托斯特尼筛,2009年。请参见http://en.wikipedia.org/wiki/Sieve_of_Eratostennes。谷歌学者谷歌学者

索引术语

  1. 并发Haskell中的并发ML库

          建议

          评论

          马修·马克·亨巴赫

          假设我们有一个潜在动作的宇宙,每个动作都由一个选择器保护。单个选择器可以保护任意数量的操作。行动具有匹配的反行动。每个选择器必须选择其中一个操作,放弃所有其他操作,并且所选择的操作必须是其计数器操作由另一个选择器选择的操作。行动和反行动可以是在特定通道上传输和接收消息。许多并发计算的抽象模型都有同步信道,这需要在传输的两端进行此协议,作为它们的交互机制。本文描述了一种以这种方式选择动作的抽象协议,并将其作为编程语言Concurrent ML(CML)中同步抽象库的模型。然后用π演算(并发理论中常用的最简语言)重新描述该协议。最后,将结果转换为编程语言Concurrent Haskell。ML和Haskell是领先的学术函数式编程语言。ML为函数核心添加了额外的功能,但Haskell坚持使用纯模型,使用巧妙的纯函数方式来表示似乎打破了纯函数编程的零分配原则的构造。如本文所示,将不纯的额外ML特征转换为纯Haskell,是证明纯模型足以满足所有需求的一部分。尽管函数式语言从编程开始就伴随着我们,因为Lisp最近重新关注了这种范式,作为一种逃离日益破旧的Java的途径,这不仅仅是一种学术练习。在线计算评论服务

          访问计算机文献的关键评论在这里

          成为评论员计算评论。

          评论

          登录选项

          检查您是否可以通过登录凭据或您的机构访问本文。

          登录

          完全访问权限

          • 发布于

            封面图片ACM会议
            ICFP’09:第14届ACM SIGPLAN功能编程国际会议记录
            2009年8月
            364页
            国际标准图书编号:9781605583327
            内政部:10.1145/1596550
            • 封面图片ACM SIGPLAN注意事项
              ACM SIGPLAN通知 第44卷第9期
              2009年ICFP
              2009年9月
              343页
              国际标准编号:0362-1340
              EISSN公司:1558-1160
              内政部:10.1145/1631687
              期刊目录

            版权所有©2009 ACM

            如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重ACM以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护]

            出版商

            计算机协会

            美国纽约州纽约市

            出版历史

            • 出版:2009年8月31日

            权限

            请求有关此文章的权限。

            请求权限

            检查更新

            限定符

            • 研究论文

            接受率

            总体验收率333属于1064个提交文件,31%

            即将召开的会议

            24年ICFP
            ACM SIGPLAN功能编程国际会议
            2024年9月9日至13日
            米兰,意大利

          PDF格式

          以PDF文件查看或下载。

          PDF格式

          电子阅读器

          使用eReader联机查看。

          电子阅读器