the active streams approach to adaptive distributed systems

14
The Active Streams approach to adaptive distributed systems Fabián E. Bustamante, Greg Eisenhauer, Karsten Schwan, and Patrick Widener {fabianb,eisen,schwan,pmw}@cc.gatech.e du Systems Research Group College of Computing Georgia Institute of Technology

Upload: leighanna-gamble

Post on 01-Jan-2016

40 views

Category:

Documents


1 download

DESCRIPTION

The Active Streams approach to adaptive distributed systems. Fabi á n E. Bustamante, Greg Eisenhauer, Karsten Schwan, and Patrick Widener {fabianb,eisen,schwan,pmw}@cc.gatech.edu Systems Research Group College of Computing Georgia Institute of Technology. Motivation. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: The Active Streams approach to adaptive distributed systems

The Active Streams approach to adaptive distributed systems

Fabián E. Bustamante, Greg Eisenhauer, Karsten Schwan, and Patrick Widener{fabianb,eisen,schwan,pmw}@cc.gatech.edu

Systems Research Group

College of Computing

Georgia Institute of Technology

Page 2: The Active Streams approach to adaptive distributed systems

Active Streams

Motivation

New networking technologies + increasing number of network-capable end devices novel computing environments like Grid and Pervasive computing

Building applications for these environments is complicated– Heterogeneity of nodes and network connectivity– Dynamic changes in resource availability and demand– “Right” application distribution depends on the

circumstances

Page 3: The Active Streams approach to adaptive distributed systems

Active Streams

Approach

Customizable services and dynamically extensible applications

Dynamically adaptive applications and service

Structured I/O – application-level strongly typed records

Component-based model and event-based integration

Dynamic code generation for heterogeneity and high-performance

Continuous monitoring and adaptation

Page 4: The Active Streams approach to adaptive distributed systems

Active Streams

Adaptation through attachment

A

B

C

Server Client

Server

Application/service evolution and/or a coarse form of adaptation are obtained through the attachment/detachment of streamlets that operate on and change data steams properties.

Page 5: The Active Streams approach to adaptive distributed systems

Active Streams

Adaptation through attachment

CA

B

S

Active Stream Node

Server

Server Client

A simple example of adaptation through streamlet attachment is the application-specific filtering of data-stream contents in order to handle a sudden drop on bandwidth availability.

Page 6: The Active Streams approach to adaptive distributed systems

Active Streams

Adaptation through parameterization

B

A SB

ClientActive Stream Node

Server

Parameter block update

Parameter block

Parameterization examples: image resolution, zoom, atmospheric level, longitude/latitude, etc.

Finer grain adaptation involves tuning a streamlet’s behavior through parameters updated remotely via a push-type operation.

Page 7: The Active Streams approach to adaptive distributed systems

Active Streams

Adaptation through redeployment

A B

S

S

Server Active Stream Node ClientStreamlet migration

Finer grain adaptation can also be attained by dynamically re-deployment of streamlets to approach “optimal” placement according to monitoring information.

Page 8: The Active Streams approach to adaptive distributed systems

Active Streams

Streamlet example

This streamlet computes and returns the average of its input array:

{int i;int j;double sum = 0.0; for (i = 0; i < MAXI; i = i + 1) { for (j = 0; j < MAXJ; j = j + 1) { sum = sum + input.array[i][j]; }}output.avg_array = sum / (MAXI * MAXJ);return 1; /* submit record */

}

Streamlets are the basic units of composition in Active Streams.

To deal with heterogeneity, portable streamlets can be written in ECL, a subset of a general procedural language (C), and a native version of a given streamlet code can be dynamically generated at the destination.

We support dynamic code generation for MIPS, Alpha, Sparcs, and x86 processors.

Page 9: The Active Streams approach to adaptive distributed systems

Active Streams

Active Streams framework

Str eam

let rep

os

itor y

Act ive R

eso

urc

e Mo

nito

r ing

Pr o

active Directo

r y

Active Streams Node

Streamlet

ECho

Provides the “glue” that holds the framework together.

Participating nodes makes themselves available running as Active Streams Nodes (ASN), where each ASN provides a well-defined environment for streamlet execution.

The framework relies on ECho, our high-performance event infrastructure for integration and general communication.

Essential for introspection is a customizable active resource monitoring system.

Streamlets can be obtained from a number of locations; they can be downloaded from clients or retrieved from a streamlet repository.

Streamlet

Streamlet

Page 10: The Active Streams approach to adaptive distributed systems

Active Streams

Latency effects of specialization

End-to-end latency for 20k messages with different degrees of client specialization at the source.

Each subfigure corresponds to a different message size: (clock-wise) 100KB, 10KB, 1KB, and 100B.

The y axis represents different specialization scenarios: (1) w/o specialization, (2) with an “identity” streamlet, and (3), (4), and (5) “filtering out” 30, 60, and 90% of the stream content.

Page 11: The Active Streams approach to adaptive distributed systems

Active Streams

Shares of server/ASN utilization

System/User shares of server/ASN utilization when transmitting 20k 10KB-size messages with different of specialization.

The y axis represents different specialization scenarios: (1) w/o specialization, (2) with an “identity” streamlet, and (3), (4), and (5) “filtering out” 30, 60, and 90% of the stream content.

Effect of dropping messages: avoiding the TCP/IP stack, etc.

Load increase from executing streamlet.

Page 12: The Active Streams approach to adaptive distributed systems

Active Streams

Server/ASN load with specialization

Percentage of server/ASN utilization when transmitting 20k messages with different degrees of specialization.

Each subfigure corresponds to a different message size: (clock-wise) 100KB, 10KB, 1KB, and 100B.

The y axis represents different specialization scenarios: (1) w/o specialization, (2) with an “identity” streamlet, and (3), (4), and (5) “filtering out” 30, 60, and 90% of the stream content.

Page 13: The Active Streams approach to adaptive distributed systems

Active Streams

Intermediate nodes and re-deployment

Adaptation at the end-points of a connection is not enough.

Percentage of Server CPU utilization contrasted with end-to-end latency when transmitting 20k 1KB messages to 30 clients, with a varying number of them specializing the stream at the source.

signals the point from where there are no additional benefits of placing streamlets at this node.

indicates the point of diminishing returns.

Page 14: The Active Streams approach to adaptive distributed systems

Active Streams

Status and ongoing work

Design and prototype implementation finished

First public release in December 2001

How to best decompose application and services with Active Streams?

What are useful re-deployment algorithms and heuristics?

What OS-type services should Active Streams Nodes provide?