CompSci 296.2 Self-Managing Systems Shivnath Babu Today • Some current work in self-managing systems Ideas & resources for projects • IBM • ROC (Discussion deferred to next class) • Our projects at Duke • HP 2 Project • Group size <= 2 • Identify “general topic” by end of January, meet Shivnath • Feb 7: Scope problem and give 15-minute talk • Feb 21: 3-minute talk • March 7: 15-minute talk • March 28: 3-minute talk • April 4/6: 15-minute talk • April 20/24: 15-minute final in-class presentation (+ “demo”) 3 Work on Self-Managing Systems • IBM • IBM Journal, Volume 42, Number 1, 2003 • Autonomic computing home page • IBM autonomic home – library, demos • Autonomic computing toolkit • IBM Tivoli 4 Work on Self-Managing Systems • Berkeley-Stanford ROC project • Reading for this class • Interesting source of project ideas and source code • Sample project reports/presentations (follow the CS444A/294-4 link) 5 The past: research goals and assumptions of last 15 years • Goal #1: Improve performance • Goal #2: Improve performance • Goal #3: Improve cost-performance 6 New research goals for a New Century: ACME • Availability • Changeability – support rapid deployment of new software, apps, UI • Maintainability – reduce burden on system administrators – provide helpful, forgiving SysAdmin environments • Evolutionary Growth – allow easy system expansion over time • Also Security/Privacy 7 Recovery-Oriented Computing (ROC) Philosophy “If a problem has no solution, it may not be a problem, but a fact, not to be solved, but to be coped with over time” — Shimon Peres (“Peres’s Law”) • People/HW/SW failures are facts, not problems • Recovery/repair is how we cope with above facts • Since major Sys Admin job is recovery after failure, ROC also helps with maintenance/TCO ROC focus is on fast repair Vs. old focus on longer time between failures 8 An Example Project in ROC • Undo functionality for system administrators (useful for self-managing components as well) • To recover from human errors • To recover from failed operations like software upgrades, installs, and configuration updates • An interesting mechanism project for self-healing 9 Mechanism Projects • Required/useful mechanisms for self-managing systems • Take a goal related to self-managing (e.g., selfoptimization, predicting problems), take a system (e.g., a database) What mechanisms are needed? Will current mechanisms suffice? • Ex: Data collection – nonintrusive, distributed, “active probing” 10 Our Projects at Duke • Ques: Querying Systems (as data) – Better tools for system administrators and self-managing system components • CoD: Cluster on Demand – Allocate virtual clusters to applications on demand 11 Querying Systems as Data Clients WAN Web server Application servers Database servers 12 Querying Systems as Data Clients WAN WAN WAN Web server Application servers Database WAN servers WAN 13 Querying Systems as Data • What are probable causes of the Service-Level-Agreement (SLA) violations rising to 12%? Root-cause query 14 Queries: What if … • Given today’s workload, how will average response time change if my database fails? • If I double the memory on my application servers, how will SLA violation rate change? 15 Queries: Let me know … • Let me know if, with 75% probability, average response time will exceed 5 seconds in next 30 minutes – Prediction – Continuous query 16 Queries: What should I do? • What should I do to reduce SLA violations of requests A to <1%, without increasing violations of other requests? – Root-cause + What-if 17 Querying Systems as Data • Instrumented traces, logs • System activity data • Data from active probing • Workload • System configuration data (e.g., buffer size, indexes) • Source code D A T A • Models – – – – Analytic performance models Machine learning models Rules from system experts Simulators 18 Querying Systems with QueS (30,000 ft) Data Maintenance System mgmt. Queries services Answers Query Processor Modeldriven DB Engine D A T A Data Acquisition 19 Challenges: Query Complexity • Support for complex queries – Rank probable causes of SLA violation rising to 12%? – “What should I do” queries • Queries are ad-hoc • Queries may be acquisitional 20 Challenges: Query Specification • Declarative query language – Expressibility of language – Composition • Snapshot queries and continuous queries 21 Challenges: Query Processing • Model-based query processing • Many types of data sources – Structured, semi-structured, and unstructured • Uncertainty in input data – E.g., legacy systems may have partial/no instrumentation • Imprecise answers – Answers may include quantification of accuracy – Ranking 22 Challenges: Run-time Overhead • Real-time service for 24x7 systems • Tunable data acquisition • Active probing 23 Work in Progress • With Piyush Shivam – Models for answering queries about expected performance given a resource assignment, feasible resource assignments to meet SLA, what-if queries for scientific applications • With Songyun Duan – Use of Bayesian Networks for performance prediction and root-cause queries • With Wanhong Xu – What-if queries on configuration-parameter settings 24 Projects at HP Research • Project 1: Predicting performance problems, finding root cases of problems • Project 2: Debugging complex systems • Project 3: Designing adaptive systems 25