Static memory management within bytecode languages on multicore systems

Simone Campanoni, Luca Rocchini
{"title":"Static memory management within bytecode languages on multicore systems","authors":"Simone Campanoni, Luca Rocchini","doi":"10.1109/CHANGE.2011.6172452","DOIUrl":null,"url":null,"abstract":"Object-code virtualization, commonly used to achieve software portability, relies on a virtual execution environment, typically comprising an interpreter used for initial execution of methods, and a JIT for native code generation. The availability of multiple processors on current architectures makes it attractive to perform dynamic compilation in parallel with application execution. The pipeline model is appealing for the compilation tasks that dynamic compilers need to perform, but it can bring deadlock issues when static memories are exploited by the running program. This research suggests a solution that both solves the mentioned problem and reduces the unnecessary compiler threads used to handle static memories. The proposed solution is a self-aware runtime system that both it is able to detect/avoid deadlocks and it adapts the number of compilation threads needed to handle static memories to the current workload.","PeriodicalId":103211,"journal":{"name":"2011 1st International Workshop on Computing in Heterogeneous, Autonomous 'N' Goal-Oriented Environments (CHANGE)","volume":"29 5 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2011-03-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2011 1st International Workshop on Computing in Heterogeneous, Autonomous 'N' Goal-Oriented Environments (CHANGE)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CHANGE.2011.6172452","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Object-code virtualization, commonly used to achieve software portability, relies on a virtual execution environment, typically comprising an interpreter used for initial execution of methods, and a JIT for native code generation. The availability of multiple processors on current architectures makes it attractive to perform dynamic compilation in parallel with application execution. The pipeline model is appealing for the compilation tasks that dynamic compilers need to perform, but it can bring deadlock issues when static memories are exploited by the running program. This research suggests a solution that both solves the mentioned problem and reduces the unnecessary compiler threads used to handle static memories. The proposed solution is a self-aware runtime system that both it is able to detect/avoid deadlocks and it adapts the number of compilation threads needed to handle static memories to the current workload.
多核系统上字节码语言内的静态内存管理
对象代码虚拟化通常用于实现软件可移植性,它依赖于虚拟执行环境,通常包括用于方法初始执行的解释器和用于本机代码生成的JIT。当前体系结构中多处理器的可用性使得在执行应用程序的同时执行动态编译变得非常有吸引力。管道模型对于动态编译器需要执行的编译任务很有吸引力,但是当正在运行的程序利用静态内存时,它可能会带来死锁问题。这项研究提出了一种解决方案,既解决了上述问题,又减少了用于处理静态内存的不必要的编译器线程。建议的解决方案是一个自我感知的运行时系统,它既能够检测/避免死锁,又能够根据当前工作负载调整处理静态内存所需的编译线程数量。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信