跳到主要内容
文章
免费访问

密集堆分配程序的内存系统性能

作者信息和声明
出版:1995年8月1日出版历史
跳过抽象节

摘要

使用复制垃圾收集进行堆分配是编程语言的一种通用存储管理技术。人们认为它的存储系统性能较差。为了研究这一点,我们对许多机器上的内存系统的堆分配的内存系统性能进行了深入研究。我们研究了大量使用堆分配的主要功能标准ML程序的性能。我们发现大多数机器都不太支持堆分配。然而,使用适当的内存系统组织,堆分配可以具有良好的性能。对于获得良好性能至关重要的内存系统属性是能够将新对象分配并初始化到缓存中,而不会受到惩罚。这可以通过使用写分配策略逐个放置子块(子块大小为一个字)以及快速页面模式写入或写入缓冲区来实现。对于具有子块放置的缓存,64K或更大的数据缓存的数据缓存开销低于9%;如果没有子块放置,开销通常会高于50%。

工具书类

  1. 阿佩尔,A.W.1987。垃圾收集比堆栈分配更快。Inf.流程。莱特。25, 4, 275-279.谷歌学者谷歌学者
  2. 阿佩尔,A.W.1989。简单的分代垃圾收集和快速分配。柔和。实际。专家。19,2(171-184年2月1日)。谷歌学者谷歌学者
  3. 阿佩尔,A.W.,1990年。运行时系统。L~sp符号。计算。3、4(11月),343-380。谷歌学者谷歌学者
  4. 阿佩尔,A.W.1992。用连续体编译。剑桥大学出版社,马萨诸塞州剑桥。谷歌学者谷歌学者
  5. APPEL,A.W.和JIM,T.Y.,1989年。连续通行,封闭通行风格。第16届美国计算机学会编程语言原理研讨会论文集(德克萨斯州奥斯汀)。ACM,纽约,293-302。谷歌学者谷歌学者
  6. APPEL,A.W.,MATTSON,J.S.和TARDITI,D.1989年。标准ML的词法分析器生成器。与新泽西标准ML一起分发的用户手册。谷歌学者谷歌学者
  7. BALL,T.和LARUS,J.R.1992年。最佳地提供跟踪程序。在第19期程序设计语言原理研讨会上。纽约ACM。谷歌学者谷歌学者
  8. CHEN,J.B.和BERSHAD,g.N.1993年。操作系统结构对内存系统性能的影响。在纽约举行的第14届ACM操作系统原理研讨会上。谷歌学者谷歌学者
  9. CHENE~,C.1970年。非递归列表压缩算法Commun ACM 13,11(11月),677 678。谷歌学者谷歌学者
  10. 克利夫兰,R.、帕罗,J.和斯蒂芬,g.1993。并发工作台:用于验证并发系统的基于语义的工具。ACM事务处理。程序。语言系统。1月15日,36-72日。谷歌学者谷歌学者
  11. 克劳利·W·P、亨德里克森·C·P和鲁迪·T·E·1978。简单代码。技术代表UCID 17715,Lawrence Livermore实验室,加利福尼亚州利弗莫尔,2月。谷歌学者谷歌学者
  12. 柏树。1990年,SPARC R{SC用户等级,第二版,Cypress Semiconductor,加州圣何塞。谷歌学者谷歌学者
  13. 1990年12月a。DS5000/200 KN02系统模块功能规范。加利福尼亚州帕洛阿尔托市数字设备公司。谷歌学者谷歌学者
  14. 1990年12月b。DECStation 3100台式工作站Functzon Specificatzon,第13版,数字设备公司,加利福尼亚州帕洛阿尔托。谷歌学者谷歌学者
  15. 1992年12月。DECchip 21064-AA M~微处理机硬件参考手册,第1版,数字设备公司,马萨诸塞州梅纳德。谷歌学者谷歌学者
  16. EKANADHAM,K.和ARVIND。1987年:简单:未来科学规划的练习。麻省理工学院技术代表计算结构小组备忘录273,马萨诸塞州剑桥,7月。另请参阅IBM/T.J.Watson Research Center Research Rep.12686。谷歌学者谷歌学者
  17. FENICHEL,R.R.和YOCHELSON,J.C.1969年。用于虚拟内存计算机系统Commun的LISP垃圾收集器。ACM 12、11(11月),611-612。谷歌学者谷歌学者
  18. HIEB,R.、DYBVIG,R.K.和BRUGGEMAN,C.1990年。在一级续管的情况下代表控制权。SIGPLAN’90编程语言设计和实现会议记录(纽约州怀特普莱恩斯)。ACM,纽约,66 77。谷歌学者谷歌学者
  19. 希尔,医学博士,1988年。直接映射缓存的情况。计算机21,12(十二月),25-40。谷歌学者谷歌学者
  20. 希尔·M·和史密斯·A·1989。评估CPU缓存中的关联性。IEEE传输。计算。第38页,第12页(12月),1612年1630年。谷歌学者谷歌学者
  21. JouPPI,N.P.1993年。缓存写入策略和性能。第20届计算机体系结构国际研讨会论文集(加利福尼亚州圣地亚哥)。纽约ACM出版社,191 201。谷歌学者谷歌学者
  22. I4ANE,G.和HEINRICI~,J.1992。MIPS RISC体系结构。新泽西州Englewood Cliffs的Prentice-Hall。谷歌学者谷歌学者
  23. 凯斯勒,R.E.~ 3~D HmL,M.D.1992。用于大型实际索引缓存的页面放置算法。ACM事务处理。计算。系统。11月10日,4日,338-359。谷歌学者谷歌学者
  24. KOOPMAN,P.J.、JR.、LEE,P.和SIEWIOREK,D.P.1992年。组合图约简的缓存行为。ACM事务处理。程序。语言系统。265-277年4月14日、2日。谷歌学者谷歌学者
  25. KRANz,D.、KELSE~、R.、REES,J.、HUDAK,P.、PHmBI~、J.、ANo ADAMS,N.1986年。ORBIT:Scheme的优化编译器。在SIGPLAN’86年编译器构建研讨会的会议记录中(加利福尼亚州帕洛阿尔托)。ACM,纽约,219-233。谷歌学者谷歌学者
  26. LARUS,J.R.1990年。抽象执行:一种有效跟踪程序的技术。柔和。实际。专家。1241-1258年12月20日。谷歌学者谷歌学者
  27. 拉鲁斯,J.R.和鲍尔,T.1992。重写可执行文件以测量程序行为。3月,威斯康星大学麦迪逊分校计算机科学系技术代表威斯康星1083。谷歌学者谷歌学者
  28. MmNER,R.、TOFTE,M.和HARPER,R.1990年。标准ML的定义。麻省理工学院出版社,马萨诸塞州剑桥。谷歌学者谷歌学者
  29. PATTERSON,D.A.和HENNESSY,J.L.,1990年。计算机体系结构:定量方法。Morgan Kaufmann,加利福尼亚州圣马特奥。谷歌学者谷歌学者
  30. 彭,C.-J.和苏希,G.S.1989。缓存设计注意事项,以支持具有动态堆分配的语言。科技代表860,威斯康星州麦迪逊威斯康星大学计算机科学系,威斯康辛州麦迪森,7月。谷歌学者谷歌学者
  31. PRZ~S~,S.A.1990年。缓存和内存层次结构设计:一种面向性能的方法。Morgan Kaufmann,加利福尼亚州圣马特奥。谷歌学者谷歌学者
  32. 雷德,约1989年。函数式编程的要素。Addison-Wesley,马萨诸塞州雷丁。谷歌学者谷歌学者
  33. REINHOLD,1993年出生。垃圾收集编程语言的缓存性能。麻省理工学院计算机科学实验室博士论文。谷歌学者谷歌学者
  34. SLATER,M.1991年。PA工作站设置价格/性能记录。微加工。代表5、6(4月)、1。谷歌学者谷歌学者
  35. T~nm,D.和APPEL,A.W.,1990年。ML-YACC,版本2.0。由新泽西州标准ML分发。软件。谷歌学者谷歌学者
  36. TARDITI,D.和DIWAN,A.1993年。分代复制垃圾回收实现的全部成本。在OOPSLA’93记忆管理和垃圾收集研讨会上。纽约ACM。谷歌学者谷歌学者
  37. WAUGH,K.G.、McANDREW,P.和MIC~LSON,G.1990年。函数原型的并行实现:案例研究。英国爱丁堡Heriot-Watt大学计算机科学90/4技术代表。谷歌学者谷歌学者
  38. Wmso~、P.R.、L~、M.S.和MOHER,T.G.1990年。分代垃圾收集的缓存注意事项:大型缓存和集关联缓存的情况。伊利诺伊大学芝加哥分校技术代表EECS-90-5,伊利诺伊州芝加哥,12月。谷歌学者谷歌学者
  39. WmSON,P.R.、L~vr,M.S.和MOHER,T.G.1992年。代垃圾收集的缓存注意事项。1992年ACM Lisp和函数编程会议(加利福尼亚州旧金山)。ACM,纽约,32-42。谷歌学者谷歌学者
  40. ZoRn,B.1991年。垃圾收集对缓存性能的影响。科罗拉多大学博尔德分校技术代表CU-CS-528-91。谷歌学者谷歌学者

索引术语

  1. 密集堆分配程序的内存系统性能

                  建议

                  评论

                  登录选项

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

                  登录

                  完全访问权限

                  PDF格式

                  以PDF文件查看或下载。

                  PDF格式

                  电子阅读器

                  使用eReader联机查看。

                  电子阅读器