rio: a system solution to sharing i/o between mobile devices

14
RIO: A SYSTEM SOLUTION FOR SHARING I/O BETWEEN MOBILE DEVICES ARDALAN AMIRI SANI, KEVIN BOOS, MIN HONG YUN, AND LIN ZHONG MOBISYS 2014 Asami – Kawahara lab: Martin Axelsso

Upload: martin3193

Post on 13-Feb-2017

233 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Rio: A system solution to sharing I/O between mobile devices

RIO: A SYSTEM SOLUTION FOR SHARING I/O BETWEEN MOBILE DEVICESARDALAN AMIRI SANI , KEVIN BOOS, MIN HONG YUN, AND LIN ZHONGMOBISYS 2014

Asami – Kawahara lab: Martin Axelsson (R)

Page 2: Rio: A system solution to sharing I/O between mobile devices

Outline Motivation and Background Design/Implementation Evaluation Related research Conclusion

Page 3: Rio: A system solution to sharing I/O between mobile devices

Motivation and Background

Page 4: Rio: A system solution to sharing I/O between mobile devices

Motivation and BackgroundI/O sharing, Why? Why Rio?

Three novel reasons◦ Different possible physical locations and orientations◦ Mobile systems can serve different users◦ System/Device specific I/O Devices

Current Solutions’ limitations◦ Only support custom applications Does not support sharing device itself⇒◦ Does not expose full functionality ◦ I/O class specific Difficult to implement sharing for more I/O devices⇒

Rio overcomes all of these limitations!

Page 5: Rio: A system solution to sharing I/O between mobile devices

ImplementationSplitstack-model

Page 6: Rio: A system solution to sharing I/O between mobile devices

ImplementationI/O stack split between systems ⇒ Problems!

Problems◦ (1)Process and driver reside separately in two systems◦ (2)Latency◦ (3) Unexpected disconnects may cause problems to the OS

Solution◦ (1)Cross-system mapping◦ (2)Reduce number of roundtrips ◦ (3) Clean up residuals of I/O and switch to local I/O

Page 7: Rio: A system solution to sharing I/O between mobile devices

ImplementationCross-system memory mapping

Page 8: Rio: A system solution to sharing I/O between mobile devices

ImplementationLatency reduction

Unoptimized Rio Optimized Rio

Page 9: Rio: A system solution to sharing I/O between mobile devices

ImplementationSafe disconnections

① Client stub transmits heart beat signal to server stub

② Server immediately transmits back acknowledgement.

③ If no acknowledgement  ⇒ Both trigger disconnection

Server:Clean up residuals from disconnect(eg. Close_map handler for each mmapped are)

Client:

① Clean up residuals from disconnect

② Switch to local I/O device if present.

If not, return error messages.

Page 10: Rio: A system solution to sharing I/O between mobile devices

Evaluation Audio

Page 11: Rio: A system solution to sharing I/O between mobile devices

EvaluationCamera

Page 12: Rio: A system solution to sharing I/O between mobile devices

Related work Paradice: Paravirtualization of I/O devices at the device files Other I/O sharing : Remote file systems, network USB devices, wireless displays, remote printers and IP cameras. Con : I/O class specific

Page 13: Rio: A system solution to sharing I/O between mobile devices

ConclusionFuture use cases:

◦ Multi-user gaming, Music sharing, Multi-view video conferencing, Multi-camera photography, “One SIM card,many systems”, etc.

Left to solveSupporting more classes of I/O devicesSupporting iOSSecurity with untrusted systems

Page 14: Rio: A system solution to sharing I/O between mobile devices

Thank you!