View
1
Download
0
Category
Preview:
Citation preview
WearDrive: Fast and Energy Efficient Storage for Wearables
Reza Shisheie
Cleveland State University
CIS 601
2
Wearable Computing: A New Era
……
2
Wearable Computing: A New Era
……
Fitness/HealthcareNotifications Audio/Video Data Analytics
……
3
Wearables Are Battery Constrained
+1.5 - 2.5K mAh
3
Wearables Are Battery Constrained
+1.5 - 2.5K mAh
f (Size & Weight)
+100 – 500 mAh
3
Wearables Are Battery Constrained
+1.5 - 2.5K mAh
f (Size & Weight)
+100 – 500 mAh
3
Wearables Are Battery Constrained
+1.5 - 2.5K mAh
f (Size & Weight)
+100 – 500 mAh
3
Wearables Are Battery Constrained
+1.5 - 2.5K mAh
f (Size & Weight)
+100 – 500 mAh
Mobile SoC,
OS & SDK
Wearable SoC,
OS & WearSDK
Reduce
Development Cost
3
Wearables Are Battery Constrained
+1.5 - 2.5K mAh
f (Size & Weight)
+100 – 500 mAh
Mobile SoC,
OS & SDK
Wearable SoC,
OS & WearSDK
Reduce
Development Cost
Offload Wearable’s Workload to the Phone
4
Energy Challenge: Wearable Apps Are Data-Intensive
Extended Display
……
Notifications
Sensors
……
16+ Sensors
4
Energy Challenge: Wearable Apps Are Data-Intensive
Extended Display
……
Notifications
Sensors
……
16+ Sensors
4
Energy Challenge: Wearable Apps Are Data-Intensive
Extended Display
……
Notifications
Fast & Energy-Efficient
Storage System
5
Mobile Storage is Energy-Intensive
Flash device is not energy-intensive,
Storage software stack is energy-intensive !
5
Mobile Storage is Energy-Intensive
0
20
40
60
80
100
120
Random Read Random Write Sequential Read Sequential Write
Energ
y O
verh
ead
Facto
rs
4 KB 32 KB
Storage software consumes 80–110x more energy
than Flash [Li et al., FAST’14]
Flash device is not energy-intensive,
Storage software stack is energy-intensive !
5
Mobile Storage is Energy-Intensive
Flash device is not energy-intensive,
Storage software stack is energy-intensive !
Slow Flash:
Increased CPU Idle Time
+
Runtime System
Overhead
+
Data
Encryption
6
Use DRAM as Storage?
• DRAM is fast
• Closer to applications
• No software overhead for isolation and security
OS
Flash
DRAM
Applications
6
Use DRAM as Storage?
• DRAM is fast
• Closer to applications
• No software overhead for isolation and security
OS
Flash
DRAM is volatile, the data durability is a problem !
DRAM
Applications
7
Leveraging Batteries for Non-Volatility
DRAM
Battery
= Non-Volatile
Memory
7
Leveraging Batteries for Non-Volatility
DRAM
Battery
=BB-RAM
Non-Volatile
Memory
7
Leveraging Batteries for Non-Volatility
DRAM
Battery
=
No Hardware
Changes
BB-RAM
Non-Volatile
Memory
7
Leveraging Batteries for Non-Volatility
DRAM
Battery
=
No Hardware
Changes
+Performance
Improvement
BB-RAM
Non-Volatile
Memory
7
Leveraging Batteries for Non-Volatility
DRAM
Battery
=
No Hardware
Changes
+Data
Durability
+Performance
Improvement
BB-RAM
Non-Volatile
Memory
8
Our BB-RAM Implementation
BB-RAM page DRAM page
8
Our BB-RAM Implementation
BB-RAM page DRAM page
BB-RAM Manager
8
Our BB-RAM Implementation
BB-RAM page DRAM page
BB-RAM Manager
Memory
PressureAutomatically adjust BB-RAM size
according to application requirement
8
Our BB-RAM Implementation
BB-RAM page DRAM page
BB-RAM Manager
OS
Crashes
8
Our BB-RAM Implementation
BB-RAM page DRAM page
BB-RAM Manager
OS
DeadlockA watchdog timer to
detect if OS is hung
9
Leveraging Phone for Capacity/Compute
Wearable applications focus on the latest data,
but how about the old data?
9
Leveraging Phone for Capacity/Compute
Writing data to remote memory via WFD is more energy efficient
0
0.1
0.2
0.3
0.4
4 8 16 32
mJ/K
B
IO Size (KB)
Local Flash Remote Memory via WiFi Direct
Two Moto E phones with 802.11 b/g/n
Wearable applications focus on the latest data,
but how about the old data?
10
Reaching the Phone Efficiently
Standby Power Data Transfer
BLE Low 0.41 microjoules/bit
WFD High 0.02 microjoules/bit
BLE for small data transfer, WFD for large data transfer
BLE
WiFi Direct
10
Reaching the Phone Efficiently
Standby Power Data Transfer
BLE Low 0.41 microjoules/bit
WFD High 0.02 microjoules/bit
Use BLE’s connection quality for reference
BLE for small data transfer, WFD for large data transfer
BLE
WiFi Direct
11
Building A Distributed In-Memory Storage System
Application
Wearable Phone
FlashEfficient
Wireless
Network
2 Reduce Flash size reduce $ cost (10%)
Improve performance & save energy1
3 Leverage phone’s resources for wearable
Cache
BB-RAM
BB-RAM
Storage
+
12
WearDrive Design: Key Value Store
Application
Wearable Phone
FlashEfficient
Wireless
Network
WearCache
BB-RAM
BB-RAM
WearKV
+
12
WearDrive Design: Key Value Store
Application
Wearable Phone
FlashEfficient
Wireless
Network
WearCache
BB-RAM
BB-RAM
WearKV
+
Why Key Value
Store?
Focus on
Latest Data
F I F O
Hybrid
Networks
+ +
13
Putting It All Together
Hybrid
BLE/WFD
WearCache WearKV
Wearable Phone
13
Putting It All Together
Hybrid
BLE/WFD
WearCache WearKV
Wearable Phone
13
Putting It All Together
Hybrid
BLE/WFD
WearCache
<key, value>
WearKV
Wearable Phone
13
Putting It All Together
Hybrid
BLE/WFD
WearCache
<key, value>
WearKVNotification
Wearable Phone
13
Putting It All Together
Hybrid
BLE/WFD
<key, value>
WearCache
<key, value>
WearKVNotification
Wearable Phone
13
Putting It All Together
Hybrid
BLE/WFD
<key, value>
WearCache
<key, value>
WearKVNotification
Wearable Phone
13
Putting It All Together
Hybrid
BLE/WFD
WearCache WearKV
Wearable Phone
13
Putting It All Together
Hybrid
BLE/WFD
WearCache WearKV
RegisterForSensor (Sensor ID)
Wearable Phone
13
Putting It All Together
Hybrid
BLE/WFD
<key, value>
WearCache WearKV
RegisterForSensor (Sensor ID)
Wearable Phone
13
Putting It All Together
Hybrid
BLE/WFD
<key, value>
WearCache
<key, value>
WearKV
RegisterForSensor (Sensor ID)
Wearable Phone
13
Putting It All Together
Hybrid
BLE/WFD
<key, value>
WearCache
<key, value>
WearKV
RegisterForSensor (Sensor ID)
RegisterCallBack (TimeGap,
CallBackFun)
Wearable Phone
13
Putting It All Together
Hybrid
BLE/WFD
<key, value>
WearCache
<key, value>
WearKV
RegisterForSensor (Sensor ID)
RegisterCallBack (TimeGap,
CallBackFun)
Wearable Phone
13
Putting It All Together
Hybrid
BLE/WFD
<key, value>
WearCache
<key, value>
WearKVNotification
RegisterForSensor (Sensor ID)
RegisterCallBack (TimeGap,
CallBackFun)
Wearable Phone
14
WearDrive: Implementation in Real System
Mobile Device
Android OS (version 4.4)
Application
14
WearDrive: Implementation in Real System
Mobile Device
Android OS (version 4.4)
KV-Store:
WearCache/WearKV
BB-RAM
Manager
Hybrid Network
Management
Application
14
WearDrive: Implementation in Real System
Mobile Device
Android OS (version 4.4)
KV-Store:
WearCache/WearKV
BB-RAM
Manager
Hybrid Network
Management
WearDrive API
Application
15
Experimental Setup
Emulated wearable device (similar to Samsung Gear)
1.2 GHz Dual-core + 512 MB RAM + BLE 4.0 + WiFi 802.11 b/g/n
Monsoon power monitor
15
Experimental Setup
WearableOnly Use local Flash as storage
WearSDK★ Android Wear SDK
WearDrive In-memory storage system
★Its data layer was expanded to make it support WFD and hybrid network protocol.
16
WearBench: Benchmarks for Wearables
Examples Parameters
Extended
DisplaySize, inter-arrival time
SensorsSampling rate,
monitoring period
Audio/VideoEncoding rate, quality,
monitoring period
17
Local Memory vs. Local Flash (Write)
0
5
10
15
128 256 512 1024
Thr
ough
put (
K T
PS
)
IO Size (Bytes)
WearableOnly WearDrive
1 2 4
1
2
4 threads
0
20
40
60
80
128 256 512 1024
Ene
rgy
(Jou
les)
9x performance improvement, 4x less power
18
Local Memory vs. Local Flash (Read)
2x performance improvement, 1.7x less power
0
5
10
15
20
25
128 256 512 1024
Thr
ough
put (
K T
PS
)
IO Size (Bytes)
WearableOnly WearDrive
12
4 1
2
4 threads
0
1
2
3
4
5
128 256 512 1024
Ene
rgy
(Jou
les)
19
Energy Usage of Sensor Data Aggregation
0
500
1000
1500
2000
2500
3000
WearableOnly WearSDK-BLE WearSDK-WFD WearSDK-HYN WearDrive
Ene
rgy
(Jou
les)
Storage Networking
WearDrive consumes 1.5x less power than WearableOnly,
up to 3x less power than WearSDK
The sensor samples values continuously at 1 Hz for 24 hours
20
Energy Usage of Receiving Notifications
0
2
4
6
8
10
12
5 10 15 20 30 40 50 60
Ene
rgy
(Jou
les)
Interval between two notifications (seconds)
WearSDK-BLE WearSDK-WFD WearSDK-HYN WearDrive
WearDrive saves 1.2 - 3x energy than WearSDK-BLE
21
Compute Offload & Impact on the Phone
Wearable (300 mAh) Phone (2000 mAh)
WearableOnly 27.12% --
WearableOnly
+InMemory13.23% --
WearDrive 0.87% 2.09%
Data analysis with k-means on the data set generated by
16 sensors at 1 Hz for 24 hours.
22
Conclusion
2
In-memory Storage System
with battery-back DRAM (BB-RAM)
Extended Capabilities
leveraging phone’s storage and CPU
1
3Extended Lifetime
3x improvement on battery life time
WearDrive: Storage System for Wearables
†
Thanks!
Q&A
Recommended