Autonomic ComputingMajor vendors are applying decision-support techniques to service-centric computingby Seth Grimes IBM's Kazuo Iwano calls autonomic computing, "a self-management technology providing reliable, always available, and robust e-business infrastructure," one of IBM's "Grand Challenges." He writes that autonomic computing is "key to the future of computing." Here's rare, if not unprecedented, news: Microsoft agrees. Jim Gray of Microsoft Research wrote me that "IBM's autonomic goals are great; very similar to the goals that Microsoft has had for many years." Gray characterizes these goals for Microsoft as "a holistic approach to products," just as they are, according to Iwano, "a companywide initiative" for IBM. In fact, all major platform vendors and numerous academic research teams are attacking aspects of the problem, which weaves together several significant initiatives Web services, grid computing, rules systems, and agent technology into a service-centric computing tapestry. Best of all, autonomic computing is a great example of closed-loop decision support, interesting not only because of the technologies it harnesses but also because of its strategic role in IT's future. FoundationsA 1993 paper by then-Microsoft researcher Joseph Barrera provides a framework for designing self-tuning systems. He proposes an architecture that "separates the tasks of defining expectations, measuring actual performance, analyzing measurements in comparison with expectations, and performing actions in response to analysis." Barrera foresaw applying this framework to sophisticated systems supporting multiple protocols, interfaces, and functions, recognizing that "the usage of the various subsystems varies wildly based on the applications mix." He advocates starting at a high level and subsequently recursively analyzing subcomponents, focusing on problematical ones. He would automate this process by identifying and codifying relevant knowledge, starting with a census of system components and their functions, interfaces, parameters, and expected performance characteristics. To me, Barrera's is a classic decision-support framework. DecompositionDecomposition is a useful technique in analyzing complex systems. Subsystems are limited in scope, so expectations are simpler and properties are easier to measure than those of larger systems. The decomposition approach can be applied up front in design. Components have fewer functions, interface elements, and parameters than complex, multifaceted, and multifunctional systems, and thus are easier to code, debug, test, and tune. (A modular, component-based approach also facilitates code reuse.) It's easier to build in measurability and define actions; the design focus shifts to coordination tasks needed to meet higher-level, higher-value goals. This design approach is key to the appeal of reduced instruction set computing (RISC) where complex instructions are built from a relatively small set of optimized, basic instructions. Surajit Chaudhuri of Microsoft Research and Gerhard Weikum of the University of the Saarland propose applying RISC to designing database systems in a 2000 conference paper. They cite a 1998 report by the [U.S.] President's Information Technology Advisory Committee stating that "our ability to analyze and predict the performance of the enormously complex software systems that lies at the core of our economy is painfully inadequate." They also give feature bloat, the related complexity of common interfaces such as SQL, and the proliferation of platforms and application needs as motivating their proposal. Their RISC-style database system would be built from reusable components, which nonincidentally could be shared with software systems. Microsoft's Jim Gray says that this has been done, for instance, with common components shared between SQL Server and the Exchange email server. Simulation and PredictionChaudhuri is working on Microsoft's AutoAdmin project, which developed an index-tuning wizard that is part of SQL Server. AutoAdmin and other Microsoft projects profile usage over time, assess current and anticipated workload, apply predictive analysis techniques, and automate tuning based on anticipated need.
|
Most Popular This Week
IE Weekly Newsletter
Subscribe to the newsletter
|
| |||||||||||||||||||||||||||||||























