Layered Queueing Network Solver and Simulator User Manual
Total Page:16
File Type:pdf, Size:1020Kb
Layered Queueing Network Solver and Simulator User Manual Greg Franks Peter Maly Murray Woodside Dorina C. Petriu Alex Hubbard Martin Mroz Department of Systems and Computer Engineering Carleton University Ottawa ON K1S 5B6 {cmw,greg}@sce.carleton.ca January 30, 2013 Revision: 11145 Contents 1 The Layered Queueing Network Model 1 1.1 ModelElements................................... ........... 3 1.1.1 Processors .................................... ........ 3 1.1.2 Groups ........................................ ...... 4 1.1.3 Tasks ......................................... ...... 4 1.1.4 Entries ....................................... ....... 5 1.1.5 Activities .................................... ......... 5 1.1.6 Precedence .................................... ........ 8 1.1.7 Requests ...................................... ....... 9 1.2 MultiplicityandReplication . ................. 9 1.3 ABriefHistory ................................... ........... 10 2 Results 11 2.1 Header.......................................... ......... 11 2.1.1 AnalyticSolver(lqns) . ............ 13 2.1.2 Simulator(lqsim)... .... .... ... .... .... .... .... ........... 13 2.2 Type1ThroughputBounds. ............. 13 2.3 MeanDelayforaRendezvous . ............. 15 2.4 VarianceofDelayforaRendezvous . ................ 15 2.5 MeanDelayforaSend-No-ReplyRequest . ................. 15 2.6 VarianceofDelayforaSend-No-ReplyRequest . .................... 15 2.7 ArrivalLossProbabilities. ................. 15 2.8 MeanDelayforaJoin............................... ............ 16 2.9 ServiceTimes.................................... ........... 16 2.10 ServiceTimeVariance . .............. 17 2.11 ProbabilityMaximumServiceTimeExceeded . .................... 17 2.12 Service Time Distributions for Entries and Activities .......................... 18 2.13 SemaphoreHoldingTimes . .............. 18 2.14 ThroughputsandUtilizationsperPhase . .................... 18 2.15 ArrivalRatesandWaitingTimes . ................. 18 2.16 UtilizationandWaiting perPhase forProcessor . ....................... 18 3 XMLGrammar 21 3.1 BasicXMLFileStructure. .............. 21 3.2 SchemaElements.................................. ........... 21 3.2.1 LqnModelType.................................. ........ 24 3.2.2 ProcessorType ................................. ......... 26 3.2.3 GroupType ..................................... ....... 27 3.2.4 TaskType ...................................... ....... 27 3.2.5 FanInTypeandFanOutType . ........... 27 3.2.6 EntryType..................................... ........ 27 1 3.2.7 ActivityGraphBase . ........... 30 3.2.8 TaskActivityGraph . ........... 30 3.2.9 ActivityDefBase ............................... .......... 32 3.2.10 MakingCallType ... .... .... ... .... .... .... .... .......... 32 3.2.11 PrecedenceType ............................... .......... 33 3.2.12 OutputResultType . ........... 35 3.2.13 OutputResultJoinDelayType . ............... 35 3.2.14 OutputDistributionType . .............. 35 3.2.15 HistogramBinType . ........... 35 3.3 SchemaConstraints............................... ............. 35 4 LQX Users Guide 39 4.1 IntroductiontoLQX ............................... ............ 39 4.1.1 InputFileFormat............................... .......... 39 4.1.2 WritingProgramsinLQX . .......... 41 4.1.3 ProgramInput/OutputandExternalControl . .................. 44 4.1.4 ActualExampleofanLQXModelProgram . ............. 47 4.2 APIDocumentation................................ ............ 48 4.2.1 Built-inClass:Array . ............ 48 4.2.2 Built-inGlobalMethodsandConstants . ................ 48 4.3 APIDocumentationfortheLQNBindings. ................. 50 4.3.1 LQNClass:Document .... .... ... .... .... .... .... .. ......... 50 4.3.2 LQNClass:Processor .... .... ... .... .... .... .... .......... 50 4.3.3 LQNClass:Group ................................ ........ 50 4.3.4 LQNClass:Task ................................. ........ 50 4.3.5 LQNClass:Entry ................................ ........ 51 4.3.6 LQNClass:Phase ................................ ........ 51 4.3.7 LQNClass:Activity . .... .... ... .... .... .... .... .......... 51 4.3.8 LQNClass:Call ................................. ........ 52 4.3.9 ConfidenceIntervals . ........... 52 5 LQN Input File Format 53 5.1 LexicalConventions .............................. ............. 53 5.1.1 WhiteSpace .................................... ....... 53 5.1.2 Comments ...................................... ...... 55 5.1.3 Identifiers.................................... ......... 55 5.1.4 Variables ..................................... ........ 55 5.2 LQNModelSpecification. ............. 55 5.2.1 Pragmas....................................... ....... 55 5.2.2 GeneralInformation . ........... 55 5.2.3 ProcessorInformation . ............ 56 5.2.4 GroupInformation .............................. .......... 56 5.2.5 TaskInformation ............................... .......... 57 5.2.6 EntryInformation... .... .... ... .... .... .... .... ........... 57 5.2.7 ActivityInformation . ............ 58 5.3 SPEX:SoftwarePerformanceExperimentDriver . .................... 58 5.3.1 Variables ..................................... ........ 60 5.3.2 ReportInformation.. .... .... ... .... .... .... .... ........... 62 5.3.3 ConvergenceInformation. ............. 62 5.3.4 DifferenecestoSPEX1 . .......... 62 5.3.5 SPEXandLQX.................................... ...... 63 2 6 Invoking the Analytic Solver “lqns” 65 6.1 CommandLineOptions.... .... .... ... .... .... .... ... ............ 65 6.2 Pragmas......................................... ......... 69 6.3 StoppingCriteria ................................ ............. 72 6.4 ModelLimits ..................................... .......... 72 6.5 Diagnostics ..................................... ........... 72 7 Invoking the Simulator “lqsim” 74 7.1 CommandLineOptions.... .... .... ... .... .... .... ... ............ 74 7.2 ReturnStatus .................................... ........... 76 7.3 Pragmas......................................... ......... 77 7.4 StoppingCriteria ................................ ............. 77 7.5 ModelLimits ..................................... .......... 78 8 Error Messages 79 8.1 FatalErrorMessages .............................. ............. 79 8.2 ErrorMessages ................................... ........... 79 8.3 AdvisoryMessages ................................ ............ 85 8.4 WarningMessages ................................. ........... 86 8.5 InputFileParserErrorMessages . ................. 88 8.6 LQXErrormessages ................................ ........... 89 9 KnownDefects 90 9.1 MOLMultiserverApproximationFailure . .................. 90 9.2 Chain construction for models with multi- and infinite-servers ..................... 90 9.3 NoalgorithmforphasedmultiserversOPENclass. ..................... 90 9.4 Overtaking probabilitiesare calculated using CV=1 . ........................ 90 9.5 Needtoimplementqueuelengthsforopenclasses. ..................... 90 A Traditional Grammar 91 A.1 InputFileGrammar................................ ............ 91 A.1.1 SPEXParameters................................ ......... 91 A.1.2 GeneralInformation . ........... 91 A.1.3 ProcessorInformation . ............ 91 A.1.4 GroupInformation .. .... .... ... .... .... .... .... .......... 92 A.1.5 TaskInformation ............................... .......... 92 A.1.6 EntryInformation... .... .... ... .... .... .... .... ........... 93 A.1.7 ActivityInformation . ............ 94 A.1.8 SPEXReportInformation . ........... 94 A.1.9 SPEXConvergenceInformation . ............. 95 A.1.10Expressions.................................. .......... 95 A.1.11Identifiers................................... .......... 95 A.1.12Variables .................................... ......... 95 A.2 OutputFileGrammar............................... ............ 96 A.2.1 GeneralInformation . ........... 96 A.2.2 ThroughputBounds .............................. ......... 96 A.2.3 WaitingTimes .................................. ........ 96 A.2.4 WaitingTimeVariance . ........... 96 A.2.5 Send-No-ReplyWaitingTime . ............ 97 A.2.6 Send-No-ReplyWaitVariance . ............. 97 A.2.7 ArrivalLossProbabilities . .............. 97 A.2.8 JoinDelays.................................... ........ 97 A.2.9 ServiceTime ................................... ........ 97 3 A.2.10 ServiceTimeVariance . ............ 98 A.2.11 ProbabilityServiceTimeExceeded . ................ 98 A.2.12 ServiceTimeDistribution . .............. 98 A.2.13 ThroughputsandUtilizations. ................ 98 A.2.14 ArrivalRatesandWaitingTimes . ............... 98 A.2.15 Utilization and Waiting per Phase for Processor . ..................... 99 4 Abstract The Layered Queuing Network (LQN) model is a canonical form for extended queueing networks with a lay- ered structure. The layered structure arises from servers at one level making requests to servers at lower levels as a consequence of a request from a higher level. LQN was developed for modeling software systems, but it applies to any extended queueing network with multiple resource possession, in which multiple resources are held in a nested fashion. This document describes the elements found in Layered Queueing Network Model, the results produced when a LQN model is solved, and the input and output file formats. It also describes the method used to invoke the analytic and simulation solvers, and the possible errors that can arise when solving a model. The reader is referred to “Tutorial