Rio: a system solution for sharing i/o between mobile systems

Mobile systems are equipped with a diverse collection of I/O devices, including cameras, microphones, sensors, and modems. There exist many novel use cases for allowing an application on one mobile system to utilize I/O devices from another. This paper presents Rio, an I/O sharing solution that supports unmodified applications and exposes all the functionality of an I/O device for sharing. Rio's design is common to many classes of I/O devices, thus significantly reducing the engineering effort to support new I/O devices. Our implementation of Rio on Android consists of about 7100 total lines of code and supports four I/O classes with fewer than 500 class-specific lines of code. Rio also supports I/O sharing between mobile systems of different form factors, including smartphones and tablets. We show that Rio achieves performance close to that of local I/O for audio devices, sensors, and modem, but suffers noticeable performance degradation for camera due to network throughput limitations between the two systems, which is likely to be alleviated by emerging wireless standards.

[1]  Gary Scott Delp The architecture and implementation of MEMNET: a high--speed shared-memory computer communication network , 1988 .

[2]  Kai Li,et al.  IVY: A Shared Virtual Memory System for Parallel Computing , 1988, ICPP.

[3]  Anoop Gupta,et al.  The directory-based cache coherence protocol for the DASH multiprocessor , 1990, [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture.

[4]  Willy Zwaenepoel,et al.  Implementation and performance of Munin , 1991, SOSP '91.

[5]  Kai Li,et al.  Heterogeneous Distributed Shared Memory , 1992, IEEE Trans. Parallel Distributed Syst..

[6]  James R. Larus,et al.  Fine-grain access control for distributed shared memory , 1994, ASPLOS VI.

[7]  Paul J. Leach,et al.  A Common Internet File System (CIFS/1.0) Protocol , 1998 .

[8]  Sharon Crawford,et al.  Microsoft Windows NT Server 4.0 オフィシャルマニュアル , 1997 .

[9]  Dave Kinnaman,et al.  Microsoft Windows NT Server 4.0 , 1998 .

[10]  Andy Hopper,et al.  Virtual Network Computing , 1998, IEEE Internet Comput..

[11]  J. Duane Northcutt,et al.  The interactive performance of SLIM: a stateless, thin-client architecture , 1999, SOSP.

[12]  Moon Gi Kang,et al.  Super-resolution image reconstruction: a technical overview , 2003, IEEE Signal Process. Mag..

[13]  Krste Asanovic,et al.  Energy-aware lossless data compression , 2006, TOCS.

[14]  Jason Nieh,et al.  THINC: A Remote Display Architecture for Thin-Client Computing , 2004 .

[15]  Marc Levoy,et al.  High performance imaging using large camera arrays , 2005, ACM Trans. Graph..

[16]  M. Orhon The X Window System , 2005 .

[17]  Brian N. Bershad,et al.  Improving the reliability of commodity operating systems , 2005, TOCS.

[18]  Jason Nieh,et al.  THINC: a virtual display architecture for thin-client computing , 2005, SOSP '05.

[19]  Manoj Pandey,et al.  WirelessUSB: a low power, low latency and interference immune wireless standard , 2006, IEEE Wireless Communications and Networking Conference, 2006. WCNC 2006..

[20]  James D. Herbsleb,et al.  Simplifying cyber foraging for mobile devices , 2007, MobiSys '07.

[21]  B. Hayes Computational Photography , 2008 .

[22]  Lin Zhong,et al.  Micro power management of active 802.11 interfaces , 2008, MobiSys '08.

[23]  corporateName,et al.  Network File System , 2009 .

[24]  Alec Wolman,et al.  MAUI: making smartphones last longer with code offload , 2010, MobiSys '10.

[25]  Ramachandran Ramjee,et al.  PRISM: platform for remote sensing using smartphones , 2010, MobiSys '10.

[26]  Andrea Francini,et al.  The Swiss Army smartphone: cloud-based delivery of USB services , 2011, MobiHeld '11.

[27]  Xu Chen,et al.  COMET: Code Offload by Migrating Execution Transparently , 2012, OSDI.

[28]  Jason Flinn,et al.  Cyber Foraging: Bridging Mobile and Cloud Computing , 2012, Cyber Foraging: Bridging Mobile and Cloud Computing.

[29]  Inseok Hwang,et al.  CoMon: cooperative ambience monitoring platform with continuity and benefit awareness , 2012, MobiSys '12.

[30]  Godmar Back,et al.  VirtuOS: an operating system with kernel virtualization , 2013, SOSP.

[31]  Hui Ma,et al.  Image Deblurring with Blurred / Noisy Image Pairs , 2013 .

[32]  Video: Rio: a system solution for sharing i/o between mobile systems , 2014, MobiSys.

[33]  Lin Zhong,et al.  I/o paravirtualization at the device file boundary , 2014, ASPLOS.

[34]  Zhen Wang,et al.  K2 , 2015, False Summit.