近日,中国科学院软件研究所科研团队在语言虚拟机内存管理方面取得进展,涉及垃圾回收(GC)算法的跨语言性能评估以及面向大数据系统的新型垃圾回收器设计。
在现代编程语言中,GC负责自动管理内存分配和回收,其效率直接影响用户程序的性能。目前,学术界和工业界主要通过对比评估单一语言运行环境下的GC实现,来分析性能差异指导GC优化,缺少直接实现不同语言运行环境下的GC性能差异评估的方法。
针对这一不足,研究团队提出了GEAR方法,通过自动构建适用于不同语言运行环境的一致性GC工作负载,实现跨语言GC性能评估。GEAR的核心在于设计了一组与运行环境无关的内存操作原语(MOP),用于描述影响GC行为的关键内存使用信息。GEAR可以将这些MOP程序自动转换为目标语言的代码,并生成一致的GC测试负载。为保证测试负载的真实性,团队对Java虚拟机进行插桩,记录实际Java应用程序执行期间的内存操作,并将其转换为MOP程序,进而适配到其他语言运行环境。
实验表明,GEAR能够在Java、Go和C#三个广泛使用的运行环境生成一致的GC工作负载。基于此,团队对比了这三种语言的GC实现情况,揭示了6项性能差异,并分析了可能原因,为未来GC优化提供了参考依据。
相关成果被ICSE 2025会议录用。研究工作得到国家自然科学基金和中国科学院相关项目的支持。
当前,Apache Flink、Spark等主流大数据框架普遍运行于JVM平台,其内存管理依赖JVM虚拟机的GC算法。然而,大数据应用通常产生大量长生命周期的数据对象,这与传统GC算法针对短生命周期对象优化的设计假设存在差异,导致GC效率低下,影响系统性能。
针对这一问题,研究团队面向大数据系统,设计并提出了新型跨层次垃圾回收器BridgeGC,通过框架层与GC层的协同设计实现内存管理优化。具体来说,BridgeGC在框架源码层面采用极简注解方式标记关键数据的创建和释放点,帮助GC层识别数据对象及其生命周期;BridgeGC在GC层设计了分离式内存布局,将普通对象和大数据对象分区管理,提高内存访问效率;BridgeGC通过自适应GC回收策略,根据对象生命周期动态调整数据处理时期,避免冗余标记等不必要操作。
研究团队将BridgeGC集成至OpenJDK 17的ZGC回收器,并在Apache Flink、Spark等主流大数据系统进行验证。实验数据显示,BridgeGC在保持内存使用效率的同时将GC耗时降低了31%至82%。此外,BridgeGC提升了端到端应用性能,且对业务系统透明,无需修改应用代码。
相关成果被ACM TACO录用。研究工作得到国家自然科学基金等的支持。
11月8日,记者从南方科技大学获悉,该校地球与空间科学系副教授胡佳顺研究团队与南洋理工大学助理教授卢卡·达尔&mid 为落实元首共识、深化教育交流合作,11月9日,中意大学校长对话会在北京大学举行。教育部部长怀进鹏出席对话会并致辞。他表示,中方坚持教育开放发展,愿同包括意大利在内的世界各国扩大学术交流和教育合作规模,积极参与 近日,教育部公布第二批国家市域产教联合体名单,分别是江苏太仓、浙江宁波、浙江义乌、广西南宁、四川宜宾、新疆昌吉等6个市(县)。 教育部为何新布局建设这6家市域产教联合体?联合体如何走 中国教育报-中国教育新闻网讯(特约通讯员 苏勤)为推进国家通用语言文字普及工作,提高原民族语言授课学校教师国家通用语言文字教学水平,11月12日至14日,内蒙古教育厅举办全区原民族语言授课学校教 中国教育报-中国教育新闻网讯(记者 陈朝和)11月6日—7日,由教育部幼儿园园长培训中心、四川省教师发展中心主办的教育部新时代“双名计划”何云竹·陈宴名园长工作室联合研修活动暨第四届全国幼 中国教育报-中国教育新闻网讯(记者 任朝霞)11月11日,以“AI for Science双螺旋引擎驱动科研新范式”为主题的2024科学智能创新论坛在复旦大学枫林校区举行。论坛上,上海科学智能研究院(简称“上智 。本文链接:语言虚拟机内存管理研究取得进展http://www.sushuapos.com/show-12-1510-0.html
声明:本网站为非营利性网站,本网页内容由互联网博主自发贡献,不代表本站观点,本站不承担任何法律责任。天上不会到馅饼,请大家谨防诈骗!若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
上一篇: “百县对百校促就业行动”滁州专场校企供需对接会暨“百校学子滁州行”活动举办
下一篇: 研究通过纳米限域结晶构筑高性能呋喃聚酯