Upload
martin3193
View
233
Download
1
Embed Size (px)
Citation preview
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!