Description |
We address two fundamental problems in scaling network traffic and Cloud-based resources: eliminating the need to pre-tune to a specific operating environment and decreasing the effective launch time of virtual machines. Existing methods that adapt computing resources or network traffic to the operating environment have parameters and thresholds that must be manually pre-tuned. Determining appropriate values is a time-consuming and arduous task. When the environment or offered workload changes in unexpected ways, they may no longer be effective and systems must be re-tuned to the new conditions. In this dissertation, we develop methods to eliminate the need to pre-specify the parameters and thresholds. We design methods to adaptively set these parameters and thresholds, either algorithmically or by exploiting characteristics intrinsic to the system model. We refer to the latter as natural thresholds. We develop an active queue management algorithm that scales network traffic, relying only on network run-time measurements and a natural threshold, the knee on the delay-utilization curve. For scaling Cloud-based applications, we develop simple, knobless, reactive approaches that are robust against changing workload. We model the miss ratio curve of memory-intensive applications as a hyperbola and choose a natural threshold on the curve at run time. To decrease effective virtual machine launch time, we use Cloud functions as temporary computing resources while the virtual machine launches. We implement the active queue management algorithm in the Linux kernel in a testbed, which we build, and in a network simulator. We implement resource scaling on two major Cloud provider platforms. The natural threshold methods we develop are effective in scaling network traffic and Cloud-based resources. Our methods outperform state-of-the-art algorithms in most of our evaluations. |