Hierarchical Analyses Applied to Computer System Performance: Review and Call for Further Studies
Abstract
We review studies based on analytic (A) and simulation (S) methods for hierarchical performance analysis of Queueing Network - QN models. A at lower and S at higher level have been applied most. The proposed methods result in an order of magnitude reduction in performance evaluation cost with respect to simulation. The computational cost at the lower level to obtain an exact solution is reduced when the computer system can be modeled as a product-form QN amenable to a low cost solution. A Continuous Time Markov Chain - CTMC or discrete-event simulation can then be used at the higher level. We first consider a multiprogrammed transaction - txn processing system with Poisson arrivals and predeclared lock requests. Txns with lock conflicts with active txns are held in a FCFS queue and txns are activated after they acquire all requested locks. Txn throughputs obtained by the analysis of multiprogrammed computer systems serve as the transition rates in a higher level CTMC to determine txn response times. We next analyze a task system where task precedence relationships are specified by a directed acyclic graph to determine its makespan. Task service demands are specified on the devices of a computer system. The composition of tasks in execution determines their processing time and throughputs, which serve as transition rates among the states of the CTMC model. To reduce memory space requirements the CTMC is built and solved one set of task completions at a time. As a third example we consider the hierarchical simulation of a timesharing system with two user classes. Txn throughputs in processing various combinations of requests are obtained by analyzing a closed product-form QN model. A discrete event simulator is provided. More detailed QN modeling parameters, such as the distribution of the number of cycles of tasks consisting of Fork/Join (F/J) requests affect performance. This detail can be taken into account in Schwetman’s hybrid simulation method, which counts remaining number of cycles in CSM-like queueing model. We discuss an extension to hybrid simulation to adjust job service demands according to elapsed time, rather than counting cycles. A section reviewing related studies is provided. Equilibrium Point Analysis to reduce the computational cost in applying hierarchical analysis is presented in the Appendix. The discussion is applicable to performance modeling of manufacturing systems.
1 Introduction
Product-form Queueing Networks - QNs were initially restricted to single- and multi-server nodes with exponential service times and FCFS scheduling Jackson 1957 [25]. Product-form QN’s were extended to Processor-Sharing - PS and Last-Come First-Served Preemptive Resume - LCFSPR Kleinrock 1976 [29] and delay servers. The latter servers allow general service times according to the BCMP theorem Baskett et al. 1975 [5]. PS is an extreme form of round-robin CPU scheduling, where each job is allowed a quantum time units before preemption [29].
The Buzen Convolution Algorithm - BCA Buzen 1973 [8] was a first step in efficiently solving product-form closed QNs, where completed jobs are immediately replaced by a new job. BCA was applied to the Central server Model - CSM described below.
Central Server Model - CSM
CSM is a closed QN model of a multiprogrammed computer system Buzen 1973 [8], which consists of a CPU and multiple disks. Jobs alternate between CPU and disk processing until they are completed. Completed jobs are immediately replaced by another job in closed systems or after think times modeled as a delay servers in time-sharing systems.
The CPU is designated as the central station and the disks as peripheral stations . Given the state transition probabilities the following transitions are applicable to CSM.
The self-transition implies the completion of a job in a closed QN (or a job that leaves the system in an open QN). The number of visits to the CPU () is given by the geometric distribution Trivedi 2001 [66].
The relative number of visits to the stations is obtained by solving
It follows .
Given mean service time at per visit is , the mean loading per job is .
Sauer and Chandy 1975 [47] consider the analysis of a CSM with a CPU with FCFS and priority (nonpreemptive and preemptive) scheduling and nonexponential service time scheduling.
CSM is a single job class QN but BCA was extended to multiple job classes by Buzen and coworkers at BGS for inclusion in the BEST/1 capacity planning tool for MVS OS, renamed z/OS [9]. This extension was also done independently at IBM by Reiser and Kobayashi in 1975 [41]. The tutorial by Williams and Bhandiwad 1976 [70] on the use of generating functions in develo** the convolution algorithm for multiple job classes was extended in Thomasian and Nadji 1981 [54].
Mean Value Analysis - MVA method developed by Reiser and Lavenberg 1980 [42, 43] has the same computational cost as BCA, but higher memory requirements. It has numerical problems in dealing with state-dependent servers whose service rate varies with the number of jobs, such as multiserver queues. MVA on the other hand has led to several low-cost, iterative solution methods, such as Bard-Schweitzer, see e.g., Lazowska et al. 1984 [34], and Linearizer Chandy and Neuse 1982 [12] Efficient approximate computational methods were later developed by extending MVA to non-product-form QNs, such as FCFS scheduling with general service times Lazowska et al. 1984 [34].
Analysis of open (resp. closed) QNs requires the arrival rate (resp. degree of concurrency or MultiProgramming Level - MPL) and service demands or loadings. which are the product of the mean number of job visits to the devices of a computer and the mean service time per visit [8].
IBM’s Software Measurement Facility - SMF measures the mean time computer devices (CPU and disk) are busy serving tasks. The service demands differ according to job class, e.g., batch versus online transactions - txns. Given the MultiProgramming Level - MPL and service demands BEST/1 Buzen et al. 1978 [9, 10] and MAP Lazowska et al. 1984 [34] capacity planning tools use QN analysis to obtained performance metrics of interest such as job throughput, device utilizations, response times, and queuelengths [33, 34, 6, 31].
When tasks are to be processed at heterogeneous computer systems, e.g., with different CPU speeds or different storage systems: Hard Disk Drives - HDDs versus Solid State Disks - SSDs. task processing requirements should be specified in device independent manner, e.g., program pathlenghts which can be converted to CPU time based on its MIPS.
Processing Time of Fork/Join Requests
As an example of hierarchical modeling consider the time it takes to execute the tasks of a single k-way F/J request on a multiprogrammed computer system. The approximate hierarchical analysis method based on decomposition Courtois 1975 [16] (see e.g., Section 9.3.1 in Lazowska et al. 1984 [34]) uses a Flow-Equivalent Service Center - FESC, whose throughput characteristic is obtained by analyzing the underlying QN model.
The tasks are assumed to have identical service demands that can be activated concurrently by a computer system with maximum MPL , Task completion rates can be determined at low cost yielding . In hierarchical modeling task completions are assumed to be exponentially distributed and the completing time of tasks van be determined by a death process [28].
The completion time of F/J requests is:
1.1 Degree of Concurrency Constraints
Product form QN models of computer systems with Poisson arrivals with rate is not amenable to a direct solution when the degree of concurrency or MPL, say , is taken into account, because the number of jobs at the QN may exceed .
Assuming that the throughout characteristic is a nondecreasing function of the maximum system throughput , since otherwise the system will become saturated, i.e., a queue of infinite length will be formed Kleinrock 1975 [28].
The MPL constraint is taken into account in applying a birth-death queueing model with arrival rate and service rate by “flattening” the throughput characteristic beyond for the FESC as given by Eq. (1):
(1) |
The mean number of tasks in the system and the memory queue (MemQ) are obtained as follows.
(2) |
The mean response time in the systems and mean waiting time in the queue are obtained by applying Little’s result by dividing by the task arrival rate [28]:
State probabilities of the birth-death process with arrival rate and processing rate are obtained by setting ,
(3) | |||
Example I: Transactions with predeclared lock requests: Txns with predeclared lock requests arriving according to a Poisson process with frequency can execute concurrently if they have no conflicts Thomasian 1985 [58]. Txn response time is the sum of the queueing delay in a FCFS queue awaiting the acquisition of all locks at which point the txn is activated and task execution time at the computer system. It is assumed that the maximum MPL is not a constraint.
An approximate solution is also presented by analyzing the QN for various degrees of concurrency and using the resulting throughout as if there is a single job class.
Example II: Tasks with precedence relationships: Task precedence relationships are specified by a directed acyclic graph - dag which is referred to as a task system in Coffman and Denning 1973 [15]. Task processing times are specified by their execution time on the devices of a single computer. An optimal scheduling algorithm for two processors is presented in this book, while scheduling with more processors is explored in Adam et al. 1973 [2]. The results were compared against the bound by Fernandez and Bussell 1973 [20].
A Continuous Time Markov Chain - CTMC at the higher level model and a product-form QN model for task execution on a multiprogrammed computer system is considered in Thomasian and Bay 1986 [59]
Example III: Timesharing system: Simulation is a flexible approach for the higher level and its use is illustrated in the context of a timesharing system with two job classes Sauer 1981 [49]. At the lower modeling level task throughputs are obtained by analyzing product-form closed QN model. Section 4 specifies a discrete event simulation for higher level analysis of a timesharing system, whose tasks are processed in a multiprogrammed computer system.
Example IV: Fork/Join Analysis: A detailed QN model is required in evaluating the performance of a Fork/Join - F/J systems Thomasian 2014 [64]. This is because the completion time of several tasks started concurrently is affected by the distribution of the number of processing cycles. Detailed modeling can be better handled by hybrid simulation Schwetman 1978 [51].
The paper is organized as follows. Section 2 discusses a hierarchical model for analyzing a txn processing system with predeclared lock requests. Section 3 determines the makespan of a task system, whose tasks execute at a computer system. Section 4 describes a simulation model to estimate the mean response times of timesharing requests. The effect of transition probabilities on completion times is discussed in section 5. Section 6 describes the hybrid simulation method and propose extensions to it which were earlier discussed on [56], which requires further investigation and validation. Related work is presented in Section 7. Conclusions and further work are provided in Section 8. Equilibrium Point Analysis - EPA applied to reducing the cost of solving a txn processing systems is presented in the Appendix.
2 Transaction Processing with Predeclared Lock Requests
The effect of granularity of locking on txn response time is investigated in Thomasian 1985 [58], Txns are activated after acquiring all locks, while txns with lock conflicts with currently active txns are held in a queue until requested locks are released by completed txns. Txns are processed in FCFS order.
Txn response time is the sum of queueing due to acquire all locks and txn execution time at the computer system, which is represented by a product-form QN model. We consider txn classes and a maximum degree of concurrency , since only txns in class and can be processed concurrently. Txns in are a fraction in Poisson arrival stream.
Using the hierarchical decomposition method these throughputs are then incorporated into the higher-level model which is a 2-dimensional CTMC. One dimension is the composition of timesharing requests in execution
and another dimension the number of requests in the system.
Wallace and Rosenberg’s 1966 Recursive Queueing Analyzer - RQA [68] was used to succinctly specify the sparse regularly structured state transition matrix (). The number of states in the second dimension is set to be sufficiently large so that the fraction of txns lost due to the finite capacity is negligibly small for the given arrival rate. An iterative method of the form
where is a constant and is the unity matrix Kleinrock 1975 [28], Bolch et al. 2006 [6].
Given the state probabilities we can obtain the mean number of txns in different classes . The mean txn response times follow as .
The analysis can be extended to FCFS with skip** for static locking as in the analysis of static locking in Thomasian and Ryu 1983 [55] The latter analysis postulates a fine granularity of locking and that lock requests are uniformly distributed over database granules.
Aggregating Multiple Transaction Classes
The resulting system can be specified as:
and then incorporating the throughout in a higher birth-death model.
Txn throughput with a single class is a weighted sum according to txn frequencies. Note that txns in the same class are not compatible with each other and only txns in and can be executed together. With at most two txns in execution and an infinite backlog of txns processed in FCFS order we have the transition rate matrix among the execution states:
Solving the set of linear equations yields the state probabilities.
The matrix for a closed task system with two tasks and compatible C and C classes is as follows.
(10) |
After solving the set of linear equations to obtain the state probabilities we can obtain the throughputs for class with txns in execution.
(11) |
The overall txn throughput is
(12) |
The mean number of txns in C with txns in the systems is:
(13) |
where is the number of txns in class executing in that state (zero or one).
Txn throughputs for the five classes with txns are:
For execution states with txns in the system are:
where . For degree of concurrency the mean number of txns in different classes is:
3 Makespan of Task System with Multiprogrammed Tasks
Given a task system is specified by a dag with precedence relationships among tasks Tasks in Coffman and Denning 1973 [15] have fixed execution times. We consider a task system whose tasks are specified by their service demands at the devices of a multiprogrammed computer system. In Thomasian and Bay 1986 we develop a hierarchical analysis to determine the makespan, the completion time of the task system.
We consider a simple task system with six tasks. Two complementary tasks are added: , which precedes all tasks and which succeeds tasks with no successors otherwise. These two tasks are processed instantaneously.
with the following precedence relationships:
,
,
.
The task system makespan is . We are also interested in the initiation (), completion () and execution time of the task. The execution time of a task is the time the task spends in the system.
The task system leads to the CTMC for task execution states given in Table 1. Task combinations executed together known as tasksets are given in a list. An implicit instant transition from state to state can be postulated so the execution of the task system is repeated.
, | |||||||
{ |
The completion of leads to the following transition
The state holding time is the inverse of the sum of task throughputs, which determine the rates of an exponential distribution according to the decomposition principle Courtois 1975 [16], which is discussed informally in Lazowska et al. 1984 [34]. The notation used in this section is as follows:
: Number of tasks including two dummy tasks, which complete instantaneously.
: Number of CTMC levels with , since one task completed per level.
: State representation.
: Set of states at level .
: Set of tasks in execution at state .
: Set of states at which task is executed.
: Immediate successors to state .
: Immediate predecessors to state .
: Steady state probability of being in state .
: Completion rate or throughput of task .
: Sum of completion rates at .
: Mean holding time in .
: Branching probability from to .
/* path probability to */
/* The Mean delay to complete state is: */
=
: = Completion time of all tasks.
Path probability to reach state .
(14) |
The mean delay to the completion of state weighed by the path probabilities.
(15) |
Initiation time of is a weighed sum of all delays for its activation in state .
(16) |
The completion time of which completes at leads to which does not include
(17) |
Unnormalized state probabilities are computed level by level by setting the probability of the initial state to one.
(18) |
The state probabilities are normalized by
The execution time of is . Alternatively, completion time times the sum of state probabilities of states in which the task was executing.
(19) |
Each entry in the CTMC is represented as:
Procedure for Performance Analysis of Task System
Input: Set of tasks, precedence relationships and service demands at the devices of a multiprogrammed computer system:
Given set , ,
for levels to do
for states do
Given that the completion rate of is
Determine all successor states to and merge with the set of previously created states at .
Obtain probability of reaching state via :
Completion of at leads to with probability: .
Path probability:
Add to tasks activated at this level using Eq. 16.
Update the completion time of a task at this level using Eq. 17.
Obtain the steady state probability of using Eq. (18).
Update normalization constant for state probabilities
end /* all tasks R in level */
end /* level */
Normalize state probabilities
.
Given the solution of the computer system model state probabilities can be used to determine the mean device utilization when executing across all states.
Two numerical examples validated by simulation are provided in [59].
4 Simulation at Higher and Analysis at Lower Level
Hierarchical simulation is a more flexible method than building and solving a higher level CTMC for the analysis of task system performance. It is computationally more expensive, since using the batch method the simulation has to be repeated to obtain confidence intervals at an acceptably high level Welch 1983 [69].
The method is specified in the context of performance analysis of a timesharing system with two sets of users generating requests Sauer [49]. The analysis is repeated in Thomasian and Gargeya 1984 [57].
The first (resp. second) set of users are at (resp. ) terminals, which generate small class and large class requests. The think times at the terminals are exponentially distributed with means and . The maximum MPL for processing and job classes are and . The parameter settings used in experiments are based on Table 2 in Sauer 1981 [49], which is repeated in Table 2.
Case | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
20 | 20 | 20 | 30 | 30 | 30 | 40 | 40 | 40 | |
2 | 2 | 2 | 3 | 3 | 3 | 4 | 4 | 4 | |
4 | 3 | 1 | 7 | 5 | 2 | 14 | 9 | 5 | |
2 | 1 | 1 | 2 | 1 | 1 | 4 | 3 | 1 |
Requests are processed at the CPU with the PS discipline and access four FCFS disks with exponential service times uniform probabilities. Think times and device service times are given in milliseconds as:
The closed QN, including the terminals, would be product-form if , so that there would be no blocking due to MPL constraints. A hierarchical solution method is required since realistically , which implies an extra delay in the memory queue.
The computer system is substituted with an FESC with the throughput characteristic for two classes:
There are states in the two-dimensional CTMC, since . At state class job requests are issued at rate
and the throughputs obtained by solving the QN of the computer system are:
The CTMC can also be build for an infinite source model, i.e., by specifying the fraction of classes in the Poisson arrival stream. The number of states in the CTMC should be set to be sufficiently large, so that probability of blocking due to finite capacity for the given arrival rate is negligibly small. The set of linear equations to obtain CTMC’s steady state probabilities can be solved using the Gauss-Seidel iterative method Stewart 2009 [52].
Procedure: Hierarchical Simulation of Timesharing System
- 1: Input simulation parameters.
-
Number of classes of timesharing users: .
Number of users or terminals in each class: .
Maximum MPL in each class .
Number of active terminals/users in two classes .
Think times and job service demands at the CPU and four disks.
Percent Confidence Interval - CI (say )of job response times desired about the mean at a given Confidence Level - CL (say 95%) using the batch means method [69].
Settings such as: need be adjusted to meet CL and CI target. - 2: Solve lower level model.
-
Obtain throughputs by solving closed QN for all request compositions in two classes.
- 3: Higher Level Discrete-Event Simulation.
-
(a) Initialization.
. /* Simulation Clock */
; /* Batch means method */
for class do
/* #arrivals per class */
/* initialize # of thinking users */
Sample from Exp()
/* Set arrival time */
/* Set departure times for all requests */
/* Sum class response times */
/* # of completed jobs in */
end do /* do j */(b) Scheduling the next event.
-
1.
Determine most imminent event from () possibilities):
,If departure record request class and request’s id: and ,
otherwise if arrival set arriving job class based on the arrival stream. -
2.
Advance simulation time .
-
3.
If event an arrival goto (c),
else goto to (d).
(c) Arrival of a class request.
-
1.
;
-
2.
/* one request generated at a time */ Sample from C Exp().
-
3.
/* next arrival time */ .
-
4.
If enqueue
;
else goto (e)
(d) Task completed at .
-
•
/* increment completions */
-
•
-
•
if
goto (g), /* run complete */ -
•
/* degree of concurrency
-
•
. /* active users */
-
•
Obtain IntArvlT from Exp().
-
•
.
-
•
If is nonempty goto (e), else goto (b).
(e) Activate an arriving or waiting task.
Activate task,
/* Set arrival time */
Sample execution time from Exp().
goto (b)(g) BatchCtr++;
Exit if ,
else goto (a)Batch means method to obtain mean response times and its CI at given CL was utilized.
-
1.
5 Effect of Transition Probabilities on Task Completion Times
We elaborates on Section 7.2 in Thomasian 2014 [64] that the distribution of the number of task cycles between CPU and disk processing affect the completion time of the task system with parallelism.
In Section 3.3.3 in Kobayashi 1978 [30] it is stated that routing in QNs need not be governed by a homogeneous first-order Markov chain and it is the mean number of visits to QN nodes that determines the usual performance metrics, but this would affect task’s sojourn time distribution.
The mean completion time of a 2-way F/J task system in a closed QN model is sensitive to the distribution of the number of cycles. A cyclic server model with two devices, a processor and a disk is postulated. The disk is accessed following CPU processing and according to the cyclic server model after disk processing tasks may require additional CPU time or leave the system. Note difference with CSM where jobs complete their processing at the CPU.
Consider the concurrent processing of two tasks whose number of cycles follows a geometric distribution:
The number of jobs completed in a time interval approaches a Poisson process when , signifying a large number of cycles. Poisson inter-departure times imply exponentially distributed residence times. It can be shown that the geometrically distributed sum of exponential random variables is also exponentially distributed. The argument based on thinning point processes in Salza and Lavenberg 1981 [46] does not require the per cycle residence times to be exponentially distributed or even i.i.d.
Consider the processing of two possibly heterogeneous tasks: and , which are processed concurrently at a computer system at state . Given that is the completion rate of then the mean holding time for state is:
The completion of in leads to and the completion of leads to the completion of 2-way F/J task system.
Assuming that the transition rates are exponentially distributed, the probability that completes first is:
The time to complete the two tasks is then:
Consider two tasks whose number of cycles is given as follows: Case 1: geometrically distributed with mean , Case 2: fixed with . The service demands per cycle is at the CPU and the disk in both cases.
Given balanced service demands task residence times for are:
according to Lazowska et al. [34] and Thomasian 2023 [65]. Due to the memoryless property of the geometric distribution the completion time for the two tasks in the two cases is:
We next consider the parallel processing of two tasks and , with a different number of geometric cycles which means and . Setting the time per visit at the processor and the disk yields the service demands for and for . Task throughputs when processed together can be obtained by solving the corresponding QN model.
The mean holding time is then
The probability that or finishes first is given as:
The mean residence time of these tasks is:
It follows that the completion time for the geometric distribution is:
When the number of cycles is fixed at and , then the two tasks share the CPU and disk for cycles. The mean residence time per cycle for the balanced QN with task and devices based on a balanced F?J queueing system is [34], also see Thomasian 2023 [65].
After completes, has five remaining cycles, where each cycle takes time units. The completion time is:
In counting the number of remaining cycles we have in effect used the hybrid simulation method. Given that the completion time of F/J and parallel task systems in general is sensitive to the number of cycles raises the issue that alternative methods to estimate the completion time of task systems.
6 Hybrid Simulation Method
Hybrid simulation is a hierarchical simulation method proposed by Schwetman 1978 [51], which was applied to the CSM QN model with a single job class. Tasks are specified by the number of required cycles and the loadings per cycle. The degree of concurrency is required for the analysis.
Tasks are specified by service demands per cycle and the initial number of required cycles. The remaining cycles for the task () is updated based on elapsed time , where
is the mean cycle time computed by solving the underlying QN model and As txns arrive and depart the degree of txn concurrency is updated as and for active tasks is recomputed.
The hybrid simulation method was extended to multiple job classes in Thomasian 1987 [60], which deals with dynamic load balancing in a distributed system. Simply stated it is better to process I/O bound jobs together with CPU bound jobs and it is not the just remaining number of job cycles that matters.
The generalization of hybrid simulation proposed in Thomasian and Bay 1983 [56] does not require cyclic processing and can be applied to multiple job classes. Rather than quantizing task processing times we may modify service demands according to Eq. (20), Given that starts its execution at device with loading and its mean residence time obtained by solving closed QN model for a given task composition is , the residual job service demand after elapsed time is:
(20) |
Tasks systems as in [59] can be dealt with the hybrid simulation as follows. Referring back to the example in Section 3 we refer to the processing of tasks , which start processing concurrently. The service demands at the CPU and Disk 1 and 2 for are and for are and the number of cycles made by tasks are fixed. Analysis of the QN model processing , , concurrently yields the mean residence time . ’s residual loadings are obtained by multiplying by .
The modified hybrid simulation method is easier to implement and less costly than the method described in Section 3. In fact this method may be more accurate than the method based on decomposition that postulates exponentially distributed completion times. This is especially so when the number of job cycles is not geometrically distributed.
With identical tasks when the distribution of number of cycles is uniformly distributed over , the minimum of the number of cycles to completion is:
Batch jobs undergo different processing phases with different loadings from phase to phase, e.g., (i) loading and preprocessing of data, (ii) computation, (iii) visualization processing. Rather dealing with a single set of task loading we assume loadings associated with its three phases designated as are known. The residence time of the batch job is the sum of the residence times of three tasks. The discussion is simplified by assuming that the computer also processes transactions whose intensity remains fixed during the execution of the batch job. Programs should be instrumented to signal change of phases for measurement purposes, i.e., to report per phase loadings based on variation in resource consumption. Phases accessing bottleneck resources will have increased residence times while other phases will have shorter residence times. Experiments are required if considering phases will yield significant differences There is also the possibility of parallel processing via multitasking.
7 Related Work
Given that many computations exhibit parallelism, several parallel models of computation have been developed, since the early days of computing. The early task system model based on a dag was described in Coffman and Denning 1973.
More complex relations in parallel processing can be represented by Petri nets Peterson 1981 [40]. The so-called UCLA graph model proposed in Martin 1966 [35] can be transformed into a Petri net. but the proof of the equivalence of the two models by Kim Gostelow is flawed according to the book.
A major extension to Petri nets was the Timed Petri Net - TPN model by several researchers including Molloy 1982 [39], which led to workshops on TPNs starting in 1985. Generalized Stochastic Petri Nets - GSPNs allow immediate and exponentially distributed transitions Ajmone-Marsan et al. 1984 [3]. GSPNs are translatable to CTMCs which can the be solved using usual methods Stewart 2009 [52]. Further examples of this modeling approach are given in Ajmone-Marsan 1995 [4]
Research Queueing Package - RESQ is a software tool for constructing and solving QN models. RESQ under a different name was imported to IBM Research from Univ. of Texas at Austin Sauer and MacNair 1983 [50]. It is also described in Sauer et al. 1977 [48]. RESQ provides a high level language for describing models also in hierarchical fashion.
Job execution in closed QN models allowing parallelism is considered in Heidelberger and Trivedi 1982 [22]. Jobs spawns two or more tasks at some point during execution, which execute independently of one another and do not require synchronization. An approximate solution method is developed and results of the approximation are compared to those of simulations. Bounds on the performance improvement due to overlap are derived.
The same authors in 1983 [23] consider parallel tasks, which wait at the end of their execution for all of their siblings to finish execution. Two approximate solution methods are developed and compared with simulations. The approximations are computationally efficient and highly accurate. A single instance of a task systems executing in a multiprogrammed computer is considered Thomasian and Bay 1986 [59].
Concurrency in parallel processing systems is the topic of Kung 1984 [32]. Jobs are modeled as dags whose nodes represent separate tasks. Four variations are considered: (1) jobs available at time zero or Poisson arrivals. (2) dags: fixed or random. (3) task service times: constant or exponentially distributed. (4) fixed or infinite number of jobs. Algorithm 1 minimizes the expected time to complete all jobs, while Algorithm 2 maximizes processor utilization.
An algorithm to search for module assignments and replications to reduce task response times is explored by Chu and Leung [13]. The objective function is the sum of task response time and a delay penalty for the violations of thread response time requirements. The PS queueing discipline is used in this study, so that with Poisson arrivals the output stream is Poisson and the nodes can be analyzed separately when there are no synchronization delays,
Chu et al. [14] propose two submodels for estimating task response times in distributed systems with resource contention. The first submodel is an extended QN to obtain module response times, which is solved by a decomposition technique to reduce computational cost by 2-3 orders of magnitude with respect to a direct approach.
The second submodel is a weighed control-flow graph model from which task response time can be obtained by aggregating module response time in accordance with precedence relationships. Task response times estimated by the analytic model compare closely with simulation results. The model can be used to study the tradeoffs among module assignments, scheduling policies, interprocessor communications, and resource contentions in distributed processing systems.
Response time is affected by interprocessor communications, precedence relationships, module assignments, hardware resource and data resource contention, and processor scheduling policies. A task response time model that considers all of these factors is proposed. A Petri net is used to represent resource contention, and the task control flow graph represents precedence relationships. A QN with resource contention is used to estimate the response time of each module. Module response time consists of delays at the processors and resource queues and is estimated by approximating the extended QN as independent finite capacity QNs. The module response time is mapped onto a control flow graph, and task response time is obtained by aggregating the module response times in accordance with their precedence relationship in the control flow graph. The task response time derived from the analytical model were validated against simulation results.
A modeling methodology for evaluating the execution of parallel programs containing loo** constructs by estimating the average execution time of such a program in a distributed, multicomputer environment is proposed in Kapelnikov et al. [26, 27]. A combination of QN analysis of graph models of program behavior is considered in these studies. Complex programs are first decomposed into program segments, which are analyzed independently. Combined results produce an approximate solution for the whole program.
Task graphs represent parallel programs with dags, which are specified as a 4-tuple { T,P,A,E } by Menasce and Barroso 1992 [37].
-
•
is the set of tasks of a parallel program.
-
•
is the precedence relationship among tasks.
can be activated when all complete their execution. -
•
A is an allocation function for tasks to processors .
-
•
E: determines the execution time based on processor speeds. Similarly to [59] tasks are specified by the their service demands on a computer system. The execution time depends on task mix and hence can be determined by solving the QN.
A CTMC based technique to obtain the execution time of a task graph in a multiprogrammed computer system based on Thomasian and Bay 1986 [59] is reported by Menasce et al. in [38]. The use of the static processor assignment policy called Largest Task First Minimum Finish Time - LTFMFT shows that it is very sensitive to the degree of heterogeneity of the architecture, and that it outperforms all other policies analyzed.
Three dynamic assignment disciplines are compared and it is shown that in heterogeneous environments, the disciplines that perform better are those that consider the structure of the task graph and not only the service demands of the individual tasks. The performance of heterogeneous architectures is compared with cost-equivalent homogeneous ones taking into account different scheduling policies. Static and dynamic processor assignment disciplines are compared in terms of performance.
8 Conclusion and Further Work
Hierarchical modeling is a useful tool in develo** approximate analyses when the system does not lend itself to a direct solution or to reduce the cost of analysis or simulation by replacing a detailed model of a computer system by an FESC.
Several instances of hierarchic analysis are discussed in this paper with the goal of reducing the solution cost. An efficient solution of a CTMC for a task system and a simulation of a timesharing system with two jobs classes with MPL constraints. In both cases tasks are processed on a multiprogrammed computer system representable as a product form QN.
When the tasks of a subtask system execute at the devices of independent computer systems the completion time of subtask system may be used to determine the overall completion time. The data transmission delays among nodes is the ratio of message length and data transmission rate, assuming queueing delays are negligible.
In addition to the mean completion time the variance of completion times is of interest. With the assumption that the holding time in each state of the CTMC is exponentially distributed the variance of completion time is the variance of first passage time from the initial to final state in the CTMC. The variance of first passage times in discrete-time Markov chains is derived in Hunter 2006 [24].
Rather than considering all tasks in the distributed computer system at once, as done in [59], the mean and variance of completion time of task subsystems can be determined separately. In a distributed system can use separate task systems to determine mean and variance of completion time per system, which can be used to determine overall completion time.
Rather than the six task system in Section 3
consider two subtask systems with three tasks each:
{ and .
The two subtasks are executed independly at two identical computer systems.
The mean makespan of of the task system can be determined
by obtaining the mean and variance of each subtask system.
Assuming a normal distribution a formula for the expected value of the maximum for three such random variables is given in Dasgupta 2023 [17]. In the case of nine random variables a two step computation can be used e.g., by computing the maximum of .
The expected value of the maximum of i.i.d. random variables with mean and standard deviation of the components of an F/J request according to David and Nagaraja 2003 [18] is given as:
(21) |
A simulation based method to substitute disks with a Shortest Access Time First - SATF scheduling method with an FESC is discussed in [63]. Given pending requests the service time is reduced according to , i.e., service time is halved for random requests. This is an example of using simulation at the lower level to develop an analytic formula for disk service time.
The method developed in [59] is incorporated in the SHARPE
reliability and performance modeling package at Duke University.
https://trivedi.pratt.duke.edu/
Hierarchical modeling in the context of reliability and availability engineering is discussed in Chapter 16 in Trivedi and Bobbio 2017 [67].
The discussion is applicable to queueing analysis of communication networks and manufacturing systems Buzacott and Shanthikumar 1993 [7].
Appendix: Equilibrium Point Approximation
A multilevel analysis method of dynamic locking is used to determine txn response times in Ryu and Thomasian 1990 [44]. The analysis takes into account hardware and data resource contention, which is due to lock contention. Txns encountering a lock conflict are blocked and those whose lock requests lead to a deadlock are aborted and restarted. Realistically a txn which has the least resources should be aborted as in the case of the Wait-depth Limited - WDL policy [21]. In realistic models the probability of deadlock is negligibly small.
Txns arrive according to a Poisson process. The number of activated txns () is restricted by the maximum multiprogramming level , i.e., , where is the number of txns in the system. Txns making successful lock requests continue their execution, while txns making a conflicting lock requests are blocked, so that txns are active and txns are blocked.
Txns causing a deadlock are aborted and restarted so that the number of active txns remains the same. In fact deadlocks are rare [61] and have a negligible effect on performance and their effect was ignored in further studies Thomasian 19993 [62]. Blocked txns are activated when a txn completes or is aborted releasing all of its locks. The lock and hardware resource contention models are used to determine txn throughput , which can then be used in conjunction with the arrival process to determine mean txn response time.
To compute the effective system throughput we need to compute the steady-state probabilities of a Markov chain . The transition from state to is determined by the events upon the completion of a txn step. The probabilities for these events are determined at the completion time of txn steps.
An alternative solution method obviates the need to compute the state probabilities for and reduces the solution cost of lower levels by a factor of .
which is the mean of the difference at completion instants can be computed as follows:
(22) |
Given that the systems is in equilibrium we have
(23) |
is positive (resp. negative) when (resp. .
Eq. 23 can be solved using the bisection method, since A(J) is a monotonically decreasing function in J. The number of iterations is bounded by .
The interpretation of this relationship is that is the system’s balance point such that the system tends to stay there [16] These studies dealt with potential overload due to thrashing in overloaded in virtual memory system, where the system throughput increases as the MultiProgramming Level - MPL is increased, but drops beyond a certain MPL. This phenomenon is explored in the context of 2-Phase Locking - 2PL using a simple model as the degree of txn concurrency is increased in [62].
The above analysis is motivated by Equilibrium Point Analysis - EPA, which was applied to the analysis of multiaccess protocols in Tasaka [53]: “EPA is a fluid-type approximation which is only applied to the steady state. It assumes that the systems is always at an equilibrium point. Therefore, EPA does not necessitate calculating state transition probabilities. An equilibrium point can easily be obtained by numerically solving a set of simultaneous nonlinear equations.”
An application of EPA is illustrated by an example if Figure 20 in [19], where there are users with think time so that The arrival rate of requests to the computer system is . The mean number requests at the computer systems is given by the intersection of the throughput characteristic and , but the calculation is simplified by using intersection of two graphs to determine Otherwise we have to solve the following set of equations for setting noting that they add to one.
such that:
Acknowledgements
References
- [1]
- [2] T. L. Adam, K. M. Chandy, and J. R. Dickson. A comparison of list schedules for parallel processing systems. Commun. ACM 17, 12 (1974), 685-690.
- [3] M. Ajmone Marsan, G. Conte, and G. Balbo: A class of generalized stochastic Petri nets for the performance evaluation of multiprocessor systems. ACM Trans. on Computer Systems 2, 2 (May 1984), 93-122.
- [4] M. Ajmone Marsan, G. Conte, G. Balbo, S. Donatelli, and G. Franceschinis. Modelling with Generalised Stochastic Petri Nets. John-Wiley & Sons, 1995.
- [5] F. Baskett, K. M. Chandy, R. R. Muntz, and F. G. Palacios. Open, closed, and mixed networks of queues with different classes of customers. J. ACM 22, 2 (1975), 248-260.
- [6] G. Bolch, S. Greiner, H. de Meer, and K. S. Trivedi. Queueing Networks and Markov Chains: Modeling and Performance Evaluation with Computer Science Applications, 2nd ed. Wiley-Interscience, 2006.
- [7] J. A. Buzacott and J. G. Shanthikumar. Stochastic Models of Manufacturing Systems. Prentice Hall, 1993.
- [8] J. P. Buzen. Computational algorithms for closed queueing networks with exponential servers. Commun. ACM 16(9): 527-531 (1973).
- [9] J. P. Buzen, R. P. Goldberg, A. M. Langer, E. S. Lentz, H. S. Schwenk, D. A. Sheetz, and A. W. Shum. BEST/1 - Design of a tool for computer system capacity planning. In Proc. AFIPS National Computer Conf. - NCC 1978, 447-455.
- [10] J. P. Buzen. A Queueing Network Model of MVS. ACM Computing Survey 10(3): 319-331 (1978).
- [11] K. M. Chandy and C. H. Sauer. Computational algorithms for product form queueing networks. Commun. ACM 23, 10 (Oct. 1980), 573-583.
- [12] K. Mani Chandy and D. Neuse. Linearizer: A heuristic algorithm for queueing network models of computing systems. Commun. ACM 25, 2 (Feb. 1982), 126-134.
- [13] W. W. Chu and K. K. Leung, Module replication and assignment for real-time distributed processing systems. Proc. IEEE 75, 5 (May 1987), pp. 547-562.
- [14] W. W. Chu, C. Sit, and K. K. Leung. Estimating task response time for real-time distributed systems with resource contentions. IEEE Trans. on Software Engineering 17(10): 1076-1092 (October 1991).
- [15] E. G. Coffman Jr. and P. J. Denning. Operating Systems Theory. Prentice-Hall 1973.
- [16] P.-J. Courtois. Decomposability, instabilities, and saturation in multiprogramming systems. Commun. ACM 18(7): 371-377 (1975
-
[17]
A. Dasgupta.
A formula for the expected value of the maximum of
three independent normals and a sparse high dimensional case.
Statistics Dept. at Purdue Univ. downloaded 2023
https://www.stat.purdue.edu/~dasgupta/orderstat.pdf - [18] H. A. David and H. N. Nagaraja. Order Statistics, 3rd edition, Wiley-Interscience 2003.
- [19] P. J. Denning and J. P. Buzen: The operational analysis of queueing network models. ACM Computing Surveys 10, 3 (1978), 225-261.
- [20] E. B. Fernandez and B. Bussell. Bounds on the number of processors and time for multiprocessor optimal schedules. IEEE Trans. Computers 22, 8 (1973), 745-751.
- [21] P. A. Franaszek, J. T. Robinson, and A. Thomasian. Concurrency control for high contention environments. ACM Trans. Database Systems 17, 2 (1992), 304-345.
- [22] P. Heidelberger and K. S. Trivedi: Queueing Network Models for Parallel Processing with Asynchronous Tasks. IEEE Trans. Computers 31, 11 (Nov. 1982), 1099-1109.
- [23] P. Heidelberger and K. S. Trivedi: Analytic Queueing Models for Programs with Internal Concurrency. IEEE Trans. Computers 32, 1 (Jan. 1983), 73-82.
- [24] J. J. Hunter. Variances of first passage times in a Markov Chain with applications to mixing times Res. Lett. Inf. Math. Sci., 10 (2006), 17-48.
- [25] J. R. Jackson. Networks of Waiting Lines. Operations Research 5, 4 (1957), 516-521.
- [26] A. Kapelnikov, R. R. Muntz, and M. D. Ercegovac. A Modeling Methodology for the Analysis of Concurrent Systems and Computations. J. Parallel Distributed Computing 6, 3 (1989), 568-597.
- [27] A. Kapelnikov, R. R. Muntz, and M. D. Ercegovac. A methodology for performance analysis of parallel computations with loo** constructs. J. Parallel Distributed Computing 14, 2 (1992), 105-120.
- [28] L. Kleinrock. Queueing Systems, Vol I: Theory. Wiley-Interscience 1975.
- [29] L. Kleinrock. Queueing Systems, Vol. II: Computer Applications, Wiley-Interscience 1976.
- [30] H. Kobayashi. System Design and Performance Analysis Using Analytic Models. Chapter 3 in K. M. Chandy and R. T. Yeh. Current Trends in Programming Methodology, Vol. III: Software Modeling, Prentice-Hall 1978, 72-114.
- [31] H. Kobayashi and B. L. Mark. System Modeling and Analysis: Foundations of System Performance Evaluation. Pearson, 2009.
- [32] K. C.-Y. Kung. Concurrency in Parallel Processing Systems. Ph.D. Dissertation. Computer Science Department, UCLA, 1984.
- [33] S. S. Lavenberg. Computer Performance Modeling Handbook. Academic Press 1983.
- [34] E. D. Lazowska, J. Zahorjan, G. Scott Graham, and K. C. Sevcik: Quantitative System Performance: Computer System Analysis Using Queueing Network Models Prentice-Hall 1984.
- [35] D. F. Martin. The Automatic Assignment and Sequencing of Computations on Parallel Processor Systems. Ph.D. Thesis, U. of California, Los Angeles, Jan. I966.
- [36] D. A. Menasce and V. A. F. Almeida. Analytic Models of Supercomputer Performance in Multiprogramming Environments. Int’l J. High Performance Computing Applications 3 2 (1989), 71-91.
- [37] D. A. Menasce and L. A. Barroso. A methodology for performance evaluation of parallel applications on multiprocessors. J. Parallel Distributed Computing - JPDC 14, 1 (1992), 1-14.
- [38] D. A. Menasce, D. Saha, S. C. S. Porto, V. Almeida, and S. K. Tripathi. Static and dynamic processor scheduling disciplines in heterogeneous parallel architectures. J. Parallel Distributed Computing - JPDC 28, 1 (Jan. 1995), 1-18.
- [39] M. K. Molloy: Performance analysis using stochastic Petri nets. IEEE Trans. Computers 31(9): 913-917 (1982)
- [40] J. L. Peterson. Petri Net Theory and the Modeling of Systems. Prentice-Hall 1981.
- [41] M. Reiser and H. Kobayashi. Queuing Networks with Multiple Closed Chains: Theory and Computational Algorithms. IBM J. Research & Development 19, 3 (1975), 283-294.
- [42] M. Reiser and S. S. Lavenberg. Mean-value Analysis of Closed Multi-chain Queuing Networks. J. ACM 27, 2 (1980), 313-322.
- [43] M. Reiser: Mean value analysis: A personal account. Performance Evaluation 2000, 491-504
- [44] I. K. Ryu and A. Thomasian. Analysis of database performance with dynamic locking. J. ACM 37, 3 (1990), 491-523.
- [45] R. A. Sahner, K. S. Trivedi, and A. Puliafito. Performance and Reliability Analysis of Computer Systems: An Example-Based Approach Using the SHARPE Software Package. Kluwer 1996.
- [46] S. Salza and S. S. Lavenberg. Approximating response time distributions in closed queueing network models of computer performance. In Proc. 8th Int’l Symp. on Compute Performance Modelling, Measurement and Evaluation, 1981, F. J. Kylstra, Ed., 133-144.
- [47] C. H. Sauer and K. M. Chandy. Approximate analysis of central server models. IBM J. Research & Development 19, 3 (1975), 301-313.
- [48] C. H. Sauer, M. Reiser, and E. A. MacNair. RESQ — A package for solution of generalized queueing networks. In Proc. Nat’l Computer Conf. 1977, 978-986.
- [49] C. H. Sauer. Approximate solution of queueing networks with simultaneous resource possession. IBM J. Research & Development 25, 6 (Nov.-Dec. 1981), 894-903.
- [50] C. H. Sauer and E. A. MacNair, Extended Queueing Network Models. Chapter 8 in Computer Performance Handbook, S. S. Lavenberg, (ed.), 1983.
- [51] H. D. Schwetman. Hybrid simulation models of computer systems. Commun. ACM 21, 9 (Sept. 1978), 718-723.
- [52] W. J. Stewart. Probability, Markov Chains, Queues, and Simulation: The Mathematical Basis of Performance Modeling Princeton Univ. Press. 2009.
- [53] S. Tasaka. Performance Analysis of Multiple Access Protocols. The MIT Press 1986.
- [54] A. Thomasian and B. Nadji. Algorithms for queueing network models of multiprogrammed computer systems. Computer Performance 2, 3 (Sept. 1981), 100-123.
- [55] A. Thomasian and I. K. Ryu. A decomposition solution to the queueing network model of the centralized DBMS with static locking. In Proc. ACM SIGMETRICS on Measurement and Modeling of Computer Systems - SIGMERTICS 1983, 82-92.
- [56] A. Thomasian and P. F. Bay. Queueing network models for parallel processing of task systems. In Proc. Int’l Conf. on Parallel Processing - ICPP 1983, 421-428
- [57] A. Thomasian and K. Gargeya. Speeding up computer system simulations using hierarchical modeling. ACM SIGMETRICS Perform. Evaluation Review 12, 4 (1984), 34-39.
- [58] A. Thomasian. Performance evaluation of centralized databases with static locking. IEEE Trans. Software Eng. TSE-11, 4 (April 1985), 346-355.
- [59] A. Thomasian and P. F. Bay. Analytic queueing network models for parallel processing of task systems. IEEE Trans. Computers 35, 12 (Dec. 1986), 1045-1054.
- [60] A. Thomasian. A performance study of dynamic load balancing in distributed systems. In Proc. Int’l Conf. on Distributed Computing Systems - ICDCS 1987: 178-184
- [61] A. Thomasian and I. K. Ryu. Performance analysis of two-phase locking. IEEE Trans. Software Eng. 17, 5 (May 1991), 386-402.
- [62] A. Thomasian. Two-phase locking performance and its thrashing behavior. ACM Trans. Database Systems 18, 4 (1993), 579-625.
- [63] A. Thomasian. Survey and analysis of disk scheduling methods. ACM SIGARCH Computer Architecture Newsletter 39, 2 (2011), 8-25.
- [64] A. Thomasian: Analysis of fork/join and related queueing systems. ACM Computing Surveys 47, 2 (Aug. 2014), 17:1-17:71.
- [65] A. Thomasian Unbalanced job approximation using Taylor series expansion and review of performance bounds. https://doi.org/10.48550/arXiv.2309.15172
- [66] K. S. Trivedi. Probabilistic and Statistics with Reliability, Queueing and Computer Science Applications, 2nd ed. Wiley 2001.
- [67] K. S. Trivedi and A. Bobbio. Reliability and Availability Engineering: Modeling, Analysis, and Applications. Cambridge Univ. Press, 2017.
- [68] V. L. Wallace and R. S. Rosenberg. Markovian models and numerical analysis of computer system behavior. In Proc. AFIPS Spring Joint Computer Conf. - SJCC 1966, Vol. 27, 141-148.
- [69] P. D. Welch. Statistical Analysis of Simulation Results. Chapter 6 Computer Performance Handbook, S.S. Lavenberg (ed.), 1983.
- [70] A. C. Williams and R. A. Bhandiwad. A generating function approach to queueing network analysis of multiprogrammed computer systems. Networks 6, 1 (1976), 1-22.