跳到主要内容
10.1145/320384.320388acm会议文章/章节视图摘要出版物页面泼洒会议记录会议集合
第条
免费访问

消除Java中不必要的同步

出版:1999年10月1日出版历史

摘要

Java程序对数据结构执行许多同步操作。有些同步是不必要的;特别是,如果一个对象只能由单个线程访问,那么并发访问是不可能的,并且不需要同步。我们描述了发现这种情况的跨过程、流和上下文敏感的数据流分析。然后,全局优化转换将消除这些对象上的同步。对于由SPECjvm98和其他程序组成的十个Java基准测试套件中的每一个程序,我们的系统优化了90%以上包含至少一个同步对象的别名集。因此,同步的动态频率降低了99%。对于两个频繁执行同步的基准测试,此优化将导致36%和20%的加速。

参考文献

  1. 1奥勒·阿格森、大卫·德特利夫斯、亚历克斯·加思韦特、罗斯·克尼佩尔、Y.S.拉马克里希纳和德里克·怀特。实现无处不在同步的高效元锁。《面向对象编程、系统、语言和应用程序学报》(OOPSLA’99),科罗拉多州丹佛,1999年11月1日至5日。谷歌学者谷歌学者数字图书馆数字图书馆
  2. 2乔纳森·奥尔德里奇(Jonathan Aldrich)、克雷格·钱伯斯(Craig Chambers)、埃敏·冈·塞勒(Emin Gun Sirer)和苏珊·艾格斯(Susan Eggers)。用于消除Java程序中不必要同步的静态分析。《面向对象编程、系统、语言和应用程序学报》(OOPSLA’99),科罗拉多州丹佛,1999年11月1日至5日。谷歌学者谷歌学者数字图书馆数字图书馆
  3. 三。大卫·E·培根。快速高效地优化静态类型的面向对象语言。加州大学伯克利分校博士论文,1997年10月。谷歌学者谷歌学者数字图书馆数字图书馆
  4. 4大卫·培根(David F.Bacon)、拉维·科努鲁(Ravi Konuru)、切特·穆尔西(Chet Murthy)和毛里西奥·塞拉诺(Mauricio Serrano)。瘦锁:针对Java的Featherweight同步。载于1998年5月在加拿大蒙特利尔举行的程序设计与实现会议(PLDI'98),第258-268页。谷歌学者谷歌学者数字图书馆数字图书馆
  5. 5布鲁诺·布兰切特。逃逸分析:正确性证明、实现和实验结果。1998年1月19日至21日,加利福尼亚州圣地亚哥,第25届ACM SIGPLAN-SIGACT编程语言原理研讨会(POPL'98)会议记录,第25-37页。谷歌学者谷歌学者数字图书馆数字图书馆
  6. 6J.-D.Choi、M.Gupta、M.Serrano、V.C.Sreedhar和S.Midkiff。Java逃逸分析。在《面向对象编程、系统、语言和应用程序集》(OOPSLA“99)中,科罗拉多州丹佛,1999年11月1日至5日。谷歌学者谷歌学者数字图书馆数字图书馆
  7. 7詹姆斯·科贝特。使用形状分析简化并发Java程序的有限状态模型。技术报告ICS-TR-98-20,夏威夷大学信息与计算机科学系,1998年10月14日。谷歌学者谷歌学者
  8. 8佩德罗·迪尼兹和马丁·里纳德。锁粗化:消除自动并行对象程序中的锁开销。《并行与分布式计算杂志》49(2),1998年3月。谷歌学者谷歌学者数字图书馆数字图书馆
  9. 9朱利安·杜比。对象的自动内联分配。《1997年CM SIGPLAN编程语言设计与实现会议论文集》(PLDI'97),第7-17页,内华达州拉斯维加斯,1997年6月。谷歌学者谷歌学者数字图书馆数字图书馆
  10. 10朱利安·杜比和安德鲁·钱恩。自动对象在线分配技术的评估。《面向对象编程、系统、语言和应用程序学报》(OOPSLA’98),第1-20页,1998年。谷歌学者谷歌学者数字图书馆数字图书馆
  11. 11安德鲁·邓肯(Andrew Duncan)、博格丹·科科塞尔(Bogdan Cocosel)、科斯汀·兰库(Costin lancu)、霍尔格·金特(Holger Kiente)、拉杜·P(Radu P)、乌吉纳(ugina)、乌尔斯·科泽尔(Urs H61zle。OSUIF:SUIF 2.0带对象。1997年8月斯坦福大学SUIF研讨会的概述文件。谷歌学者谷歌学者
  12. 12Robert Fitzgerald、Todd B.Knoblock、Erik Ruf、Bjame Steensgaard和David Tarditi。Marmot:Java优化编译器。微软技术报告,1998年11月。谷歌学者谷歌学者
  13. 13David Gay和Bjarne Steensgaard。Java中的堆栈分配对象。微软技术报告,1998年11月。谷歌学者谷歌学者
  14. 14Rakesh Ghiya和Laurie J.Hendren。它是树、DAG还是循环图?C中堆指向指针的形状分析。1996年1月21日至24日,佛罗里达州圣彼得堡海滩,第23届ACM SIGPLAN-SIGACT编程语言原理研讨会(POPL'96)会议记录,第1-15页。谷歌学者谷歌学者数字图书馆数字图书馆
  15. 15詹姆斯·戈斯林、比尔·乔伊和盖·斯蒂尔。java语言规范。艾迪森·韦斯利:加州伯克利,1996年。谷歌学者谷歌学者数字图书馆数字图书馆
  16. 16Allan Heydon和Marc Najork。Java核心库的性能限制。《1999年ACM爪哇格兰德会议记录》,第35-41页,1999年6月。谷歌学者谷歌学者数字图书馆数字图书馆
  17. 17Java通用库(JGL)。http://www.objectspace.corn/产品/jgl。谷歌学者谷歌学者
  18. 18JavaClass解析库,网址:http://www.inf.fu-berlin.de/dahrn/Java类。谷歌学者谷歌学者
  19. 19JavaCUP解析器生成器,http://www.cs.princeton.edu/-上诉/上诉模式。谷歌学者谷歌学者
  20. 20JLex词汇分析器生成器,http://www.cs.princeton.edu/-appel/modem/j ava/JLex。谷歌学者谷歌学者
  21. 21霍尔格·基恩勒和乌尔斯·霍尔兹勒。j2s:SUIF Java编译器。第二届SUIF编译器研讨会论文集,第8-15页,1997年8月。另请参阅加利福尼亚大学圣巴巴拉分校计算机科学系技术报告TRCS98-18。谷歌学者谷歌学者数字图书馆数字图书馆
  22. 22安德烈亚斯·克莱尔(Andreas Krall)。高效的Java虚拟机实时编译。《并行体系结构和编译技术国际会议论文集》(PACT’98),第12-18页,法国巴黎,1998年10月。谷歌学者谷歌学者数字图书馆数字图书馆
  23. 23Andreas Krall和Mark Probst。监视器和异常:如何高效地实现Java。S.Hassanzadeh和K.Schauser,编辑,ACM 1998高性能网络计算Java研讨会,第15-24页,Palo Alto,1998年3月。ACM。谷歌学者谷歌学者交叉引用交叉引用
  24. 24蒂姆·林德霍姆(Tim Lindholm)和弗兰克·耶林(Frank Yellin)。Java虚拟机规范。Addison-Wesley:加州伯克利,1997年。谷歌学者谷歌学者数字图书馆数字图书馆
  25. 25C.E.麦克道尔。减少Java中的垃圾。1998年9月,ACM SIG-PLAN通知33(9)。谷歌学者谷歌学者数字图书馆数字图书馆
  26. 26Gilles Muller、BArbara Moura、Fabrice Bellard和Charles Consel。Harissa:一个灵活高效的混合字节码和编译码的Java环境。《面向对象技术和系统第三届会议论文集》(COOTS’97),第1-20页,加州伯克利,1997年6月。谷歌学者谷歌学者数字图书馆数字图书馆
  27. 27Cristina Ruggieri和Thomas E Murtagh。动态分配对象的寿命分析。1988年1月13日至15日,加利福尼亚州圣地亚哥,第285-293页,第十五届ACM编程语言原则年会会议记录。谷歌学者谷歌学者数字图书馆数字图书馆
  28. 28拉杜·鲁吉纳和马丁·里纳德。多线程程序的指针分析。1999年5月,佐治亚州亚特兰大,《1999年ACM SIG-PLAN编程语言设计与实现会议记录》(PLDI’99),第77-90页。谷歌学者谷歌学者数字图书馆数字图书馆
  29. 29穆利·萨吉夫(Mooly Sagiv)、托马斯·雷普斯(Thomas Reps)和莱因哈德·威廉姆(Reinhard Wilhelm)。用破坏性更新解决语言中的形状分析问题。1996年1月21日至24日,佛罗里达州圣彼得堡海滩,第23届ACM SIGPLAN-SIGACT编程语言原理研讨会(POPL'96)会议记录,第16-31页。谷歌学者谷歌学者数字图书馆数字图书馆
  30. 30SPEC Java虚拟机基准测试套件。标准绩效评估公司。SPECjvm98文档,1.0版。1998年8月。http://www.spec.org/osgljvm981 j vm98/doc/index.html。谷歌学者谷歌学者
  31. 31罗伯特·威尔逊和莫妮卡·兰姆。用于C程序的高效上下文相关指针分析。1995年ACM SIGPLAN编程语言设计与实现会议记录(PLDI’95),第1-12页,加利福尼亚州拉荷亚,1995年6月18-21日。谷歌学者谷歌学者数字图书馆数字图书馆

索引术语

  1. 消除Java中不必要的同步

          建议

          评论

          登录选项

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

          登录

          完全访问权限

          • 发布于

            封面图片ACM会议
            OOPSLA’99:第14届ACM SIGPLAN面向对象编程、系统、语言和应用会议论文集
            1999年10月
            462页
            国际标准图书编号:1581132387
            内政部:10.1145/320384

            版权所有©1999 ACM

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

            出版商

            计算机协会

            美国纽约州纽约市

            出版历史

            • 出版:1999年10月1日

            权限

            请求有关此文章的权限。

            请求权限

            检查更新

            限定符

            • 第条

            接受率

            1999年OOPSLA纸张接受率30属于152提交文件,20%总体验收率268属于1,244提交文件,22%

            即将召开的会议

            24年飞溅
            ACM SIGPLAN系统、编程、语言和应用国际会议:人文软件
            2024年10月20日至25日
            帕萨迪纳,加利福尼亚州,美国

          PDF格式

          以PDF文件查看或下载。

          PDF格式

          电子阅读器

          使用eReader联机查看。

          电子阅读器