ADistributedApplicationsManagementTestbed. MichaelJ.Katchabaw,StephenL.Howard, AndrewD.Marshall,andMichaelA.Bauer. TheUniversityofWesternOntario



Similar documents
How-to: Monitor OS processes with MAI

MS 10978A Introduction to Azure for Developers

Technology - A Brief Summary

ABSTRACT Informationtechnologyhasbecomeoneofthefastest-growing,fastest-changing

SERVICE DESIGN User stories

Location Based Network Management System

a : an unobstructed or complete view of then configured within the confines of the structure limitations to what the exhibitor requires.

Data Logging and Realtime Visualization

In this Lecture you will Learn: Development Process. Unified Software Development Process. Best Practice

Course 10978A Introduction to Azure for Developers

10978A: Introduction to Azure for Developers

CimTrak Technical Summary. DETECT All changes across your IT environment. NOTIFY Receive instant notification that a change has occurred

WES 9.2 DRIVE CONFIGURATION WORKSHEET

EOH Cloud Backup - End User. EOH Cloud Services - EOH Cloud Backup - End User

Attention windows of second level fixations. Input image. Attention window of first level fixation

AXIS 1440 Print Server For EPSON Printers: Product Update. Important Information for Windows

ITS Workshop April 2015

ATC Teletilt Control System

SharePoint 2013 Social Intranet Case Study

M-RPC:ARemoteProcedureCallServiceforMobileClients. DepartmentofComputerScience. Rutgers,TheStateUniversityofNewJersey. Piscataway,NJ08855

Atlas Event Logging Explanation

XL Bolt-On Software Product Family

Introduction to Azure for Developers

1. Introduction MINING AND TRACKING EVOLVING WEB USER TRENDS FROM LARGE WEB SERVER LOGS. Basheer Hawwash and Olfa Nasraoui

Adaptec SAS RAID Configuration and the Windows OS Installation Instructions

Innovation in Industrial Mobile Manipulation

SharePoint Checklist and Resources

NaviPac Training Course

Geospatial-Enabled Field Inspection Management. Sean Graebner Alliances Manager Geospatial

Microsoft Introduction to Azure for Developers

TightVNC for Windows: Server Command-Line Options

Fast, cheap and data-driven

Workflow Overview And Approach. Steve Hughes Changqing Zhen Natasha Globus

What is a life cycle model?

Ethernet-based Software Defined Network (SDN)

Integration model layer. Basic classes. Integration model classes. Data model layer. Basic classes. Data model classes. Hypermedia Framework

LAS VEGAS - CLARK COUNTY LIBRARY DISTRICT

Setting up Office 365 for Multi-Factor Authentication

EMSA s Integrated Maritime Environment. Justino de Sousa. October a tool for improved Maritime Domain Awareness

Guardian Tracking Systems

HelpDesk for Human Resources. Linda Hartford ShopKo Norm Wold -- Oracular

Legal Notices and Important Information

Intel ICH7R/ICH9R/ICH10R HostRAID Setup Guidelines

FIXED SCOPE OFFERING FOR ORACLE FUSION TALEO CLOUD


Control Loop Performance Monitor

Operating System Today s Operating Systems File Basics File Management Application Software

Software Test Cases: Who, What, Where, When, How and Why

BIA and BO integration other performance management options Crystal Reports Basic: Fundamentals of Report Design

CAD and Creativity. Contents

Presenty User Interface Framework

Kepware Technologies OPC Quick Client Connectivity Guide

ESE 6939 Instructional Design

SYSTEMS AND NETWORK SECURITY ANALYST (Range 127)

Planning and Administering Windows Server 2008 Servers

Stopping The Application Management Blame Game Through Integrated IT Management Tools.

EMC Documentum Enterprise Content Integration Services

Heterogeneous Tools for Heterogeneous Network Management with WBEM

Fingerprint Identity User Manual for the Griaule Biometric Framework Rev 1.00

GAME DESIGN AND DEVELOPMENT TECHNOLOGY. Game Design and Development Technology I

13 Managing Devices. Your computer is an assembly of many components from different manufacturers. LESSON OBJECTIVES

Project Development Plan

TEXAS&SUICIDE&SAFER&SCHOOLS&

How To Build A Gps Vehicle Tracking System On Android App.Com

Soft Solutions, Inc. 4-Sight FAX 7.5. Getting Started. Soft Solutions, Inc.

Integration of location based services for Field support in CRM systems

Best Practices for Harvest LIS & Copia. David Bracewell, VP Operations Orchard Software Symposium June 17-18, 2015


MS-10750: Monitoring and Operating a Private Cloud with System Center Required Exam(s) Course Objectives. Price. Duration. Methods of Delivery

Patterns in. Lecture 2 GoF Design Patterns Creational. Sharif University of Technology. Department of Computer Engineering

Visual Studio 2008: Windows Presentation Foundation

Adam Kopstein. 13V-592 (5 pages) - Revised. December 03, 2013

Computer Aided Design Basic 2D

Who Doesn t Want to be Agile? By: Steve Dine President, Datasource Consulting, LLC 7/10/2008

Dynamic conguration management in a graph-oriented Distributed Programming Environment

CRM Sales Opportunity Management

Technical Report CMU/SEI-88-TR-024 ESD-TR

Transcription:

EvaluatingtheCostsofManagement: ADistributedApplicationsManagementTestbed MichaelJ.Katchabaw,StephenL.Howard, AndrewD.Marshall,andMichaelA.Bauer DepartmentofComputerScience TheUniversityofWesternOntario Abstract Intoday'sdistributedcomputingenvironments,usersaremakingincreasingdemandson thesystems,networks,andapplicationsthey use.usersarecomingtoexpectperformance, faulttolerance,conguration,security,andaccountingservicescomparabletothoseontraditionalcentralizedsystems.meetingtheseexpectationsimpliestheneedformanagement. Whilesomesuccesseshavebeenrealizedinthe areasofsystemandnetworkmanagement,only preliminaryinvestigationshavebeenconducted onmanagementofdistributedapplications. Atthisstage,littleisknownofthecostsassociatedwiththistypeofmanagement.To assessthesecosts,itisnecessarytocollect dataabouttheperformanceandoperationof distributedapplicationsandtheirmanagement systems.furthermore,itisimportanttocollectthisdataundervaryingconstraints,congurations,andmanagementassumptions.inordertodothis,wehavedevelopedadistributed applicationsmanagementtestbed.wepresent ourinitialrequirementsforthetestbed,itsdesign,andaprototypeimplementation.wedescribesomepreliminaryresultsandanalysis obtainedthroughitsuse.finally,weidentify itslimitsbasedonourexperiencetodateand outlineourplanstoevolvethetestbedtoaccommodatefurtherexperimentation. ThisresearchworkissupportedbytheIBMCentreforAdvancedStudiesandtheNaturalSciencesand EngineeringResearchCouncilofCanada.TheIBM contactforthispaperisjacobslonim,centreforadvancedstudies,2g/894,1150eglintonavenueeast, NorthYork,Ontario,CanadaM3C1H7. 1Introduction Withtheincreasedcomplexityofdistributed systemscomesagreaterneedforautomated toolstoassistinthemanagementofnetworks, systemresources,andapplicationprocesses. Whilesignicantexperiencehasbeengainedin theareasofnetworkandsystemmanagement, littlehasbeenaccomplishedattheapplication level. Thefocusofmuchofourongoingresearch hasbeenintheareaofdistributedapplications management[2,3].wehavedevelopedand continuetouseapplicationsmanagementsystemprototypesbasedonbothosiandsnmp protocols.wehavebecomeinterestedinthe practicalissuesofapplicationsmanagement thatmayimpairitsacceptance;issuessuch asthecostofmanagement(forexample,the performanceoverhead)andhowmanagement canbedoneeciently.thispaperdescribesa projectmotivatedbythisinterest. Overheadassociatedwithmanagementof distributedapplicationsisunavoidable.instrumentationcodeaddedtoeachoftheapplicationcomponentsinsupportofruntimemonitoringandcontrolwillaecttheapplication's performancedirectlybecauseoftheextrainstructionsintheexecutionpath.inaddition, themanagementsystemconsistsofcommunicatingprocessesthatcompeteforthesame memory,cpu,andi/oresourcesthatareused bytheapplication. Abasicquestionwearetryingtoanswer is:whatisthepricewepayinoverallapplicationperformanceforthismanagementand whatstepscanbetakentominimizeit?to 1

addressthisproblem,itisnecessarytomonitor thebehaviorofmanagementsystemsandtheir managedapplicationsundervariousworkloads andcongurations.workhasbeguntoidentify thesecosts[1]. Oncethecostsareidentiedandunderstood, wecanbeginminimizingthem.thereare manyparametersinthedesignanddeploymentofthemanagementsystemthatpotentiallyinuencethecostofmanagement;forexample,controllingcomponentdeployment,togglingfunctionsonando,adjustingthreshold valuestocontroleventgenerationconditions andrates,conguringevent-lteringmechanismstoreducethetracow,controllingthe quantityandnatureofinformationineventreports,andsoon. Toaddressthisissue,wehavedevelopeda distributedapplicationsmanagementtestbed thatisindependentofthemanagementsystemanditsmanagedapplications.thetestbed isatoolthatenablesexperimentstoobserve andanalyzetheperformanceofbothmanagementsystemcomponents(suchasmanagers andagents)andmanagedapplicationcomponents(suchasinstrumentedprocesses).the resultsofsuchexperimentsprovideinsightinto howmanagementcanbeperformedmosteectively. Inthispaper,wepresentasetofrequirementsforthedistributedapplicationsmanagementtestbedanddescribeatestbeddesign thatmeetstheserequirements.wediscussthe testbedprototypeandsomepreliminaryresults obtainedinanosimanagementenvironment. Thepaperconcludeswithaprojectstatusreport,identifyingthelimitsofourexperienceto dateandourplansforfuturework. 2Requirements Thegoalwastodevelopamanagementsystem testbedthatcanbeusedtoassesstheimpactof managementonsystemresourcesandonmanagedapplications.weidentiedthefollowing keyrequirementsforthetestbed: Thetestbedshouldallowanexperimentto becontrolled.thisincludestheabilityto startandstopanexperiment,tolaunch andterminatecomponentsofthemanagementsystem,andtolaunchandterminate componentsofthemanagedapplication. Thetestbedshouldbeexible,allowingrecongurationforavarietyofexperiments. Itmustmaintaincongurationinformationaboutthemanagementsystemand managedapplications. Thetestbedshouldprovideawaytocollectdataaboutthebehaviorandperformanceofthemanagementsystemand managedapplications. Simplestatisticalanalysisofcollecteddata shouldbeprovidedbythetestbed. Higher-levelapplicationsshouldbeableto usethetestbedthroughawell-denedapplicationprogramminginterface(api). Thetestbeditselfshouldhaveminimal interferencewiththeperformanceofthe managementsystemandthemanagedenvironment.thetestbedmustoperateoutsidetheexecutionpathofthesystembeing tested;itmustnotrequireintrusiveinstrumentationorcodemodication.allinformationmustbegatheredatarm'slength throughtheuseofoperatingsystemservicesandexistingobservablebehavior. Toasgreatadegreeaspossible,the testbeddesignshouldbeindependentof thesystembeingtested.itshouldnot makeassumptionsaboutthetypeofmanagementsystemorthemanagedenvironment. 3TestbedArchitecture Wedevelopedagenericarchitecturetomeet ourkeyrequirements.inthissection,wedescribethekeycomponentsofthearchitecture andaninterfaceforaccessingtestbedservices. 3.1ComponentOverview Thedistributedapplicationmanagement testbedarchitectureshowninfigure1isthe basisforourresearchandprototypedevelopment.thisarchitectureconsistsofthetestbed 2

Testbed Applications Experiment Drivers Report Generators Visualization Tools... Interactions Testbed Service Interface Configuration Control Figure1:DistributedApplicationsManagementTestbedArchitecture Monitoring Analysis Distributed Applications Management Testbed itself,managedapplicationsandmanagement Manipulations systemswhoseperformanceistobeanalyzed, and andtestbedapplicationsthatmakeuseofthe Monitored Data testbed.thesecomponentsaredescribedbelow. Management Managed System 3.1.1TestbedComponents Application Environment Environment providedbythetestbedareaccessedbytestbed nents. TestbedServiceInterface:Theservices applicationsthroughthetestbedserviceinterface.thisinterfacecoordinatesactivitiesbilityinclude: onthecongurationofthemanagementsystem andmanagedapplications.areasofresponsi- Theservicesprovidedthroughthisinterfaceare nentisresponsibleformaintaininginformation discussedindetailinsection3.2. Conguration:Thecongurationcompo- Thetestbedconsistsofasetofcorecompo- andreportstotheappropriatecomponents. withinthetestbedbyroutingrequests,replies, Processrelationships whichapplicationclientsreporttowhichapplication whichmanagementcomponentsreportto whichothermanagementcomponents. servers,whichapplicationprocessesreport Processdeployment whichprocessesare executingonwhichhosts. 3 towhichmanagementcomponents,and

Workloadpopulation whatkindofinteractionsoccurbetweenthecomponent processes,whatinformationispassedin eachinteraction,andhowoftentheseinteractionsoccur. Control:Thecontrolcomponentprovidesa basicserviceforcontrollingexperiments.it usesdeploymentandrelationshipinformation fromthecongurationcomponentandprovides operationsto: Startanexperimentandallocatethere- sourcesrequired,basedonthedenedcon- guration. Finishanexperimentanddeallocateexperimentresources. Launchmanagedapplicationandmanagementsystemprocessesaccordingtotheir conguration. Terminatemanagedapplicationandmanagementsystemcomponentprocesses. Monitoring:Themonitoringcomponent collectsthefollowinginformationaboutthe managementsystemanditsmanagedapplications: Operationalstatusinformationaboutprocesses. Timinginformation,includingelapsed times,cputimes,andsoon. Resourceutilization,includingCPUutilization,memoryutilization,diskutilization,andnetworkutilization. Analysis:Usingcongurationinformation anddatacollectedfromexperiments,theanalysiscomponentcancompute: Basicmeasures,suchastotals,maximum values,minimumvalues,means,medians, andmodes. Variabilitymeasures,suchasstandarddeviation,samplevariance,andskewness. Thesefunctionscanbeappliedtoindividual processesorgroupsofprocesses.moresophisticatedanalyses,suchasregressionanalysis,can beperformedbyhigherleveltestbedapplications. 3.1.2ManagedApplicationandManagementSystemEnvironments Themanagedapplicationandmanagement systemenvironmentsshowninfigure1consistofthehardwareandsoftwareresources andservicesusedbycomponentprocessesduringexecution.thisincludescomputingnodes, networks,operatingsystemservices,anddistributedprocessingservices,suchasnameservices,repositoryservices,andtransactionservices. Byinteractingwiththeirenvironments, ratherthanthecomponentprocessesthemselves,thetestbedcancongure,control,and monitortheprocesseswithminimalimpacton theiroperation.forexample,resourceutilizationstatisticscanbeobtainedthroughoperatingsystemservicesinsteadofqueryingindividualprocesses,whichwouldaddunwantedload totheprocesses. 3.1.3TestbedApplications Usersaccesstheservicesofthetestbedthrough externaltestbedapplications.theseapplicationsinvokethetestbedoperationsthroughthe testbed'sserviceinterface.examplesofsuch applications,areshowninfigure1,andexplainedbelow. ExperimentDrivers:Carryingoutanexperimentusingthetestbedinvolvesselecting thedesiredconguration,executingtheexperiments,andanalyzingthecollectedresults. Eventhesimplestperformanceanalysisre- quiresseveralexperimentswithdierentcon- gurationstoberepeatedoverextendedperiodsoftime.repeatingtheexperimentsmanuallywouldbeextremelytedious.anexperimentdriverfacilitatesandautomatesthisprocess. ReportGenerators:Reportgenerationapplicationscanbeusedtoaggregatethedata 4

fromexperiments,performhigh-levelanalysis, andpresenttheresults. VisualizationTools:Experimentscanbe conguredandcontrolledmoreintuitivelyby manipulatingvisualabstractionsofthecomponentsinvolved.datacanbepresented moreconciselyandunderstandablyingraphicalforms. 3.2TestbedServices Tosupportthedevelopmentoftestbedapplications,wedenedaconsolidatedinterfacefor accessingthefourtestbedservices.thissectiondescribesthisinterfaceandtheoperations supportedbyeachservice. 3.2.1CongurationService Thecongurationserviceprovidesoperations todeploymanagementsystemandmanaged applicationcomponents(i.e.processes),setrelationshipsbetweenthesecomponents,andset workloadsforthesecomponents.theseoperationsare: deploycomponent:deploysanapplication componentofacertaintypeonaspecied host.thisoperationdoesnotstartthecomponent,butconguresittobestartedwhenthe launchcomponentsoperationisinvoked(see Section3.2.2).Whenacomponentisdeployed, itisassignedauniqueidentierusedforreferencingthecomponentuntilitisremovedusing undeploycomponent. deploycomponent( [in:]componenttype_ttype, [in:]host_thost, [out:]componentid_tid, redeploycomponent:changesthehoston whichacomponentruns.thecomponent's identierandthenewhostarespecied. redeploycomponent( [in:]componentid_tid, [in:]host_thost, undeploycomponent:removesagiven componentfromthesetofdeployedcomponents.oncethisisdone,onlythe collectcomponentdataoperationcanbeused toreferencetheundeployedcomponent.all relationshipspreviouslydenedforthiscomponent(bysetcomponentrelationship)areremoved. undeploycomponent( [in:]componentid_tid, setcomponentrelationship: Establishesandconguresarelationshipbetween two previouslydeployedcomponents.thisrelationship canbe:client-to-server,peer-to-peer,applicationcomponent-to-managementcomponent,or managementcomponent-to-managementcomponent.arelationshipremainsvaliduntileitherremovecomponentrelationshipor undeploycomponentisinvoked. setcomponentrelationship( [in:]reltype_trelationship, [in:]componentid_tcomponent_1, [in:]componentid_tcomponent_2, removecomponentrelationship: Removesarelationshippreviouslyestablished bysetcomponentrelationship. removecomponentrelationship( [in:]reltype_trelationship, [in:]componentid_tcomponent_1, [in:]componentid_tcomponent_2, populatecomponentworkload: Setsaworkload(asequenceofservicerequests)forthegivencomponent.This workloadispopulatedaccordingtoatemplateprovidedintheoperationinvocation. ThepopulatedworkloadisuseduntileitherpopulateComponentWorkloadisinvoked again,orthecomponentisremovedusing undeploycomponent. populatecomponentworkload( 5

[in:]componentid_tcomponent, [in:]workloadtemplate_ttemplate, 3.2.2ControlServices Controloperationsareprovidedbythecontrol servicetostartandnishexperimentsandto startandterminatemanagementsystemand managedapplicationcomponentprocesses. startexperiment:notiesthetestbedthat anewexperimentisstarting.theappropriate resourcesareallocatedandmutualexclusionto thetestbedisprovided,sincetwoconcurrent experimentscouldhaveundesirableeectson oneanother.anidentierfortheexperiment isreturnedasaresult. startexperiment( [out:]experimentid_tid, nishexperiment:notiesthetestbedthat anexperimenthasnishedandthatpreviously allocatedresourcescanbereleased. finishexperiment( launchcomponents:startsasetofcomponentsusingthecongurationspeciedpreviouslyusingcongurationoperations.componentsarereferencedthroughtheircomponent identiers. launchcomponents( [in:]componentset_tcomponent_list, terminatecomponents:terminatesa givensetofcomponentsthathadbeenstarted usinglaunchcomponents.componentsarereferencedthroughtheircomponentidentiers. terminatecomponents( [in:]componentset_tcomponent_list, 3.2.3MonitoringService Monitoringoperationscollectdataonmanagementsystemandmanagedapplicationcomponents,bothduringandafterexperiments.A singleoperationisdened. collectcomponentdata:collectsthespeciedmonitoreddataonthegivensetofcomponents.ifacomponentisexecuting,thereturneddatareectsthecurrentstateofthe component.otherwise,thereturneddatare- ectsthestateofthecomponentattermination. collectcomponentdata( [in:]componentset_tcomponent_list, [in:]dataspecifier_tspecifier, [out:]data_tdata, 3.2.4AnalysisService Theanalysisserviceanalyzesdatacollected frommanagementsystemandmanagedappli- cationcomponents.asingleoperationisde- ned. performanalyticalfunction: Performsthespeciedanalyticalfunctionon thedataprovided.samplefunctionscompute totals,maximumvalues,minimumvalues,medians,modes,means,andothersimplestatisticalfunctions. performanalyticalfunction( [in:]functionspec_tanalytical_fn, [in:]data_tdata1,data2,data3,... [out:]data_tresult, 4PerformanceMetrics Todeterminethecostofmanaging,wecompareapplicationperformancewithandwithout management.weuseasetofperformancemetrics,whichweclassifyasresponsivenessmetrics,productivitymetrics,utilizationmetrics, anderrororfailuremetrics[8]. 6

4.1ResponsivenessMetrics Theresponsivenessofadistributedapplication isthetimebetweenanoperationinvocation andthecompletionofthatoperation.bycomparingtheresponsivenessofapplicationswith andwithoutmanagement,wecaneectively computetheimpactofmanagement.threeresponsivenessmetricsareused: Theresponsetimeforasingleapplication request. Thestart-to-completiontimeforaworkload(thatis,a\standard"batchofapplicationrequests). Processinitializationtime,measuredfrom thetimetheprocessstartsexecutionuntil itisreadytoperformusefulwork. 4.2ProductivityMetrics Productivity(orthroughput)metricsprovide measuresoftheamountofworkcompletedper unitoftime.thesemetricsrelatebothtothe rateatwhichapplicationoperationsareperformedandtotheamountofdatapassedbetweenapplicationcomponentswithinagiven periodoftime.thefollowingproductivitymetricsaredened: Foraserverprocess,thenumberofapplicationrequestsprocessedpersecond. Thenumberofbatchesofapplicationrequestsprocessedpersecond. Theamountofdatatransferredbetween processespersecond. 4.3UtilizationMetrics Utilizationmetricsprovidemeasuresofsystem resourceconsumptionand,assuch,areonly indirectmeasuresofanapplication'sperformance.nevertheless,itisusefultoobtainutilizationdataonarangeofsystemresourcesto giveabetterunderstandingofthetruecostof management.thefollowingutilizationmetrics areidentied: CPUutilization Memoryutilization Diskutilization I/Outilization Networkutilization Measurementsoftheseresourcescanbecollectedeitherforindividualservices,oroverthe lifespanofaprocess.dependingontheanalysisrequired,bothmeasurementscanbeuseful. 4.4ErrororFailureMetrics Anerrorisdenedasasituationinwhichan applicationoperationcannotbecompletedcorrectly.afailureisdenedasasituationin whichanapplicationoperationcannotbecompletedatall.whileerrorsandfailurestend tobeapplication-specic,theymustbeunderstoodinordertoperformanalysiscorrectly. Foreachapplication-specicclassoferroror failure,wecanmeasuremetricssuchas: Theprobabilityofanerrororfailureoccurringoneachoperationinvocation. Themeantimebetweenerrorsorfailures. The\down-time"duringwhichthemanagedapplicationisunavailableduetofailure. Theseverityoftheerrororfailure. 5Parameters Aecting Performance Theperformancemetricspresentedintheprevioussectionidentiedwhatwewanttoknow aboutperformance.thesearetheobservable outputsoftheexperiments.wenowfocus ontheparametersthatinuenceperformance. Theseparameterscorrespondtotheinputsto theexperiments. Identifyingtheperformanceparametersis criticaltotheplanning,design,andexecutionofexperimentsfordeterminingthecostsof management.theseparametersgenerallyfall intooneoftwocategories systemparameters orworkloadparameters. 7

5.1SystemParameters Systemparametersarethoserelatedtohardware,theoperatingsystem,middlewareservices,andsoon.Theyareoutsidetheapplicationanditsmanagementsystem,andfroman experimentationpointofview,theyareconsideredtobestatic.theseparametersinclude: SystemLevelParameters: Numberofsystemsinvolved Architectureofeachsystem Speedofeachsystem'sprocessor(s) Speedofeachsystem'scoprocessors Amountandspeedofsystemmemory Speedofdisksoneachsystem Useofhardwarecachesoneachsystem NetworkLevelParameters: Speedofthenetwork Networkreliability Networkprotocolsuse. Networktopology/conguration(subnets, routers,bridges,etc.) OperatingSystemandMiddlewareParameters: Operatingsystemoverhead Eectsofsoftwarecaches Middlewareoverhead Nature/speedofotherservices(le,time, name,etc.) 5.2WorkloadParameters Workloadparametersrepresentthevariableaspectsintheexperiments;factorsthatcanbe controlledorcanbevariedfromoneexperiment tothenext.weincludecharacteristicsofthe applicationanditsmanagementsystemaswell asaspectsofsystemstatethatareaectedby theworkloadimposedbytheapplicationand itsmanagementsystem.theseparametersinclude: LoadParameters: Systemload(numberofusers,number/typeofprocesses,etc.) Networkcongestion Resourceutilization(memory,disk,network,etc.) ManagementSystemParameters: Presence/absenceofmanagement Typeofmanagementsystem Managementsystemconguration Managementfunctionsandservices Underlyinginfrastructureandcommunication Numberofprocesses ManagedApplicationParameters: Applicationtype Processtypes(client,server,peer) Resourcerequirements Communicationmethods Conguration(numberofprocesses,locations,etc.) Requesttypes(includingratesanddistribution) Instrumentationtype ManagementParameters: Managementservicesused Number,rateanddistributionofservice requests Whethermanagementusespolling(pull style)orevent-driven(pushstyle)communication Requesttype(informationaccessorapplicationcontrol) 8

6Prototype Implementation Inthissection,wedescribeaprototypemanagementsystemtestbedbasedonthegeneric architecturepresentedinsection3.thisprototypeiscurrentlybeingusedtoconductexperimentstoinvestigatethecostsofdistributed applicationsmanagement. 6.1TargetEnvironment Theprototypewasdevelopedinalaboratory settingwithadozenhostsofvariousarchitectures,includingibmrs/6000,mipsrc2030, SunSPARCstation,Sun3/60,andSequent Symmetry,spreadovertwosubnets.Thissettingprovidesdiversityinprocessors,memory, deviceconguration,avorsoftheunixoperatingsystem(aix,risc/os,sunos,and DYNIX/ptx),communicationinfrastructure andmiddleware(sockets,oncrpc,dce, andcorba).therefore,alargenumberofthe systemparametersidentiedinsection5.1as xedperformancefactorsarepresent. 6.2Implementation Tomeettheexibilityandportabilityrequirementsdemandedbytheheterogeneityofthe environment,weimplementedthetestbedas astructuredcollectionofunixshellscripts. Sincethetestbedoperatesoutsidethemanagementsystemanditsmanagedapplications, mostofitsinteractionsarewiththeoperating system.theeaseofaccesstosystemservices andutilities,andthefactthattheperformance ofthetestbedisoflittleconcern,madeshell scriptsanobviouschoice. Thetestbedarchitecturewaspreservedby structuringeachserviceasacollectionof scriptsprovidingtherequiredoperations.the interfacetothetestbedisdenedbyscript namesandtheirarguments.testbedapplicationsthatinvokethesescriptscanbewritten inavarietyoflanguages(forexample,shell scripts,c,tcl,perl,orjava). Thecongurationservicestorescongurationinformationasasetofatles.This informationismanipulatedwhentheappropriatecongurationoperations(giveninsection3.2.1)areinvoked.workloadspopulated bythepopulatecomponentworkloadcongurationoperationarestoredaseitherdatales orscripts,dependingonthetypeofcomponent forwhichaworkloadisgenerated. Controlserviceoperationsaccesscongurationlesandworkloadscripts.Forexample, thestartexperimentoperationneedstoknow whichprocessestostart,wheretostartthem, andwhatworkloadstoassign. ThecollectComponentDatamonitoringserviceoperationcollectsspecieddataquerying localandremotesystemsusingunixsystem utilities.thisdataisstoredinmonitoreddata les. Finally,analysisserviceoperationsarecarriedoutbyscriptsthatprocessmonitoreddata. 6.3ManagementSystemand ManagedApplications Forinitialtestbedvalidationandexperimentation,weadaptedamanagementsystemand managedapplicationfromourpreviouswork [9].Themanagementsystem,basedonthe OSIManagementFramework[4,7],hadbeen enabledtomanagedceapplications.several DCEapplicationshavebeendevelopedandinstrumentedformanagementbythissystem. 6.3.1ManagementSystem IntheOSIManagementFramework(seeFigure2),realresources(applicationprocesses) aremodeledbymanagedobjects.managers (alsocalledmanagementapplications),which existtoenforcemanagementpolicyonbehalf ofhumanmanagers,viewthemanagedsystem asacollectionofthesemanagedobjectsand areunawareoftherealresourceshiddenbehind thelayerofabstraction.therearemanyadvantagestothisapproach.forexample,componentgranularitycanbedened(onemanagedobjectmightmodelacollectionofreal resourcesasasingleentity). Amanagementagentholdsresponsibilityfor aparticularsetofmanagedobjects.theagent processesmanagers'requestsanddeliversevent reportstomanagers.theagentinteractswith therealresourcestoupdatemanagedobjects' states,carryoutcontrollingoperations,accept 9

Managed Objects Agent Manager (CMIP) Event Reports Operations Management Notifications Operations Management Real Resources Figure2:OSIManagementFramework eventnotications,andsoon,tofullthemanagementobligationsimposedonit. Communicationbetweenthemanagerand agentisdenedbytheosicommonmanagementinformationservice(cmis)[5]and thecommonmanagementinformationprotocol(cmip)[6].communicationbetweenthe agentandtherealresources(applicationprocesses)fallsoutsidetheosistandards;inour experiments,weuseddceremoteprocedure Calls(RPC)[10]. 6.3.2ManagedApplications Inourpreviouswork[9],severalDCEapplicationsweredevelopedandinstrumentedfor managementintheosimanagementenvironment.theseapplicationsfollowaclientservermodelwithvaryingdegreesofcomplexity.themostinteresting,fromthetestbedvalidationpointofview,isadistributedtime-table schedulingapplication,whichusesadb/2 repositoryforstoringscheduleinformation.althoughconceptuallysimple,thisapplication provedtobeofadequatecomplexitytofacilitateourperformanceexperiments. Intheexperiments,thetestbedwasused tocontrolthedeploymentandworkloadof theapplicationandtocontrolitsoperation. Toenhancetheusefulnessoftheexperiments, Motif-basedclientswerereplacedwithscriptdrivenclientssowecouldcreateandapplyarticialapplicationworkload.Whilethe testbedcanprovideusefulresultsonnaturallyoccurringworkloads,wefeltthatusingcontrollableclientswouldyieldmoreaccurateresults andastrongerbasisforvalidation. 6.4TestbedApplications Forinitialtestingandexperimentation,abasicexperimentdriverandasimplereportgeneratorweredeveloped.Workhasalsobegun onavisualizationapplication.theexperiment driverusesscriptstoguidetheexecutionofseveralexperimentsinsequence.tocompleteeach phaseofanexperiment,thedrivermakesuse oftheappropriateservicescriptsprovidedby thetestbed.eachexperimentconsistsofeight phases: 1.Startingtheexperimentandgainingsole accesstothetestbed. 2.Conguringthetestbed,managementsys- tem,andmanagedapplicationappropri- 10

ately,dependingonthegoalsoftheexperiment. 3.Startingthemanagementsystemand managedapplicationcomponentsusedin theexperiment. 4.Monitoringthestartedcomponentsand collectingtherequiredinformation. 5.Terminatingthecomponentsandcollectingthestateinformationneeded. 6.Analyzingthecollecteddataasnecessary. 7.Finishingtheexperiment. 8.Generatingtablessummarizingtheresults oftheexperiment. Usingtheexperimentdriverandreportgenerator,severalexperimentshavebeenperformedtodate.Theresultsofthesearepresentedinthenextsection. 7Experience Aninitialsetofexperimentswasconductedto verifytheoperationofthesystemandidentify areasforimprovement.basedonthesuccessof thesetests,morerigorousandcomplexexperimentswereplannedandexecuted.theresults oftheseexperimentsprovedtobequiteinteresting,demonstratingtheutilityandexibility ofthetestbed. Inourexperimentation,wesetouttodeterminetheinuenceofasetofparameterson applicationperformance(asmeasuredbythe metricsdescribedinsection4).theparametersselectedincluded:thepresenceofmanagement,whethermanagementwaspush-drivenor pull-driven,thefrequencyanddistributionof managementmessages(eitherrequestsornoti- cations),andthefrequencyanddistribution ofapplicationrequests.wecarriedoutseveral experiments,varyingtheparametervaluesin eachexperiment. Toassessthesignicanceoftheresults, weusedlinearregressiontechniquestodeterminethedegreetowhichthevariationin computedmetricscouldbeattributedtoeach parameter parameterscausinglargervariationbeingconsideredstrongerinuencesonapplicationperformance.thefollowingresults wereobtainedfromourexperiments1: Managementcausesasignicantincrease inanapplication'suseofsystemresources suchascpu,memory,andnetworkbandwidth. Inexperimentswhichcomparedthepresenceofmanagementtoseveralotherapplicationparameters,managementwasfound toaccountfor79.6%to99.9%ofthevariationinresourceutilization(dependingon theresource).onaverage,eachapplicationrequestrequired42.4%(0.05seconds) morecputimeand31.1%moresocket communication(20messages).theapplicationwasnotcomputationallyintensive, sotheratioofcpuusewithmanagement enabledtocpuusewithmanagementdisabledisarticiallyhigh,andshouldbe consideredaworst-casemeasure.asignicantincreaseinthenumberofcontext switchesandpagefaultswasalsoobserved overthelifeofthemanagedprocesses.the maximummemoryrequiredbytheprocesswasincreasedbyanaverageof7.4% (70pages),whiletheminimummemory requirementwasincreasedanaverageof 16.7%(150pages). Managementdoesnotcauseasignicant increaseintheresponsetimeofapplication requests. Managementaccountsforonly1%ofthe variationintheresponsivenessoftheapplication;theremainingvariationwasexplainedbychangestootherapplication workloadparameters.onaverage,this meansa3.4%(0.51seconds)dierenceper request.ontheotherhand,someapplicationworkloadvariations(suchasthemean delaybetweenapplicationrequests)cause adierenceof31.9%(4.2seconds). 1Wecautionthereaderthattheseresultswereobtainedinaparticularenvironmentandwithaparticular managementsystem.whileweanticipatethendings toberepresentative,wecannotmakearmclaimto generality. 11

Fromtheseresults,wecanconcludethat, givensucientsystemresources,management canbepracticalinlightofitslowimpactonapplicationresponsiveness.however,ifresources arescarce,oraheavysystemloadiscausing resourcecontention,managementcansignicantlyinuenceapplicationperformance. Withfurtherexperimentation,weobserved anumberofsecondaryresultsthatgaveadditionalinsightintowhatfactorscontributeto thecostofmanagement: Thetimeintervalbetweenmanagement messagesaccountsforthelargestvariation inresourceutilization(68.5%to92.2%, dependingontheresource),comparedto othermanagementfactors.thisisparticularlyinteresting,sincethenumberof managementmessagesbatchedtogether (sentinrapidsuccession)appearedtobe muchlesssignicant.inotherwords,it ismoreecient,fromaresourceutilizationperspective,togeneratemanagement messagesinbatcheswithlongerintervals betweenthem,asopposedtoevenlydistributingthemessagesacrosstime. Onthecontrary,itismoreecient,from aresponsivenessperspectivetoevenlydistributemessagesacrosstime. Equallysignicantwithrespecttoresponsivenesswaswhethermanagement waspush-drivenorpull-driven.onaverage,applicationrequestsunderpushdrivenmanagementwere4.62%(0.70seconds)faster. Push-drivenmanagementwasalsosuperiortopull-drivenmanagementinterms ofresourceutilization. Fromthesesecondaryresults,wecanconcludethatfromaresourceutilizationpointof view,itisbettertobatchmanagementrequests ratherthandistributethemevenlyacrosstime, whereastheconverseistrueforresponsiveness. Wealsoconcludethatpush-driveneventcommunicationisgenerallysuperior. Mostexperimentscarriedoutthusfarhave focussedonworkloadparameters.theseexperimentshavebeenconductedusingonly RS/6000machines(duetotheapplication'sdependenceonDCEandDB/2,whichwehave installedonlyonthosemachines).morework needstobedonetomeasuretheeectsofdifferentsystemparameters. 8ConcludingRemarks Theworkwedescribehereispartofanongoingstructuredattackonthedistributedapplicationsmanagementproblem.Therearemany complexissuesyettoberesolved.webelieve thatidentifyingandunderstandingthecosts associatedwithmanagementmakesiteasierto addresstheseissuesandcontributestotheacceptanceofmanagingdistributedapplications. Theresearchdetailedinthispaperfocusses ontheuseofadistributedapplicationsmanagementtestbedtoinvestigatethecostsof management.werstpresentedacoresetof requirementsforthetestbed,andthenwedescribedadesignsatisfyingtheserequirements. Usingaprototypetestbedbasedonthisdesign, wehavebeenabletocarryoutanumberofexperimentsandarebeginningtorealizeuseful results. Weplantocontinueexperimentationtovalidatethesepreliminaryresultsandtogenerate newresults.weneedtolookatdierentmanagementsystemsandapplythesetoavarietyof applicationtypes,makingfulluseoftheheterogeneityofthetestbedenvironment.moreadvancedtestbedapplicationsareneededforbetterreportingandvisualization.wealsoneed toinvestigatethepotentialforusingtestbed resultsinthesimulationandmodelingofthe managementofdistributedapplications. Throughthiswork,wehopetogaininsight intoboththecostofmanagement,andthefactorscontributingtoit.withthisexperience, wecanpursueoptimizationofdistributedapplicationsmanagementsystemsinaneortto minimizetheircosts. Acknowledgements Theauthorswouldliketothankthestudents ofthecomputerscience612classattheuniversityofwesternontariofortheirassistance withinitialtestbedexperimentation. 12

AbouttheAuthors MichaelJ.KatchabawisaPh.D.studentintheDepartmentofComputerScience attheuniversityofwesternontario.hisresearchinterestsincludedistributedcomputing, networkmanagement,anddistributedmultimedia.mr.katchabawcanbereachedat katchab@csd.uwo.ca. StephenL.HowardisaPh.D.studentin thedepartmentofcomputerscienceatthe UniversityofWesternOntario.Hisresearch interestsincludedistributedcomputing,operatingsystems,andobject-orientedmanagementmodels.mr.howardcanbereachedat showard@csd.uwo.ca. AndrewD.MarshallisaResearchAssociatewiththeMANDASProjectandaPh.D. studentinthedepartmentofcomputerscienceattheuniversityofwesternontario.his researchinterestsincludedistributedcomputing,applicationsmanagement,andsoftwarereengineering.mr.marshallcanbereachedat flash@csd.uwo.ca. MichaelA.BauerisaProfessorinthe DepartmentofComputerScienceandSenior DirectorofInformationTechnologyServicesat theuniversityofwesternontario.dr.bauer receivedaph.d.incomputersciencefromthe UniversityofToronto.Hisresearchinterests includedistributedcomputing,distributeddirectories,andsoftwareengineering.dr.bauer canbereachedatbauer@csd.uwo.ca. References [1]H.Abdu,H.Lutyya,andM.Bauer. InvestigatingMonitoringCongurations. Proceedingsofthe1996ACMSymposium onappliedcomputing,pages366{373, February1996. [2]J.W.Hong,M.J.Katchabaw,M.A. Bauer,andH.Lutyya.DistributedApplicationsManagementUsingtheOSIManagementFramework.TechnicalReport #448,Dept.ofComputerScience,UniversityofWesternOntario,London,Canada, January1995. [3]J.W.Hong,M.J.Katchabaw,M.A. Bauer,andH.Lutyya.Modelingand ManagementofDistributedApplications andservicesusingtheosimanagement Framework.ProceedingsoftheInternationalConferenceonComputerCommunication,Seoul,Korea,August1995. [4]ISO.InformationProcessingSystems -OpenSystemsInterconnection-Basic ReferenceModel-Part4:Management Framework.InternationalOrganization forstandardization,internationalstandard7498-4,1991. [5]ISO.InformationProcessingSystems- OpenSystemsInterconnection-Common ManagementInformationServiceDenition.InternationalOrganizationforStandardization,InternationalStandard9595, 1991. [6]ISO.InformationProcessingSystems- OpenSystemsInterconnection-Common ManagementInformationProtocolSpeci- cation.internationalorganizationfor Standardization,InternationalStandard 9596-1,1991. [7]ISO.InformationProcessingSystems- OpenSystemsInterconnection-Systems ManagementOverview.InternationalOrganizationforStandardization,InternationalStandard10040,1991. [8]R.Jain.TheArtofComputerSystems PerformanceAnalysis.WileyProfessional Computing,1991. [9]M.J.Katchabaw,S.L.Howard,H.L.Lut- yya,andm.a.bauer.ecientmanagementdataacquisitionandrun-time ControlofDCEApplicationsUsingthe OSIManagementFramework.Proceedings ofthesecondinternationalieeeworkshoponsystemsmanagement,toronto, Canada,June1996. [10]JohnShirley.GuidetoWritingDCEApplications.O'Reilly,July1992. 13