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

12
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 Axe 03/01/2022 1 M1GP

Upload: martin3193

Post on 13-Feb-2017

133 views

Category:

Education


1 download

TRANSCRIPT

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

M1GP

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)

05/01/2023 1

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

Motivation and Background

05/01/2023 3M1GP

Page 3: 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 locked 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⇒

05/01/2023 4M1GP

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

ImplementationSplitstack-model

05/01/2023 5M1GP

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

ImplementationI/O stack split between systems ⇒ Problems!

Problems1. Process and driver reside separately in two systems2. Latency3. Unexpected disconnects may cause problems to the OS

Solution1. Cross-system mapping2. Reduce number of roundtrips 3. Clean up residuals of I/O and switch to local I/O

05/01/2023 6M1GP

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

ImplementationCross-system memory mapping

05/01/2023 7M1GP

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

ImplementationLatency reduction

Unoptimized Rio Optimized Rio

05/01/2023 8M1GP

Page 8: 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.

05/01/2023 9M1GP

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

EvaluationCamera

05/01/2023 10M1GP

Page 10: 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

05/01/2023 11M1GP

Page 11: 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 iOSInterface for sharing

05/01/2023 12M1GP

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

Thank you!

05/01/2023 13M1GP