university of massachusetts, amherst triage: balancing energy and quality of service in a...

27
University of Massachusetts, Amherst Triage: Balancing Energy and Quality of Service in a Microserver Nilanjan Banerjee, Jacob Sorber, Mark Corner, Sami Rollins†, Deepak Ganesan http://prisms.cs.umass.edu/hpm University of San Francisco, San Francisco

Post on 19-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

University of Massachusetts, Amherst

Triage: Balancing Energy and Quality of Service in a

Microserver

Nilanjan Banerjee, Jacob Sorber,

Mark Corner, Sami Rollins†, Deepak Ganesan

http://prisms.cs.umass.edu/hpm

†University of San Francisco, San Francisco

Scenario : Deploying Remote Sensor Network

Imagine you want to deploy a large scale sensor network

What do you need ?

lot of sensors of course

also need powerful battery-powered server nodes

These nodes are traditionally called Microservers [Girod et al.]

What do these Microservers do ?

can be used for routing, query processing or storage

can act as a web server, information kiosk

can be used as a router

What does the Microserver Workload look like ?

Workload is often heterogeneous and sporadic

simple requests: store data, synchronize time

complex requests: return all images with >2 objects

Microserver

Microserver

Acoustic Sensors

Video Sensors

Vibration Sensors

Sensor Node

Wireless Link

Conflicting Goals : Performance and Energy !

Microservers have high performance

highly responsive as a conventional server

provide performance guarantees to applications

should have a powerful CPU

should have lots of RAM

Remember that microservers are untethered and battery powered

they must be highly energy-efficient for longer lifetime

however, powerful platforms implies more energy consumption !

How do we design microservers which balance performance and energy !

MicroserverEnergy

Efficiency Performance

Use a single tiered powerful platform

use PSM and DVFS on the powerful platform

system suffers from the huge idle cost of the powerful tier

0 50 100 150 200 250 300 350 400 450 5000.5

1

1.5

2

2.5

Time (secs)

Po

wer

Co

ns

um

ed

(m

W)

Possible Approaches

Possible Approaches

Use a dual tier system (similar to Wake on Wireless [Shih et al.])

tier-0 (Mote) as low power tier, tier-1 (Stargate) as a more powerful tier

keep Stargate in power down mode

wake Stargate whenever a task arrives at Mote

system suffers from a huge transition cost of Stargate

0 50 100 150 200 250 300 350 400 450 5000

0.5

1

1.5

2

2.5

3

Time (secs)

Po

wer

Co

ns

um

ed

(W

)

Our Approach : Triage

Combine powerful platform (Stargate) and low power sensor (Mote)

Try to amortize transition costs by batching tasks at the sensor

The tasks arriving should meet soft real time deadlines

accurately profile execution time for tasks

wake the Stargate platform only for long batch of tasks

if possible execute simple tasks on the Mote

0 100 200 300 400 5000

0.5

1

1.5

2

2.5

3

Time (sec)

Po

wer

Co

ns

um

ed

(W

)

OutlineDesign goals governing the Triage system

Overall Triage Architecture

Triage components

surrogates

profiler

scheduler

Triage Prototype

Experimental Setup and Evaluation

Related Work and Conclusions

Design Goals

Triage architecture should be general

applicable to microservers in wide variety of networks

Triage should be highly responsive to tasks

Triage should provide soft real time QoS guarantee

Triage should be highly energy efficient

maximize lifetime while meeting QoS guarantees

meet lifetime constraints while providing QoS guarantees

Triage Software Architecture

Tasks arrive at tier-0 (Mote), tier-1 (Stargate) is in low power mode

Surrogate services execute tasks or batch (log) them for Stargate

Profiler calculates the amount of energy and time taken by a task

Scheduler decides when to wake Stargate

Storage Surrogate

Query ProcessingSurrogate

Delayed Request Log/ Cache

Wakeup Control

Forwarding Surrogate

Profiler QoS Scheduler

Tier-0 Subsystem (Mote)

Network Requests

Task 2 Task 1

Hardware Power Measurement

Tier-1 Subsystem (Stargate) Task Execution

SurrogatesStorage Surrogate

enables in-network storage applications

accepts reads, writes, and delete requests

request are either served from the cache or inserted into log

Query Processing Surrogate

provides query interface for data stored on the microserver

queries could be simple or complex

either queries are served from tier-0 or are inserted into log

Forwarding Surrogate

efficient routing using tier-0 and tier-1 network interfaces

determines which radio should be used to send the packet

if tier-0 radio is used, packet send immediately

Profiler

Measures the typical execution time and energy usage of tasks

measurements done through hardware assisted profiling

typical execution time : p % of the requests are likely to be satisfied

Online profiling involves two steps

task grouping – classify tasks based on the nature of task

parameter estimation

Parameter Estimation

is the probability distribution of time taken by task

and are the mean and variance of the distribution

applying Chebyschev’s inequality execution time of task is bounded by

)( itf

X

SchedulerUses information about tasks from the profiler

Schedules tasks to minimise the number of Stargate wakeups

We could use different scheduling algorithms under different scenarios

the focus might be to meet maximum deadlines using minimum energy

the aim make the batteries last for a 100 days

Triage uses two example schedulers depending on optimization criterion

deadline scheduler : meets maximum deadlines at minimum energy

lifetime scheduler : satisfy lifetime constraint and meet max deadlines

Example Scheduler : Deadline Scheduler

Scheduler first queries the profiler for execution time for task

Algorithm then computes the Batch time (B )

batch time at which Stargate can be woken up

all tasks and the new task meets its deadline

Let the new task be inserted at position of the sorted list

For each task , sets the latest start time

New Batch time is equal to B = B – L(Ti)

If B less than or equal to 0 tier-1 is woken up

else tier-1 wakeup timer fires after time B

)( iTLiT li1

)}()(),(min{)( 1 iiii TETLTLTL

Deadline Scheduler : ExampleLet there be two batched tasks

TA: deadline=60 sec execution=3 sec

TB: deadline=64 sec execution=3 sec

L(TA) = 57 sec

L(TB) = 61 sec

B = 50 sec

New task TC arrives

TC : deadline=62 sec execution=3 sec

Task is inserted between TA and TB

Pushes task TA forward

New Batch time B = 48 sec

EB=3D=64L=61

EA=3D=60L=57

64 61 5760

W=7

50

B=50

0

EB=3D=64L=61

EA=3D=60L=55

64 61 5558

W=7 B=48

048

EC=3D=62L=58

Example Scheduler : Lifetime Scheduler

Microserver generates tokens

rate of energy constraint

Calculate energy for present batch

If energy greater than tokens collected

do not wake the Stargate

Else wake Stargate to execute batch

new new tokenstokens

Battery Capacity

?

Tasks

Batch Taken

Decide Wakeup of Tier-1

OutlineDesign goals governing the Triage system

Overall Triage Architecture

Triage components

surrogates

profiler

scheduler

Triage Prototype

Experimental Setup and Evaluation

Related Work and Conclusions

Triage Prototype

StargateTelosB

Power Profiling Board

Battery

Evaluating TriageDoes Triage have power savings over other systems

single tiered system which uses PSM and DVFS (PSM-DVFS)

dual tier system based on the Wake-on-Wireless (WoW*)

dual tier system which used batching at tier-0 (Triage-Batch)

What benefit do tier-0 surrogates provide ?

How does the profiler perform ?

Do the scheduler algorithms meet their objective ?

What are the potential bottlenecks in the Triage system ?

Experimental Setup : Camera Sensor Network

CLIENT

BASE STATION

MICROSERVER

SENSOR CAMERA

802.15.4 Link

802.11b Link

PRINT

HELP

ALPHA

SHIFT

ENTERRUN

DG ER FI

AJ BK CL

7M 8N 9O

DG DG DG

DG T 3U

0V .WX Y Z

TAB

% UTILIZATION

HUB/MAU NIC

2BNC4Mb/s

NI-PCI 6251 DAQ

TelosB motes act as sensor cameras

TelosB and laptop acts as client generating image requests for the microserver

Power measurements taken using a NI-PCI 6251 DAQ

Client equipped with both 802.11b and 802.15.4 radios

Profiler Performance

Triage consumes slightly more energy than a batching system

Images arrive at constant rate

Queries arrive at a regular rate

100 150 200 250 3000

200

400

600

800

1000

1200

Average Latency Constraint (sec)

Ave

rag

e P

ow

er C

on

sum

ed (

mW

)

Triage

Triage-Batch

Profiler Performance

Triage system meets more than 90% of all the deadlines

Triage-Batch meets less than 75% of the deadlines

100 150 200 250 3000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Average Latency Constraint (sec)

Per

cen

tag

e o

f D

ead

lin

es m

et

Triage

Triage-Batch

Lifetime Scheduler Performance

0 10 20 30 40 50 600

10

20

30

40

50

60

70

80

90

100

Time (minutes)

Bat

tery

Ca

pac

ity

Rem

ain

ing

(m

Ah

) Lifetime Constraint

Triage

WoW*

PSM-DVFS

Triage meets the lifetime constraint

WoW* and PSM-DVFS batteries die long before the deadline

Initial battery capacity = 100 mAh , lifetime constraint = 1hr

First 30 mins : tasks with long deadlines, 30-60 mins : tasks with short deadlines

System Bottlenecks

The USB transfer energy is a huge bottleneck on Triage !

Triage leads to 300% improvement in battery lifetime

Triage WoW* PSM-DVFS0

200

400

600

800

1000

1200A

vera

ge

Po

wer

Co

nsu

med

(m

W)

TelosB

Suspend

Transition

USB-Transfer

Wifi+compute

Stargate-idle

Related WorkWake-On-Wireless [Shih et al.]

low-power radio receives wakeup messages

requires in-network support

focus on when to wake up

Wireless optimizations [Anand et al.]

Disk Spindown [Helmbold et al.]

Multiple radios [Pering et al.]

Multiple processor cores [Mayo & Ranganathan]

none provide orders-of-magnitude scaling of power

m-Platform [MSR06-142], LEAP [IPSN06] and LEAP2

heterogenous stack-based sensor network platform

no intelligent profiling or scheduling to decide high power tier wakeups

Microserver platforms

throwboxes [infocom 07]

Conclusions

We presented Triage : a highly capable, energy efficient microserver

Triage uses Hierarchical Power Management

integrate multiple independent platforms

pass control between tiers

suspend unneeded tiers

Triage leads to 300% improvement in battery lifetime

Triage meets all lifetime goals and provides probabilistic QoS

Triage used for building highly energy efficient microservers

application in sensor deployment, mobile computing

University of Massachusetts, Amherst

Triage: Balancing Energy and Quality of Service in a

Microserver

Nilanjan Banerjee, Jacob Sorber,

Mark Corner, Sami Rollins†, Deepak Ganesan

http://prisms.cs.umass.edu/hpm

University of San Francisco, San Francisco