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
Online Access:http://psasir.upm.edu.my/id/eprint/40934/1/FK%202010%2057R.pdf
http://psasir.upm.edu.my/id/eprint/40934/
Tags: Add Tag
No Tags, Be the first to tag this record!
id my.upm.eprints.40934
record_format eprints
spelling my.upm.eprints.409342016-06-06T08:12:39Z http://psasir.upm.edu.my/id/eprint/40934/ Runtime pluggable CPU scheduler for linux operating system 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. 2010-11 Thesis NonPeerReviewed application/pdf en http://psasir.upm.edu.my/id/eprint/40934/1/FK%202010%2057R.pdf Al-Maweri, Nasr Addin Ahmed Salem (2010) Runtime pluggable CPU scheduler for linux operating system. Masters thesis, Universiti Putra Malaysia.
institution Universiti Putra Malaysia
building UPM Library
collection Institutional Repository
continent Asia
country Malaysia
content_provider Universiti Putra Malaysia
content_source UPM Institutional Repository
url_provider http://psasir.upm.edu.my/
language English
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
author Al-Maweri, Nasr Addin Ahmed Salem
spellingShingle Al-Maweri, Nasr Addin Ahmed Salem
Runtime pluggable CPU scheduler for linux operating system
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
publishDate 2010
url http://psasir.upm.edu.my/id/eprint/40934/1/FK%202010%2057R.pdf
http://psasir.upm.edu.my/id/eprint/40934/
_version_ 1643832854474391552
score 13.214268