Better Admission Control and Disk Scheduling for Multimedia Applications by BadrinathVenkatachari AThesis SubmittedtotheFaculty ofthe WORCESTER POLYTECHNICINSTITUTE Inpartialfulfillmentoftherequirementsforthe DegreeofMasterofScience in ComputerScience by January2002 APPROVED: Prof. MarkL.Claypool,ThesisAdvisor Prof. RobertE.Kinicki,ThesisReader Prof. MichaHofri,Head ofDepartment Abstract General purposeoperating systemshave been designedto providefast, loss-free disk service to all applications. However, multimedia applications are capable of tolerating somedataloss,butareverysensitivetovariationindiskservicetiming. Currentresearch effortstohandlemultimediaapplicationsassumepessimisticdiskbehaviourwhendecid- ing to admit new multimedia connections so as not to violate the real-time application constraints. However, since multimedia applications are soft real-time applications that cantoleratesomeloss,weproposeanoptimisticschemeforadmissioncontrolwhichuses average case values for disk access taking advantage of caching in the operating system and on the hard disk controller. We have also optimized the measurement based admis- sion controller to admitvariable bandwidthmultimediaclients evenwhen the requesting client’srequirementscannotbecompletelymet. Weassumethatthemultimediafileshave beenencodedasmultiplelayers,eachaddingresolutiontothepreviousone. Typically,diskschedulingmechanismsformultimediaapplicationsreducediskaccess timesbyonlytryingtominimizemovementtosubsequentblocksafter sequencingbased on Earliest Deadline First. We propose to implement a disk scheduling algorithm that prioritizesrequeststohelpalignservicetoapplicationrequirements. Thediskscheduling algorithm uses knowledge of the media stored (like MPEG or Realmedia) and permissi- blelossand jitterfor each client,inadditiontothephysicalparametersusedbytheother schedulingalgorithms,toschedulerequestsefficiently. We evaluateourapproach by im- plementingour admission control policy and disk schedulingalgorithm inside the Linux kernel under a framework called Clarity and measuring the quality of various mul- timedia streams and performance of non-multimedia applications. Clarity provides better bandwidth utilization by admitting more multimedia clients than the traditional pessimistic approach. It also guarantees disk bandwidth availability to clients of a par- ticular class in the presence of a large number of clients of other classes. This results in fewer deadlines violations for multimedia clients, higher throughput and lower average response time for non-multimediaclients. We find thatour approach results in improved performance for multimedia and non-multimedia applications. The contributions of this thesisare thedevelopmentof a new admissioncontroland flexibledisk schedulingalgo- rithmforimprovedmultimediaqualityofserviceandtheirimplementationonLinux. 2 Acknowledgments For me, it has been a big journey from the start to finish. A journey that has been wrought with endless sleepless nights, disappointments, and a lot of struggle. Needless tosay,thattheonlythingthatkeptmegoingwasthesupportofanumberofpeople. First andforemost,Prof. MarkClaypool. Mark,“Withoutyourunstintingsupport,faithinmy work, there is just no way that I could have completed my thesis. You have been always there whenever I needed your help in any form and that is what saw me through times of confusion, and helplessness. I guess no words can adequately describe what youhave done for me and my work as an advisor, and companion. I thank you for everything.” I thank my reader, Prof. Bob Kinicki for taking the time to read my thesis carefully and givingnumeroussuggestionstoimproveit. Thereareanumberoffriendswhohavecontributegreatlytotheclosureonmythesis. Iwouldlikethankmyclosefriend,GanaforallhispatienceandsupportduringthetimesI wasawayinthelabfordaystogether. Icannotthinkofanythingmorehecouldhavedone tohelpmeconcentrateonmyresearch. Inthedevelopmentalstageofmywork,Ispenta lot of time with Nitin discussing the various aspects of my work. While he would claim tounderstandnothing,itusuallyendedupwithmyclarifying/rectufyingsomemethodor assumption of mine. I thank him for all the time he spent patiently listening to my rant (mostlyverylateinthenight/veryearlyinthemorning). I thank Srikanth for his support and help with many things including numerous trips tothelabtorebootthemachinewheneverIlostremoteconnectivity. Withoutthat,work- ing seamlessly away from school would have been impossible. Many thanks to Pravin, ManishandAkshayfortheirsustainedinterestandendlessproddingtohelpmecomplete mythesis. MyveryspecialthankstoRoshan,wholiterallyhelpedmeturnthisthesisover totheinstitute. WithouthissustainedhelpatthelastminuteIwouldhavebeenlate. Finally, I would alsolike to extendmy gratituteto all my friends who have made my i stayatWPI onetorememberforever. ii Contents 1 Introduction 1 1.1 Diskschedulingformultimedia. . . . . . . . . . . . . . . . . . . . . . . 8 2 Related Research 14 2.1 DiskScheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.1.1 MultimediaOperatingSystems . . . . . . . . . . . . . . . . . . 15 2.1.2 ModificationstoPresentOperatingSystems . . . . . . . . . . . . 16 2.1.3 SimulationDrivenDiskScheduling . . . . . . . . . . . . . . . . 18 2.2 AdmissionControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2.1 MPEGLayeringofVideo . . . . . . . . . . . . . . . . . . . . . 24 2.2.2 Caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.3 LinuxImplementations . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3 Clarity 28 3.1 ServiceClasses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2 LayeredMultimediaStreams . . . . . . . . . . . . . . . . . . . . . . . . 32 3.3 AdmissionControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.3.1 OptimisticAdmissionControl . . . . . . . . . . . . . . . . . . . 37 3.3.2 Measurement-basedAdmissionControl . . . . . . . . . . . . . . 42 3.3.3 AdaptiveMeasurement-basedAdmissionControl . . . . . . . . . 46 iii 3.3.4 Cache awaremeasurement-basedadmissioncontrol . . . . . . . . 48 3.4 DiskScheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 3.4.1 AlignmentofdiskservicethroughService Classes . . . . . . . . 55 3.4.2 ProtectionofServiceClasses . . . . . . . . . . . . . . . . . . . . 56 3.4.3 ProtectionofClientsWithinaServiceClass . . . . . . . . . . . . 57 3.4.4 AdaptabilitytoChangingSystemLoad . . . . . . . . . . . . . . 59 3.4.5 MinimizationofSeekandRotationalLatencies . . . . . . . . . . 59 3.4.6 AwarenessofCachingPoliciesinLinux . . . . . . . . . . . . . . 60 3.4.7 AbilitytoExploitInherentMediaCharacteristics . . . . . . . . . 61 3.4.8 EfficiencyinComputation . . . . . . . . . . . . . . . . . . . . . 62 4 Implementation ofClarity 63 4.1 SystemConfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 4.2 AdmissionController . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 4.2.1 SystemCalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4.3 DiskScheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.3.1 SystemCalls . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.3.2 ImplementationConsiderations . . . . . . . . . . . . . . . . . . 71 5 Performance Evaluationand Results 84 5.1 DeterminationofRunningTimeforClients . . . . . . . . . . . . . . . . 86 5.2 AdmissionControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5.3 Diskscheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 6 Conclusion 126 7 Future Work 130 iv List of Figures 3.1 ClarityintheLinuxkernel . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2 Flow-chartforadmissioncontrol . . . . . . . . . . . . . . . . . . . . . . 41 5.1 Determinationof Client ExecutionTime: Average response times versus Clientexecutiontimesfor10clients . . . . . . . . . . . . . . . . . . . . 87 5.2 DeterminationofClientExecutionTime: AveragethroughputversusClient executiontimesfor10clients . . . . . . . . . . . . . . . . . . . . . . . . 88 5.3 Number of clients admittedby pessimistic, optimisticand measurement- basedadmissioncontrollersfora blocksizeof1KB . . . . . . . . . . . . 90 5.4 Number of clients admittedby pessimistic, optimisticand measurement- basedadmissioncontrollersfora blocksizeof2KB . . . . . . . . . . . . 91 5.5 Number of clients admittedby pessimistic, optimisticand measurement- basedadmissioncontrollersfora blocksizeof4KB . . . . . . . . . . . . 92 5.6 Measurement-based admission control: Disk bandwidth consumed for variousdiskblocksizes . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.7 Comparison of measurement-based admission control and its adaptive variation for various block sizes: Number of MPEG-like clients admit- ted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.8 Fraction of total bandwidth consumed by MPEG-like clients under the adaptivemeasurement-basedadmissioncontrolscheme . . . . . . . . . . 98 v 5.9 PerformancecomparisonofLinuxandClarityinthepresenceofonly non-multimediaclients: Averagethroughput . . . . . . . . . . . . . . . . 101 5.10 PerformancecomparisonofLinuxandClarityinthepresenceofonly non-multimediaclients: Averageresponsetime . . . . . . . . . . . . . . 102 5.11 BandwidthpartitioningunderLinuxinthepresenceofexcessnon-multimedia clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 5.12 Percentage of deadlines missed under Linux and Clarity in the pres- enceofexcessnon-multimediaclients . . . . . . . . . . . . . . . . . . . 105 5.13 Bandwidth partitioning under Clarity in the presence of excess non- multimediaclients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 5.14 Jitter comparison for multimedia clients under Linux and Clarity in thepresence ofexcessnon-multimediaclients . . . . . . . . . . . . . . . 108 5.15 BandwidthpartitioningunderLinuxinthepresenceofexcessmultimedia clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 5.16 BandwidthpartitioningunderClarityinthepresenceof excessmulti- mediaclients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 5.17 Average throughput for non-multimediaclients under Linux and Clar- ityinthepresenceofexcessmultimediaclients . . . . . . . . . . . . . 112 5.18 Averageresponsetimefornon-multimediaclientsunderLinuxandClar- ityinthepresenceofexcessmultimediaclients . . . . . . . . . . . . . 114 5.19 Blocks serviced under Linux and Clarity in the presence of excess multimediaclients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 5.20 Disk utilization with and without bandwidth re-allocation policies under Claritywhenmultimediaserviceclassisunder-utilized . . . . . . . . 117 5.21 Average throughput with and without bandwidth re-allocation policies underClaritywhenmultimediaserviceclassisunder-utilized . . . . . 118 vi 5.22 Averageresponsetimewithandwithoutbandwidthre-allocationpolicies underClaritywhenmultimediaserviceclassisunder-utilized . . . . . 119 5.23 Jitter observed by multimedia clients with and without bandwidth re- allocation policies under Clarity when multimedia service class is under-utilized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 5.24 Disk utilization with and without bandwidth re-allocation policies under Claritywhennon-multimediaserviceclassisunder-utilized . . . . . . 121 5.25 Average throughput with and without bandwidth re-allocation policies underClaritywhennon-multimediaserviceclassisunder-utilized . . 123 5.26 Averageresponsetimewithandwithoutbandwidthre-allocationpolicies underClaritywhennon-multimediaserviceclassisunder-utilized . . 124 5.27 Percentage of deadlines missed under Linux and Clarity in the pres- enceofexcessnon-multimediaclients . . . . . . . . . . . . . . . . . . . 125 vii
Description: