Coarse-grain dynamic adaptation for asynchronous I/O (writes) scheduling: Is it needed?
Many applications exhibit a dynamically varying usage behavior and are becoming increasingly more complex in their resource requirements. For such applications conventional operating systems potentially can become a performance bottleneck. ^ A plausible solution to this problem, is to incorporate dynamic adaptation (of policies, parameters, and algorithms) into several areas of the operating system---I/O scheduling is one such area. ^ The Linux 2.6 kernel has four I/O schedulers with each servicing write requests differently. Although not OS-initiated, the kernel supports switching of these schedulers at run-time on a per-disk basis. This thesis describes the functionality of these schedulers in the context of servicing write I/O requests and investigates, using microbenchmarks, the need and potential for coarse-grain dynamic adaptation of I/O schedulers for writes, with disk utilization as the evaluation metric. This work shows that the Linux 2.6 Deadline scheduler consistently performs best across all types (random, sequential, large, and small) of write workloads tested and that coarse-grain dynamic adaptation, for disk-utilization optimization, is not needed for asynchronous I/O. (Abstract shortened by UMI.) ^
Suresh Babu, Jayaraman, "Coarse-grain dynamic adaptation for asynchronous I/O (writes) scheduling: Is it needed?" (2006). ETD Collection for University of Texas, El Paso. AAI1435308.