13.07.2015 Views

Dynamic QOS Control Based on the QOS-Ticket Model - IEEE Xplore

Dynamic QOS Control Based on the QOS-Ticket Model - IEEE Xplore

Dynamic QOS Control Based on the QOS-Ticket Model - IEEE Xplore

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

The roles of <strong>the</strong> five comp<strong>on</strong>ents in <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong>model are as follows:The <str<strong>on</strong>g>QOS</str<strong>on</strong>g> factor: registered by each sessi<strong>on</strong> with <strong>the</strong><str<strong>on</strong>g>QOS</str<strong>on</strong>g> Manager, describes <strong>the</strong> characteristics of <strong>the</strong> sessi<strong>on</strong>.It specifies a priority and a tolerable allocati<strong>on</strong>range (maximum and minimum values) for each resourcerequest. The <str<strong>on</strong>g>QOS</str<strong>on</strong>g> Manager will allocate resourcesto meet this request.The <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> is a “ticket,” issued by <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>Maiiager to each sessi<strong>on</strong>, for preferential use of resources.It represents a reservati<strong>on</strong> of resources for asessi<strong>on</strong>. Through <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong>, a sessi<strong>on</strong> can useresources preferentially, within <strong>the</strong> reserved limits. Theresources c<strong>on</strong>sumed in accordance with a <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong>are recorded in it, and each sessi<strong>on</strong> can determine <strong>the</strong>quantity of resources c<strong>on</strong>sumed, as well as its ownresource-reservati<strong>on</strong> status. The <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> shouldbe a resource-management mechanism for each sessi<strong>on</strong>.Even if a sessi<strong>on</strong> c<strong>on</strong>sists of multiple processes orthreads, <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> should be shared am<strong>on</strong>g <strong>the</strong>m.The operating system provides a resource-managementmechanism for <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong>. This c<strong>on</strong>sists of <strong>the</strong>resource-reservati<strong>on</strong> mechanism and <strong>the</strong> resource-useiuformati<strong>on</strong> offering. The resource reservati<strong>on</strong> is indispensablefor realizing <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong>. The resource-useinformati<strong>on</strong> provides each sessi<strong>on</strong> with important hints<strong>on</strong> how to c<strong>on</strong>trol <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>.The <str<strong>on</strong>g>QOS</str<strong>on</strong>g> Manager is a kind of scheduler that allocatesresources to sessi<strong>on</strong>s. Basically, <strong>the</strong> allocati<strong>on</strong> iscalculated according to <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> factors, but <strong>the</strong> policyis decided by <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> Manager. On <strong>the</strong> basis of <strong>the</strong>allocati<strong>on</strong>, <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> Manager reserves resources andissues a <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> to each sessi<strong>on</strong>. When <strong>the</strong> numberof sessi<strong>on</strong>s or some <str<strong>on</strong>g>QOS</str<strong>on</strong>g> factor is changed, <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>Manager recalculates <strong>the</strong> resource allocati<strong>on</strong>, modifies<strong>the</strong> resource reservati<strong>on</strong> of <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong>, and notifieseach sessi<strong>on</strong> of <strong>the</strong> change.Each c<strong>on</strong>tinuous-media sessi<strong>on</strong> estimates <strong>the</strong> amountof res<strong>on</strong>rces needed for processing, and declares it to<strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> Manager as part of <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> factor. Therequested resources are allocated by <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> Manager,and a <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> is issued, The sessi<strong>on</strong> adjusts itsown <str<strong>on</strong>g>QOS</str<strong>on</strong>g> to meet <strong>the</strong> resource restricti<strong>on</strong> specified in<strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong>. The resource-use informati<strong>on</strong> in <strong>the</strong>(10s-<strong>Ticket</strong> call be used as a hint <strong>on</strong> <strong>the</strong> adjustment.’In <strong>the</strong> (20s-<strong>Ticket</strong> model, <strong>the</strong> requirements listed in Secti<strong>on</strong>2.1 are satisfied as follows. The resource reservati<strong>on</strong>and restricti<strong>on</strong> are d<strong>on</strong>e by <strong>the</strong> operatin& system. The<str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> provides <strong>the</strong> resource-use informati<strong>on</strong>: whichenables <strong>the</strong> feedback and adaptati<strong>on</strong> mechanism to real-‘111 fact, it is desirable that some support library for a <str<strong>on</strong>g>QOS</str<strong>on</strong>g> adjustmentshould be provided. The Q-Thread library, whch will be described InSecti<strong>on</strong> 3.2, is an example of such a support library.ize <strong>the</strong> independency of <strong>the</strong> system or media data. The<str<strong>on</strong>g>QOS</str<strong>on</strong>g> Manager takes charge of <strong>the</strong> coordinati<strong>on</strong> of multiplesessi<strong>on</strong>s.The separati<strong>on</strong> of policy and mechanism is achieved <strong>on</strong>two levels. One level is that of resource allocati<strong>on</strong>. Theresource reservati<strong>on</strong> mechanism resides in <strong>the</strong> operatingsystem, while <strong>the</strong> resource allocati<strong>on</strong> policy is up to <strong>the</strong><str<strong>on</strong>g>QOS</str<strong>on</strong>g> Manager. The o<strong>the</strong>r level is that of <str<strong>on</strong>g>QOS</str<strong>on</strong>g> c<strong>on</strong>trol.The resource allocati<strong>on</strong> mechanism for <str<strong>on</strong>g>QOS</str<strong>on</strong>g> c<strong>on</strong>trol isimplemented in <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> Manager (and operating system),but <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> c<strong>on</strong>trol based <strong>on</strong> <strong>the</strong> allocated resources ishandled by each sessi<strong>on</strong> according to its own policy. The<str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> (and <str<strong>on</strong>g>QOS</str<strong>on</strong>g> factor) mediate <strong>the</strong>se three activities.In general. <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> Manager and <strong>the</strong> operating systemhave more knowledge <strong>on</strong> <strong>the</strong> resource usage, while eachsessi<strong>on</strong> knows more about <strong>the</strong> characteristics of <strong>the</strong> media.Therefore, we c<strong>on</strong>sider this separati<strong>on</strong> to be very reas<strong>on</strong>able.3. Implementati<strong>on</strong> of <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> <strong>Model</strong>To realize resource management and <str<strong>on</strong>g>QOS</str<strong>on</strong>g> c<strong>on</strong>trol in accordancewith <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> model, we have been developinga prototype <strong>on</strong> RT-Mach, an operating system based<strong>on</strong> <strong>the</strong> Mach microkernel with several real-time extensi<strong>on</strong>s[5]. The first prototype is implemented for <strong>the</strong> CPUresourcemanagement, and c<strong>on</strong>sists of <strong>the</strong> “<str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g>Server” and <strong>the</strong> “Q-Thread library.” The <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g>Server manages <strong>the</strong> CPU allocati<strong>on</strong> am<strong>on</strong>g multiple sessi<strong>on</strong>s,and <strong>the</strong> Q-Thread library helps a user program ineach sessi<strong>on</strong> to adjust its <str<strong>on</strong>g>QOS</str<strong>on</strong>g>. As <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> for <strong>the</strong>CPU resource, <strong>the</strong> prototype uses <strong>the</strong> “processor capacityreservati<strong>on</strong>” mechanism of RT-Mach. The CPU resourcewas chosen as <strong>the</strong> first target for <strong>the</strong> following reas<strong>on</strong>s:0 The CPU reservati<strong>on</strong> mechanism of RT-Mach can beused as a prototype of.<str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong>.e The CPU is a typical shared resource in a system, andshould be carefully c<strong>on</strong>trolled.e The CPU is a comparatively easy resource to c<strong>on</strong>troldynamically.Figure 3 shows <strong>the</strong> structure of <strong>the</strong> prototype. Thefollowing subsecti<strong>on</strong>s give details of <strong>the</strong> implementati<strong>on</strong> ofthis prototype, and <strong>the</strong> next secti<strong>on</strong> describes a dynamic<str<strong>on</strong>g>QOS</str<strong>on</strong>g>-c<strong>on</strong>trol experiment using <strong>the</strong> prototype.3.1. The <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g> ServerIn <strong>the</strong> prototype, <strong>the</strong> CPU reservati<strong>on</strong> mechanism ofRT-Mach [6] is used, This lnechanism makes available in<strong>the</strong> system a Ilew abstracti<strong>on</strong> nalned reserve,,, Arenresents a CPU-resource reservati<strong>on</strong> in <strong>the</strong> formof “requires C sec<strong>on</strong>ds every T sec<strong>on</strong>ds (i.e. $ of <strong>the</strong>CPU).’’ Every thread in <strong>the</strong> System 1s associated with a CPUreserve, and can gain preferential use of <strong>the</strong> CPU through it.80


1. Q-Thread attributeolerable period: 30-100 msnUser programUI. Call ntry point5. CPlJ reserv0‘I ,*200 100 SO 60 50 40 30


Nameqoslib-init 0qthread-attributo-init 0qthread-create0qthread-get-computOqthread-get_attribute()qt hread-s e t -at t ri but e ()qthread-terminate0Descripti<strong>on</strong>Initializes <strong>the</strong> Q-Thread libraryInitializes a Q-Thread attributeCreates a Q-ThreadGets <strong>the</strong> c<strong>on</strong>sumed CPU timeRetrieves a Q-Thread attributeRe-specifies a Q-Thread attributeTerminates a Q-Thread)cDO-SOWE-WORK(qt-hint) :/* qt-hint->comput indicates <strong>the</strong> availablecomputati<strong>on</strong> time (msec) *//* qt-hint->comput-prev gives <strong>the</strong> actualComputati<strong>on</strong> time at <strong>the</strong> last invocati<strong>on</strong> */3this adjustment, a “<str<strong>on</strong>g>QOS</str<strong>on</strong>g>-c<strong>on</strong>trol hint” is passed to <strong>the</strong> userprogram when <strong>the</strong> user-specified entry point is called. Sol<strong>on</strong>g as <strong>the</strong> user program observes <strong>the</strong> computati<strong>on</strong>-time:indicati<strong>on</strong> in <strong>the</strong> hint, its executi<strong>on</strong> is guaranteed by <strong>the</strong>:CPU reserve.The <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-c<strong>on</strong>trol hint also c<strong>on</strong>tains informati<strong>on</strong> <strong>on</strong> <strong>the</strong>:CPU time that was actually c<strong>on</strong>sumed at <strong>the</strong> last invocati<strong>on</strong>,This informati<strong>on</strong> is calculated by <strong>the</strong> Q-Thread library from.<strong>the</strong> accumulated CPU-time informati<strong>on</strong> in <strong>the</strong> CPU reserve:.and can be used by <strong>the</strong> user program to adjust its workload!to match <strong>the</strong> available computati<strong>on</strong> time.In additi<strong>on</strong>, <strong>the</strong> user program can re-specify (modify:i<strong>the</strong> Q-Thread attribute in accordance with &he <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-c<strong>on</strong>trol.hint. In this case, <strong>the</strong> Q-Thread library re-registers <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>’factor with <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g> Server, and <strong>the</strong> CPU allocati<strong>on</strong>.is recalculated.3.3. A User Program Using <strong>the</strong> Q-ThreadBy using <strong>the</strong> Q-Thread, a user can easily write ac<strong>on</strong>tinuous-media sessi<strong>on</strong> that c<strong>on</strong>trols <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> dynam-,ically in accordance with <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> model. Allexported functi<strong>on</strong>s of <strong>the</strong> Q-Thread library are listed in.Table 2.Figure 6 shows a sample user program based <strong>on</strong> <strong>the</strong>:Q-Thread library. In this example, <strong>the</strong> user-specified entrypoint qt-entry() is called periodically with periods from130 to 100 msec. The available computati<strong>on</strong> time (CPUtime) for each invocati<strong>on</strong> is indicated inside <strong>the</strong> sec<strong>on</strong>d.argument, qt-hint, and <strong>the</strong> user program must change:<strong>the</strong> amount of its work <strong>on</strong> <strong>the</strong> basis of this informati<strong>on</strong>..Although not shown in <strong>the</strong> example, <strong>the</strong> user program canalso modify <strong>the</strong> range of tolerable computati<strong>on</strong> time using,<strong>the</strong> qthread-set,-attribute() functi<strong>on</strong>, in accordance:with <strong>the</strong> previous actual computati<strong>on</strong> time given in <strong>the</strong>:qt-hint structure.4- An Experiment in <str<strong>on</strong>g>Dynamic</str<strong>on</strong>g> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g>The <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g> Server and Q-Thread library have:already been implemented <strong>on</strong> RT-Mach. Both programs,3qt hread- t qthread ;qthread-attr-data-t qt-attr;kern-return-tkr;kr = qoslib-init(); /* Initialize <strong>the</strong> Q-Thread lib. */kr = qthread-attribute-init( /* Set up a 9-Thread attr*/qt-entry,BULL, /* Periodic entry point and arg.+/30,100, /* Range of <strong>the</strong> period (msec) */10,20, /* Range of <strong>the</strong> comp.time (msec)*/3, /+ Priority */DEGRADE-PERIOD-FIRST, /* <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-c<strong>on</strong>trol policy */HULL,BULL, /* Deadline handler and its arg.*/tqt-attr) ;kr = qthread-create(mach-task_self 0 ,tqthread,tqt-attr);/* Create a Q-Thread */thread_terminate(mach-thread_self () 1 :Figure 6. Sample program using <strong>the</strong> Q-Threadare written in C; <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g> Server c<strong>on</strong>tains about1500 lines and <strong>the</strong> Q-Thread library about 1000 lines. Anexperiment in dynamic <str<strong>on</strong>g>QOS</str<strong>on</strong>g> c<strong>on</strong>trol was carried out to show<strong>the</strong> effectiveness of <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> model.In this experiment, three dummy threads written by using<strong>the</strong> Q-Thread library were used. When <strong>the</strong> entry point iscalled, <strong>the</strong>se dummy threads use up <strong>the</strong> CPU resource for <strong>the</strong>amount of <strong>the</strong> available computati<strong>on</strong> time indicated in <strong>the</strong><str<strong>on</strong>g>QOS</str<strong>on</strong>g>-c<strong>on</strong>trol hinL4 The Q-Thread attributes of <strong>the</strong> dummythreads are shown in Table 3. All threads specify <strong>the</strong> sameranges of <strong>the</strong> period (30 to 100 msec) and of <strong>the</strong> computati<strong>on</strong>time (10 to 20 msec), but <strong>the</strong> priority (a high value meanshigh priority) and <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-c<strong>on</strong>trol policy are different. Inadditi<strong>on</strong> to <strong>the</strong>se dummy threads, a “disturbing” thread runsfrom 50 to 60 sec. This thread tries to exhaust <strong>the</strong> CPU bylooping infinitely.We observed <strong>the</strong> behavior of dynamic <str<strong>on</strong>g>QOS</str<strong>on</strong>g> c<strong>on</strong>trol byexecuting <strong>the</strong>se threads with <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g> Server. Theexperiment was carried out <strong>on</strong> an IBM ThinkPad 755C(9545-L, IntelDX4-75MHz). The versi<strong>on</strong> of RT-Mach wasMK945 and <strong>the</strong> resoluti<strong>on</strong> of <strong>the</strong> system clock was changed41n fact, this workload adjustment should be based <strong>on</strong> informati<strong>on</strong>about <strong>the</strong> previous computati<strong>on</strong> time and so <strong>on</strong>, but, ths mechanism isomitted in our experiment. For this point, we are currently evaluating“real” applicati<strong>on</strong>s such as a QuickTime player written with <strong>the</strong> Q-Thread.’RT-Mach MK94 is a versi<strong>on</strong> released in 1994 by our Keio-MMPproject [17], based <strong>on</strong> CMU’s MK83i with some extensi<strong>on</strong>s.83


I 1 I IExec. term Period Comp.No (sec) (msec) (msec)1 00-30 30-100 10-20Priority <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-ctrl.policy2 D-P-1ST40 i SOD 1 50i60 I (Disturbing thread that exhausts<strong>the</strong> CPU by looping infinitely)to 1 msec. Figure 7 shows <strong>the</strong> results. The upper partof this figure shows tlie actual period (i.e. temporal <str<strong>on</strong>g>QOS</str<strong>on</strong>g>)of each duininy thread, and <strong>the</strong> lower part shows <strong>the</strong> CPUutilizati<strong>on</strong> and deadline misses during <strong>the</strong> experiment. Theavailable coinputati<strong>on</strong> time (i.e. spatial <str<strong>on</strong>g>QOS</str<strong>on</strong>g>) indicated by<strong>the</strong> Q-Thread library is also shown in <strong>the</strong> upper graph byexpressi<strong>on</strong>s of <strong>the</strong> form “c = ... .”In <strong>the</strong> first 10 sec<strong>on</strong>ds, oiily thread 1 was runnin& andtlie highest <str<strong>on</strong>g>QOS</str<strong>on</strong>g> (30 msec period and 20 msec computati<strong>on</strong>time) was achieved. But after higher-priority threads 2 and3 were started at 10 and 20 sec, <strong>the</strong> period of thread 1was extended to about 90 msec. Threads 2 and 3 had <strong>the</strong>samepriority, but <strong>the</strong>ir <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-c<strong>on</strong>trol policies were different.Therefore, thread 3 was able to run with a shorter periodthan thread 2, but its available computati<strong>on</strong> time was smallerthan that of thread 2.After 30 sec, <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-c<strong>on</strong>trol policy of thread 1 waschanged to DEGRADE-COMPUT-FIRST. C<strong>on</strong>sequently, <strong>the</strong>period of thread 1 was reduced and <strong>the</strong> computati<strong>on</strong> time wasdecreased. In tliis case, <strong>the</strong><str<strong>on</strong>g>QOS</str<strong>on</strong>g> factor was notre-registered,so this change had no influence <strong>on</strong> o<strong>the</strong>r threads. After 40sec, <strong>the</strong> priority of thread 3 was changed and its <str<strong>on</strong>g>QOS</str<strong>on</strong>g> factorwas re-registered. By this re-registrati<strong>on</strong>. <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g>Server recalculated <strong>the</strong> CPU-resource assignment and set itto <strong>the</strong> CPU reserves. As a result of <strong>the</strong> recalculati<strong>on</strong>, <strong>the</strong>period and computati<strong>on</strong> time of <strong>the</strong> three dummy threadswere modified.Even during <strong>the</strong> 50 to 60 sec that <strong>the</strong> disturbing thread wasrunning, tlie three duininy threads were able to run withoutany influence, regardless of <strong>the</strong> 100% CPU utilizati<strong>on</strong> shownin <strong>the</strong> lower graph, The behavior of <strong>the</strong> dummy threads wasvery stable, and very few deadline misses occurred, as <strong>the</strong>lower graph shows.6The experiment shows that <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> of<strong>the</strong> CPU resourcecan be effectively c<strong>on</strong>trolled by <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g> Serverand <strong>the</strong> Q-Thread library in accordance with <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> model.‘The deadline nlisses observed in <strong>the</strong> lower graph were caused by <strong>the</strong>c<strong>on</strong>sumpti<strong>on</strong> of more CPU resources than <strong>the</strong> available computati<strong>on</strong> timeallowed, because of .some nlis-evaluati<strong>on</strong> of <strong>the</strong> workload.0 ’ J0 10 20 30 40 50Time (sec)60 70 80II0 10 20 30 40 50 60 70 80Time (sec)Figure 7. Result of dynamic <str<strong>on</strong>g>QOS</str<strong>on</strong>g> c<strong>on</strong>trol with<strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g> Server and Q-Threads5. Related WorkThere have been several studies of <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-c<strong>on</strong>trol architectureand executi<strong>on</strong> models for c<strong>on</strong>tinuous-media processing.This secti<strong>on</strong> introduces some of <strong>the</strong>se activities, and coinpares<strong>the</strong>m with ours.Researchers at Lancaster University have tried to providean integrated and coherent framework for <str<strong>on</strong>g>QOS</str<strong>on</strong>g> c<strong>on</strong>trol[9]. A group at <strong>the</strong> University of Pennsylvania has proposeda “<str<strong>on</strong>g>QOS</str<strong>on</strong>g> Broker” model that organizes multimediaresource management over network [lO]. This model usesdatabase files named “<str<strong>on</strong>g>QOS</str<strong>on</strong>g> profile” for <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> translati<strong>on</strong>,while our model uses <strong>the</strong> feedback and adaptati<strong>on</strong> mechanism.The Rialto OS by Microsoft Research proposeshierarchical resource management in <strong>the</strong> operating system[ 113. The highest-level “Resource Planner” c<strong>on</strong>trols <strong>the</strong>resource allocati<strong>on</strong> of <strong>the</strong> whole system. The RT-Mach&roup at CarneEie Mell<strong>on</strong> University is also developing ilserver for <str<strong>on</strong>g>QOS</str<strong>on</strong>g> c<strong>on</strong>trol and a network-ph<strong>on</strong>e system, using<strong>the</strong> processor capacity reservati<strong>on</strong> [ 121. Researchersat Fujitsu Laboratories are proposing an interesting <str<strong>on</strong>g>QOS</str<strong>on</strong>g>c<strong>on</strong>trolscheme, which uses a “market mechanism” for <strong>the</strong>acquisiti<strong>on</strong> of resources by multiple sessi<strong>on</strong>s [ 131.For scheduling of processors in c<strong>on</strong>tinuous-media processing,<strong>the</strong> Rate-<str<strong>on</strong>g>Based</str<strong>on</strong>g> Executi<strong>on</strong> inodel has been proposedby a group at <strong>the</strong> Universit-y of North Carolina [14]. Thisinodel uses (z, y, d) parameters to represent <strong>the</strong> executi<strong>on</strong>84


“rate” of a process. There have also been several studiesof processor scheduling for c<strong>on</strong>tinuous-media processing[15, 161.In relati<strong>on</strong> to Ihese studies, we think that <strong>the</strong> uniquefeatures of our proposed mechanism are as follows:0 We focus <strong>on</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> c<strong>on</strong>trol of multiple sessi<strong>on</strong>s.0 Our model incorporates both reservati<strong>on</strong> and adaptati<strong>on</strong>.Actual implementati<strong>on</strong> is being d<strong>on</strong>e <strong>on</strong> RT-Mach.Whereas some of <strong>the</strong> above research projects focus ori<strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> c<strong>on</strong>trol of individual sessi<strong>on</strong>s over a network,ours focuses <strong>on</strong> dynamic <str<strong>on</strong>g>QOS</str<strong>on</strong>g> c<strong>on</strong>trol of multiple sessi<strong>on</strong>sin a system. However, it may be possible to use <strong>the</strong><str<strong>on</strong>g>QOS</str<strong>on</strong>g>-c<strong>on</strong>trol policies of <strong>the</strong> above projects to adjust <strong>the</strong><str<strong>on</strong>g>QOS</str<strong>on</strong>g> of each sessi<strong>on</strong> in our <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> model. Someof <strong>the</strong> previous <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-c<strong>on</strong>trol research c<strong>on</strong>siders <strong>on</strong>ly <strong>the</strong>resource reservati<strong>on</strong> or <strong>the</strong> resource adaptati<strong>on</strong>, while our<str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> model takes account of both reservati<strong>on</strong> andladaptati<strong>on</strong>. In additi<strong>on</strong> to designing a model, we havealso started to implement <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> Manager and its supporl~library in accordance with <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> model.6. C<strong>on</strong>clusi<strong>on</strong>s and Future WorkIn this paper, we first introduced <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> model asa new resource-management and <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-c<strong>on</strong>trol architecturefor c<strong>on</strong>tinuous-media applicati<strong>on</strong>s. In this model, dynamic:<str<strong>on</strong>g>QOS</str<strong>on</strong>g> c<strong>on</strong>trol is achieved through cooperati<strong>on</strong> of an operatingsystem, a <str<strong>on</strong>g>QOS</str<strong>on</strong>g> Manager, and individual c<strong>on</strong>tinuous-media.sessi<strong>on</strong>s. The <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong>, which represents <strong>the</strong> resource:reservati<strong>on</strong> for each sessi<strong>on</strong>, mediates <strong>the</strong>se activities. Next,,we described <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g> Server and Q-Thread libraryas an implementati<strong>on</strong> of <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> model. The:Q-Thread library provides a new thread mechanism forc<strong>on</strong>tinuous-media processing, named “Q-Thread.” A Q-Thread allows a user to specify <strong>the</strong> tolerable range of <strong>the</strong>:period and computati<strong>on</strong> time for invocati<strong>on</strong>s, and makes it.easy to write a c<strong>on</strong>tinuous-media sessi<strong>on</strong> that can c<strong>on</strong>trol<strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> dynamically. We also described a dynamic <str<strong>on</strong>g>QOS</str<strong>on</strong>g>c<strong>on</strong>trolexperiment, using our prototype, that shows <strong>the</strong>.effectiveness of <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> model.As we have shown, <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> model works verywell for managing lhe CPU resource. However, our ultimatetarget is to inanage all system resources - not <strong>on</strong>ly <strong>the</strong>.CPU, but also <strong>the</strong> memory, disk, network, and so <strong>on</strong> - iiian integrated fashi<strong>on</strong>, within <strong>the</strong> framework of <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> model. Currently, <strong>the</strong> resource-c<strong>on</strong>trol mechanismsfor <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong> are being added to RT-Mach. In parallelwith this OS-level extensi<strong>on</strong>, we are developing a new<str<strong>on</strong>g>QOS</str<strong>on</strong>g> Manager by extending <strong>the</strong> <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g> Server. Realapplicati<strong>on</strong>s such as a QuickTime player are also beingdeveloped by using <strong>the</strong> Q-Thread.AcknowledgementsThe authors would like to thank members of <strong>the</strong> Keio-MMP project [17] and <strong>the</strong> Keio-IBM partnership program[ 181 for <strong>the</strong>ir help and advice.References[l] J. F. K. Buford et al.: Multimedia sy,stems, Chapter 8, ACMPress SIGGRAPH Series, Addis<strong>on</strong>-Wesley (1994).[2] H. Tokuda and T. Kitayama: “<str<strong>on</strong>g>Dynamic</str<strong>on</strong>g> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g> based<strong>on</strong> Real-Time Threads,” Proc. NOSSDAV ’93, pp. 113-122(1993).[3] K. Kawachiya et al.: “Evaluati<strong>on</strong> of <str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g> Servers<strong>on</strong> Real-Time Mach,” Proc. NOSSDAV ’95, pp. 123-126(1995).[4] K. Kawachiya and H. Tokuda: “<str<strong>on</strong>g>QOS</str<strong>on</strong>g>-<strong>Ticket</strong>: A NewResource-Management Mechanism for <str<strong>on</strong>g>Dynamic</str<strong>on</strong>g> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g>of Multimedia,” Proc. Multiinedia Jupm ’96, pp. 14-21(1996).[SI H. Tokuda et al.: “Real-Time Mach: Towards a PredictableReal-Time System,” Pi.0~. USENIX Much Workslzop, pp.73-82 (1990).[6] C. W. Mercer et al.: “Processor Capacity Reserves: OperatingSystem Support for Multimedia Applicati<strong>on</strong>s,” Proc.<strong>IEEE</strong>ICMCS ’94, pp. 90-99 (1994).[7] K. Kawachiya and H. Tokuda: “Q-Thread: A New Executi<strong>on</strong><strong>Model</strong> for <str<strong>on</strong>g>Dynamic</str<strong>on</strong>g> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> <str<strong>on</strong>g>C<strong>on</strong>trol</str<strong>on</strong>g> of C<strong>on</strong>tinuous-MediaProcessing,” Proc. NOSSDAV ‘96(1996).[8] H. Tokucla et al.: “A Real-Time Thead <strong>Model</strong> for C<strong>on</strong>tinuousMediaApplicati<strong>on</strong>s,”ART~r~~~~p Tech. Repor?. CarnegieMell<strong>on</strong> University, May 1993 (1993).[9] A. Campbell et al.: “<str<strong>on</strong>g>Dynamic</str<strong>on</strong>g> QoS Management for ScalableVideo Flows,” Proc. NOSSDAV ’95, pp. 107-1 18 (1995).[lo] K. Nahrstedt and J. M. Smith: “The <str<strong>on</strong>g>QOS</str<strong>on</strong>g> Broker,” <strong>IEEE</strong>Multiinediu, Vol. 2, No. 1, pp. S3-67 (1995).[Ill M. B. J<strong>on</strong>es et al.: “Support for User-Centric ModuliuReal-Time Resource Management in <strong>the</strong> Rialto OperatingSystem,” Proc. NOSSDAV ‘95, pp. 5.5-6.5 (1995).[12] C. Lee et al.: “Experiences with Processor Reservati<strong>on</strong>and <str<strong>on</strong>g>Dynamic</str<strong>on</strong>g> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> in Real-Time Mach,” Proc. MultirnediuJupun ’96, pp. 22-31 (1996).[13] T. Aoki et al.: “<str<strong>on</strong>g>Dynamic</str<strong>on</strong>g> <str<strong>on</strong>g>QOS</str<strong>on</strong>g> c<strong>on</strong>trol using a marketmechanism,” Proc. 51st Annual C<strong>on</strong>venti<strong>on</strong> IPS Juppan, pp.4-5-4-6, in Japanese (1995).[I41 K. Jeffay and D. Bennett: “A Rate-<str<strong>on</strong>g>Based</str<strong>on</strong>g> Executi<strong>on</strong> Abstracti<strong>on</strong>for Multimedia Computing,” Proc. NOSSDAV ‘95,pp. 61-78 (1995).[15] J. Nieh and M. S. Lam: “Integrated Processor Schedulingfor Multimedia,” Proc. NOSSDAV ’95, pp. 215-218 (1995).[16] R. Yavatkar and K. Lakshman: “A CPU Scheduling Algorithmfor C<strong>on</strong>tinuous Media Applicati<strong>on</strong>s,” Proc. NOSSDAV’95, pp. 223-226 (1995).[I71 Keio-MMP Project: WWW Home Page, URL:.[18] Keio-IBM Partnership Program: WWW Home Page, URL:.85

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!