主机名:page-component-76fb5796d-5g6vh总加载时间:0渲染日期:2024-04-29T02:20:32.269Z有数据问题:falsehasContentIssue为false

Haskell的可组合调度程序激活

部分: JFP研究文章

剑桥大学出版社在线出版:2016年6月27日

K.C.SIVARAMAKRISHNAN公司
隶属关系:
英国剑桥大学计算机实验室(电子邮件:sk826@cl.cam.ac.uk)
蒂姆·哈里斯
隶属关系:
Oracle实验室,剑桥,剑桥,英国(电子邮件:timothy.l.harris@oracle.com)
西蒙·马洛
隶属关系:
Facebook UK Ltd.,英国伦敦(电子邮件:smarlow@fb.com)
西蒙·佩顿·琼斯
隶属关系:
Microsoft Research,英国剑桥(电子邮件:simonpj@microsoft.com)
权限和权限 [在新窗口中打开]

摘要

核心共享和HTML视图不适用于此内容。但是,由于您有权访问此内容,可以通过“保存PDF”操作按钮获得完整的PDF。

Java或Haskell等现代并发垃圾收集语言的运行时就像一个操作系统:复杂、复杂、性能好,但很难更改。如果更多的运行时系统使用高级语言,那么它将更具模块化和可塑性。在本文中,我们描述了Glasgow Haskell编译器的一种新的并发基底设计,该设计允许并发和并行Haskel程序的多核调度器安全地、模块化地描述为Haskel中的库。该方法依赖于通过调度器激活抽象用户实现调度器的接口,以及使用软件事务内存来提高多核环境中的安全性。

类型
文章
版权
版权所有©剑桥大学出版社2016

工具书类

安德森,T.E.公司。,贝尔沙德,B.编号。,拉佐夫斯卡,E.公司。D&征收,H.M.公司。(1991)调度程序激活:有效的内核支持用户级并行管理。在第13届ACM操作系统原理研讨会论文集,SOSP'91。美国加利福尼亚州太平洋格罗夫:ACM,美国纽约州纽约市,第95-109页。交叉参考谷歌学者
异步. (2016)Jane Street Capital sh异步执行库。网址:https://github.com/janesteet/async。上次访问时间:2016年6月10日。谷歌学者
鲍曼,答:。,巴勒姆,第页。,达冈,体育。,哈里斯,T。,艾萨克斯,对。,彼得,秒。,罗斯科,T。,Schüpbach公司,答:。&辛加尼亚,答:。(2009)多核:一种用于可扩展多核系统的新操作系统架构。ACM SIGOPS第22届操作系统原理研讨会论文集,SOSP’09。美国蒙大拿州大天空:ACM,美国纽约州纽约市,第29-44页。交叉参考谷歌学者
贝尔沙德,B.编号。,钱伯斯,C、。,Eggers公司,秒。,前田,C、。,麦克纳姆,D。,帕迪亚克,第页。,萨维奇,秒。&西雷尔,例如。(1995)SPIN–用于特定于应用程序的操作系统服务的可扩展微内核.Sigops操作器。系统。版次。 29 (1),74——77.交叉参考谷歌学者
布鲁格曼,C、。,瓦德尔,O。&迪布维格,R.K.公司。(1996)表示存在一次性延续的控制。1996年ACM SIGPLAN编程语言设计与实现会议论文集,PLDI’96。美国宾夕法尼亚州费城:ACM,美国纽约州纽约市,第99-107页。交叉参考谷歌学者
查克拉瓦蒂,麻省理工学院。,列辛斯基,对。,佩顿·琼斯,秒。,凯勒,G。&马洛,秒。(2007)数据并行Haskell:状态报告。2007年多核编程声明性方面研讨会论文集,DAMP’07。法国尼斯:ACM,美国纽约,纽约,第10-18页。交叉参考谷歌学者
多兰,秒。,白色,L。,Sivaramakrishnan公司,英国。,亚洛普,J。&马达瓦佩迪,答:。(2015)通过代数效应实现有效并发。OCaml用户和开发人员研讨会,OCaml’15。谷歌学者
迪布维格,R.K.公司。&层次结构,对。(1989)延续的发动机.计算。语言。 14 (2),109——123.交叉参考谷歌学者
弗吕埃,M。,雷尼,M。&Reppy公司,J。(2008)通用并行语言的调度框架。第13届ACM SIGPLAN函数编程国际会议论文集,ICFP'08。加拿大不列颠哥伦比亚省维多利亚市:ACM,美国纽约州纽约市,第241-252页。交叉参考谷歌学者
弗吕埃,M。,雷尼,M。,Reppy公司,J。&,答:。(2010)manticore中的隐式线程并行.J.功能。程序。 20 (5–6),537——576.交叉参考谷歌学者
弗兰普顿,D。,布莱克本,S.M.公司。,,第页。,获得,R·J。,树林,D。,莫斯,J·E·B。&萨利舍夫,S.I.公司。(2009)解密魔法:高级低级编程。在2009年ACM SIGPLAN/SIGOPS虚拟执行环境国际会议记录中,VEE'09。美国华盛顿特区:ACM,美国纽约州纽约市,第81-90页。交叉参考谷歌学者
加洛瓦. (2016)Haskell轻量级虚拟机(HaLVM)。网址:http://corp.galois.com/halfum。上次访问时间:2016年6月10日。谷歌学者
GHC公司. (2016)格拉斯哥-哈斯克尔编译器。网址:http://www.haskell.org/ghc。上次访问时间:2016年6月10日。谷歌学者
哈尔格伦,T。,琼斯,下午。,莱斯利,对。&托贝马奇,答:。(2005)Haskell中操作系统构建的原则方法。第十届ACM SIGPLAN函数编程国际会议论文集,ICFP'05。美国纽约州纽约市:ACM,第116-128页。交叉参考谷歌学者
哈里斯,T。,马洛,秒。,佩顿·琼斯,秒。&赫利希,M。(2005a) 可组合内存事务。第十届ACM SIGPLAN并行编程原理与实践研讨会论文集,PPoPP’05。美国伊利诺伊州芝加哥:ACM,美国纽约州纽约市,第48-60页。交叉参考谷歌学者
哈里斯,T。,马洛,秒。&琼斯,标准普尔。(2005b) 共享内存多处理器上的Haskell。2005年ACM SIGPLAN Haskell研讨会论文集,Haskell'05。爱沙尼亚塔林:ACM,美国纽约州纽约市,第49-61页。交叉参考谷歌学者
哈斯克尔. (2016)Haskell Web开发。网址:http://www.haskell.org/haskellwiki/Web/Servers。上次访问时间:2016年6月10日。谷歌学者
海恩斯,C.T.公司。&弗里德曼,D.P.公司。(1987)用引擎抽象定时抢占.计算。语言。 12 (2),109——121.交叉参考谷歌学者
热点虚拟机. (2016)Java SE热点概览。网址:http://www.oracle.com/technetwork/java/javase/tech/index-jsp-137187.html。上次访问时间:2016年6月10日。谷歌学者
国际商用机器公司. (2016)Java平台标准版(Java SE)。网址:http://www.ibm.com/developerworks/java/jdk/。上次访问时间:2016年6月10日。谷歌学者
,第页。,马洛,秒。,佩顿·琼斯,秒。&托贝马奇,答:。(2007)GHC的轻量级并发原语。2007年哈斯克尔ACM SIGPLAN研讨会会议记录。德国弗莱堡:ACM,美国纽约州纽约市,第107–118页。交叉参考谷歌学者
利普梅耶,B。,查克拉瓦蒂,M。,凯勒,G。&佩顿·琼斯,秒。(2012)使用索引类型指导并行阵列融合。2012年Haskell研讨会论文集,Haskell'12。丹麦哥本哈根:ACM,美国纽约州纽约市,第25-36页。交叉参考谷歌学者
马达瓦佩迪,答:。,莫蒂埃,对。,Rotsos公司,C、。,斯科特,D。,辛格,B。,加沙奈尔,T。,史密斯,秒。,,秒。&克劳克罗夫特,J。(2013)Unikernels:用于云的库操作系统。第十八届编程语言和操作系统体系结构支持国际会议论文集,ASPLOS’13。美国纽约州纽约市:ACM,第461-472页。交叉参考谷歌学者
马达加斯加,答:。&斯科特,D。J。(2014)Unikernel:虚拟图书馆操作系统的兴起.Commun公司。ACM公司 57 (1),61——69.交叉参考谷歌学者
马洛,秒。,琼斯,标准普尔。,莫兰,答:。&Reppy公司,J。(2001)Haskell中的异步异常。2001年ACM SIGPLAN编程语言设计与实现会议论文集,PLDI’01。雪鸟,美国犹他州:ACM,美国纽约州纽约市,第274-285页。交叉参考谷歌学者
马洛,秒。,琼斯,标准普尔。&塔勒尔,西。(2004)使用并发扩展Haskell外部函数接口。2004年ACM SIGPLAN Haskell研讨会论文集,Haskell'04。雪鸟,美国犹他州:ACM,美国纽约州纽约市,第22-32页。交叉参考谷歌学者
马洛,秒。,迈尔,第页。,洛伊德尔,高-宽。,阿斯瓦德,M.K.博士。&特林德,第页。(2010)顺序不再:更好的策略用于并行Haskell。第三届ACM Haskell Haskell'研讨会会议记录,Haskell'10。美国纽约州纽约市:ACM,第91–102页。交叉参考谷歌学者
沼泽,出生日期。,斯科特,M.L.公司。,勒布朗,T·J。&马卡托斯,体育。(1991)一流的用户级线程。第13届ACM操作系统原理研讨会论文集,SOSP’91。美国加利福尼亚州太平洋格罗夫:ACM,美国纽约州纽约市,第110–121页。交叉参考谷歌学者
微软公司. (2016)公共语言运行库(CLR)。网址:http://msdn.microsoft.com/en-us/library/8bs2ecf4(v=vs.110)阿斯派克斯。上次访问时间:2016年6月10日。谷歌学者
菲尔宾,J.F.公司。(1993)现代程序设计语言操作系统的设计.博士论文,耶鲁大学,美国康涅狄格州纽黑文。麻省理工学院订单号:GAX93-29376。谷歌学者
里德,应收账。(1999)将脊椎放回无脊椎无标签G-machine:可恢复黑洞的实现。第十届国际研讨会论文选集。IFL’98。英国伦敦:Springer-Verlag,第186-199页。交叉参考谷歌学者
Reppy公司,J.H。(2007)用ml表示的并发编程.剑桥大学出版社.谷歌学者
Reppy公司,J。,俄罗斯,C.V.公司。&,年。(2009)并行并行ML.第14届ACM SIGPLAN函数编程国际会议论文集,ICFP'09。苏格兰爱丁堡:ACM,美国纽约州纽约市,第257-268页。交叉参考谷歌学者
Shivers公司,O。(1997)连续和线程:用高级语言直接表示机器并发。继续研讨会。谷歌学者
射击. (2016)计算机语言基准测试游戏。网址:http://benchmarksgame.alioth.debian.org/。上次访问时间:2016年6月10日。谷歌学者
Sivaramakrishnan公司,英国。,齐亚雷克,L。&纳森,秒。(2014)MultiMLton:标准ML的多核软件运行时.J.功能。程序.24 (6):613——674.交叉参考谷歌学者
STM图书馆. (2016)控制。同时发生的。STM公司。网址:http://hackage.haskell.org/package/stm-2.1.10/docs/Control-Concurrent-stm.html。上次访问时间:2016年6月10日。谷歌学者
沃伊隆,J。(2008)Lwt:一个协作线程库。2008年ACM SIGPLAN ML研讨会会议记录,ML'08。美国纽约州纽约市:ACM,第3-12页。交叉参考谷歌学者
魔杖,M。(1980)基于连续性的多处理。1980年ACM LISP和函数编程会议记录,LFP’80。美国加利福尼亚州斯坦福大学:ACM,美国纽约州纽约市,第19-28页。交叉参考谷歌学者
威廉姆斯,新泽西州。(2002)NetBSD操作系统上调度器激活的实现。FREENIX轨道会议记录:2002年USENIX年度技术会议。美国加州伯克利:USENIX协会,第99–108页。谷歌学者
提交响应

讨论

尚未发布此文章的讨论。