Self-tuning Linux Kernel Performance Using Support Vector Machines
In this chapter, we provide the motivation and background behind the automatic optimisation of an operating system. We begin with a discussion of some of the difficulties of automatic operating system optimisation and the benefits of automatic optimisation technology which inspired our research. We then describe the research problem and aims. Thereafter, our approach and methodology are explained. Finally, the organisation of the thesis and summary are presented. 1.1 Background and Motivation In today's networking world, a mission-critical server requires consistently good performance  . To this end, almost all operating systems which run on such a critical server are managed by system administrators who should be skillful and experienced in tuning operating systems by adjusting system configuration and performance parameters of the operating system to run a specific system workload. This involves system capacity planning, performance metrics, workload characteristics, system settings, etc. Skillful system administrators are scarce and expensive. As computer hardware becomes cheaper and free critical computer software becomes more viable, e.g., Linux, Samba, Mysql, Apache, the total cost of ownership for building and maintaining a mission-critical server becomes more and more dominated by the cost of human resources. Furthermore, with the increasing number of new applications and services, a modern operating system offers more system parameters with larger ranges for more system classes than ever before. This situation serves as our motivation for a new generation of automatic optimisation technology for operating systems. The potential benefits of the automatic optimisation technology will be amplified as future applications and operating systems become more complex.