TY - GEN
T1 - Design and Implementation of Kernel Binder Cache to Accelerate Android IPC
AU - Yeon, Jesung
AU - Im, Jinseok
AU - Jeon, Byungjun
AU - Lee, Seungjun
AU - Lee, Eunji
AU - Bahn, Hyokyung
N1 - Funding Information:
This research was supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIP) (No.2011-0028825) and the Ministry of Science, ICT & Future Planning (No. 2014R1A1A3053505).
Publisher Copyright:
© 2016 IEEE.
PY - 2016/9/29
Y1 - 2016/9/29
N2 - 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.
AB - 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.
KW - Android
KW - Binder System
KW - IPC (Inter-process Communication)
KW - Mobile System
UR - http://www.scopus.com/inward/record.url?scp=84994494236&partnerID=8YFLogxK
U2 - 10.1109/RTCSA.2016.12
DO - 10.1109/RTCSA.2016.12
M3 - Conference contribution
AN - SCOPUS:84994494236
T3 - Proceedings - 2016 IEEE 22nd International Conference on Embedded and Real-Time Computing Systems and Applications, RTCSA 2016
SP - 22
EP - 28
BT - Proceedings - 2016 IEEE 22nd International Conference on Embedded and Real-Time Computing Systems and Applications, RTCSA 2016
PB - Institute of Electrical and Electronics Engineers Inc.
Y2 - 17 August 2016 through 19 August 2016
ER -