Yin Yan, Shaun Cosgrove, Varun Anand, Amit Kulkarni, Sree Harsha Konduri, Steven Y. Ko, Lukasz Ziarek
{"title":"Real-time android with RTDroid","authors":"Yin Yan, Shaun Cosgrove, Varun Anand, Amit Kulkarni, Sree Harsha Konduri, Steven Y. Ko, Lukasz Ziarek","doi":"10.1145/2594368.2594381","DOIUrl":null,"url":null,"abstract":"This paper presents RTDroid, a variant of Android that provides predictability to Android applications. Although there has been much interest in adopting Android in real-time contexts, surprisingly little work has been done to examine the suitability of Android for real-time systems. Existing work only provides solutions to traditional problems, including real-time garbage collection at the virtual machine layer and kernel-level real-time scheduling and resource management. While it is critical to address these issues, it is by no means sufficient. After all, Android is a vast system that is more than a Java virtual machine and a kernel. Thus, this paper goes beyond existing work and examines the internals of Android. We discuss the implications and challenges of adapting Android constructs and core system services for real-time and present a solution for each. Our system is unique in that it redesigns Android's internal components, replaces Android's Java VM (Dalvik) with a real-time VM, and leverages off-the-shelf real-time OSes. We demonstrate the feasibility and predictability of our solution by evaluating it on three different platforms---an x86 PC, a LEON3 embedded board, and a Nexus S smartphone. The evaluation results show that our design can successfully provide predictability to Android applications, even under heavy load.","PeriodicalId":131209,"journal":{"name":"Proceedings of the 12th annual international conference on Mobile systems, applications, and services","volume":"7 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-06-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"36","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 12th annual international conference on Mobile systems, applications, and services","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2594368.2594381","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 36
Abstract
This paper presents RTDroid, a variant of Android that provides predictability to Android applications. Although there has been much interest in adopting Android in real-time contexts, surprisingly little work has been done to examine the suitability of Android for real-time systems. Existing work only provides solutions to traditional problems, including real-time garbage collection at the virtual machine layer and kernel-level real-time scheduling and resource management. While it is critical to address these issues, it is by no means sufficient. After all, Android is a vast system that is more than a Java virtual machine and a kernel. Thus, this paper goes beyond existing work and examines the internals of Android. We discuss the implications and challenges of adapting Android constructs and core system services for real-time and present a solution for each. Our system is unique in that it redesigns Android's internal components, replaces Android's Java VM (Dalvik) with a real-time VM, and leverages off-the-shelf real-time OSes. We demonstrate the feasibility and predictability of our solution by evaluating it on three different platforms---an x86 PC, a LEON3 embedded board, and a Nexus S smartphone. The evaluation results show that our design can successfully provide predictability to Android applications, even under heavy load.
本文介绍了RTDroid,它是Android的一个变体,为Android应用程序提供可预测性。尽管人们对在实时环境中采用Android很感兴趣,但令人惊讶的是,很少有人研究Android对实时系统的适用性。现有的工作只提供了传统问题的解决方案,包括虚拟机层的实时垃圾收集和内核级的实时调度和资源管理。虽然解决这些问题至关重要,但这还远远不够。毕竟,Android是一个庞大的系统,不仅仅是一个Java虚拟机和一个内核。因此,本文超越了现有的工作,并研究了Android的内部。我们讨论了实时调整Android结构和核心系统服务的含义和挑战,并提出了各自的解决方案。我们的系统的独特之处在于,它重新设计了Android的内部组件,用实时VM取代了Android的Java VM (Dalvik),并利用了现成的实时操作系统。我们通过在三个不同的平台(x86 PC、LEON3嵌入式板和Nexus S智能手机)上评估我们的解决方案来证明其可行性和可预测性。评估结果表明,我们的设计可以成功地为Android应用程序提供可预测性,即使在高负载下。