近日,中國科學院軟件研究所科研團隊在語言虛擬機內存管理方面取得進展,涉及垃圾回收(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錄用。研究工作得到國家自然科學基金等的支持。
近日,中國科學院軟件研究所科研團隊在語言虛擬機內存管理方面取得進展,涉及垃圾回收(GC)算法的跨語言性能評估以及面向大數據系統的新型垃圾回收器設計。在現代編程語言中,GC負責自動管理內存分配和回收,其......
近日,中國科學院軟件研究所科研團隊在語言虛擬機內存管理方面取得進展,涉及垃圾回收(GC)算法的跨語言性能評估以及面向大數據系統的新型垃圾回收器設計。在現代編程語言中,GC負責自動管理內存分配和回收,其......
近日,詹姆斯•韋伯太空望遠鏡公布了首批太空圖像。按照NASA的說法,這是迄今宇宙最深遠、最清晰的紅外圖像。宇宙深空場,圖片來自NASA作為有史以來最強大的太空望遠鏡,韋伯望遠鏡耗資不......
日本東北大學的研究組開發了基于新一代內存——磁阻式隨機存取內存(MRAM)提升讀寫性能的技術。讀寫信息所需的磁性隧道結(MTJ)元件的輸出大約提高到了以前的2倍(200毫伏)。研究組在元件構成材料組合......
據香港中通社報道,臺灣“國研院”納米(臺稱“奈米”)組件實驗室領先全球,開發出全球最小的9納米功能性電阻式內存(R-RAM)數組晶胞;這個新內存在幾乎不需耗電的情況下,1平方厘米面積內可儲存1個圖書館......
2008年9月15日,下一代商業和科技智能服務行業的領導者inforSenseLtd.宣布,賽默飛世爾科技(紐約證交所代碼:TMO)——全球科學服務領域的領軍者——開始在其蛋白組學ProteomeDi......