Improving System Availability in Distributed Environments Sam Malek with Marija Mikic-Rakic Nels.

Slides:



Advertisements
Similar presentations
IMA 2.5: Software Architecture and Development Environment Roberto Olivares M.S. Electrical Engineering Vanderbilt University, Spring 2003.
Advertisements

A Tailorable Environment for Assessing the Quality of Deployment Architectures in Highly Distributed Settings Sam Malek and Marija Mikic-Rakic Nels Beckman.
Software Architecture Lecture 3
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Analysis of Software Architectures.
Overview of Prism-MW CS 795 / SWE 699 Sam Malek Spring 2010.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Basic Concepts Software Architecture Lecture 3.
Software Architecture Lecture 2
*time Optimization Heiko, Diego, Thomas, Kevin, Andreas, Jens.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Analysis of Software Architectures Software Architecture Lecture.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Software Architectures and Embedded Systems Nenad Medvidovic with Sam Malek and Marija Mikic-Rakic Computer Science Department University of Southern California.
CS 795 – Spring  “Software Systems are increasingly Situated in dynamic, mission critical settings ◦ Operational profile is dynamic, and depends.
Dynamic Service Composition with QoS Assurance Feb , 2009 Jing Dong UTD Farokh Bastani UTD I-Ling Yen UTD.
Chapter 19: Network Management Business Data Communications, 4e.
Copyright 2009 FUJITSU TECHNOLOGY SOLUTIONS PRIMERGY Servers and Windows Server® 2008 R2 Benefit from an efficient, high performance and flexible platform.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors.
03/11/20021 PRISM Programming in the Small and Many Nenad Medvidovic Marija Mikic-Rakic
Analysis of Software Architectures. What Is Architectural Analysis? Architectural analysis is the activity of discovering important system properties.
Software Engineering and Middleware: a Roadmap by Wolfgang Emmerich Ebru Dincel Sahitya Gupta.
Ensuring Non-Functional Properties. What Is an NFP?  A software system’s non-functional property (NFP) is a constraint on the manner in which the system.
A Model-Driven Framework for Architectural Evaluation of Mobile Software Systems George Edwards Dr. Nenad Medvidovic Center.
1 Dynamic Assembly, Assessment, Assurance, and Adaptation via Heterogeneous Software Connectors Nenad Medvidovic with Marija Rakic and Barry Boehm University.
1 Introduction to Load Balancing: l Definition of Distributed systems. Collection of independent loosely coupled computing resources. l Load Balancing.
CAD/CAM Design Process and the role of CAD. Design Process Engineering and manufacturing together form largest single economic activity of western civilization.
1 CS 599 – Project Discussion Nenad Medvidovic Marija Mikic-Rakic (T.A.)
University of Southern California Center for Systems and Software Engineering From Dependable Architectures To Dependable Systems Nenad Medvidovic Center.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
QoS-enabled middleware by Saltanat Mashirova. Distributed applications Distributed applications have distinctly different characteristics than conventional.
1 Refining Reliability Estimation of Mobile Software Systems The International Workshop on Software Architectures and Mobility, ICSE-SAM 2008, Leipzig,
Matthew Moccaro Chapter 10 – Deployment and Mobility PART II.
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
International Conference on Software Engineering 2007
Cluster Reliability Project ISIS Vanderbilt University.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
material assembled from the web pages at
By Xiangzhe Li Thanh Nguyen.  Introduction  Terminology  Architecture  Component  Connector  Configuration  Architectural Style  Architectural.
A Style-Aware Architectural Middleware for Resource-Constrained, Distributed Systems CS 5381 Steven Ruiz Authors: Sam Malek, Marija Mikic-Rakic, and Nenad.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Lecture 7: Requirements Engineering
DISTRIBUTED COMPUTING Introduction Dr. Yingwu Zhu.
Investigating Survivability Strategies for Ultra-Large Scale (ULS) Systems Vanderbilt University Nashville, Tennessee Institute for Software Integrated.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. NFP Design Techniques Software Architecture Lecture 20.
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. NFP Design Techniques Software Architecture Lecture 20.
Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
DESIGN OF SOFTWARE ARCHITECTURE
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Software Connectors in Practice Software Architecture.
Architecture-Driven Self- Adaptation and Self- Management in Robotics Systems By George Edwards, Joshua Garcia, Farshad Tajalli, Daniel Popescu, Nenad.
Foundations, Theory, and Practice Software Architecture Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Basic.
Euro-Par, HASTE: An Adaptive Middleware for Supporting Time-Critical Event Handling in Distributed Environments ICAC 2008 Conference June 2 nd,
Basic Concepts of Software Architecture. What is Software Architecture? Definition: – A software system’s architecture is the set of principal design.
Resource Optimization for Publisher/Subscriber-based Avionics Systems Institute for Software Integrated Systems Vanderbilt University Nashville, Tennessee.
Wireless sensor and actor networks: research challenges Ian. F. Akyildiz, Ismail H. Kasimoglu
Copyright © Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Deployment and Mobility Software Architecture Lecture 12.
Software Architecture Lecture 3
Software Architecture
Introduction to Load Balancing:
Software Architecture in Practice
Software Connectors.
Software Architecture Lecture 3
Anne Pratoomtong ECE734, Spring2002
Model-Driven Analysis Frameworks for Embedded Systems
The Extensible Tool-chain for Evaluation of Architectural Models
Software Architecture Lecture 3
Software Architecture Lecture 20
Software Architecture Lecture 3
Software Architecture Lecture 3
Software Architecture Lecture 3
Presentation transcript:

Improving System Availability in Distributed Environments Sam Malek with Marija Mikic-Rakic Nels Beckman Nenad Medvidovic

Motivation How good is this deployment architecture? What are its properties? How should it be modified to ensure higher availability?

Effect of Deployment on Availability Bad deployment  Low availability Better deployment  Higher availability Redeployment Redeployment to maximize the availability –Frequency and volume of interactions, reliability and capacity of network links Hard to determine a good deployment in large scale distributed systems –In the small example above, there are 3 10 = possible deployments

Availability Definition The degree to which the system is operational and accessible when required for use

System Model Parameters Software component properties Memory requirements Frequency of interaction Size of the exchanged data Hardware host properties Memory capacity Network reliability Network bandwidth Constraints Location Co-location

Problem Definition Find a system deployment architecture such that: It adheres to the system model parameters and constraints It has the greatest availability

Problem Break Down 1)Lack of knowledge about runtime system parameters –System model parameters not known at the time of initial deployment –System model parameters change at runtime Reliability of links, frequencies of interaction, etc. –Prism-MW monitoring support 2) Exponentially complex problem –n components and k hosts = k n possible deployments –DeSi’s polynomial time approximating algorithms 3) Solution analysis –Comparison of different solutions and algorithms –Centralized vs. Decentralized, performance vs. complexity, etc –DeSi’s visualization and comparison utilities 4) Effecting the selected solution –Redeploying components –Requires an automated solution –Prism-MW deployment support

DeSi Approach Prism-MW 2) Monitoring Data 1) Monitor 4) Redeployment Data 3) Analyze

Prism-MW –An architectural middleware that enables efficient implementation, deployment, and execution of distributed systems in terms of their architectural elements: components, connectors, configurations, etc. –Support for monitoring –Support for redeployment Simplified Class Diagram of Prism-MW

Prism-MW’s Role DeSi Prism-MW 2) Monitoring Data 1) Monitor 4) Redeployment Data 3) Analyze Supports: Step 1 by monitoring events in the system and calculating the system parameters Step 4 by providing an API for the redeployment of components and meta-level components to automate the tasks

Maximizing Availability A family of centralized algorithms Exact – exponential Stochastic – quadratic Adaptive greedy – cubic A family of decentralized algorithms DecAp: Auction-based – cubic A set of clustering techniques –Reduce complexity –Improve performance

Algorithms’ Results

Assessing the Algorithms Efficiency –Execution time vs. precision Applicability –Centralized vs. Decentralized Effect of system characteristics Impact of individual parameter changes Addition of new system parameters Application to new system properties Requires “what if” scenario exploration In comes DeSi!

DeSi’s Architecture Key properties: Tailorability Scalability Efficiency Explorability

DeSi’s View (1)

DeSi’s View (2)

DeSi’s View (3)

DeSi’s View (4)

DeSi’s View (5)

DeSi’s Role DeSi Prism-MW 2) Monitoring Data 1) Monitor 4) Redeployment Data 3) Analyze Supports: Step 3 by providing several redeployment algorithms and various visualization utilities Steps 2 and 4 by providing the appropriate middleware adapter

Conclusion Suite of automated tools and techniques for improving the availability of a distributed system Currently extending the tools to model, analyze, and improve other non-functional aspects of a distributed system: security, latency, etc.

Questions?