Runtime pluggable CPU scheduler for linux operating system

The demand for a flexible operating system have increased with the variation of working environments i.e. interactive systems, real-time systems, batch systems, distributed systems or embedded systems. This variation of working environments has generated different applications with different user re...

Full description

Saved in:
Bibliographic Details
Main Author: Al-Maweri, Nasr Addin Ahmed Salem
Format: Thesis
Language:English
Published: 2010
Subjects:
Online Access:http://psasir.upm.edu.my/id/eprint/40934/1/FK%202010%2057R.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
id my-upm-ir.40934
record_format uketd_dc
spelling my-upm-ir.409342016-06-06T08:12:39Z Runtime pluggable CPU scheduler for linux operating system 2010-11 Al-Maweri, Nasr Addin Ahmed Salem The demand for a flexible operating system have increased with the variation of working environments i.e. interactive systems, real-time systems, batch systems, distributed systems or embedded systems. This variation of working environments has generated different applications with different user requirements. Process scheduler, or CPU scheduler is the component of the operating system that plays the role of processes coordination and synchronization. The CPU scheduler uses different scheduling policies (algorithms) to manage such processes. Each scheduling policy has its own properties and suits specific applications or a specific environment. In this thesis a Linux based framework, Runtime Pluggable Scheduling Policies framework, has been proposed to allow switching between the scheduling policies on the CPU scheduler during run-time. The framework purpose is to enable the operating system to use suitable scheduling policy for particular applications and user requirements. This framework allows Linux users to plug and unplug a preferred scheduling policy available in the CPU scheduler while the system is running without the need to reboot or recompile the system. It also provides a flexible interface for kernel developers which facilitates the evaluation and testing for their newly developed scheduling algorithms. Kernel programmers could add and remove a scheduling policy to the kernel then set the CPU scheduler to run on a specific policy at run-time as well. This framework has been developed on top of Linux 2.6.25 kernel, and supports future kernel releases. It added more flexibility to the Linux CPU heduler. It has been implemented in three layers, kernel, modules, and user interface layer, to simplify the framework development and maintenance as well as to maintain performance. Testing and evaluating the framework have proved that it works properly in a reliable way. Various metrics have been measured with an accurate benchmarks. Benchmarking the framework has assured that it has not introduced a deterioration to the overall CPU scheduler performance. The kernel build time of vanilla kernel and the modified kernel were extremely close to each other regardless of the small percentage difference in some cases which is not higher than 0.2%. CPU throughput was almost similar in the modified kernel and the vanilla. CPU utilization was 95.5%, and 95.7% in vanilla kernel and RPSP respectively. The total memory was utilized by the framework was almost negligible at 396 KB. RPSP achieves the process communication in all the cases with 3.5% better than the vanilla kernel. Executing RPSP had some impact on the performance of communication. However, the difference percentage does not exceed 1%. The latency difference was not significant, where the maximum value of difference was 1.6 ms only in few cases. This eterioration in response time does not exceed the noticeable value of 7 ms. Scalability of RPSP were close to the vanilla with a maximum difference of 5% higher than vanilla. However, this percentage difference is not noticeable since it is in a fraction of microsecond. Linux Operating systems (Computers) 2010-11 Thesis http://psasir.upm.edu.my/id/eprint/40934/ http://psasir.upm.edu.my/id/eprint/40934/1/FK%202010%2057R.pdf application/pdf en public masters Universiti Putra Malaysia Linux Operating systems (Computers)
institution Universiti Putra Malaysia
collection PSAS Institutional Repository
language English
topic Linux
Operating systems (Computers)

spellingShingle Linux
Operating systems (Computers)

Al-Maweri, Nasr Addin Ahmed Salem
Runtime pluggable CPU scheduler for linux operating system
description The demand for a flexible operating system have increased with the variation of working environments i.e. interactive systems, real-time systems, batch systems, distributed systems or embedded systems. This variation of working environments has generated different applications with different user requirements. Process scheduler, or CPU scheduler is the component of the operating system that plays the role of processes coordination and synchronization. The CPU scheduler uses different scheduling policies (algorithms) to manage such processes. Each scheduling policy has its own properties and suits specific applications or a specific environment. In this thesis a Linux based framework, Runtime Pluggable Scheduling Policies framework, has been proposed to allow switching between the scheduling policies on the CPU scheduler during run-time. The framework purpose is to enable the operating system to use suitable scheduling policy for particular applications and user requirements. This framework allows Linux users to plug and unplug a preferred scheduling policy available in the CPU scheduler while the system is running without the need to reboot or recompile the system. It also provides a flexible interface for kernel developers which facilitates the evaluation and testing for their newly developed scheduling algorithms. Kernel programmers could add and remove a scheduling policy to the kernel then set the CPU scheduler to run on a specific policy at run-time as well. This framework has been developed on top of Linux 2.6.25 kernel, and supports future kernel releases. It added more flexibility to the Linux CPU heduler. It has been implemented in three layers, kernel, modules, and user interface layer, to simplify the framework development and maintenance as well as to maintain performance. Testing and evaluating the framework have proved that it works properly in a reliable way. Various metrics have been measured with an accurate benchmarks. Benchmarking the framework has assured that it has not introduced a deterioration to the overall CPU scheduler performance. The kernel build time of vanilla kernel and the modified kernel were extremely close to each other regardless of the small percentage difference in some cases which is not higher than 0.2%. CPU throughput was almost similar in the modified kernel and the vanilla. CPU utilization was 95.5%, and 95.7% in vanilla kernel and RPSP respectively. The total memory was utilized by the framework was almost negligible at 396 KB. RPSP achieves the process communication in all the cases with 3.5% better than the vanilla kernel. Executing RPSP had some impact on the performance of communication. However, the difference percentage does not exceed 1%. The latency difference was not significant, where the maximum value of difference was 1.6 ms only in few cases. This eterioration in response time does not exceed the noticeable value of 7 ms. Scalability of RPSP were close to the vanilla with a maximum difference of 5% higher than vanilla. However, this percentage difference is not noticeable since it is in a fraction of microsecond.
format Thesis
qualification_level Master's degree
author Al-Maweri, Nasr Addin Ahmed Salem
author_facet Al-Maweri, Nasr Addin Ahmed Salem
author_sort Al-Maweri, Nasr Addin Ahmed Salem
title Runtime pluggable CPU scheduler for linux operating system
title_short Runtime pluggable CPU scheduler for linux operating system
title_full Runtime pluggable CPU scheduler for linux operating system
title_fullStr Runtime pluggable CPU scheduler for linux operating system
title_full_unstemmed Runtime pluggable CPU scheduler for linux operating system
title_sort runtime pluggable cpu scheduler for linux operating system
granting_institution Universiti Putra Malaysia
publishDate 2010
url http://psasir.upm.edu.my/id/eprint/40934/1/FK%202010%2057R.pdf
_version_ 1747811851542986752