computing for embedded systems - iiweigao/ece1161/spring2020/lecture6_computi… · local resource...

16
ECE 1161/2161 Embedded Computer System Design 2 Computing for Embedded Systems - II Wei Gao 1

Upload: others

Post on 10-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computing for Embedded Systems - IIweigao/ece1161/spring2020/lecture6_computi… · Local resource constraints at embedded systems Limited battery power Limited local computing capacity

ECE 1161/2161Embedded Computer System Design 2

Computing for Embedded Systems - II

Wei Gao

1

Page 2: Computing for Embedded Systems - IIweigao/ece1161/spring2020/lecture6_computi… · Local resource constraints at embedded systems Limited battery power Limited local computing capacity

How to Address the Local Resource Constraints? Local resource constraints at embedded systems Limited battery power Limited local computing capacity

Low-power designs Hardware

• Advanced VLSI manufacturing• New computing architecture

Software • DVFS• Duty cycling

May not fundamentally remove the limitation!

ECE 1161/2161 Embedded Computer System Design 2 2

Page 3: Computing for Embedded Systems - IIweigao/ece1161/spring2020/lecture6_computi… · Local resource constraints at embedded systems Limited battery power Limited local computing capacity

Better Alternatives Cloud computing Offload the local computing workloads to the cloud

Problem: long latency for data transmission• Most embedded systems are delay-sensitive!

ECE 1161/2161 Embedded Computer System Design 2 3

Cloud processing Local processing

Wirelesstransmission

Page 4: Computing for Embedded Systems - IIweigao/ece1161/spring2020/lecture6_computi… · Local resource constraints at embedded systems Limited battery power Limited local computing capacity

What can we do – Edge Computing

ECE 1161/2161 Embedded Computer System Design 2 4

Computing Storage

DATA CENTERS

END USERS

EDGECLOUD

Page 5: Computing for Embedded Systems - IIweigao/ece1161/spring2020/lecture6_computi… · Local resource constraints at embedded systems Limited battery power Limited local computing capacity

Embedded Applications of Edge Computing

Cloud Gaming

Virtual Reality

Internet of Things

Smart Cities and Communities5

Page 6: Computing for Embedded Systems - IIweigao/ece1161/spring2020/lecture6_computi… · Local resource constraints at embedded systems Limited battery power Limited local computing capacity

Challenges Adaptability Optimized performance? Minimized cost?

User mobility Minimized cost?

?Provisioning for the peak load

user mobility

?Complete move of data and program

6

Page 7: Computing for Embedded Systems - IIweigao/ece1161/spring2020/lecture6_computi… · Local resource constraints at embedded systems Limited battery power Limited local computing capacity

Hierarchical Architecture Adaptability Aggregation of

peak load

User mobility Partial migration

of data and programFlat Edge Cloud

Geo-distributed tree hierarchy 7

Page 8: Computing for Embedded Systems - IIweigao/ece1161/spring2020/lecture6_computi… · Local resource constraints at embedded systems Limited battery power Limited local computing capacity

Optimal Workload Placement How to minimize the

response latency Where to place a workload How much capacity for a

workload

Challenge Delay tradeoff

ECE 1161/2161 Embedded Computer System Design 2 8

Computation delay

Communication delay

Computation Communication

Response latency

Low tiersHigh tiers

Page 9: Computing for Embedded Systems - IIweigao/ece1161/spring2020/lecture6_computi… · Local resource constraints at embedded systems Limited battery power Limited local computing capacity

Supporting User Mobility

ECE 1161/2161 Embedded Computer System Design 2 9

A B

Virtual Machine Virtual Machine

BA

programbinarymemorydata

VM Migration

Page 10: Computing for Embedded Systems - IIweigao/ece1161/spring2020/lecture6_computi… · Local resource constraints at embedded systems Limited battery power Limited local computing capacity

The Big Data Challenge Some embedded systems may be data intensive

ECE 1161/2161 Embedded Computer System Design 2 10

Cloud processing Local processing

Data partitioning

Wirelesstransmission

How to transmit? What to transmit?

Page 11: Computing for Embedded Systems - IIweigao/ece1161/spring2020/lecture6_computi… · Local resource constraints at embedded systems Limited battery power Limited local computing capacity

What to Transmit? Dynamic data partitioning

ECE 1161/2161 Embedded Computer System Design 2 11

Existing work Assuming stationary and

fixed method transitions

Benefit of remote processing

Computation Cost Transmission Cost

Decisions over Program Methods

Modeling on Method Transitions?

ENERGY EFFICIENCY

Page 12: Computing for Embedded Systems - IIweigao/ece1161/spring2020/lecture6_computi… · Local resource constraints at embedded systems Limited battery power Limited local computing capacity

Motivation Dynamic behaviors of run-time

program execution Input data User operation

Open-source Android applications Online profiling within source codes

12

Firefox Chess game Barcode scanner

Dynamics of execution paths

Heterogeneity of method execution times

Page 13: Computing for Embedded Systems - IIweigao/ece1161/spring2020/lecture6_computi… · Local resource constraints at embedded systems Limited battery power Limited local computing capacity

Modeling of Method Transitions

Transitions among program methods: semi-Markov model

Data partitioning approach: a stochastic framework

13

Method execution times

Invocation dependency

System heterogeneity

Order-k

Arbitrary sojourn time distribution

Page 14: Computing for Embedded Systems - IIweigao/ece1161/spring2020/lecture6_computi… · Local resource constraints at embedded systems Limited battery power Limited local computing capacity

Do We Have More Difficult Scenarios?

Data partitioning Move data-inexpensive computations to the cloud

What if the local computations are both data-intensive and computation-intensive?

ECE 1161/2161 Embedded Computer System Design 2 14

Virtual Reality

Page 15: Computing for Embedded Systems - IIweigao/ece1161/spring2020/lecture6_computi… · Local resource constraints at embedded systems Limited battery power Limited local computing capacity

Solutions Exploit the redundancy in computations Whether we can reuse the previous computing results

• Within the same user• Across different users

Memoization

ECE 1161/2161 Embedded Computer System Design 2 15

Page 16: Computing for Embedded Systems - IIweigao/ece1161/spring2020/lecture6_computi… · Local resource constraints at embedded systems Limited battery power Limited local computing capacity

Want to Use Edge Computing? You just need a server!

Existing VM solutions Virtual Box QEMU

Be careful about your programming models

ECE 1161/2161 Embedded Computer System Design 2 16