搜索
您的当前位置:首页正文

Experimentation with Event-based Methods of Adaptive Quality of Service Management

来源:二三娱乐
ExperimentationwithEvent-BasedMethodsofAdaptiveQualityofService

Management

RichardWestandKarstenSchwanCollegeofComputingGeorgiaInstituteofTechnology

Atlanta,GA30332

Abstract

Manycomplexdistributedapplicationsrequirequalityofservice(QoS)guaranteesontheend-to-endtransferofinformationacrossadistributedsystem.Amajorproblemfacedbyanysystem,orinfrastructure,providingQoSguaranteestosuchapplicationsisthatresourcerequirementsandavailabilitymaychangeatrun-time.Con-sequently,adaptiveresource(and,hence,service)managementmechanismsarerequiredtoguaranteequalityofservicetotheseapplications.

Thispaperdescribesdifferentmethodsofadaptivequalityofservicemanagement,implementedwiththeevent-basedmechanismsofferedbytheDionisysqualityofserviceinfrastructure.Dionisysallowsapplicationstoinflu-ence:(1)howserviceshouldbeadaptedtomaintainrequiredquality,(2)whensuchadaptationsshouldoccur,and(3)wheretheseadaptationsshouldbeperformed.InDionisys,servicemanagersexecuteapplication-specificfunctionstomonitorandadaptservice(and,hence,resourceusageandallocation),inordertomeetthequalityofservicerequirementsofadaptableapplications.Thisapproachallowsservicemanagerstoprovideserviceinamannerspecifictotheneedsofindividualapplications.Moreover,applicationscanmonitorandpin-pointre-sourcebottlenecks,adapttheirrequirementsforheavily-demandedresources,oradapttodifferentrequirementsofalternativeresources,inordertoimproveormaintaintheiroverallqualityofservice.Likewise,servicemanagerscancooperatewithotherservicemanagersand,byusingknowledgeofapplication-specificresourcerequirementsandadaptationcapabilities,eachservicemanagercanmakebetterdecisionsaboutresourceallocation.Usingareal-timeclient-serverapplication,builtontopofDionisys,wecomparealternativestrategiesforadaptingandcoordinatingCPUandnetworkservices.Inthisfashion,wedemonstratetheimportanceofflexibilityinqualityofservicemanagement.

1.Introduction

Complexdistributedapplications,includinggroupware[14],virtualenvironments(e.g.,DIVE[5,18]),dis-tributedgames[29],multimediavideoandaudio,anddistributedinteractivesimulations(DIS)[24]requirequalityofservice(QoS)guaranteesontheend-to-endtransferofinformationacrossadistributedsystem.Amajorprob-lemfacedbyanysystem,orinfrastructure,providingqualityofserviceguaranteestosuchapplicationsisthatresourcerequirementsandavailabilitymaychangeatrun-time.Forexample,anapplicationmayrequiremoreorlessCPUcyclestoidentifyatargetobjectinagraphicalimage,dependingonthecontentofthatimage.Likewise,resourceavailabilitymaychangeduetoadynamicallychangingnumberofapplicationtaskssharingafinitesetofcommonresources.Consequently,adaptiveresource(and,hence,service)managementisrequiredtoguaranteeand,possibly,maximizequalityofservicetocomplexapplications.Furthermore,itisimportantthatadaptiveresourcemanagementmechanismsbuiltwithinasystemorinfrastructureareawareofthespecificneedsofindi-vidualapplications.

Manyresearchgroupshaveproposeddifferentarchitecturesandmiddleware[4,13,27,20,2,26],toprovideruntimequalityofserviceguaranteesoninformationexchangedbetweenhostsinadistributedenvironment.How-ever,theDionisysQoSinfrastructure,thatwepropose,supportsapplication-specificextensionsforqualityofservicemanagement,byallowingapplicationstocontrol:(1)howserviceshouldbeadaptedtomaintainrequiredlevelsofquality,(2)whensuchadaptationsshouldoccur,and(3)wheretheseadaptationsshouldbeperformed.Dionisyssupportsper-applicationqualitymanagement,whichisparticularlyimportantforlarge-scale,complexapplications,whereservicequalitymaydependonmultipleservicetypes,requiringthatoneservicetypebeadaptedtocompensatefortoomuchortoolittleserviceofanothertype.Forexample,consideranapplicationthatrequiresbothCPUandnetworkservicestogenerateandtransferinformationtoaclientonaremotehost.Inthiscase,tocompensateforinsufficientbandwidth,theapplicationcanadaptbyusingmoreCPUcyclestoencode(andcompress)theinformationbeforeitistransmitted.Incontrast,ifapplicationshavenocontroloverwhichservicesareadapted,thesystemwouldhavetodetermineanacceptablequalityforeachofthe

active

applications,byprovidingappropriatelevelsofserviceineachof

possibleservicetypes.Thedifficultnature

ofruntimesolutionsforsuchaqualitymaximizationproblemisexacerbatedbythefactthatapplications'servicerequirementsaswellasthesystem'sresourceavailabilityvarydynamically.

TheDionisysapproachtoqualitymanagement,describedinthepreviousparagraph,istospecializethefashioninwhichadaptationsareperformedforeachapplication.Thisisachievedbyallowingeachapplicationtoshare,withspecificservicemanagers,theinformationnecessaryforruntimeserviceadaptation.Additionally,theap-plicationmayadaptitsownbehavior,inconjunctionwiththeserviceadaptationsbeingperformedonitsbehalf.Suchspecialized,jointqualitymanagementusesanevent-basedmechanismofferedbytheDionisysqualityofserviceinfrastructure.Aspartofthismechanism,applicationsspecify:(1)monitorfunctionsthatarewrittento

captureservicequalityatspecifiedtimesandgenerateeventsifserviceadaptationisrequired,and(2)handlerfunctions,thatareexecutedinresponsetoadaptationeventsraisedbyservicemanagers.Asaresult,applica-tionscontrolwhichsystemserviceisadaptedbyspecifyingwhichservicemanagerexecutesamonitorandwhichservicemanagerexecutesitscorrespondingcontrolhandler.Towardthisend,an`eventchannel'isestablishedbetweenamonitorinoneservicemanageranditscorrespondingcontrolhandler,whichisexecutedbythesame,orbyanotherservicemanager.Inthisfashion,servicemanagerscanprovideservicetoapplicationsinamannerspecifictotheirindividualneeds,andapplicationscanmonitorandpin-pointresourcebottlenecks,adapttheirrequirementsforheavily-demandedresources,oradapttodifferentrequirementsofalternativeresources,inordertoimproveormaintaintheirqualityofservice.Insummary:

Aneventspecifiesthesemanticinformationneededbyahandlertodeterminehowtoadaptserviceinordertomaintainorimproveapplication-levelquality.Forthisreason,eventsintheDionisysinfrastructurearetermedqualityevents;

Monitorfunctionsexecuteatratesspecifiedbyapplicationsandgenerateeventswhenserviceadaptationisrequired;

Applicationsspecifywheremonitorsandhandlersshouldexecute(i.e.,withinwhichservicemanagers),inordertoadaptserviceallocationand/orrequirements.

Contributions.Inthispaper,wecompareandcontrastseveraladaptationstrategiesimplementedwithqualityevents,therebydemonstratingtheflexibilityoftheDionisysqualityofserviceinfrastructure.Specifically,weshowthatforcertainapplications,`out-of-band'adaptationsareinadequate,therebynecessitatingtheuseofqualityeventstoimplement`in-band'adaptations.In-bandadaptationsoccurasapplication-leveldataisbeingprocessedand/ortransferred,alongthelogicalpathofresourcesleadingtothedestination.Bycontrast,typicalout-of-bandadaptationsarenotenacteduntilsubsequentdataistransferredalongthesamelogicalpath.Finally,weshowthatbycoordinatingserviceadaptationsbetweenanumberofservicemanagers,applicationscanachievehighqualitiesofserviceinanefficientmanner.

ThenextsectiondescribestheDionisysapproachtoqualitymanagementinmoredetail.Then,Section3describesissuesandtradeoffsintheimplementationofdifferentadaptationstrategies.Section4presentsanexperimentalevaluationofDionisys,byusingavideoserverapplicationmentionedinSection2.1tocompareandcontrastdifferentadaptationstrategies.RelatedworkisdescribedinSection5,whileconclusionsaredescribedinSection6.

2.TheDionisysApproachtoConfigurableQualityManagement

TheDionisysQoSinfrastructure(seeFigure1)comprisesseveralkeycomponentstosupportper-applicationconfigurablequalityofservicemanagement:

SOURCE HOST

ProcessProcessEvents for App.processesCPU SMMonitorsHandlersScheduler PacketMonitorsScheduling,Policing etcHandlersNetwork SMNetworkDESTINATION HOST

App. LevelSystem LevelMonitorsHandlersSchedulerMonitorsHandlers BufferMgmt. etcMonitorsHandlersApplication Specific PolicyProcessProcessApplicationMonitorsApplicationMonitorsApplicationMonitors Specific Specific Specific PolicyHandlers PolicyHandlers PolicyHandlersApp-Specific SMEvent channelsQoS attribute pathData pathFigure1.DionisysQoSInfrastructure

ServiceManagers(SMs).Servicemanagersexecuteapplication-specificmonitorandhandlerfunctions,aswellasservicepoliciesthatcontroltheallocationofresourcestocompetingapplicationprocesses.

Monitors.Monitorsareapplication-specificfunctionsthattriggerpotentialserviceadaptations,iftheactualqualityofagivenservicetypeisunacceptable,orlessthandesired.

Handlers.Handlersareapplication-specificfunctionsthatinfluencehowserviceand,hence,theallocationofresourcesamongcompetingapplicationsisadapted.

QualityEvents.Eventsaregeneratedbytheexecutionofamonitorfunctionwhenoneormoreservicetypesarerequiredtobeadapted.Theattributesassociatedwithaneventareusedtodecidetheextenttowhichserviceshouldbeadaptedinthetargetservicemanager.Forthisreason,eventsandtheirattributesarecollectivelynamed`qualityevents'.

EventChannels.Eventchannelsallowsqualityeventstobecommunicatedbetweenmonitorandhandlerroutinesthatexecuteinthecontextofdifferentservicemanagers.Notethateventscanalsobedeliveredtoapplicationprocesses,thatcanadapttheirownbehavior.

Figure1depictsanumberofapplication-specificservicemanagers,complementedbytwomore`generic'servicemanagersthatcontrolhowCPUandnetworkservicesaredeliveredtoapplicationprocesses.Forexample,forthevideoserverdescribedlaterinthepaper,anapplication-specificservicemanagercouldcontrolframeresolution,whiletheCPUandnetworkservicemanagerscontroltherateatwhichframesaregeneratedandtransmittedacrossanetwork,respectively.Qualityevents,transportedviaeventchannelsbetweentheseservicemanagers,causeframeresolutionandratetobeadaptedinkeepingwiththevideoserver'squalityofservicerequirements.

DionisysImplementation.EachservicemanagerusedinDionisysmaintainstwoqueues:onequeueforapplication-specificmonitorfunctionsandanotherforapplication-specifichandlerfunctions.Themonitorspasseventstohan-dlerswhenanapplicationrequiresitsservicetobeadapted.Eventsmayalsobeshippedbacktotheapplicationsthemselvestobehandledinthecorrespondingapplication'saddressspace.Aspartofaservicemanager'sjob,itmustexecuteitsmonitorsandhandlersatappropriatetimes:monitorsareexecutedatapplication-specifictimesandhandlersareexecutedinresponsetoeventsgeneratedbymonitors.Ingeneral,aservicemanagerrunswhenitmusteitherexecuteitsservicepolicy,executeoneormoremonitors,executeoneormorehandlersinresponsetopendingevents,orprocessrequestsfromapplicationstocreateneweventchannels.

Monitor Functions

M(1)M(2)M(m1)Handler Functions

H(1)H(2)H(h1)SM 1

. . .. . .SM 2

M(1)M(2). . .M(m2)H(1)H(2). . .H(h2)Event Channel

Figure2.Exampleeventchannelsinvolvingtwoservicemanagers,

and

,inDionisys.

Figure2showsanexampleofseveraleventchannelsbetweentwoservicemanagers,servicemanager,

and

.Each

,maintainsanarrayofpointerstomonitorfunctions(

to

),andanarrayof

pointerstohandlerfunctions(to

).Eachservicemanagerexecutesatmostonemonitorfunctionand

onehandlerfunctionperapplicationprocess.Aneventchannelbindsoneormorehandlerfunctionstoasinglemonitor,whichgeneratesapplication-specificqualityevents.Notethatthereisatmostonehandlerforaneventchannelinanyoneservicemanager,buttherecanbemultiplehandlers,spanningdifferentservicemanagers,connectedtothesameeventchannel.Forexample,Figure2showstwohandlersconnectedviathesameeventchanneltomonitor,

,inservicemanager,

.

Inthecurrent(Solaris-based)implementationofDionisys,servicemanagersonthesamehostallexecuteaskernel-levelthreads,withinthesameaddressspace.Applicationprocessesaccesstheseservicemanagersvialibrarycallsthatutilizeasharedmemoryapplication-programminginterface(API).TheDionisysAPIallowsapplicationstocreate,ordelete,application-specificservicemanagersand/oreventchannels,ortoexchangedatawithexistingservicemanagers1.Therationaleforthisimplementationistoemulatethewayinwhichoperatingsystemservicesareaccessedviasystemcallsfromapplicationprocesses.Furthermore,applicationscanspecializetheoperationofDionisysservicemanagers,orcreatenewservicemanagers,inthesamewaythatkernel-loadable

modulescanbedynamically-linkedintoan`extensible'operatingsystem2.Statedconcisely,whenanapplicationcreatesanapplication-specificservicemanager(whichexecutesapplication-specificpolicies),theservicemanagerfunctionalityiscompiledintoasharedobjectanddynamicallylinkedintotheDionisyssystem-leveladdressspace.Fortheuser-levelrealizationofDionisysusedinthispaper,thisaddressspaceisthatofadaemonprocessrunningallDionisysservicemanagers.Forthekernel-levelrealizationofDionisysnowbeingdevelopedbyourgroup,thisaddressspaceisthatofthe(Linux)operatingsystemkernel.Inthisfashion,wecanincorporateapplication-specificservicemanagersintoDionisys,supportingconfigurableprotocolsandotherfunctionsapplicableto,andprovidedby,eachapplication.Finally,whenrunningDionisysacrossadistributedsystem,eachhosthasitsownDionisysdaemonprocess.Asimplenameserveruniquelyidentifieseachservicemanagerexecutingwithineachandeverydaemonprocess.Socketsarethenusedtocommunicateapplicationdata,QoSattributesandeventsbetweentheseprocessesondifferenthosts.

UsingDionisys.Applicationsspecifythefunctionalitytomonitorservicequalityatpredeterminedtimes.Typi-cally,monitorfunctionsareexecutedperiodically,ataratedeterminedbytheapplication3.Consequently,monitorsinfluencewhenadaptationsoccur.Dependingontheactualmonitorfunctionexecutedbyaspecificserviceman-ager,aneventmayberaisedtoaltertheserviceprovidedbythesameoranotherservicemanager.Aneventistypicallyraisedwhentheactual(monitored)andrequiredservicelevelsdifferbyanamountthatcausesanappli-cationtojeopardizeitsQoSrequirements.Alternatively,amonitormightgenerateaneventifitispossiblethatbetterqualityofservicecanbeachievedbyadaptingoneormoreservicetypes.Eventsarepassedbetweenorwithinservicemanagersvia`eventchannels'.Howaneventishandledactuallydependsonthehandlerfunctionthatisspecifiedbytheapplication,andexecutedbythetargetservicemanager.Furthermore,applicationshavetheabilitytocontrolwheremonitorandhandlerfunctionsareexecuted.Thatis,eachapplicationusingtheDion-isysQoSinfrastructurehastheabilitytospecifytheservicemanagersresponsibleforexecutingitsmonitorandhandlersfunctions.Insummary,the`system'establishesan`eventchannel'betweenamonitorinoneservicemanageranditscorrespondinghandler,whichisexecutedbythesame,oranotherservicemanager.Serviceman-agersdynamically-linkwithsharedobjectscontainingthemonitoringandhandlingfunctionsatruntime.Observethattheissuesofprotectionassociatedwithdynamicallylinkingapplication-specificmonitoring,handlingandservicemanagerfunctionalityintoDionisyshavebeenomitted.Thisworkfocusesmoreontheissuesofprovidingaframeworktosupportapplication-specificextensionsforqualityofservicemanagement.

2.1.AnAdaptableClient-ServerApplication

Figure3showsanadaptableclient-serverapplication,usingtheDionisysQoSinfrastructure.Serverprocessessenddatatoclientprocessesononeormoreremotehosts.TheCPUservicemanagerallocatesCPUcyclesto

SERVER HOSTProcessProcessApplication LevelSystem LevelMonitorsHandlersSchedulerMonitors PacketScheduling, Rate Ctrl.HandlersNetwork SMNetworkREMOTE HOSTClient ProcessesProcessEvent channelsProcessQoS attribute pathData path Memory Manager RingQoS attrsBuffersQoS attrsCPU SMFigure3.Exampleadaptableclient-serverapplication,witheventchannelsbetweenCPUandnetworkservicemanagersontheserverhost.Serverprocessessenddatatoclientprocessesonaremotehost.

applicationprocessesbasedonaschedulingpolicythatisconfiguredwhentheservicemanagerisinitialized.Thenetworkmanagermaintainsabufferforqueueingpacketsofdatareadyfortransmissionacrossanetwork.ShowninFigure3isamemorymanager,responsibleforallocatingspacetoapplicationdata,andQoSattributesassociatedwiththatdata.InDionisys,thememorymanagerisusedmerelytomanagesharedmemory,sothatapplicationprocessesandservicemanagerthreadscancommunicateandexchangeinformation.

AVideo-ServerExample.ConsiderthecasewhereFigure3representsavideo-server.Serverprocessescouldbevideostreamingprocesses,thatgeneratesequencesofvideoframes.Thesevideoframesaresplitintopacketsandplacedinringbuffersinsharedmemory,withoneringbufferpervideostream.AssociatedwitheachstreamareQoSattributes,thatspecifyparameterssuchasthroughputandframeloss-rate.Ifaringbufferisbackloggedwithtoomanypackets,thenetworkservicemanagercanbeconfiguredtodropqueuedpacketsordiscardincomingvideoframes.Furthermore,thenetworkmanagermultiplexespacketsovertheoutgoingnetworklink,usingoneofseveralpacketschedulingpolicies,suchasbest-effort/FCFS,staticpriority(SP),earliest-deadlinefirst(EDF),start-timefair-queueing(SFQ)[21]anddynamicwindow-constrained(DWCS)[28]scheduling.Oncethevideoframeshavebeentransmittedandreceivedatthedestination,clientprocessesdecodeandplaybacktheseframes.WenowdiscussseveraldifferentadaptationstrategiesthatcanbeimplementedinDionisys,tocontroltheallo-cationofresourcesinapplicationsliketheonejustillustrated.InourcooperationwithHoneywellCorporation,wehavealsodevelopedsimilaradaptationstrategiesandexperimentedwiththemonanAutomaticTargetRecognition(ATR)application.Consequently,theadaptationstrategiesdescribedintheremainderofthispaperalsoapplytootherapplications,andnotjusttheonedescribedinthissection.

3.AdaptationConfigurations

Monitors(b) Upstream AdaptationHandlers(c)CPU Service ManagerNetwork Service ManagerMonitorsHandlers(c) Intra-SM Adaptation(a) Downstream AdaptationFigure4.Adaptationscenarios:(a)downstreamadaptation,(b)upstreamadaptation,and(c)intra-SMadaptation.Observethatinbothdownstreamandupstreamadaptation,eventsarealsodeliveredtohandlerswithinthesameservicemanagerfromwheretheyoriginated.

Figure4showsthethreeadaptationconfigurationsconsideredinthispaper.Forsimplicitywefocusonadap-tationsbetweenCPUandnetworkservicemanagers,butwhatfollowsappliestoanycombinationofservicemanagers:

DownstreamAdaptation–Inthisconfiguration,eventsaredeliveredfrommonitorsintheCPUservicemanagertohandlerswithinboththeCPUandnetworkservicemanagers.Intuitively,eventsfromtheCPUservicemanagertothenetworkservicemanagerfollowtheforward-goingpathofapplicationdata,asitisgeneratedandthentransmitted.Observethat,inordertogeneratedata,applicationprocessesmustacquireCPUcyclesfromtheCPUservicemanager.Onlyafterdatahasbeengenerated,canitbeallocatednetworkbandwidthfortransmissionbythenetworkservicemanager.Consequently,itispossiblefordownstreameventstobedeliveredinsynchronyand,hence,`in-band'withdataflowingthroughthelogicalpathofresources.

UpstreamAdaptation–Inthisconfiguration,eventsaredeliveredfrommonitorsinthenetworkservicemanagertohandlerswithinboththenetworkandCPUservicemanagers.Theterm`upstreamadaptation'isusedtoidentifythesituationwhereeventsaredeliveredinadirectionopposingthelogicalflowofap-plicationdata.ThisisthecaseforeventsfromthenetworkservicemanagertotheCPUservicemanager.Upstreamadaptationrequireseventstobedelivered`out-of-band'withtheflowofdata.

Intra-SMAdaptation–Inthisconfiguration,eventsaredeliveredfrommonitorstohandlerswithinthecorrespondingservicemanager.Thisconfigurationdoesnotalloweventstobeexchangedbetweenservicemanagers,sothereisnoexplicitcoordinationofmultipleservicetypes.

Observethat`upstreamadaptation'isnottobeconfusedwith`feedbackcontrol',whichisatermcommonlyusedinclassicalclosed-loopcontroltheory.Astutereadersmaynoticethatpassingeventsbetweenmonitorsandhandlersissimilartoaclosed-loopfeedbackcontrolmechanism,inwhichthehandlersarelikecontrolactuators.Therefore,allthreeadaptationconfigurationscanbethoughtofasusingfeedbackcontrolloops,constructedusing`eventchannels'carrying`qualityevents'.

Wewillnowshowacomparisonofdownstreamversusupstreamadaptationstrategies,toillustratetheirperfor-mancetradeoffs.Asaconsequenceoftheseperformancetradeoffs,itisimportantforaflexibleQoSinfrastructuretosupportdifferentadaptationconfigurations.

11X1XXX1XXX10123456789101112time, t

EEFigure5.ExampleCPUschedule.`1'indicatestheexecutionofprocess,ofaprocessotherthan

,`X'indicatestheexecution

,and`E'indicatesthegenerationofanevent.

AComparisonofDownstreamversusUpstreamAdaptation.Figure5showsanexampleCPUschedule.Thefollowingexampleshowsthetradeoffsbetweendownstreamandupstreamadaptations,ignoringanydelaysintransferringeventsbetweenservicemanagers.Asisthecasethroughoutthispaper,thisexampleassumeseventsaretransferredonlybetweenCPUandnetworkservicemanagers.Considerthesituationwhereeachunitoftimeaprocess

(indicatedby`1'inFigure5)executes,itgenerates

onepacketofinformation.Moreover,eachpacketthatisgeneratedhastobetransmittedbythenetworkservicemanagerimmediately,otherwiseitisconsideredlateandisdiscarded.Suppose,thenetworkservicemanagermustensurethatonepacketistransmittedeverythreetimeunits.Consequently,generateatleastonepacketeverythreetimeunits.Thatis,

requiresenoughCPUtimeto

needsatleastoneunitofCPUtimeeverythreetime

units,assumingtherearenooverheadsinschedulingandtransmittingpacketsthataregenerated.Atthenetworkservicemanager,thepacketsgeneratedby

haveacorrespondingloss-tolerance.Initially,thisloss-toleranceis

,indicatingthatatmosttwooutofapossiblethreepacketsgeneratedeverywindowofthreetimeunitscanbeDownstreamAdaptation.Considernow,thesituationinwhichtheCPUservicemanagerobservesthatattime,

discardedand,hence,lost.

,

hasexecutedforonetimeunitintheinterval

.At

,theCPUservicemanagerschedules

adifferentprocess(denotedby`X'inFigure5),whichisconsideredmoreimportantthanCPUservicemanagerdoesnotservice

.Furthermore,the

againintheinterval

.IftheCPUservicemanageruses

knowledgeofitsfutureschedulingdecisions,itcandecideat

togenerateaforward-goingevent,whichissent

tothenetworkservicemanager,totrytoguaranteethatthemostrecentpacketgeneratedbyotherwisetheloss-toleranceofrecentpacketgeneratedby

mustbetransmitted,

isviolated.Thatis,ifthenetworkservicemanagerdoesn'ttransmitthemost

,thennoneof'spacketswillbetransmittedintheinterval

.The

handlerfortheforward-goingevent,executedbythenetworkmanager,setstheloss-toleranceof

,inanattempttoguaranteethatnoneof

'spacketsto

'spacketsarediscardedinthenexttimeunit.Thisreductionin

loss-tolerancecanbeusedbythenetworkmanager'sservicepolicytoschedulegeneratesanothereventtotrytoguaranteethepacketjustgeneratedbyobservesthat,atfrom

'smostrecentpacketbefore

,downstreamadaptation

anyotherpackets,assumingnootherpacketsaremoreimportant.Observealso,at

istransmitted.

UpstreamAdaptation.Considerthealternativesituation,whereamonitorinthenetworkservicemanager,

,twotimeunitshavepassedinthecurrentwindowofthreetimeunits,andnopackets

havebeentransmitted.Theassumptionhereisthat,althoughapacketwasgeneratedat

,the

networkservicemanagerdidnottransmitHowever,atto

'spacket,becausesomeotherpacketwasconsideredmoreimportant.

,anupstreameventissentfromthenetworkservicemanagertotheCPUservicemanager.This

eventtriggersahandlerintheCPUservicemanager,totrytoensurethatCPUcyclesareimmediatelyallocated

,sothatitcangenerateonepacketbeforethecurrenttimewindowhasended.Theproblemhereisthatthe

networkservicemanagerisunawareoftheCPUservicemanager'sschedule,andConsequently,nonewpacketswillbegeneratedby

willnotbescheduledat

.

,andtheoriginalserviceconstraint,thatatleastonepacket

everythreetimeunitsistransmitted,willbeviolated.

Thepointofthisexampleistoshowthatupstreamadaptationcanperformworsethandownstreamadaptation,iftheallocationofresourcesbyaservicemanager,earlierinthelogicalpathalongwhichinformationflows,cannotbedetermined.Intheaboveexample,theCPUservicemanagerisearlierintheinformationpaththanthenetworkservicemanager,becausedatamustbegeneratedbeforeitistransmitted,andgenerationofdatarequiresCPUcycles.Furthermore,thenetworkservicemanagerdoesnothaveaccesstoCPUschedulinginformation,whichiswhyitcannotknowwhentogenerateanevent,ifsuchaneventisnecessarytoadaptserviceinthefuture.Conversely,downstreamadaptationcanperformworsethanupstreamadaptation,iftheallocationofresourcesbyaservicemanager,laterinthelogicalpathalongwhichinformationflows,cannotbedetermined.Intheaboveexample,theforward-goingeventtothenetworkservicemanager,thatsetstheloss-toleranceto

only

guarantees

'smostrecentpacketistransmittedifnootherpacketsaremoreimportant.IftheCPUservice

managerdoesnothaveaccesstopacketschedulinginformationinthenetworkservicemanager,thentheCPUservicemanagerdoesnotknowwheneventsshouldbegenerated,ifeventsarenecessarytoadaptserviceinthefuture.

Ingeneral,ifaservicemanager,manager,

,doesnothaveaccesstotheserviceinformationinanotherservice

,then

doesnotknowwhenaneventshouldbegenerated,ifaneventisnecessaryto

to

adapttheserviceof

inthefuture.Thisistrueevenifthedelayindeliveringaneventfrom

isknown,andtakenintoaccountby

whengeneratingtheevent.

Theaboveexampleillustratesasituationwherebothdownstreamandupstreamadaptationstrategiesareuseful.TheflexibilityoftheDionisysevent-basedadaptationmechanismallowsbothtypesofadaptationstrategiestobeimplemented,aswellasothers.Thenextsectionevaluatesseveraladaptationstrategiesusingasimplevideoserverapplication,liketheonedescribedinSection2.1.Moreover,theseadaptationstrategiesemphasizethedifferencesinservicequalitydependingonhowserviceadaptationandcoordinationisimplemented.Again,wefocusontheissueofadaptingandcoordinatingCPUandnetwork-levelservices,usingbothCPUandnetworkservicemanagers.

4.ExperimentalEvaluation

Weranaseriesofexperiments,usingSolaris2.6onadualPentiumPro180MHzPC,servingaclientmachineconnectedvia10Mbpsethernet,toshowtradeoffsindifferentserviceadaptationstrategies.Thesestrategiesdifferedinhow,whenandwhereserviceadaptationstookplace.AvideoserverwasconstructedasinSection2.1.Serverprocessesgeneratedvideoframes,whileclientprocessesdecodedandplayedbackframesarrivingfromthenetwork.TheCPUservicemanagerusedastaticprioritypreemptiveschedulingpolicy,toscheduleallapplicationprocesses(onepervideostream),whilethenetworkservicemanagerscheduledallpacketsofvideoframesfromtheheadsofsharedmemoryringbuffers(again,oneringbufferperstream),usingdynamicwindow-constrainedscheduling(DWCS)[28].SincethenetworkservicemanagerwasimplementedasaSolariskernelthread,intheDionisysdaemonprocess,thepacketschedulerdidnotaccesstheethernetdevicedirectly,butviasockets.Inthefirstsetofexperiments,1000MPEG-1I-frames4froma`StarWars'sequenceweregeneratedforthreedifferentstreams,

,

and

.TheQoSattributesassociatedwitheachstreamwereminimum,maximumand

targetframerates.TheQoSattributesfor

,

and

were

,

and

framespersecond(

),

respectively.AQoSviolationoccurredwhentheactualtransmissionratewasoutofthespecifiedrangeforthecorrespondingstream,atthetimeitwasmonitoredbythenetworkservicemanager.

InordertoscheduleallthreestreamstomeettheirQoSrequirements,theCPUschedulingprioritiesweredynamicallyadjusted.Moreover,prioritieswereadjustedinaccordancewiththenecessaryCPUcycles,ateachpointintime,toguaranteetherequiredgenerationrateand,ultimately,therequiredtransmissionrateofframesfromeachvideostream.

Intheseexperiments,thefollowingadaptationconfigurationswerecompared:

DownstreamAdaptation.TheCPUservicemanagermonitoredeachstream'sframegenerationrate:iftheactualgenerationratewasnotequaltothetargetrate,aneventwassenttotheCPUservicemanagerand(forwardto)thenetworkservicemanager.

UpstreamAdaptation.Thenetworkservicemanagermonitoredeachstream'sframetransmissionrate:ifactualtransmissionratewasnotequaltothetargetrate,aneventwassenttothenetworkservicemanagerand(backto)theCPUservicemanager.

Intra-SMAdaptation.BothCPUandnetworkservicemanagersindependentlymonitoredeachstream'sgenerationandtransmissionrates,respectively,andsenteventstothemselvesifastream'stargetratewasnotequaltoitsactualrate.

Inallcases,themonitorfunctionsranevery

milliseconds,toensurethatQoSstateinformationwassampled

fastenough.TheCPUservicemanagerexecutedthesamehandlerforeachstream.ThehandlerattemptedtoaltertheSolaris`RT'(real-time)priorityofthecorrespondingstream-generatorprocessbyanamountthatwasalinearfunctionofthedifferenceintargetandactualservicerates.Toensureonestreamwasnotundulyservicedatthecostofotherstreams,theCPUservicemanagerexecutedaguardfunction,whichrange-checkedpriorityassignments.RatecontrolintheCPUservicemanagerwastriggered,ifthehighest-priorityframe-generatorprocesshadanactualrategreaterthanthemaximumrequiredgenerationrate.ThisforcedtheCPUschedulertorunasanon-work-conservingscheduler.

Thenetworkservicemanagerranthesamehandlerfunctionforallthreestreams.ThehandlerfunctionadaptedDWCSschedulingparameterstoaltertheallocationofserviceinaspecificwindowoftime.Thatis,moreorlessconsecutivepacketsofvideoframesfromthesamestreamweretransmittedinagiventimeinterval.Ratecontrolinthenetworkservicemanagerwasactivatediftheactualrateofastreamexceededitsmaximumtransmissionrate.

250

Buffered Frames/Missed Deadlines200150100500

Downstream Adaptation (Target 10 fps)

Buffered Frames/Missed DeadlinesBuffered Frames

Cumulative Missed Deadlines

250200150100500

Upstream Adaptation (Target 10 fps)

Buffered Frames

Cumulative Missed Deadlines

Buffered Frames908070605040302010

0

20

406080Time (seconds)

100

120

00

20

406080Time (seconds)

100

120

Target 10 fps (Intra-SM Adaptation)

020

406080Time (seconds)

100120

Figure6.Bufferingofthe10fpsstream,

,with(a)downstream,(b)upstream,and(c)intra-SM

adaptation.Cumulativemisseddeadlinesarealsoshownfordownstreamandupstreamadaptations.

Buffering:Figure6showsupstreamadaptationhasgreatervarianceinbufferusage.Theresultsareshownfor

,butthesameobservationsapplytoallstreams,irrespectiveoftheirtargetrate.Downstreamandintra-SM

adaptationsshowsimilarbehavior:themaximumnumberofbackloggedframesforastreamandtheperiodsin

whichtheringbuffersareemptyislesswithbothdownstreamandintra-SMadaptations,thanwithupstreamadaptation.Observethatwithupstreamadaptation,thenetworkmonitorfunctionsraiseeventstoolate,torequestthegenerationofmoreframes.Thatis,controleventsaregeneratedwhennothingcanbedoneuntilfuturedataisgenerated.Bycontrast,downstreamadaptationcanleadtoadaptationchanges`in-band'withthecurrentdata,asittraversesthelogicalpathofresources,toitsdestination.

Otherresearchershaveproposedanadaptationstrategyforreal-ratescheduling[25],thatissimilartointra-SMadaptation.Inreal-ratescheduling,bufferfill-levelsaremonitored,asopposedtogenerationandtransmissionrates.Dependingonthefill-levelofthebuffer,theproducer(e.g.,CPUSM)wouldincreaseordecreaseitsservice,whiletheconsumer(e.g.,thenetworkSM)wouldtaketheoppositeaction.Thisapproachtoreal-rateschedulingrequiresservicemanagerstoshareinformationregardingbufferfill-levels.Tocompensateforthedifferentdelaysinaccessingthisinformation,thebufferisfillednomoreornolessthanspecificlevels.However,supposeaservicemanageraccessingthisinformationwastheothersideofalargelatencynetwork.Itmaybethatthelatencytomonitorthestateofthebufferistoolarge,andadaptationswillnotbeenactedfastenoughtomeetthenecessaryqualityofservice.Suchlargelatenciescancauseabuffertocompletelyfill,orcompletelyempty,therebyaffectingservicerate.Thisiswhatishappeningwiththeupstreamadaptationsinourexperiments.WepurposelydidnotsharestateinformationbetweentheCPUandnetworkservicemanagers,therebyobservingthecostofcommunicationbetweenthreadstocoordinateservice.

Inourexperiments,thedelayinsendinganeventtoahandlerwithinthesameservicemanagerthreadwas

,whileitwasashighas

betweenservicemanagerthreads.Inter-threadeventhandlingismore

expensivethanintra-threadeventhandling,duetothetime-sliceofathreadbeingfixedbytheoperatingsystemat

.Consequently,ifthenetworkservicemanagerobservesCPUserviceshouldbeadapted(whichisthecase

withupstreamadaptation),thereisadelayofmorethanbeforetheservicechangecanbeenacted.With

ratecontrol,theCPUisthecriticalresource,inthatframescannotbetransmittediftheyhavenotbeengeneratedand,inordertogenerateframes,aframe-generatorprocessneedsCPUcycles.Observethatwithdownstreamadaptation,wealsosendaneventfromamonitortoahandlerwithintheCPUservicemanager.Thedelayintransferringthiseventtoahandlerisonly

.Consequently,CPUcyclesareallocatedwithfiner-grained

controlindownstreamadaptationthanupstreamadaptation.Moreover,withdownstreamadaptation,eventscanbesentin-band,andinsynchrony,withtheflowofdatabetweenservicemanagers.Thisisnotpossiblewithupstreamadaptation,sinceserviceadaptationscannottypicallybeenactedbeforesubsequentdataistransferredalongthesamelogicalpath.Thismeansthetimebetweenwhenadaptationisnecessary,andthetimeitisappliedmayinvolveadaptationonanentirelydifferentdatasetwithupstreamadaptation.Consequently,upstreamadaptationstypicallyoccurout-of-bandwiththeflowofdata.

RateControl:Figure7showstheactualtransmissionratesofallthreestreamsusingthedifferentadaptationstrategies.Ascanbeseen,upstreamadaptationrequiresmoretimetoreachsteadystate,andtherearelarger

35

Actual Rate (Network Level)3025201510500

20

Downstream Adaptation

Target 10 fpsTarget 20 fpsTarget 30 fps

35

Actual Rate (Network Level)3025201510500

20

Upstream Adaptation

Target 10 fpsTarget 20 fpsTarget 30 fps

35

Actual Rate (Network Level)3025201510500

20

Intra-SM Adaptation

Target 10 fpsTarget 20 fpsTarget 30 fps

406080Time (seconds)

100120

406080Time (seconds)

100120

406080Time (seconds)

100120

Figure7.Networkserviceratewith(a)downstream,(b)upstream,and(c)intra-SMadaptation.

peak-to-peakoscillationsasthetargetrateistracked.Withupstreamadaptation,therearelargerdiscrepanciesbetweenCPUandnetwork-levelservicerates,whichisthereasonforlargerbuffervariations.Furthermore,sincetheactualandtargetserviceratesdiffermorefrequentlywithupstreamadaptationthanwithdownstreamandintra-SMadaptations,moreeventsarealsogenerated,asshowninFigure8(a),for

.Notethatwithdownstream

adaptation,network-leveleventsarenotactuallygenerated.However,Figure8(a)showshowmanynetwork-leveleventswouldbegenerated,duetodifferenttargetandactualservicerates,atthetimeserviceismonitoredbythenetworkservicemanager.

3000

Number of Events (Network-Level)250020001500100050000

5

10

DownstreamUpstreamIntra-SM

QoS Range ViolationsTarget 30 fps

60050040030020010000

5

10

Target 30 fps (+/- 10%)

600

Mean Queueing Delay (mS)50040030020010000

5

10

DownstreamUpstreamIntra-SM

Mean Queueing Delay (Target 30 fps)

DownstreamUpstreamIntra-SM

152025Time (seconds)

30

35

40

152025Time (seconds)

303540

152025Time (seconds)

303540

Figure8.(a)Cumulativenumberofnetworkeventsgeneratedbyeachadaptationmethod,(b)cu-mulativeQoSrangeviolations,and(c)meanqueueingdelayversustimeforbufferedframes,ofthe30fpsstream,

.

QoSRangeViolations:Notsurprisingly,Figure8(b)showsthattherearemostQoSrangeviolationswithup-streamadaptation.However,intra-SMadaptationisalsoworsethandownstreamadaptation.ThisisbecausethereisnocoordinationbetweenCPUandnetworkservicemanagers.Consequently,intra-SMadaptationrequiresmoretimethandownstreamadaptationtoreachthesteady-state,inwhichservicerateiswithinrangeofthemaximumandminimumallowedvalues.

MeanQueueingDelayandMissedDeadlines:Duetothehighestvarianceinthenumberofbufferedframeswithupstreamadaptation,thereisalsoamarkedlyhighervariationinmeanqueueingdelaytoo(asshowninFigure8(c),for

).Withupstreamadaptation,thesuddenincreasesindelayoccurwheneachstream'squeuelength(ring

bufferfill-level)increases.Furthermore,greatermismatchesbetweenserviceratesattheCPUandnetwork-levelsleadtomorevariationinbufferedframes,andmorevariationinmeanqueueingdelay.Asadirectconsequenceofbufferingvariationsand,hence,queueingdelays,therearepotentiallyhighernumbersofconsecutiveframeswithmisseddeadlines.Figures6(a)and(b)showthatdownstreamadaptationcausesfewerconsecutivemisseddeadlinesthanupstreamadaptation,whenthedeadlinesonconsecutiveframesofadaptationcausesalargestepinthenumberofmisseddeadlinesaroundinmisseddeadlineswithdownstreamadaptationareaslarge.

Insummary,differentadaptationstrategiesarepossiblewiththeDionisysQoSinfrastructure,using`qualityevents',monitorsandhandlers.Upstreamadaptationcanleadtopoorerqualitycontrol,ifadaptationlatenciesaresignificant.Thisisanalogoustotheproblemassociatedwithfeedbackcongestioncontrol[16],inthat,ifthetimetoinformtheproducerthatitshouldreduceitsgenerationrate,isgreaterthanthemaximumtimeavailabletoeffectivelyapplysuchanadaptation,thentheconsumercanbefloodedwithtoomuchinformation.Moreover,upstreamadaptationtypicallyoccursout-of-bandwiththeflowofdata.Withdownstreamadaptation,thedelaybetweengeneratingacontroleventandenactingthenecessaryservicechangecanbecoupledwiththetimetotransferapplicationdataalongthelogicalpathbetweenservicemanagers.Thatis,downstreamadaptationeventscanbesentin-band,andinsynchrony,withtheflowofdata.Bycontrast,intra-SMadaptationworkswellif:(1)coordinationbetweenresourcesand,hence,servicemanagersisnotanissue,or(2)thereisaccesstosharedstateinformation,whichallowsgroupsofservicemanagerstoimplicitlycoordinatetheirownserviceadaptations,whileavoidingthecostofcommunicatingqualityeventsbetweenoneanother.Finally,observethattheaboveadaptationstrategiesdifferinhow,when,andwhereserviceisadapted.Sincenosingleadaptationstrategyisalwaysbetterthananother,itisimportantforaqualityofserviceinfrastructuretobeflexibleinthewayitmanagesper-applicationqualityofservice.

are

apart.Upstream

seconds.Noneofthestepincreases

4.1.QoSManagement

WehaveshownhowtheDionisysQoSinfrastructureisflexibleenoughtosupportdifferentadaptationconfig-urations,allofwhicharenecessaryindifferentsituations.WenowshowhowtheflexibilityoftheDionisysQoSinfrastructureallowsqualityfunctionstobeembeddedintomonitorsandhandlers,toinfluencehowresourcesarebestallocatedamongstcompetingapplications.

Inthissetofexperiments,frame-generatorprocessesgenerated

framesforstream,

,

framesfor

and

framesfor

.Again,thetargetratesof

,

and

were

,and

framespersecond,respectively.ofthetargetrates.Furthermore,

Theminimumandmaximumservicerateswerenowallconstrainedtobe

Q180160140120100806040200300

1min/max rate (S) rounded off to the nearest integerOverall Quality25020015010050

(1)(3)(4)(2)23(1) Upstream (Q-biased)

(2) Upstream

(3) Downstream (Q-biased)

(4) Downstream

81012172023263034S (Rate, fps)

0

020

406080Time (seconds)

100120

Figure9.(a)QoSfunctionsforeachofthethreestreams,and(b)overallqualityversustime.

700600

QoS Range Violations50040030020010000

20

(1) Downstream (Q-biased), 10fps(2) Downstream, 10fps

(3) Downstream (Q-biased), 20fps

(4) Downstream, 20fps

(5) Downstream (Q-biased), 30fps

(6) Downstream, 30fps40

6080Time (seconds)

100

(1)(2)(4)(3)(6)(5)1000900800

QoS Range Violations700600500400300200100

120

00

20

(1) Upstream (Q-biased), 10fps

(2) Upstream, 10fps

(3) Upstream (Q-biased), 20fps

(4) Upstream, 20fps

(5) Upstream (Q-biased), 30fps

(6) Upstream, 30fps40

6080Time (seconds)

100

120(4)(3)(1)(6)(5)

(2)

Figure10.CumulativeQoSviolationsusing(a)downstream,and(b)upstreamadaptation.

tomodeltheeffectofdynamically-changingresourceavailability,

and

wereblockedforexponentially-distributedidletimes,aftergeneratingeachsetof

frames.Theexponentialidletimesaveragedseconds.

Thesamemonitoringandhandlingfunctions,asintheprevioussetofexperiments,wereusedhere.Asbefore,theCPUservicemanagerexecutedahandlerfunctionthatattemptedtoaltertheSolaris`RT'(real-time)priorityofthecorrespondingstream-generatorprocessbyanamountthatwasalinearfunctionofthedifferenceintargetandactualservicerates.TheextenttowhichaSolarisprioritywasalteredwasafunctionofthestream'sownqualityfunction.

TheactualqualityfunctionsthatwereusedareshowninFigure9(a).Thesefunctionsshowthequality(),

asperceivedbyeachstream,forthecorrespondingservicerate,

.Forexample,thepriorityof

isadjusted

byafactorof

morethanthepriorityof

(basedontheratioofthegradientsofthequalityfunctionsfortimesmorecriticalthanthe

and

).Inessence,thisimpliesthatis

,whentheactualandtargetservice

ratesofbothstreamsdifferbythesameamount.Likewise,

isthreetimesmore`qualitycritical'than.These

qualityfunctionscanbeincorporatedintomonitorsand/orhandlersofdifferentmanagers,assumingthereexistsafunctionaltranslation[10,8,15]fromtheserviceofferedbyagivenservicemanagertoapplication-perceivedquality.Exactlywhatagivenqualitymeanstoanapplicationisapplication-specific.

35

Actual Rate (Network Level)3025201510500

20

Downstream Adaptation

35

Actual Rate (Network Level)3025201510500

20

Upstream Adaptation

Target 10 fpsTarget 20 fpsTarget 30 fps

406080Time (seconds)

100

120

Target 10 fpsTarget 20 fpsTarget 30 fps

406080Time (seconds)

100

120

Figure11.Networkservicerate,with(a)downstreamadaptationandQ-biasing,and(b)upstreamadaptationandQ-biasing.

Figure9(b)showshowoverallqualityisimproved,usingdifferentadaptationstrategies,whenCPUserviceisbiasedtothemorequalitycriticalstream.The`Q-biasing'graphsrefertotheresultswhenthequalityfunc-tionsshowninFigure9(a)areused.Bycontrast,allothergraphsshowresultswhenCPUserviceisadjustedequallyforcompetingstreams,eventhoughonestream'sserviceisreallymorecriticalthananother's.Theoverallquality,

,wascalculatedfromthesumoftheaveragesampledqualityofeachstream.Thatis,

quently,servicemanagerscanusethisinformationtoimproveoverallqualityacrossallapplications.Thisissimilartoworkdonebyothers,usingvalue[17],reward[1]andpayoff[19]functions.

5.RelatedWork

Manyresearchgroupshaveproposeddifferentarchitecturesandmiddleware[4,13,27,20,2,26],toprovideruntimequalityofserviceguaranteesoninformationexchangedbetweenhostsinadistributedenvironment.How-ever,theDionisysQoSinfrastructurethatwepropose,focusesontheissuesofsupportingapplication-specificextensionsforqualityofservicemanagement,inaflexiblemanner.

AbdelzaherandShin[1]proposeanend-hostarchitectureforQoS-adaptivecommunicationthatcansupporthardandsoftreal-timeguarantees.AuserspecifiesaQoScontractthatconsistsofaseriesofalternativeQoSlevels,therewardsforachievingacertainQoS,andthepenaltyforviolatingrequiredQoS.Theaimistomaximizetheaggregaterewardacrossallusers,byselectingtheQoSlevelforeachuserthatachievesthebestoverallqualityasperceivedbyeveryone.Dionisyscomplementsthisworkbyrestrictingthesearch-spaceofservices(and,hence,resources)thatmustbeadaptedtomeetapplication-specificQoS.Eventchannelsrestrictserviceadaptationstoasubsetofallthepossibleadaptationsthatarepossibleinasystemattemptingtomaximizeoverallquality.Furthermore,DionisyscanutilizeAbdelzaherandShin'snotionofrewardfunctions,sothatservicemanagerscandecidehowbesttoallocateserviceamongstcompetingapplications.

TheDarwinprojectatCMU[6,7]isaimedatprovidingnetworksupportforapplication-orientedQoS.Centraltothisnetworkarchitectureisthenotionofaservicebroker,whichisresponsibleforlocatingavailableresourcesthatcanpotentiallybeusedtomeetapplicationrequirements,andidentifyingthoseresourcesamongallcandidatesthatmaximizesoverallqualitytoallapplications.InDionisys,brokersarereplacedbyservicemanagers,whichcoordinateresourceallocationandadaptationusingeventchannels.Ineffect,Dionisys'resourcemanagementisdistributedamongstservicemanagerslinkedbyapplication-specificeventchannels.

TheSWiFTtoolkit[11]hasbeenusedtoconstructfeedbackcontrolcomponentsinamodularfashion,tosupportadaptiveresourcemanagement[12].OnesuchapplicationoffeedbackcontrolusingSWiFTisareal-rateCPUscheduler[25].ThisisverysimilartothewayinwhichtheCPUservicemanagerinDionisyscanmonitorandadaptitsownserviceonbehalfofdifferentapplications.OurworkcomplimentsthisresearchbyshowinghowDionisyscansupportdifferentadaptationconfigurations(combinationsoffeedbackcontrolloops)tocoordinatemultipleservice(and,hence,resource)managers.Incoordinatingmultipleservicemanagers,resourcemanagementisessentiallydistributed,ratherthancentralized.Webelievethisapproachisbeneficialwhentheoverheadsofaglobalresourcemanagerwouldbetoocostly.Observethataglobalresourcemanagerhastogathermonitoringinformationaboutthestateofallresources,whichmayinvolvepassingsuchinformationacrossawideareanetwork,therebyincurringsignificantdelay.Afteracquiringsuchinformation,aglobalresourcemanagerthenhastodecidehowbesttoallocate

resourcesamongst

applicationsusinghintsprovidedtoitbyapplication-

specifichandlers.

TheabilityofDionisystosupportapplication-specificmonitorsandhandlersissimilartotheserviceextensionsdescribedinSPIN[3]andtheExokernel[9].AsinSPIN,Dionisyssupportsthedynamiclinkingofserviceexten-sions,whichhappentobelinkedintotheaddressspacesofservicemanagers.Similarly,theExokernelsupportsapplication-levelmanagementofhardwareresourcesbyexportingtheseresourcesthroughaninterfacetolibraryoperatingsystems.ExokernelandSPINdifferfromourworkbyfocusingonprotectionissues,insteadofQoSissuesforapplicationswithdynamicQoSrequirements.

OtherrelatedworkincludesEPIQ[15],whichistargetedatsupportingend-to-endQoSforcomplex,real-timeapplications,thatareinherentlypipelined(thatis,theapplicationshaveaseriesofdependenttasks,wheretheoutputofonetaskistheinputtoanother).ThisworkinvolvestheQoScharacterizationofpipelinedapplicationsandthecorrespondingmanagementofquality.Infact,thearchitectureusedintheEPIQprojectinvolvesbrokersforeachtaskinasequenceoftasksthatmakeuptheapplication.EachbrokermonitorsQoSfromitsproducertasksandnegotiateswiththebrokersoftheseproducertasks(aswellasconsumertasksandresourcemanagers)tomaintainQoS.HenceinteractionsamongQoSbrokersareconfinedtothosebetweenproducer/consumerpairs,whereasDionisysinvolvesinteractionsbetweenanyservicemanagerslinkedbyeventchannels.

Finally,ourworkcomplementsotherworkattheGeorgiaInstituteofTechnology,includingFARA[22,23],and`payofffunctions'[19]forcharacterizingthevalueofagivenqualitytoanapplication.PayofffunctionscanbeincorporatedintomonitorsinDionisys,toinfluencethetypeofeventthatisgeneratedwhenserviceadaptationsmustoccurtoachievequalityofaspecificvalue.InFARA,anadaptationandresourceallocationcoremakesthedecisionsaboutresourcereallocation,whereasDionisysusesapplication-specifichandlersintheservicemanagerstoinfluencesuchdecisions.

6.Conclusions

Thispaperdescribesanevent-basedmechanismintheDionisysQuality-of-Serviceinfrastructure,thatallowsapplicationstospecify:(1)howobservedqualityofserviceshouldbeadaptedtomaintainrequiredqualityofservice,(2)whenadaptationsshouldoccur,and(3)whereadaptationsshouldoccur.InDionisys,servicemanagersexecuteapplication-specificfunctionstomonitorandadaptservice(and,hence,resourceusageandallocation),inordertomeetthequalityofservicerequirementsofadaptableapplications.Thisapproachallowsservicemanagerstoprovideserviceinamannerspecifictotheneedsofindividualapplications.Moreover,applicationscanmonitorandpin-pointresourcebottlenecks,adapttheirrequirementsforheavily-demandedresources,oradapttodifferentrequirementsofalternativeresources,inordertoimproveormaintaintheirqualityofservice.Likewise,servicemanagerscancooperatewithotherservicemanagersand,byusingknowledgeofapplication-specificresourcere-quirementsandadaptationcapabilities,eachservicemanagercanmakebetterdecisionsaboutresourceallocation.Using`qualityevents',coordinatedresourcemanagementispossiblebetweenmultipleservicemanagers,eachre-

sponsibleforthemanagementofoneresourceabstraction.Havingservicemanagersexecuteapplication-specifichandlerstoadapttheirownservice,essentiallydistributescontrolofhowresourceadaptationshouldbedone.Again,suchcoordinationandcontrolwouldnotbepossiblewithoutamechanismlike`qualityevents'.

TheflexibilityoftheDionisysQoSinfrastructureenables:(1)differentadaptationstrategiestobeimplemented,using`qualityevents',monitorsandhandlers,and(2)qualityfunctionstobeembeddedintomonitorsandhandlers,toinfluencehowresourcesarebestallocatedamongstcompetingapplications.Servicemanagerscanusequalityfunctionstoimproveoverallqualityacrossallapplications.

Finally,severaladaptationstrategiesarecomparedinthispaper:namely,`upstreamadaptation',`downstreamadaptation'and`intra-SMadaptation'.Upstreamadaptationcanleadtopoorerqualitycontrolifadaptationlaten-ciesaresignificant.Thisisanalogoustotheproblemassociatedwithfeedbackcongestioncontrol[16],inthat,ifthetimetoinformtheproducerthatitshouldreduceitsgenerationrate,isgreaterthanthemaximumtimeavailabletoeffectivelyapplysuchanadaptation,thentheconsumercanbefloodedwithtoomuchinformation.Moreover,upstreamadaptationtypicallyoccurs`out-of-band'withtheflowofdata.Withdownstreamadaptation,thedelaybetweengeneratingacontroleventandenactingthenecessaryservicechangecanbecoupledwiththetimetotransferapplicationdataalongthelogicalpathbetweenservicemanagers.Thatis,downstreamadaptationeventscanbesent`in-band',andinsynchrony,withtheflowofdata.Bycontrast,intra-SMadaptationworkswellif:(1)coordinationbetweenresourcesand,hence,servicemanagersisnotanissue,or(2)thereisaccesstosharedstateinformation,whichallowsgroupsofservicemanagerstocoordinatetheirownserviceadaptations.

References

[1]T.AbdelzaherandK.Shin.End-hostarchitectureforQoS-adaptivecommunication.InIEEEReal-TimeTechnology

andApplicationsSymposium,Denver,Colorado,June1998.

[2]C.Aurrecoechea,A.Campbell,andL.Hauw.AsurveyofQoSarchitectures.MultimediaSystemsJournal,Special

IssueonQoSArchitecture,1997.

[3]B.N.Bershad,S.Savage,P.Pardyak,E.G.Sirer,M.Fiuczynski,andB.E.Chambers.Extensibility,safety,andper-formanceintheSPINoperatingsystem.InProceedingsofthe15thACMSymposiumonOperatingSystemsPrinciples,pages267–284,CopperMountain,Colorado,December1995.

[4]A.Campbell.Aqualityofservicearchitecture.InACMSIGCOMMComputerCommunicationReview.ACM,April1994.

[5]C.CarlssonandO.Hagsand.Dive-aplatformformulti-uservirtualenvironments.ComputersandGraphics,17(6):663–

669,November-December1993.

[6]P.Chandra,A.Fisher,C.Kosak,T.S.E.Ng,P.Steenkiste,E.Takahashi,andH.Zhang.Darwin:Resourcemanage-mentforvalue-addedcustomizablenetworkservice.InSixthIEEEInternationalConferenceonNetworkProtocols(ICNP'98),Austin,October1998.

[7]P.Chandra,A.Fisher,C.Kosak,andP.Steenkiste.Networksupportforapplication-orientedqualityofservice.InSixth

IEEE/IFIPInternationalWorkshoponQualityofService,Napa,May1998.

[8]G.Coulson,A.Campbell,andP.Robin.DesignofaQoScontrolledATMbasedcommunicationsysteminCho-rus.IEEEJournalofSelectedAreasinCommunications(JSAC),SpecialIssueonATMLANs:ImplemetationandExperienceswithEmergingTEchnology,May1995.

[9]D.R.Engler,M.F.Kaashoek,andJ.O.Jr.Exokernel:Anoperatingsystemarchitectureforapplication-levelresource

management.InProceedingsofthe15thSymposiumonOperatingSystemPrinciples,December1995.

[10]D.Ferrari.Clientrequirementsforreal-timecommunicationservices.IEEECommunicationsMagazine,28(11):76–90,November1990.

[11]A.Goel,D.Steere,C.Pu,andJ.Walpole.SWiFT:Afeedbackcontrolanddynamicreconfigurationtoolkit.Technical

Report98-009,OGICSE,1998.

[12]A.Goel,D.Steere,C.Pu,andJ.Walpole.Adaptiveresourcemanagementviamodularfeedbackcontrol.Technical

ReportCSE-99-03,OGICSE,January1999.

[13]G.GopalakrishnaandG.Parulkar.Efficientqualityofserviceinmultimediacomputeroperatingsystems.Technical

ReportWUCS-TM-94-04,DepartmentofComputerScience,WashingtonUniversity,August1994.

[14]S.GreenbergandD.Marwood.Real-timegroupwareasadistributedsystem:Concurrencycontrolanditseffectonthe

interface.InProceedingsoftheACMConferenceonCooperativeSupportforCooperativeWork,ACMpress,pages207–217.ACM,1994.

[15]D.Hull,A.Shankar,K.Nahrstedt,andJ.W.S.Liu.Anend-to-endQoSmodelandmanagementarchitecture.In

ProceedingsofIEEEWorkshoponMiddlewareforDistributedReal-timeSystemsandServices,pages82–89,December1997.

[16]V.Jacobson.Congestionavoidanceandcontrol.InACMComputerCommunicationReview:Proceedingsofthe

SIGCOMM'88,pages314–329.ACM,August1988.

[17]E.D.Jensen,C.D.Locke,andH.Tokuda.Atime-drivenschedulingmodelforreal-timeoperatingsystems.InIEEE

Real-TimeSystemsSymposium.IEEE,December1985.

[18]R.Kravets,K.Calvert,P.Krishnan,andK.Schwan.Adaptivevariationofreliability.InHPN-97.IEEE,April1997.[19]R.Kravets,K.Calvert,andK.Schwan.Payoff-basedcommunicationadaptationbasedonnetworkserviceavailability.

InIEEEMultimediaSystems'98.IEEE,1998.

[20]K.NahrstedtandJ.Smith.TheQoSbroker.IEEEMultimedia,2(1):53–67,1995.

[21]H.M.V.PawanGoyalandH.Cheng.Start-timefairqueueing:Aschedulingalgorithmforintegratedservicespacket

scwitchingnetworks.InIEEESIGCOMM'96.IEEE,1996.

[22]D.Rosu,K.Schwan,andS.Yalamanchili.FARA-aframeworkforadaptiveresourceallocationincomplexreal-time

systems.InProceedingsofthe4thIEEEReal-TimeTechnologyandApplicationsSymposium(RTAS),Denver,USA,June1998.

[23]D.Rosu,K.Schwan,S.Yalamanchili,andR.Jha.Onadaptiveresourceallocationforcomplexreal-timeapplications.

InProceedingsofthe18thIEEEReal-TimeSystemsSymposium(RTSS),SanFrancisco,USA,December1997.[24]S.Singhal.EffectiveRemoteModelinginLarge-ScaleDistributedSimulationandVisualizationEnvironments.PhD

thesis,StanfordUniversity,August1996.

[25]D.C.Steere,A.Goel,J.Gruenberg,D.McNamee,C.Pu,andJ.Walpole.Afeedback-drivenproportionallocator

forreal-ratescheduling.InInProceedingsofthethirdSymposiumonOperatingSystemDesignandImplementation.USENIX,1999.

[26]R.Vanegas,J.Zinky,J.Loyall,D.Karr,R.Schantz,andD.Bakken.QuO'sruntimesupportforqualityofservicein

distributedobjects.InProceedingsoftheIFIPInternationalConferenceonDistributedSystemsPlatformsandOpenDistributedProcessing(Middleware'98),LakeDistrcit,England,September1998.

[27]C.Volg,L.Wolf,R.Herrwich,andH.Wittig.HeiRAT-qualityofservicemanagementfordistributedmultimedia

systems.MultimediaSystemsJournal,1996.

[28]R.WestandK.Schwan.Dynamicwindow-constrainedschedulingformultimediaapplications.In6thInternational

ConferenceonMultimediaComputingandSystems,ICMCS'99.IEEE,June1999.AlsoavailableasaTechnicalReport:GIT-CC-98-18,GeorgiaInstituteofTechnology.

[29]R.West,K.Schwan,I.Tacic,andM.Ahamad.Exploitingtemporalandspatialconstraintsondistributedsharedobjects.

InProc.17thIEEEICDCS.IEEE,1997.

因篇幅问题不能全部显示,请点此查看更多更全内容

Top