The Active Streams approach to adaptive distributed systems Fabián E. Bustamante, Greg Eisenhauer, Karsten Schwan, and Patrick Widener

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
A system Performance Model Instructor: Dr. Yanqing Zhang Presented by: Rajapaksage Jayampthi S.
SKELETON BASED PERFORMANCE PREDICTION ON SHARED NETWORKS Sukhdeep Sodhi Microsoft Corp Jaspal Subhlok University of Houston.
ProActive Task Manager Component for SEGL Parameter Sweeping Natalia Currle-Linde and Wasseim Alzouabi High Performance Computing Center Stuttgart (HLRS),
Quality of Service in IN-home digital networks Alina Albu 7 November 2003.
CS490T Advanced Tablet Platform Applications Network Programming Evolution.
CS 501: Software Engineering Fall 2000 Lecture 16 System Architecture III Distributed Objects.
Reducing the Energy Usage of Office Applications Jason Flinn M. Satyanarayanan Carnegie Mellon University Eyal de Lara Dan S. Wallach Willy Zwaenepoel.
Improving Robustness in Distributed Systems Jeremy Russell Software Engineering Honours Project.
Mobile Agents: A Key for Effective Pervasive Computing Roberto Speicys Cardoso & Fabio Kon University of São Paulo - Brazil.
1 Introduction to Load Balancing: l Definition of Distributed systems. Collection of independent loosely coupled computing resources. l Load Balancing.
Communication in Distributed Systems –Part 2
Slide 1 ISTORE: System Support for Introspective Storage Appliances Aaron Brown, David Oppenheimer, and David Patterson Computer Science Division University.
HOL9396: Oracle Event Processing 12c
Cross Cluster Migration Remote access support Adianto Wibisono supervised by : Dr. Dick van Albada Kamil Iskra, M. Sc.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
1 Bridging Clouds with CernVM: ATLAS/PanDA example Wenjing Wu
23 September 2004 Evaluating Adaptive Middleware Load Balancing Strategies for Middleware Systems Department of Electrical Engineering & Computer Science.
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
Distributed Process Implementation
SensIT PI Meeting, January 15-17, Self-Organizing Sensor Networks: Efficient Distributed Mechanisms Alvin S. Lim Computer Science and Software Engineering.
Towards a Javascript CoG Kit Gregor von Laszewski Fugang Wang Marlon Pierce Gerald Guo
Extracted directly from:
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
Managing a Cloud For Multi Agent System By, Pruthvi Pydimarri, Jaya Chandra Kumar Batchu.
PhD Topic Template Based Composition PhD Course 5 th March – 9 th March 2012, Kaiserslautern.
Systems Support for End-to-End Performance Management Sandip Agarwala PhD Advisor: Karsten Schwan College of Computing Georgia Tech.
Magnetic Field Measurement System as Part of a Software Family Jerzy M. Nogiec Joe DiMarco Fermilab.
Dynamic Reconfiguration Dynamic selection of handler functionality: currently through use of parameterizable handlers or by selecting from a set of existing.
CHEN Ge CSIS, HKU March 9, Jigsaw W3C’s Java Web Server.
Exploiting Proxy-Based Transcoding to Increase the User Quality of Experience in Networked Applications Maarten Wijnants Patrick Monsieurs Peter Quax Wim.
The Case for Proactive Directory Services Fabián E. Bustamante - Patrick Widener - Karsten Schwan
PERVASIVE COMPUTING MIDDLEWARE BY SCHIELE, HANDTE, AND BECKER A Presentation by Nancy Shah.
Chapter 5.4 DISTRIBUTED PROCESS IMPLEMENTAION Prepared by: Karthik V Puttaparthi
Active Server Pages  In this chapter, you will learn:  How browsers and servers interacted on the Internet when the Internet first became popular 
DBAS: A Deployable Bandwidth Aggregation System Karim Habak†, Moustafa Youssef†, and Khaled A. Harras‡ †Egypt-Japan University of Sc. and Tech. (E-JUST)
Event-Based Hybrid Consistency Framework (EBHCF) for Distributed Annotation Records Ahmet Fatih Mustacoglu Advisor: Prof. Geoffrey.
OPERETTA: An Optimal Energy Efficient Bandwidth Aggregation System Karim Habak†, Khaled A. Harras‡, and Moustafa Youssef† †Egypt-Japan University of Sc.
PARALLEL APPLICATIONS EE 524/CS 561 Kishore Dhaveji 01/09/2000.
1 ACTIVE FAULT TOLERANT SYSTEM for OPEN DISTRIBUTED COMPUTING (Autonomic and Trusted Computing 2006) Giray Kömürcü.
“Trusted Passages”: Meeting Trust Needs of Distributed Applications Mustaque Ahamad, Greg Eisenhauer, Jiantao Kong, Wenke Lee, Bryan Payne and Karsten.
Implementing Unified Access to Scientific Data from.NET Platform Sergey B. Berezin Dmitriy V. Voitsekhovskiy Vilen M. Paskonov Moscow State University.
A Utility-based Approach to Scheduling Multimedia Streams in P2P Systems Fang Chen Computer Science Dept. University of California, Riverside
Mobile Agents For Mobile Computing Department Of Computer Science – Dartmouth College Robert Gray David Kotz Saurab Nog Daniela Rus George Cybenko.
End-to-End Efficiency (E 3 ) Integrating Project of the EC 7 th Framework Programme General View of the E3 Prototyping Environment for Cognitive and Self-x.
Run-time Adaptive on-chip Communication Scheme 林孟諭 Dept. of Electrical Engineering National Cheng Kung University Tainan, Taiwan, R.O.C.
ProActive components and legacy code Matthieu MOREL.
HIGUCHI Takeo Department of Physics, Faulty of Science, University of Tokyo Representing dBASF Development Team BELLE/CHEP20001 Distributed BELLE Analysis.
1 BBN Technologies Quality Objects (QuO): Adaptive Management and Control Middleware for End-to-End QoS Craig Rodrigues, Joseph P. Loyall, Richard E. Schantz.
Remote Visualization Using Low-Level Event Services and Cluster Computing — OR — ECho, cluster computing, and the Access Grid M. D.Wolf, K. Schwan, and.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
A N I N - MEMORY F RAMEWORK FOR E XTENDED M AP R EDUCE 2011 Third IEEE International Conference on Coud Computing Technology and Science.
Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT By Jyothsna Natarajan Instructor: Prof. Yanqing Zhang Course: Advanced Operating Systems.
Online Monitoring System at KLOE Alessandra Doria INFN - Napoli for the KLOE collaboration CHEP 2000 Padova, 7-11 February 2000 NAPOLI.
© 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ.
Collaborative Scientific Visualization: from your lab to Internet2 and beyond Matthew Wolf College of Computing Georgia Institute of Technology
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
Distributed Computing Systems CSCI 6900/4900. Review Definition & characteristics of distributed systems Distributed system organization Design goals.
Addressing Data Compatibility on Programmable Network Platforms Ada Gavrilovska, Karsten Schwan College of Computing Georgia Tech.
Euro-Par, HASTE: An Adaptive Middleware for Supporting Time-Critical Event Handling in Distributed Environments ICAC 2008 Conference June 2 nd,
LACSI 2002, slide 1 Performance Prediction for Simple CPU and Network Sharing Shreenivasa Venkataramaiah Jaspal Subhlok University of Houston LACSI Symposium.
John S. Otto Mario A. Sánchez John P. Rula Fabián E. Bustamante Northwestern, EECS.
Efficient Opportunistic Sensing using Mobile Collaborative Platform MOSDEN.
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
Threads vs. Events SEDA – An Event Model 5204 – Operating Systems.
Adapting Applications and Platforms
Data Path through host/ANP.
New Tools In Education Minjun Wang
Presentation transcript:

The Active Streams approach to adaptive distributed systems Fabián E. Bustamante, Greg Eisenhauer, Karsten Schwan, and Patrick Widener Systems Research Group College of Computing Georgia Institute of Technology

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

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

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.

Active Streams Adaptation through attachment CA B S Active Stream Node 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.

Active Streams Adaptation through parameterization B A S B Client Active 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.

Active Streams Adaptation through redeployment A B SS ServerActive Stream NodeClient Streamlet migration Finer grain adaptation can also be attained by dynamically re-deployment of streamlets to approach “optimal” placement according to monitoring information.

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.

Active Streams Active Streams framework Streamlet repository Active Resource Monitoring Proactive Directory 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

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.

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.

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.

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.

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?