Trinity: High-Performance and Reliable Mobile Emulation through Graphics Projection

  • Hao Lin
  • , Zhenhua Li
  • , Di Gao
  • , Yunhao Liu
  • , Feng Qian
  • , Tianyin Xu
  • , Bo Xiao
  • , Xiaokang Qin

Research output: Contribution to journalArticlepeer-review

Abstract

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.

Original languageEnglish (US)
Article number6
JournalACM Transactions on Computer Systems
Volume42
Issue number3-4
Early online dateSep 20 2024
DOIs
StatePublished - Sep 20 2024

Keywords

  • graphics interfaces
  • mobile emulation
  • virtualization

ASJC Scopus subject areas

  • General Computer Science

Fingerprint

Dive into the research topics of 'Trinity: High-Performance and Reliable Mobile Emulation through Graphics Projection'. Together they form a unique fingerprint.

Cite this