TY - JOUR
T1 - Trinity
T2 - High-Performance and Reliable Mobile Emulation through Graphics Projection
AU - Lin, Hao
AU - Li, Zhenhua
AU - Gao, Di
AU - Liu, Yunhao
AU - Qian, Feng
AU - Xu, Tianyin
AU - Xiao, Bo
AU - Qin, Xiaokang
N1 - This work is supported in part by National Key R&D Program of China under grant 2022YFB4500703, National Natural Science Foundation of China under grant 62332012, and the Ant Group.
PY - 2024/9/20
Y1 - 2024/9/20
N2 - Mobile emulation, which creates full-fledged software mobile devices on a physical PC/server, is pivotal to the mobile ecosystem. Unfortunately, existing mobile emulators perform poorly on graphics-intensive apps in terms of efficiency and compatibility. To address this, we introduce graphics projection, a novel graphics virtualization mechanism that adds a small-size projection space inside the guest memory, which processes graphics operations involving control contexts and resource handles without host interactions. While enhancing performance, the decoupled and asynchronous guest/host control flows introduced by graphics projection can significantly complicate emulators' reliability issue diagnosis when faced with a variety of uncommon or non-standard app behaviors in the wild, hindering practical deployment in production. To overcome this drawback, we develop an automatic reliability issue analysis pipeline that distills the critical code paths across the guest and host control flows by runtime quarantine and state introspection. The resulting new Android emulator, dubbed Trinity, exhibits an average of 97% native hardware performance and 99.3% reliable app support, in some cases outperforming other emulators by more than an order of magnitude.
AB - Mobile emulation, which creates full-fledged software mobile devices on a physical PC/server, is pivotal to the mobile ecosystem. Unfortunately, existing mobile emulators perform poorly on graphics-intensive apps in terms of efficiency and compatibility. To address this, we introduce graphics projection, a novel graphics virtualization mechanism that adds a small-size projection space inside the guest memory, which processes graphics operations involving control contexts and resource handles without host interactions. While enhancing performance, the decoupled and asynchronous guest/host control flows introduced by graphics projection can significantly complicate emulators' reliability issue diagnosis when faced with a variety of uncommon or non-standard app behaviors in the wild, hindering practical deployment in production. To overcome this drawback, we develop an automatic reliability issue analysis pipeline that distills the critical code paths across the guest and host control flows by runtime quarantine and state introspection. The resulting new Android emulator, dubbed Trinity, exhibits an average of 97% native hardware performance and 99.3% reliable app support, in some cases outperforming other emulators by more than an order of magnitude.
KW - graphics interfaces
KW - mobile emulation
KW - virtualization
UR - https://www.scopus.com/pages/publications/85210774330
UR - https://www.scopus.com/pages/publications/85210774330#tab=citedBy
U2 - 10.1145/3643029
DO - 10.1145/3643029
M3 - Article
AN - SCOPUS:85210774330
SN - 0734-2071
VL - 42
JO - ACM Transactions on Computer Systems
JF - ACM Transactions on Computer Systems
IS - 3-4
M1 - 6
ER -