Design and Implementation of Kernel Binder Cache to Accelerate Android IPC
Autor: | Seung-Jun Lee, Byungjun Jeon, Jesung Yeon, Eunji Lee, Hyokyung Bahn, Jinseok Im |
---|---|
Rok vydání: | 2016 |
Předmět: |
021110 strategic
defence & security studies business.industry Computer science 0211 other engineering and technologies 02 engineering and technology computer.software_genre Software 020204 information systems Embedded system 0202 electrical engineering electronic engineering information engineering Operating system Virtual device Cache Context manager Android (operating system) business computer Humanoid robot Context switch |
Zdroj: | RTCSA |
DOI: | 10.1109/rtcsa.2016.12 |
Popis: | Android supports a variety of service functions via user-level daemons. As applications invoke these service functions through IPC (Inter-Process Communication), accelerating IPC performance is critical to the responsiveness in Android. However, Android provides long IPC latency of more than 240us due to complicated software stacks between the kernel Binder and the user-level process Context Manager. Specifically, Android supports IPC via a virtual device driver called Binder, but actual tasks for IPC such as service function search and management are performed by a user-level process called Context Manager. This separation is advantageous in terms of modularity and flexibility, but degrades the responsiveness of services significantly due to additional context switching and inefficient request handling. To resolve this issue, we analyze the end-to-end path of Android IPC mechanisms and observe that 55% of IPC latency is due to the communication overhead between Binder and Context Manager. Based on this observation, we design and implement a kernel Binder cache that maintains a hot subset of service function mappings, thereby reducing requests transferred to Context Manager. The proposed Binder cache is implemented on Android 5.0 Lollipop. Measurement studies on Nexus 5 show that our Binder cache accelerates IPC performance twofold compared to current Android. |
Databáze: | OpenAIRE |
Externí odkaz: |