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. “Smartphones will form the dominant platform” 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

split

Output stream

process 1

process 3 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

Energy Management

Adaptation to Mobility, Failure Dynamic Device Sharing in Virtualized Systems

Mobile Service Overlays (MSO)

10

Research Overview
Heterogeneity & Robotics

Energy Management

Adaptation to Mobility, Failure Dynamic Device Sharing in Virtualized Systems

Mobile Service Overlays (MSO)

11

MSO - Design

Every node runs identical instance of MSOs middleware Application flow graph decomposed into smaller entities

Local reaction to local changes Greedy, non-optimal, continuous

Fast reaction to global changes

12

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)
A-B-C-D C B G F H I
13

Example:
A E D

D-E F-G G-D G-H-I

Generic Management in MSO
• Load balancing
Objective Function

• Energy management • Failure resilience • Adaptation to mobility

Monitoring

Ruleset Reconfiguration

MSO

Overlay Network

14

Multigranular Monitoring Services

Vertex level

Computation, data flow in & out of vertex CPU & network utilization, neighbors End-to-end latency Through RPC methods
15

Node level

Chain level

Sharing of metrics

Multigranular Reconfiguration Services

Intra-Chain Remapping
  

Vertex Relocation Low overhead Localized changes

v

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 C

B

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
(http://mobiemu.sourceforge.net)

MobiEmu to emulate mobility

21

Microbenchmarks
Costs
2500 2250 2000 1750 1500 1250 1000 750 500 250 0 1 2 3 4 5
Deployment (ms) Remapping (ms) Relocating (ms)

Costs (ms)

A

B

C

Chain length; no. of nodes

22

Research Overview
Heterogeneity & Robotics

Energy Management

Adaptation to Mobility, Failure 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 A E D

B

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
800 750 700 650 600 550 500 450 400 350 300 250 200 150 100 50 0
90 80

Lifetime parity
Standard Deviation (s)

System Lifetime (s)

70 60 50 40 30 20 10
Static MSO

Static MSO

1000

2000

3000

4000

5000

0 1k

2k

3k

4k

5k

Initial Energy (J)

Initial Energy (J)

26

Dynamic Resource Reclaiming

Slack Reclaiming
C A B D E slack = δ G

N5 N1 N2 N3
27

N4

δ1 = δ – t(E)

Dynamic Resource Reclaiming

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

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

28

Dynamic Resource Reclaiming

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

N5 N1 N2 N3 N4 δ1 = δ – t(E) δ2 = δ1 – t(D) δ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 1.1 MSO, 40% MSO, 60% MSO, 80% Optimal 40% Optimal 60% Optimal, 80%

1.08 Normalized Lifetime

1.06

1.04

1.02

1

0.98

3000

4000

5000

6000

7000

8000

9000

10000

Slack available (ms)

31

Research Overview
Heterogeneity & Robotics

Energy Management

Adaptation to Mobility, Failure Dynamic Device Sharing in Virtualized Systems

Mobile Service Overlays (MSO)

32

Robotics Application

Study effect of algorithms on application metrics
odometry

Localization

Navigation

motion planning

Edge Detection
from camera

Image Blob finding

Bayesian Inference

decisions

33

Heterogeneity

Cooperation among heterogeneous platforms
  

Motorola EZX phone Sitsang platform x86 laptop

34

Research Overview
Heterogeneity & Robotics

Energy Management

Adaptation to Mobility, Failure 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 If any routes change due to the new node, remap chains affected by the change

On detecting new neighbor

36

Adaptation Algorithm

Monitors
 

List of neighbors Event delivery failure Only affected chains

Reconfiguration

Algorithms to

Minimize ‘downtime’

37

Research Overview
Heterogeneity & Robotics

Energy Management

Adaptation to Mobility, Failure 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 640x480, grayscale

Process 2 320x240, grayscale

40

Device Sharing

640x480, color

Grayscaling
640x480, grayscale

Scaling

Process 3 640x480, color

Process 1 640x480, grayscale

Process 2 320x240, grayscale

41

Extension to Virtualized Systems
/dev/video1 /dev/video2

MSO based sharing

VM 1 VM 2
User Domains

Management Domain

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] Miro [Trans. On Robotics & Automation, ‘02] Distr. Mobile Robot App. Infrastructure [IROS, ’03]
43

Robot middleware
 

Related Work (2/2)

Energy management
  

MagnetOS [Mobisys, ’05] DFuse [Embedded Networked Sensor Systems, ’03] Energy-Aware Traffic Shaping [RTAS, ’04] DFuse [Embedded Networked Sensor Systems, ’03] Indiva [MMCN, ’04] Irisnet [Pervasive Computing, ’03] Ninja [Computer Networks, ’01] MiLAN [IEEE Network, ’04] Impala [PPoPP, ’03]
44

Multimedia
   

Sensor Networks
 

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 8KB events, every 2.5s At 400MHz, 80% util, execution time = 2s

Slack reclamation
 

53