
CASH: Supporting IaaS Customers with a Sub-core Configurable Architecture (2016)
This was the second in a series of papers that combined machine learning/ artificial intelligence (AI) with control theory.
In this case, the paper proposed a new hardware architecture (chip) with novel configuration parameters: different pipelines could be combined to produce a more powerful core, and different memory banks could be combined to produce a larger cache.
The idea was to support Infrastructure-as-a-Service customers by producing the lowest cost configuration for a given performance target. Similar to the JouleGuard paper, this work uses reinforcement learning to determine what the cost/performance tradeoffs are for different hardware configurations. This information is fed to a control system that ensures that a user’s (or cloud customer’s) performance requirements are met with minimal cost.
Note that the same techniques could also have been used to meet a cost constraint and maximize performance.
Read abstract
Infrastructure as a Service (IaaS) Clouds have become increasingly important. Recent architectural designs support IaaS providers through fine-grain configurability, allowing them to orchestrate low-level resource usage. However, little work has been done to assist IaaS customers in determining how to use such fine-grain configurable resources to meet quality-of-service (QoS) requirements while minimizing cost. This challenge arises due to the non-convex optimization space created by the multitude of configurations and the dynamic nature of application processing phases.
In this paper, we address these issues by proposing CASH: a fine-grain configurable architecture co-designed with a cost-optimizing runtime system. The hardware architecture enables configurability at the granularity of individual ALUs and L2 cache banks and provides unique interfaces for low-overhead, dynamic configuration and monitoring. The runtime system uses a combination of control theory and machine learning to configure the architecture, ensuring QoS requirements are met while minimizing cost. Our results demonstrate that this combination of fine-grain configurability and non-convex optimization delivers substantial cost savings—up to 70%—compared to coarse-grain heterogeneity and heuristic optimization. Additionally, the system effectively customizes configurations for specific applications, adapts to application phases, and achieves near-optimal costs for QoS targets.
