160 likes | 174 Views
This project aims to improve the accuracy of available bandwidth measurement by studying the effectiveness of using real-time operating systems. The proposal discusses the background, project plan, and comparison of results obtained.
E N D
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 (Bw = S/ti) • 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 ABWM ABWM-rr Ran: May 7, 2002
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?