370 likes | 650 Views
Technology Evolution. Technology knowledge has a three year half-life. Critical-thinking ability is forever. Multilayered management. What does it mean to be autonomic?. Self-configuring, to increase IT responsiveness/agility Self-healing, to improve business resiliency
E N D
Technology Evolution Technology knowledge has a three year half-life. Critical-thinking ability is forever
What does it mean to be autonomic? • Self-configuring, to increase IT responsiveness/agility • Self-healing, to improve business resiliency • Self-optimizing, to improve operational efficiency • Self-protecting, to help secure information and resources
Autonomic Computing Allows developers concentrate on what they have to do, instead of how to do it. Attribute: • Strong Encapsulation • Design Simplification • Self-monitoring & self-configuring & self-starting • Self-optimizing & self-adapting • Self-healing & self-protecting • Evolvable
Challenges • System identity: Before a system can transact with other systems it must know its boundaries. • Interface design: How will we build consistent interfaces and points of control while allowing for a heterogeneous environment? • Translating business policy into I/T policy: How will we make the end result transparent?
Three more… • Systemic approach: How can we unite a constellation of autonomic components into a federated system? • Standards: How can we design and support open standards that will work? • Adaptive algorithms: How will we create adaptive algorithms to use system experience to improve its operation?
Network Manager Bonding Voice Video Data Data Data • 5 circuits • Difficult call set-up • Cannot hot plug new service • Data access slow • Dynamic configuration
Case Study • Bonding mediates between different services, equipment, and networks. • Bonding = Brokering + User Interface + Call Setup + Mobility Management + . . .
Communication Broker Supports Multi-level Negotiation Premises Premises User-level Negotiation UP Communication Broker UP Equipment Negotiation The intelligence in the network mediates appropriate transport and services with the customer premises equipment. EP EP Network Negotiation NP NP UP - User Profile EP - Equipment Profile NP - Network Profile
Software instabilities • Poor algorithms • Missed deadlines • Round-off error build-up • Memory leaks • Broken pointers • Register misuse
Computer Science challenges • Most software systems are non-linear; but linear approximations may work iff time delays are short • Modelling is hard • Use feedback control loops
Feedback Control Theory a Computer System’s Perspectivethanks to: Chenyang Lu Department of Computer Science University of Virginia chenyang@cs.virginia.edu http://www.cs.virginia.edu/~cl7v
Alternative Analysis Methods • Adaptive resource management heuristics • Queuing theory • Feedback control theory • Systematic theoretical approach for analysis and design • Predicts system response and stability to input
Design Goals • Stability • Transient response • Steady-state error • Robustness • Disturbance rejection • Sensitivity
Performance specifications Controlled variable Overshoot Steady state error % Reference Transient State Steady State Time Settling time
Example: Control & Response in an Email Server (IBM) Response (queue length) Good Bad Control (MaxUsers) Slow Useless
Discrete Control Time is discrete; sampled system • denoted n instead of t, where n is the sample number Z-transform Z { f (n) } = F (z) = ∑ f (n)z-n for all n ≥ 0 Consider a fading memory filter: Ave(n) = 7/8 Ave (n-1) + 1/8 Measured data (n)
Root Locus analysis of Discrete Systems • Stability boundary: |z|=1 (the unit circle) • Settling time is the distance from Origin • Speed = location relative to axis
Effect of discrete poles Im(s) Higher-frequency response Longer settling time Re(s) Stable |z|=1 Unstable
Definitions • Autonomous Technology • Self-contained systems that can function independently of other components or systems by acquiring, processing and acting on environmental information • Autonomic Technology • Computing systems capable of managing themselves using closed control loops without the need for any immediate intervention
Enabling Factors • Low wages • Cheap & reliable telecommunications/electricity • Defined software development life cycle processes • Commoditized skills • Low service role: code, test, and maintenance role at first • Higher value chain role: design, code, and test follows
Outsourcing Drivers • Outsourcing Fever • Reduce headcount directives • Shortage of disciplined software skills • Cost reduction • Market Opportunity
Pro’s Immediate cost reduction Skilled available workforce Less turnover and retraining Commodity view of software Eliminates employee problems Con’s Irreversible Unvetted workforce Security and piracy Shifting immigration and export policies Immature outsource management Immature requirements capability Outsourcing in Practice
Vendor Checklist for Outsourcing • Can their managers and technicians speak and write English? • Are their managers financially literate? • Is buyer anonymity and privacy assured? • Are workers vetted for skills and background? • Are needed telecommunications & electricity available? • Are networks and computers secure? • Are their managers and technicians CMMI experienced? • Is software quality assurance practiced? • Is software project management practiced? • Is disciplined software engineering practiced? • Is intellectual property protected? • Is intellectual property created recaptured? • Are they customer focused?
Design Flexibility Cost, schedule, and quality control Cost of changes Governance Corruption Piracy Culture Clashes Outsourcing Frictions
Tips for Happy Developers • Do the ‘right’ thing. • Sell what you use; use what you sell. • Do what you say and say what you do. • Qualify Solutions • Beware of unintended consequences- identify and manage risks. • Plan for problems. • Test the user documents and salesware. • Investigate all customer complaints • Don’t expect to be able to bury test docs or design controversies if you get sued.