Skip to main content
QUICK REVIEW

[논문 리뷰] Rio: A System Solution for Sharing I/O between Mobile Systems

Ardalan Amiri Sani, Kevin Boos|arXiv (Cornell University)|2013. 12. 17.
Cloud Computing and Remote Desktop Technologies참고 문헌 11인용 수 48
한 줄 요약

Rio는 모바일 디바이스의 시스템 수준 I/O 공유 솔루션으로, 카메라, 마이크, 센서, 모뎀과 같은 I/O 디바이스를 서로 다른 모바일 시스템 간에 디바이스 파일 경계를 중심으로 분할 스택 아키텍처를 통해 수정되지 않은 애플리케이션도 원격으로 액세스할 수 있도록 한다. 오디오, 센서, 모뎀의 경우 근접한 로컬 성능을 달성하며, 카메라 성능은 Wi-Fi 대역폭에 의해 제한된다. 신규 디바이스 지원을 위해 각 I/O 클래스당 450줄 이내의 최소 코드 오버헤드가 필요하다.

ABSTRACT

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 6700 total lines of code and supports four I/O classes with fewer than 450 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, sensors, and modems, 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.

연구 동기 및 목표

  • 수정되지 않은 모바일 애플리케이션이 원격 모바일 시스템의 I/O 디바이스에 액세스할 수 있도록 하는 것.
  • 응용 프로그램 수정 없이도 원격 I/O 디바이스의 전체 기능(구성 및 제어 포함)을 투명하게 노출하는 것.
  • 디바이스 파일 추상화를 통해 새로운 I/O 디바이스 클래스 지원에 필요한 엔지니어링 노력 감소.
  • 스마트폰과 태블릿을 포함한 이종 모바일 시스템 간의 I/O 공유를 지원하는 것.
  • 무선 I/O 공유에서 발생하는 교차 시스템 메모리 액세스, 높은 지연, 연결 불안정성 등의 과제 해결

제안 방법

  • Rio는 I/O 스택을 클라이언트 및 서버 모바일 시스템 간의 디바이스 파일 경계에서 분할하는 분할 스택 I/O 아키텍처를 사용한다.
  • 서로 다른 물리적 메모리에 분산된 프로세스와 디바이스 드라이버 간의 교차 시스템 메모리 매핑을 가능하게 하기 위해 분산 공유 메모리(DSM) 설계를 사용한다.
  • 클라이언트 및 서버 시스템 간의 효율적 협업을 통해 라운드트립 지연을 최소화함으로써 메모리 연산을 최적화한다.
  • 접속 끊김 시 원격 I/O 상태를 정리하고, 가능하면 로컬 I/O로의 패러다임 전환을 통해 연결 회복 능력을 확보한다.
  • I/O 클래스에 종속되지 않는 추상화로 디바이스 파일을 활용하여, 최소한의 클래스별 특화 코드로 다양한 I/O 유형을 지원한다.
  • 기존 운영체제 수준 보호 기반으로 안전한 원격 액세스를 지원하며, 향후 드라이버 샌드박싱 및 클라이언트 데이터 보호를 위한 확장 기능을 고려한다.

실험 결과

연구 질문

  • RQ1수정되지 않은 모바일 애플리케이션이 서로 다른 모바일 시스템 간에 원격 I/O 디바이스에 액세스할 수 있는가?
  • RQ2구성 및 제어 기능을 포함한 디바이스 전체 기능이 투명하게 교차 시스템 방식으로 노출될 수 있는가?
  • RQ3다양한 I/O 디바이스 클래스 간에 최소한의 엔지니어링 노력으로 I/O 공유를 구현할 수 있는가?
  • RQ4무선 네트워크 제약 조건 하에서 원격 I/O 성능이 로컬 I/O 성능과 비교해 어떻게 되는가?
  • RQ5접속 끊김과 같은 동적 네트워크 조건에서도 잔류 상태가 남지 않고 시스템이 안정적으로 작동할 수 있는가?

주요 결과

  • Rio는 디바이스 파일 경계에서 I/O 스택을 추상화함으로써 수정되지 않은 애플리케이션의 원격 I/O 디바이스 액세스를 지원하며, 애플리케이션의 투명성을 보장한다.
  • 카메라 해상도, 노출, 화이트 밸런스 설정과 같은 모든 디바이스 기능이 원격으로 구성되고 액세스 가능하다.
  • 구현에 총 6700줄의 코드가 사용되었으며, 각 I/O 클래스당 450줄 이내로 제한되어 있어 낮은 엔지니어링 오버헤드를 입증한다.
  • 오디오, 센서, 모뎀의 경우 로컬 I/O 성능에 근접한 성능을 달성하여 저지연 통신 최적화가 효과적으로 이루어졌음을 시사한다.
  • 카메라 공유 시 Wi-Fi 대역폭 제약으로 인해 성능 저하가 발생하지만, 향후 고대역폭 무선 표준의 도입으로 이는 개선될 것으로 예상된다.
  • Rio는 스마트폰과 태블릿을 포함한 이종 모바일 시스템 간의 I/O 공유를 지원하며, 접속 끊김 발생 시 로컬 I/O로의 패러다임 전환도 가능하다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.