You are on page 1of 53

Middleware Solutions For

Cooperative Mobile
Computing
Thesis Proposal
Balasubramanian Seshasayee
Talk Outline
 Motivation
 Thesis Statement
 Mobile Service Overlays
 Design
 Energy Management
 Adaptation to Mobility
 Extension to Virtualized Systems
 Related Work
 Publications
 Timeline
2
Technology Trends
Global sales of mobile phones

Source: Gartner, July 2005 via


windowsfordevices.com

Growing power gap between supply in battery technology and


demand due to rising device performance, complexity,
functionality and multiple antennae.
Strategy Analytics, Battery Technology and Power Management
Conference, 2005.

“Wireless technologies will become cheaper, faster and


increasingly common.”
JISC Technology and Standards Watch, 2005.

3
Motivation

Cooperative Mobile
Computing

4
Challenges and Opportunities
 Challenges:
 Adaptation to mobility-related dynamics
 Managing scarce resources, including energy
 Dealing with heterogeneity

 Opportunities:
 Use cooperation to deal with mobility and to
mitigate device-level constraints
 Offer new capabilities and support new
applications

5
Problem Statement
 Application flow graph mapped onto network nodes
process 2
merge

Input stream Output stream


split

process 3
process 1
MAP

 Design Goals
 Decentralization
 Quick adaptation to dynamics
 Support for autonomic management
 Scalability

6
Limitations in Current
Solutions
 Peer-to-peer adapted to MANETs
 Last hop mobile
 Too high level (use of context)
 Data-centric (ignores computation)

7
Thesis Statement

Next generation dynamic MANET systems enable


cooperative methods for managing limited system
resources to attain applications' end-to-end goals.

Efficient distributed implementations of these


methods can be created with middleware that
combines dynamic code generation and deployment
with a small, flexible, and reusable set of runtime
mechanisms for autonomic middleware and
application management.

8
Key Contributions

 Services to build autonomic management


mechanisms for MANETs
 Mechanisms
 Energy management
 Adaptation to mobility, failures
 Heterogeneous platforms
 Improved support for cooperation, e.g., dynamic
device sharing in virtualized systems
 Representative applications
9
Research Overview
Heterogeneity
& Robotics

Adaptation to
Energy Mobility, Failure
Management Dynamic Device
Sharing in
Virtualized
Systems

Mobile Service
Overlays (MSO)

10
Research Overview
Heterogeneity
& Robotics

Adaptation to
Energy Mobility, Failure
Management Dynamic Device
Sharing in
Virtualized
Systems

Mobile Service
Overlays (MSO)

11
MSO - Design

 MSO constructs an overlay network from the


application flow graph
 Every node runs identical instance of MSO
middleware
 Application flow graph decomposed into
smaller entities
 Local reaction to local changes
 Fast reaction to changes
 Greedy, non-optimal, continuous
12
Generic Management in MSO
• Load balancing

Objective • Energy management


Function
• Failure resilience
• Adaptation to mobility
Monitoring Ruleset

Reconfiguration

MSO

Overlay Network

13
MSO - Chains
 Flow graph decomposed into chains
 Maximal set of sequential vertices and edges in a
flow graph, with a single entry (head) & a single
exit (tail)
 Example: A-B-C-D
A C E
D-E
B D F-G
G-D
G G-H-I
F H
I

14
Multigranular Monitoring
Services
 Vertex level
 Computation, data flow in & out of vertex
 Node level
 CPU & network utilization, neighbors
 Chain level
 End-to-end latency
 Sharing of metrics
 Through RPC methods

15
Multigranular Reconfiguration
Services
 Intra-Chain Remapping
 Vertex Relocation
 Low overhead
 Localized changes

16
Multigranular Reconfiguration
Services
 Intra-Chain Remapping
 Vertex Relocation
 Low overhead
 Localized changes

v v

17
Multigranular Reconfiguration
Services
 Chain Remapping
 Entire chain is freed and redeployed
 More expensive than intra-chain remapping
 Changes affecting a single chain

A B C

 Multi-Chain Remapping
18
Multigranular Reconfiguration
Services
 Chain Remapping
 Entire chain is freed and redeployed
 More expensive than intra-chain remapping
 Changes affecting a single chain

A B C

 Multi-Chain Remapping
19
Implementation

 C/C++
 EVPath / SOAPStone
 (http://www.cc.gatech.edu/systems/projects/EVPath)
 Kernel-AODV
 (http://w3.antd.nist.gov/wctg/aodv_kernel)
 gSOAP
 (http://gsoap2.sourceforge.net)

20
Hardware
 Intel Sitsang Testbed
 PXA255 processor (100-400MHz)
 64 MB RAM
 Linux 2.4.19 for ARM
 802.11b wireless
 MobiEmu to emulate mobility
 (http://mobiemu.sourceforge.net)

21
Microbenchmarks
Costs
2500
2250
2000
1750
Costs (ms)

1500 Deployment (ms)
Remapping (ms)
1250
Relocating (ms)
1000
750
500
A B C
250
0
1 2 3 4 5

Chain length; no. of nodes

22
Research Overview
Heterogeneity
& Robotics

Adaptation to
Energy Mobility, Failure
Management Dynamic Device
Sharing in
Virtualized
Systems

Mobile Service
Overlays (MSO)

23
Reallocation
 Each node queries expected lifetimes of
neighbors
 Offload computationally expensive vertex to
“richest” neighbor
 If latency is affected, remap entire chain
 Non-optimal (greedy)
 Stability
 Polling interval
 Threshold

24
Experimental Setup
Flow graph
(initial mapping)
C
E
A
D

Network

CPU bound
processes,
2 @ 80% utilization,
3 @ 15% Utilization
4KB events, every
1.5s

25
Results
System Lifetime: Smallest node lifetime
Lifetime Parity: Standard deviation of node lifetimes

System Lifetime Lifetime parity


800 90
750
700 80

Standard Deviation (s)


650
System Lifetime (s)

70
600
550 60
500
450 50
Static Static
400
MSO MSO
350 40
300
250 30
200
20
150
100 10
50
0 0
1000 2000 3000 4000 5000 1k 2k 3k 4k 5k
Initial Energy (J) Initial Energy (J)

26
Dynamic Resource
Reclaiming
 Slack Reclaiming

C slack = δ
A B D
E G

N5

N1 N4
N2 δ1 = δ – t(E)

N3

27
Dynamic Resource
Reclaiming
 Slack Reclaiming

δ2
C δ1
slack = δ
A B D
E G

N5

N1 N4
N2 δ1 = δ – t(E)
δ2 = δ1 – t(D)
N3

28
Dynamic Resource
Reclaiming
 Slack Reclaiming

δ2
δ3 C δ1
slack = δ
A B D
E G

N5

N1 N4
N2 δ1 = δ – t(E)
δ2 = δ1 – t(D)
N3 δ3 = δ2 – t(A)

29
Slack Reclaiming

 Dependencies affect slack reclaiming

 Closer to sink, more opportunity


 Also quicker reaction if negative slack

30
Slack Reclaiming - Results
1.12 MSO, 40%
MSO, 60%
MSO, 80%
Optimal 40%
1.1 Optimal 60%
Optimal, 80%

1.08
Normalized Lifetime

1.06

1.04

1.02

0.98
3000 4000 5000 6000 7000 8000 9000 10000
Slack available (ms)

31
Research Overview
Heterogeneity
& Robotics

Adaptation to
Energy Mobility, Failure
Management Dynamic Device
Sharing in
Virtualized
Systems

Mobile Service
Overlays (MSO)

32
Robotics Application
 Study effect of algorithms on application
metrics

odometry motion commands


Localization Navigation

Edge
Detection
from camera Bayesian decisions
Image
Inference
Blob finding

33
Heterogeneity

 Cooperation among heterogeneous platforms

 Motorola EZX phone


 Sitsang platform
 x86 laptop

34
Research Overview
Heterogeneity
& Robotics

Adaptation to
Energy Mobility, Failure
Management Dynamic Device
Sharing in
Virtualized
Systems

Mobile Service
Overlays (MSO)

35
Adaptation to Mobility:
Overview
 On detecting neighbor loss
 If neighbor is alive (has just moved), determine if
common chains need to be remapped
 If neighbor is dead, reconstruct list of chains
affected, remap those chains
 On detecting new neighbor
 If any routes change due to the new node, remap
chains affected by the change

36
Adaptation Algorithm

 Monitors
 List of neighbors
 Event delivery failure
 Reconfiguration
 Only affected chains

 Minimize ‘downtime’

37
Research Overview
Heterogeneity
& Robotics

Adaptation to
Energy Mobility, Failure
Management Dynamic Device
Sharing in
Virtualized
Systems

Mobile Service
Overlays (MSO)

38
Device Sharing

Process 1
640x480, grayscale

39
Device Sharing

640x480, grayscale

Scaling

Process 1 Process 2
640x480, grayscale 320x240, grayscale

40
Device Sharing

640x480, color

Grayscaling
640x480, grayscale

Scaling

Process 3 Process 1 Process 2


640x480, color 640x480, grayscale 320x240, grayscale

41
Extension to Virtualized
Systems

/dev/video1
/dev/video2

MSO based
sharing VM 1 VM 2

Management User
Domain Domains

Hypervisor

 Enables higher level services based on sharing to be built on top


 Main challenge: Flow graph is not constant

42
Related Work (1/2)

 Middleware
 Expeerience [Peer-to-peer Computing, ’03]
 Solar [Pervasive Computing, ‘02]
 Smart Messages [Trans. On Mobile Computing,
‘07]
 Opportunistic Overlays [Middleware, ’05]
 Robot middleware
 Miro [Trans. On Robotics & Automation, ‘02]
 Distr. Mobile Robot App. Infrastructure [IROS, ’03]

43
Related Work (2/2)
 Energy management
 MagnetOS [Mobisys, ’05]
 DFuse [Embedded Networked Sensor Systems, ’03]
 Energy-Aware Traffic Shaping [RTAS, ’04]
 Multimedia
 DFuse [Embedded Networked Sensor Systems, ’03]
 Indiva [MMCN, ’04]
 Irisnet [Pervasive Computing, ’03]
 Ninja [Computer Networks, ’01]
 Sensor Networks
 MiLAN [IEEE Network, ’04]
 Impala [PPoPP, ’03]

44
Relevant Publications

 Seshasayee, B., Nathuji, R. and Schwan, K., “Energy-aware


Mobile Service Overlays: Cooperative Dynamic Power
Management in Distributed Mobile Systems”, ICAC, 2007.

 Seshasayee, B. and Schwan, K., “Mobile Service Overlays:


Reconfigurable Middleware for MANETs”, MobiShare, 2006.

 Raj, H., Seshasayee, B., O’Hara, K., Nathuji, R., Schwan, K. and
Balch, T., “Spirits: Using Virtualization and Pervasiveness to
Manage Mobile Robot Software Systems”, SelfMan, 2006.

45
Other Publications
 Energy Management
 Seshasayee, B. and Schwan, K., “Energy-Efficient Device Scheduling through Contextual
Timeouts”, poster, ISLPED, 2007.
 Chakrapani, L., Akgul, B., Cheemalavagu, S., Korkmaz, P., Palem, K. and Seshasayee, B., “Ultra
Efficient Embedded SOC Architectures based on Probabilistic CMOS Technology”, DATE, 2006.
 Nathuji, R., Seshasayee, B. and Schwan, K., “Combining Compiler and Operating System Support
for Energy Efficient I/O on Embedded Platforms”, SCOPES, 2005.

 Middleware
 Schwan, K., Cooper, B., Eisenhauer, G., Gavrilovska, A., Wolf, M., Abbasi, H., Agarwala, S., Cai, Z.,
Kumar, V., Lofstead, J., Mansour, M., Seshasayee, B. and Widener, P., “AutoFlow: Autonomic
Information Flows for Critical Information Systems”, Autonomic Computing: Concepts,
Infrastructure, and Applications, ed. Manish Parashar and Salim Hariri, ISBN #0849393671, CRC
Press, 2006.
 Kumar, V., Cai, Z., Cooper, B., Eisenhauer, G., Schwan, K., Mansour, M., Seshasayee, B. and
Widener, P., “Implementing Diverse Messaging Models with Self-Managing Properties using
IFLOW”, ICAC, 2006.
 Seshasayee, B., Schwan, K., and Widener, P., “SOAP-binQ: High-Performance SOAP with
Continuous Quality Management”, ICDCS, 2004.

 VANET
 Seshasayee, B., Fujimoto, R.M., Hunter, M., Schwan, K. and Sirichoke, J., “V-DISS: Data
Dissemination for Client-Server Interactions over VANETs’’, in preparation.
 Fujimoto, R.M., Guensler, R., Hunter, M., Kim, H.K., Lee, J., Leonard, J., Palekar, M., Schwan, K.
and Seshasayee, B., “Dynamic Data Driven Application Simulation of Surface Transportation
Systems”, ICCS, 2006.

46
Timeline
MMCN ‘08
Distributed Device Sharing in
Virtualized Systems

Adaptation to Mobility, Failure


Mobisys ’08,
Journal
Heterogeneity,
Robot Experiments

Dissertation, Defense

Summer ‘07 Fall ‘07

47
Thank You

Questions?
Backup Slides
Allocation

 Ad-Hoc Route Neighborhood

50
Deployment

 Algorithm
 All nodes have entire application flowgraph
 Sources initiate deployment
 Each chain “head” is responsible for deploying the
chain
 Once deployed, control passed to next chain
heads
 After receiving control from all predecessors, the
chain head deploys its chain, and so on.

51
Microbenchmarks

For five nodes: average time for


vertex relocation = 414ms

52
Experiments

 Reallocation
 50J threshold, 25sec. Polling interval
 CPU bound: 2 80%, 3 15% Utilization
 4KB events, every 1.5s
 Slack reclamation
 8KB events, every 2.5s
 At 400MHz, 80% util, execution time = 2s

53