基于jvm的Actor框架的自动Actor到线程映射技术

Ganesha Upadhyaya, Hridesh Rajan
{"title":"基于jvm的Actor框架的自动Actor到线程映射技术","authors":"Ganesha Upadhyaya, Hridesh Rajan","doi":"10.1145/2687357.2687367","DOIUrl":null,"url":null,"abstract":"Actor frameworks running on Java Virtual Machine (JVM) platform face two main challenges in utilizing multi-core architectures, i) efficiently mapping actors to JVM threads, and ii) scheduling JVM threads on multi-core. JVM-based actor frameworks allow fine tuning of actors to threads mapping, however scheduling of threads on multi-core is left to the OS scheduler. Hence, efficiently mapping actors to threads is critical for achieving good performance and scalability. In the existing JVM-based actor frameworks, programmers select default actors to threads mappings and iteratively fine tune the mappings until the desired performance is achieved. This process is tedious and time consuming when building large scale distributed applications. We propose a technique that automatically maps actors to JVM threads. Our technique is based on a set of heuristics with the goal of balancing actors computations across JVM threads and reducing communication overheads. We explain our technique in the context of the Panini programming language, which provides capsules as an actor-like abstraction for concurrency, but also explore its applicability to other approaches.","PeriodicalId":436138,"journal":{"name":"Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control","volume":"5 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"10","resultStr":"{\"title\":\"An Automatic Actors to Threads Mapping Technique for JVM-Based Actor Frameworks\",\"authors\":\"Ganesha Upadhyaya, Hridesh Rajan\",\"doi\":\"10.1145/2687357.2687367\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Actor frameworks running on Java Virtual Machine (JVM) platform face two main challenges in utilizing multi-core architectures, i) efficiently mapping actors to JVM threads, and ii) scheduling JVM threads on multi-core. JVM-based actor frameworks allow fine tuning of actors to threads mapping, however scheduling of threads on multi-core is left to the OS scheduler. Hence, efficiently mapping actors to threads is critical for achieving good performance and scalability. In the existing JVM-based actor frameworks, programmers select default actors to threads mappings and iteratively fine tune the mappings until the desired performance is achieved. This process is tedious and time consuming when building large scale distributed applications. We propose a technique that automatically maps actors to JVM threads. Our technique is based on a set of heuristics with the goal of balancing actors computations across JVM threads and reducing communication overheads. We explain our technique in the context of the Panini programming language, which provides capsules as an actor-like abstraction for concurrency, but also explore its applicability to other approaches.\",\"PeriodicalId\":436138,\"journal\":{\"name\":\"Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control\",\"volume\":\"5 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2014-10-20\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"10\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/2687357.2687367\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 4th International Workshop on Programming based on Actors Agents & Decentralized Control","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2687357.2687367","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 10

摘要

运行在Java虚拟机(JVM)平台上的Actor框架在利用多核架构时面临两个主要挑战:i)有效地将Actor映射到JVM线程,ii)在多核上调度JVM线程。基于jvm的actor框架允许对actor到线程映射进行微调,但是多核线程的调度留给操作系统调度程序。因此,将参与者有效地映射到线程对于实现良好的性能和可伸缩性至关重要。在现有的基于jvm的参与者框架中,程序员为线程映射选择默认的参与者,并迭代地微调映射,直到达到期望的性能。在构建大规模分布式应用程序时,这个过程既繁琐又耗时。我们提出了一种自动将actor映射到JVM线程的技术。我们的技术基于一组启发式方法,其目标是在JVM线程之间平衡actor计算并减少通信开销。我们将在Panini编程语言的上下文中解释我们的技术,该语言为并发性提供了类似参与者的抽象,但也探讨了其对其他方法的适用性。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
An Automatic Actors to Threads Mapping Technique for JVM-Based Actor Frameworks
Actor frameworks running on Java Virtual Machine (JVM) platform face two main challenges in utilizing multi-core architectures, i) efficiently mapping actors to JVM threads, and ii) scheduling JVM threads on multi-core. JVM-based actor frameworks allow fine tuning of actors to threads mapping, however scheduling of threads on multi-core is left to the OS scheduler. Hence, efficiently mapping actors to threads is critical for achieving good performance and scalability. In the existing JVM-based actor frameworks, programmers select default actors to threads mappings and iteratively fine tune the mappings until the desired performance is achieved. This process is tedious and time consuming when building large scale distributed applications. We propose a technique that automatically maps actors to JVM threads. Our technique is based on a set of heuristics with the goal of balancing actors computations across JVM threads and reducing communication overheads. We explain our technique in the context of the Panini programming language, which provides capsules as an actor-like abstraction for concurrency, but also explore its applicability to other approaches.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
CAF - the C++ Actor Framework for Scalable and Resource-Efficient Applications Event-Based Analysis of Timed Rebeca Models using SQL Multiple Inheritance in AgentSpeak(L)-Style Programming Languages Fault Tolerant Distributed Computing Using Asynchronous Local Checkpointing Efficient TCTL Model Checking Algorithm for Timed Actors
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1