Autonomous learning of load and traffic patterns to improve cluster utilization

  • Authors:
  • Andrew Sohn;Hukeun Kwak;Kyusik Chung

  • Affiliations:
  • Computer Science Department, New Jersey Institute of Technology, Newark, NJ;School of Electronic Engineering, Soongsil University, Seoul, Korea;School of Electronic Engineering, Soongsil University, Seoul, Korea

  • Venue:
  • ARCS'07 Proceedings of the 20th international conference on Architecture of computing systems
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Adaptive clustering aims at improving cluster utilization for varying load and traffic patterns. Locality-based least-connection with replication (LBLCR) scheduling that comes with Linux is designed to help improve cluster utilization through adaptive clustering. A key issue with LBLCR, however, is that cluster performance depends much on a single threshold value that is used to determine adaptation. Once set, the threshold remains fixed regardless of the load and traffic patterns. If a cluster of PCs is to adapt to different traffic patterns for high utilization, a good threshold has to be selected and used dynamically. We present in this report an adaptive clustering framework that autonomously learns and adapts to different load and traffic patterns at runtime with no administrator intervention. Cluster is configured once and for all. As the patterns change the cluster automatically expands/contracts to meet the changing demands. At the same time, the patterns are proactively learned that when similar patterns emerge in the future, the cluster knows what to do to improve utilization. We have implemented this autonomous learning method and compared with LBLCR using published Web traces. Experimental results indicate that our autonomous learning method shows high performance scalability and adaptability for different patterns. On the other hand LBLCR-based clustering suffers from performance scalability and adaptability for different traffic patterns since it is not designed to obtain good threshold values and use them at runtime.