Available Bandwidth Measurement Using Real Time Operating Systems Dennis S. Knoop
Proposal The goal of this project is to study the effectiveness of using Real-Time support to improve the accuracy of available bandwidth measurement.
Historical Background BPrope and Cprobe developed by Bob Carter and Mark Crovella Tool uses simple ICMP echo request UCCS students, under the supervision of Dr. Chow, have modified the available bandwidth tool Sending time gaps are still a problem
Project Plan Analyze current ABWM Tool Research Real-Time Operating Systems Load Real-time operating system Port current ABWM Tool to RTOS Analyze results
Real Time Operating Systems Basic Concepts Soft Vs. Hard Soft – Task are preformed as fast as possible Hard – Task have to be preformed on time Preemptive Vs. Non-Preemptive RTLinux – Hard/Non-Preemptive uC/OS-II – Hard/Preemptive Linux – Soft Support/Preemptive
uC/OS-II (Micro Controller Operating System Version 2) Basic Concept Uses interrupts to control task Critical section of code os_enter_critica() os_exit_critical() Built for DOS applications
uC/OS-II Strengths Handles interrupt management well (255 nested interrupts) PC ready Strong documentation Weaknesses No network programming support while in critical section of code Fully preemptive
RTLinux Basic Concept New layer of abstraction Modules Scheduling Fixed priority scheduler Threads Runs normal Linux as a low priority thread
RTLinux Strengths Own scheduling routine Controls Linux kernel High precision Weakneses Not well documented Small number of hardware devices supported Poor memory management
ABWM Tool Original Tool Simplified Formula (B w = S/t i ) Analysis Sending time gaps are not consistent Improvements required Critical -Timing of initial time gaps Re-Engineering/Port to RTOS chosen
RTABWM Tool RTLinux -Modification Made Used of Linux real-time support Critical Code sendProbingMsg() function Problems Encountered Network interface card (NIC) RTLinux unable to support shared memory Solution Linux real-time support
Linux Schedulers SCHED_OTHER Default – Nice level and quantum SCHED_FIFO First-In First-Out SCHED_RR Round Robin
Linux Modification Made Used Linux real-time support Set scheduler to round robin Critical Code fork() receiveprobingMsg() Accuracy of results
Comparison of Results Ran: May 7, 2002 ABWMABWM-rr
Current Status Analyzed current ABW Tool Researched Real Time Operating Systems Loaded RTLinux on viva.uccs.edu server Ran sample/example programs RTLinux and uC/OS-II back shelved Chose Linux with real-time support
Conclusion Result of testing usec accuracy Future Work RTLinux Commercial version has shared memory support Better network support Integrating tool into other applications Questions?