Poster: RTDroid: A Real-Time Solution with Android.

MobiSys(2017)

引用 0|浏览31
暂无评分
摘要
Since the introduction of the smartphone, mobile computing has become pervasive in our society. Meanwhile, Mobile devices have evolved far beyond the stereotypical personal devices and been employed in various traditional real-time embedded domains. Of the currently available mobile systems, Android has seen the most widespread deployment outside of the consumer electronics market. Its open source nature has prompted its ubiquitous adoption in sensing, medical, robotics, and autopilot applications. However, it is not surprising that Android does not provide any real-time guarantee since it is designed as a mobile system and optimised for mobility, user experience, and energy efficiency. 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, real-time OS 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. Our work examines the internals of Android, the Android programming model, libraries and core systems services. We discuss the implications and challenges of adapting Android constructs and core system services for real-time and present a solution for each, name RTDroid, as a whole system. It is unique in that it redesigns Android's internal components, replaces Android's Dalvik/ART with a real-time Java virtual machine, FijiVM, and leverages off-the-shelf real-time OSes. RTDroid also provides an event-driven programming model for the development of real-time applications. To retain a familiar style of Android application, we make a number of changes to the Android abstractions and how they interact with the underlying system as well as each other. We aim to leave legacy Android code unaffected and expose real-time features to components which have timeliness requirements. More specifically, Our programming model consist of four parts: 1) real-time constructs for real-time expressiveness, 2) a real-time extension to Android's application manifest for the real-time configuration, 3) real-time communication channels that enable construct interactions with real-time semantics, 4) pause-less memory management with scoped memory. To validate the predictability of RTDroid's implementation, we firstly report a number of micro-benchmark results with RTDroid basic constructs. Then, we demonstrate three real-world applications implemented in RTDroid and provide statistic results. Our results illustrate that, at least in these use-cases, the modified platform delivers significantly better time predictability than stock Android and reduces the code complexity as compared to the traditional real-time programming paradigm, RTSJ.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要