- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
MultiDroid: A Novel Solution to Consolidate Interactive Physical
展开查看详情
1 .MultiDroid: A Novel Solution to Consolidate Interactive Physical Android Clients on One Single Computing Platform Bin Yang Intel R&D Center Shoumeng, Yan Intel Labs
2 .Agenda • Background and Scenarios • Solution • Evaluation • Summary and Next
3 .Background • Leverage computing power of modern CPU to consolidate workloads • Requirements come from different scenarios such as Retail, Automotive and Game cloud.
4 .Scenario: Rear Seat Entertainment • HVAC • Video • Music • Game • Map • Conference
5 .Scenario: Cloud Gaming
6 .Scenario: Robot
7 .Scenario: Auto Vending Machine
8 .Solution - MultiDroid • Solutions Comparing • Architecture • Advantages • Implementation
9 .Solutions Comparing MultiDroid
10 .Architecture Hdmi Cable Hdmi Cable Hdmi Cable Hdmi Cable USB Cable USB Cable USB Cable USB Cable Hdmi Hdmi port port Signal splitter Chips Hdmi USB Hdmi USB USB USB port port port port port Hdmi port port User space Instance OS OS OS OS Mgr instance1 instance2 instance3 instance4 Kernel SoC Platform USB Display Sensor CPU GPU Ethernet Controller Controller Chip
11 .Advantages • Lightweight • Supports different Linux-based OS • Little overhead. • Simple I/O sharing solution. • Recovery mechanism • Security Guarantee • Easy Deployment & Maintenance
12 .Implementation: MultiDroid • File System Layout • Kernel • I/O Devices Virtulization • AOSP
13 .File System Layout • Different data partitions for different Android instances. • system.img is shared between different Android instances. • Overlay fs can be used if different system.img is required.
14 .Kernel - Binder Instance 1 Instance 2 Instance N Full Android Full Android Full Android user space stack user space stack user space stack /dev/binder /dev/binder /dev/binder /dev/binder1 /dev/binder2 /dev/binder(n) Kernel
15 .I/O Devices Virtulization • Dedicated I/O devices e.g. Usb Host • Shared I/O devices e.g. GFX, Trusty
16 .I/O - USB Touch Instance 1 Instance 2 Instance N Full Android Full Android Full Android user space stack user space stack user space stack /dev/input /dev/input /dev/input /dev/input0 /dev/input1 /dev/input(n-1) Kernel
17 .I/O – GFX and Display Android Instance N Android Instance 1 SurfaceFlinger MultiDroid Composer(MDC) Gralloc vHAL HWComposer vHAL OpenGL Android X11 Wayland DRM backend Gralloc ES backend backend backend GPU Driver Display Driver Kernel
18 .I/O - Trusty Android Instance N Trusty OS Android Instance 1 KeyMaster Security Security Security Storage KeyMaster Storage Storage Daemon GateKeeper APP1 APP2 GateKeeper IPC RPMB Storage Trusty IPC Trusty IPC Driver Drvier Driver Driver Kernel RPMB AuthKey
19 .AOSP • Low memory Killer • Recovery
20 .Low Memory Killer Android Instance 1 Android Instance N Process A Process A AMS AMS Process B Process B LMKD LMKD Update adj Update adj with weight with weight Send kill event Process A in Ins1 Process B in Ins1 Select Select to-be-killed Process A in Ins2 Module process according to adj Process B in Ins2 Memory monitor Kernel
21 .Recovery Instance 1 Instance N process process process process process process Child process will Child process will Child process Child process send signal to init send signal to init will restart will restart before it is exit before it is exit process process Init process Init process Monitor init process Instance Manager watchDog
22 .Evaluation • Environment setup • Evaluation result
23 .Evaluation Setup • Exclusive test: single active instance while multiple instances are created but in idle state • Concurrent test: system performance where multiple instances run with continuous workload simultaneously • Memory consumption Hardware: Intel mini Kaby Lake PC Intel(R) Core(TM) i5-7260U CPU @ 2.20GHz *2 /HDMI display and touch Software: Android 7.1.2
24 .Result Exclusive : Antutu 1.20 Cold Boot 1.00 1.00 1.00 1.00 0.99 1.00 0.76 0.76 0.80 0.80 0.60 0.60 0.40 0.40 0.20 0.20 0.00 0.00 1 4 8 1 4 8 Memory Consumed(GB) Concurrent: Game FPS 14000000 70 12.8 60 60 12000000 60 10000000 50 40 36 8000000 30 6000000 6.4 20 4000000 3.67 10 2000000 2.3 0 1.4 1 4 8 0 0 5 10 15 20
25 .Summary • Raised the idea to consolidate workloads using container technology. • Designed simple I/O sharing solution. • Implemented POC to consolidate 16 Android Instances in KabyLake Nuc.
26 .Next • Enhance security. • Optimize boot time and memory usage. • Integrate different Linux based OS in one platform. • Explore the possibility to integrate with VM solution.
27 .