weardrive: fast and energy efficient storage for wearables

60
WearDrive: Fast and Energy Efficient Storage for Wearables Reza Shisheie Cleveland State University CIS 601

Upload: others

Post on 16-Apr-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: WearDrive: Fast and Energy Efficient Storage for Wearables

WearDrive: Fast and Energy Efficient Storage for Wearables

Reza Shisheie

Cleveland State University

CIS 601

Page 2: WearDrive: Fast and Energy Efficient Storage for Wearables

2

Wearable Computing: A New Era

……

Page 3: WearDrive: Fast and Energy Efficient Storage for Wearables

2

Wearable Computing: A New Era

……

Fitness/HealthcareNotifications Audio/Video Data Analytics

……

Page 4: WearDrive: Fast and Energy Efficient Storage for Wearables

3

Wearables Are Battery Constrained

+1.5 - 2.5K mAh

Page 5: WearDrive: Fast and Energy Efficient Storage for Wearables

3

Wearables Are Battery Constrained

+1.5 - 2.5K mAh

f (Size & Weight)

+100 – 500 mAh

Page 6: WearDrive: Fast and Energy Efficient Storage for Wearables

3

Wearables Are Battery Constrained

+1.5 - 2.5K mAh

f (Size & Weight)

+100 – 500 mAh

Page 7: WearDrive: Fast and Energy Efficient Storage for Wearables

3

Wearables Are Battery Constrained

+1.5 - 2.5K mAh

f (Size & Weight)

+100 – 500 mAh

Page 8: WearDrive: Fast and Energy Efficient Storage for Wearables

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

Page 9: WearDrive: Fast and Energy Efficient Storage for Wearables

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

Page 10: WearDrive: Fast and Energy Efficient Storage for Wearables

4

Energy Challenge: Wearable Apps Are Data-Intensive

Extended Display

……

Notifications

Page 11: WearDrive: Fast and Energy Efficient Storage for Wearables

Sensors

……

16+ Sensors

4

Energy Challenge: Wearable Apps Are Data-Intensive

Extended Display

……

Notifications

Page 12: WearDrive: Fast and Energy Efficient Storage for Wearables

Sensors

……

16+ Sensors

4

Energy Challenge: Wearable Apps Are Data-Intensive

Extended Display

……

Notifications

Fast & Energy-Efficient

Storage System

Page 13: WearDrive: Fast and Energy Efficient Storage for Wearables

5

Mobile Storage is Energy-Intensive

Flash device is not energy-intensive,

Storage software stack is energy-intensive !

Page 14: WearDrive: Fast and Energy Efficient Storage for Wearables

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 !

Page 15: WearDrive: Fast and Energy Efficient Storage for Wearables

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

Page 16: WearDrive: Fast and Energy Efficient Storage for Wearables

6

Use DRAM as Storage?

• DRAM is fast

• Closer to applications

• No software overhead for isolation and security

OS

Flash

DRAM

Applications

Page 17: WearDrive: Fast and Energy Efficient Storage for Wearables

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

Page 18: WearDrive: Fast and Energy Efficient Storage for Wearables

7

Leveraging Batteries for Non-Volatility

DRAM

Battery

= Non-Volatile

Memory

Page 19: WearDrive: Fast and Energy Efficient Storage for Wearables

7

Leveraging Batteries for Non-Volatility

DRAM

Battery

=BB-RAM

Non-Volatile

Memory

Page 20: WearDrive: Fast and Energy Efficient Storage for Wearables

7

Leveraging Batteries for Non-Volatility

DRAM

Battery

=

No Hardware

Changes

BB-RAM

Non-Volatile

Memory

Page 21: WearDrive: Fast and Energy Efficient Storage for Wearables

7

Leveraging Batteries for Non-Volatility

DRAM

Battery

=

No Hardware

Changes

+Performance

Improvement

BB-RAM

Non-Volatile

Memory

Page 22: WearDrive: Fast and Energy Efficient Storage for Wearables

7

Leveraging Batteries for Non-Volatility

DRAM

Battery

=

No Hardware

Changes

+Data

Durability

+Performance

Improvement

BB-RAM

Non-Volatile

Memory

Page 23: WearDrive: Fast and Energy Efficient Storage for Wearables

8

Our BB-RAM Implementation

BB-RAM page DRAM page

Page 24: WearDrive: Fast and Energy Efficient Storage for Wearables

8

Our BB-RAM Implementation

BB-RAM page DRAM page

BB-RAM Manager

Page 25: WearDrive: Fast and Energy Efficient Storage for Wearables

8

Our BB-RAM Implementation

BB-RAM page DRAM page

BB-RAM Manager

Memory

PressureAutomatically adjust BB-RAM size

according to application requirement

Page 26: WearDrive: Fast and Energy Efficient Storage for Wearables

8

Our BB-RAM Implementation

BB-RAM page DRAM page

BB-RAM Manager

OS

Crashes

Page 27: WearDrive: Fast and Energy Efficient Storage for Wearables

8

Our BB-RAM Implementation

BB-RAM page DRAM page

BB-RAM Manager

OS

DeadlockA watchdog timer to

detect if OS is hung

Page 28: WearDrive: Fast and Energy Efficient Storage for Wearables

9

Leveraging Phone for Capacity/Compute

Wearable applications focus on the latest data,

but how about the old data?

Page 29: WearDrive: Fast and Energy Efficient Storage for Wearables

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?

Page 30: WearDrive: Fast and Energy Efficient Storage for Wearables

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

Page 31: WearDrive: Fast and Energy Efficient Storage for Wearables

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

Page 32: WearDrive: Fast and Energy Efficient Storage for Wearables

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

+

Page 33: WearDrive: Fast and Energy Efficient Storage for Wearables

12

WearDrive Design: Key Value Store

Application

Wearable Phone

FlashEfficient

Wireless

Network

WearCache

BB-RAM

BB-RAM

WearKV

+

Page 34: WearDrive: Fast and Energy Efficient Storage for Wearables

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

+ +

Page 35: WearDrive: Fast and Energy Efficient Storage for Wearables

13

Putting It All Together

Hybrid

BLE/WFD

WearCache WearKV

Wearable Phone

Page 36: WearDrive: Fast and Energy Efficient Storage for Wearables

13

Putting It All Together

Hybrid

BLE/WFD

WearCache WearKV

Wearable Phone

Page 37: WearDrive: Fast and Energy Efficient Storage for Wearables

13

Putting It All Together

Hybrid

BLE/WFD

WearCache

<key, value>

WearKV

Wearable Phone

Page 38: WearDrive: Fast and Energy Efficient Storage for Wearables

13

Putting It All Together

Hybrid

BLE/WFD

WearCache

<key, value>

WearKVNotification

Wearable Phone

Page 39: WearDrive: Fast and Energy Efficient Storage for Wearables

13

Putting It All Together

Hybrid

BLE/WFD

<key, value>

WearCache

<key, value>

WearKVNotification

Wearable Phone

Page 40: WearDrive: Fast and Energy Efficient Storage for Wearables

13

Putting It All Together

Hybrid

BLE/WFD

<key, value>

WearCache

<key, value>

WearKVNotification

Wearable Phone

Page 41: WearDrive: Fast and Energy Efficient Storage for Wearables

13

Putting It All Together

Hybrid

BLE/WFD

WearCache WearKV

Wearable Phone

Page 42: WearDrive: Fast and Energy Efficient Storage for Wearables

13

Putting It All Together

Hybrid

BLE/WFD

WearCache WearKV

RegisterForSensor (Sensor ID)

Wearable Phone

Page 43: WearDrive: Fast and Energy Efficient Storage for Wearables

13

Putting It All Together

Hybrid

BLE/WFD

<key, value>

WearCache WearKV

RegisterForSensor (Sensor ID)

Wearable Phone

Page 44: WearDrive: Fast and Energy Efficient Storage for Wearables

13

Putting It All Together

Hybrid

BLE/WFD

<key, value>

WearCache

<key, value>

WearKV

RegisterForSensor (Sensor ID)

Wearable Phone

Page 45: WearDrive: Fast and Energy Efficient Storage for Wearables

13

Putting It All Together

Hybrid

BLE/WFD

<key, value>

WearCache

<key, value>

WearKV

RegisterForSensor (Sensor ID)

RegisterCallBack (TimeGap,

CallBackFun)

Wearable Phone

Page 46: WearDrive: Fast and Energy Efficient Storage for Wearables

13

Putting It All Together

Hybrid

BLE/WFD

<key, value>

WearCache

<key, value>

WearKV

RegisterForSensor (Sensor ID)

RegisterCallBack (TimeGap,

CallBackFun)

Wearable Phone

Page 47: WearDrive: Fast and Energy Efficient Storage for Wearables

13

Putting It All Together

Hybrid

BLE/WFD

<key, value>

WearCache

<key, value>

WearKVNotification

RegisterForSensor (Sensor ID)

RegisterCallBack (TimeGap,

CallBackFun)

Wearable Phone

Page 48: WearDrive: Fast and Energy Efficient Storage for Wearables

14

WearDrive: Implementation in Real System

Mobile Device

Android OS (version 4.4)

Application

Page 49: WearDrive: Fast and Energy Efficient Storage for Wearables

14

WearDrive: Implementation in Real System

Mobile Device

Android OS (version 4.4)

KV-Store:

WearCache/WearKV

BB-RAM

Manager

Hybrid Network

Management

Application

Page 50: WearDrive: Fast and Energy Efficient Storage for Wearables

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

Page 51: WearDrive: Fast and Energy Efficient Storage for Wearables

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

Page 52: WearDrive: Fast and Energy Efficient Storage for Wearables

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.

Page 53: WearDrive: Fast and Energy Efficient Storage for Wearables

16

WearBench: Benchmarks for Wearables

Examples Parameters

Extended

DisplaySize, inter-arrival time

SensorsSampling rate,

monitoring period

Audio/VideoEncoding rate, quality,

monitoring period

Page 54: WearDrive: Fast and Energy Efficient Storage for Wearables

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

Page 55: WearDrive: Fast and Energy Efficient Storage for Wearables

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)

Page 56: WearDrive: Fast and Energy Efficient Storage for Wearables

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

Page 57: WearDrive: Fast and Energy Efficient Storage for Wearables

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

Page 58: WearDrive: Fast and Energy Efficient Storage for Wearables

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.

Page 59: WearDrive: Fast and Energy Efficient Storage for Wearables

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

Page 60: WearDrive: Fast and Energy Efficient Storage for Wearables

Thanks!

Q&A