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

Post on 13-Feb-2017

233 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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)

Outline Motivation and Background Design/Implementation Evaluation Related research Conclusion

Motivation and Background

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!

ImplementationSplitstack-model

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

ImplementationCross-system memory mapping

ImplementationLatency reduction

Unoptimized Rio Optimized Rio

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.

Evaluation Audio

EvaluationCamera

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

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

Thank you!

top related