On Linux Performance of CPU-Bound Processes in the Presence of Network I/O

(2009) On Linux Performance of CPU-Bound Processes in the Presence of Network I/O. Masters thesis, King Fahd University of Petroleum and Minerals.

[img]
Preview
PDF (On Linux Performance of CPU-Bound Processes in the Presence of Network I/O)
Thesis_226820.PDF

Download (3MB) | Preview

Arabic Abstract

الدراسة المقدمة في هذا البحث تسلط الضوء على إمكانية حدوث تراجع شديد في أداء العمليات المرتبطة بوحدة المعالجة المركزية للحاسب في نظام تشغيل لينوكس، في ظل تواجد عمليات مرتبطة بمعالجة بيانات الشبكة. المدهش أن التراجع الشديد في أداء العمليات المرتبطة بوحدة المعالجة المركزية لا يحدث إلا في مجال محدد من حركة سير بيانات الشبكة، بينما لا يلاحظ هذا التراجع خارج هذا ا لنطاق من حركة سير بيانات الشبكة. قمنا في هذا البحث بإثبات وجود هذه الظاهرة عمليا في ظل وجود تطبيقات شبكية مختلفة، و باستخدام أشكال متعددة من إعدادات نظام التشغيل و الشبكة. بالإضافة لما سبق،لقد تم إثبات وجود هذه الظاهرة في إصدارين مختلفين من نظام الجدولة في لينوكس، و هما: نظام الجدولة المعروف بـ 2.6 O(1) ونظام الجدولة الأحدث، المعروف بـنظام الجدولة ذي العدالة الكاملة (CFS). قمنا بتعديل برمجة نظام لينوكس للوقوف أكثر على المشكلة و تحليل السبب الرئيسي وراء هذه الظاهرة الغريبة. لعلاج هذه الظاهرة، تم اقتراح وتطبيق حل ممكن لكل من النسختين من نظام جدولة لينوكس. وضحنا عمليا كيف أن الحل المقترح فعال جدا في تحسين أداء العمليات المرتبطة بوحدة المعالجة المركزية للحاسب في بيئة نظام تشغيل لينوكس أحادية و متعددة المعالجة. نتائج التجارب تثبت أيضا عدم وجود أي تأثير سلبي للحل المقترح على أداء عمليات الشبكة.

English Abstract

In this research work, we demonstrate that Linux can starve CPU-bound processes in the presence of network I/O-bound processes. Surprisingly, the starvation of CPU-bound processes can be only encountered at a particular range of traffic rates being received by the network processes. Lower or higher traffic rates do not exhibit starvation. We demonstrate experimentally the existence of such a starvation problem in the presence of a number of different network applications, and under different system settings and network configurations. We show that the problem exists for the two versions of Linux Scheduler, namely the 2.6 O(1) scheduler and the more recent 2.6 Completely Fair Scheduler (CFS). We instrumented and profiled the Linux kernel to investigate the underlying root cause of such surprising behavior and starvation. To alleviate the starvation problem, we proposed and implemented a solution for both 2.6 O(1) and CFS schedulers. We demonstrate that our solution is highly effective in improving the performance of CPU-bound processes in both uni-processing (UP) and symmetric multiprocessing (SMP) Linux systems. Our experimental results show that the proposed solution has no negative impact on the performance of network processes.

Item Type: Thesis (Masters)
Subjects: Computer
Department: College of Computing and Mathematics > Information and Computer Science
Committee Advisor: Salah, Khaled
Committee Members: Azzedin, Farag and Mohammed, Salahadin A
Depositing User: Abdulrahma Al-Mana (g200268200)
Date Deposited: 02 Aug 2009 12:29
Last Modified: 31 Dec 2020 09:24
URI: http://eprints.kfupm.edu.sa/id/eprint/136121