Platform Support of Autonomic Computing: an Evolution of Manageability Architecture

Autonomic Computing (AC) is maturing from a design philosophy to an emerging set of technologies and products that addresses the complexity of managing today’s heterogeneous data centers and computing environments. This overview paper explains our motivation and outlines our technologies that provide platform support for AC. Specifically, we are developing platforms with sufficient support and on-board intelligence to enable autonomic capabilities, such as selfhealing and self-protecting, as well as features such as discovery and asset tracking, even when the host Operating System (OS) is inactive. To achieve these ends we are dedicating select platform resources and firmware, both exposed via well-defined standard interfaces, to implement a set of management and autonomic capabilities, and in the future, we hope to extend these platform autonomic capabilities, with appropriate management policies, to groups of platforms and eventually to the entire data center. Such interconnected autonomic platforms will provide the infrastructure and fabric to support service-oriented, grid, and utility computing. This paper also expounds on the Intel Active Management Technology (Intel AMT) which is the first product incarnation of a framework and dedicated platform execution environment for AC. We also discuss how manageability architectures need to evolve to support autonomic behavior at a group level, such as defining interactions among platforms within a group to collectively deliver on specific goals and implement group-level policies. We cite examples related to malware detection and power management that illustrate how this new approach to managing IT infrastructure works. INFORMATION TECHNOLOGY OVERVIEW Today, Information Technology (IT) departments are plagued by increasing complexity, poor utilization of assets, space, and high power consumption. Further, system management in such environments is fragmented and labor-intensive requiring considerable human involvement for mundane functions such as configuration and provisioning. Such common inefficiencies in data centers force IT managers to provision their data centers for peak loads resulting in low average resource utilization and availability in the range of 99.99% or possibly less. Current data center deployments tend to have strong and static binding between servers and applications, as well as between servers and administrators, due mainly to a lack of technology to deploy otherwise. To improve the efficiency of assets, space, and power, IT managers turned to virtualization, which provides the ability to consolidate multiple applications onto a single server (a server could be stand-alone, rack-mounted or bladed). These servers may include advanced technologies that support multiple logical and physical partitions within each physical machine such as virtualization, partitioning hooks, and multiple cores. These advanced technologies have increased the cost and complexity of platforms and require that management solutions adapt to deal with them. Unfortunately, management solutions have not kept pace. Intel Technology Journal, Volume 10, Issue 4, 2006 Platform Support of Autonomic Computing: an Evolution of Manageability Architecture 254 Information Technology Evolution It is obvious that the resource consolidation currently taking place in data centers is only the first step in the evolution of IT environments. Enterprise IT departments ultimately want to manage their computing resources and infrastructure to support business processes and services in accordance with business objectives. This is sometimes referred to as the Service-Oriented Enterprise (SOE). The motivation for moving to an SOE include guaranteeing service and site availability and satisfying a certain Quality of Service (QoS), and Service Level Objectives (SLO) while optimizing across constraints such as operational expenses and business value. The result is a reduced data center total cost of ownership. Our vision for supporting SOE in future data centers is to make them into pools of resources that can be accessed as a utility. Such grid-like data centers allow their resources to be dynamically allocated and deallocated based on the compute and I/O resource requirements of running applications. Achieving such a grid vision requires a dynamic infrastructure that decouples services from infrastructure and incorporates the ability to map applications to infrastructure adaptively. This is known as Service-Orientated Infrastructure (SOI). In addition, treating a data center as a utility allows clients to pay only for the necessary resources to run their services, when appropriate metering tools are applied. Service-Oriented Infrastructure As IT departments move to Service-Oriented Architecture (SOA), applications may be decomposed and common elements identified as shared, reusable services. Services may be purchased, outsourced, or (if otherwise unavailable) created; applications that implement business processes then evolve to use the shared common services. There are significant advantages to executing these services in a dynamic environment. As we move to a refactored, service-oriented application environment, the infrastructure must be able to adjust to changing loads by creating additional service instances as needed (as well as extinguishing them as appropriate). A service-oriented, autonomic infrastructure can provide an environment that will assign resources as needed under given policies. Most reviews of SOA cite the need for stateless interactions [1, 2]. When services are stateless, there generally is freedom to add additional instances as necessary to handle load, reduce latency, or guard against equipment or facility failure (for business continuity of disaster recovery). This freedom means that we can scale out services by adding computing resources where needed and of the size needed. Just as a utility infrastructure may be compared to a power utility, this provides an opportunity similar to microgeneration [3] where power can be generated close to the load being served by smaller than usual power plants—in essence, an alternative method of scaling. New service instances created to handle load might be automatically created alongside existing ones. Keeping an additional instance nearby may have advantages: for example, it might ease routing and provide the ability to make local decisions based on policy. Within a group of servers, or even within cores of a multicore implementation, a local decision can be made to scale out and/or cut back instances, without having to refer the decision to another management entity. Creating an additional instance in a remote location could provide a natural way to handle failover and disaster recovery, since appropriately positioned instances could take on loads that previously had been served by failing components. Creation (or extinction) of additional service instances in the appropriate location could take place autonomically, perhaps within a platform group, without the need for intervention from a centralized console. IT ENVIRONMENT IMPLICATIONS Many current implementations of manageability were designed for an environment in which services are statically assigned to resources. As the environment changes to one where resources are dynamically allocated, management must change to address the increased complexity of the environment. Ideally, this will be done in a way that reduces visible complexity. Rather than binding a specific service instance to a specific resource, services should be related to a class of resources. The mapping of a specific instance of a service to a particular server is best accomplished in the infrastructure. These are two of the core components required to achieve this vision: 1. A model. This would capture both static and dynamic states of the IT infrastructure, services, and applications, together with their relationships, resource requirements, and SLOs. 2. Autonomics. This would enable the IT infrastructure to achieve the required SLOs by making policy-based autonomic decisions. In the remainder of this paper, we focus on these two core components.