LIBRARY OF THE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN 51.0. %4 CENTRAL CIRCULATION BOOKSTACKS The person charging this material is re- sponsible for its renewal or its return to the library from which it was borrowed on or before the Latest Date stamped below. The Minimum Fee for each Lost Book is $50.00. Theft, mutilation, and underlining of books art reasons for disciplinary action and may result In dismissal from the University. TO RENEW CALL TELEPHONE CENTER, 333-8400 UNIVERSITY OF ILLINOIS LIBRARY AT URBANA-CHAMPAIGN APR 4 m MAR 2 1 1994 JAN Q 6 j! s When renewing by phone, write new due date below previous due date. L162 cop. 2- Report No. UIUCDCS-RT 2-505 v NETWORK COMPUTER ANALYSIS by Edward K. Bowdon, Sr. Digitized by the Internet Archive in 2013 http://archive.org/details/networkcomputera505bowd Report No. UIUCDCS-R72-505 NETWORK COMPUTER ANALYSIS by Edward K. Bowdon, Sr. Computer Science Department University of Illinois Urbana, Illinois 6l801 (This research was supported in part by the National Science Foundation under Grant No. NSF GJ 28289.) 60i ABSTRACT This research is aimed at developing analytical tools for system modeling and analysis of real time computer networks. We "begin by formulating a geographically distributed network of computers. From a postulation of the essential characteristics of our computer network, we develop a queueing theory model for a multiserver system with a finite length priority queue. Then, under the assumptions of Poisson input and exponentially distributed processing times, we utilize this idealized mathematical model to investigate the steady state stochastic behavior of jobs in the network. We are particularly interested in the efficiency of computer utilization and the average waiting time for jobs of different priority classes. We conclude by employing the average waiting time results from the queueing theory model to determine steady state job dispatching rules for a network of centers. From a knowledge of the average arrival rates and processing times for each priority class, we determine what fraction of the jobs in each class should be transmitted between centers in order to balance the average waiting times for each priority class throughout the network. 1. INTRODUCTION A historical survey of computer system development reveals that the application demands and requirements of the user have greatly influenced the design philosophy of computer systems. The demand for a continuously improving cost/performance index and the requirements imposed by an ever growing number of esoteric computer applications has antiquated the current design philosophy. In order to improve the cost /performance index and still maintain generality, the current design approach requires larger and faster central processors (including main memories) and necessitates the development of sophisticated software systems and programming techniques. Meanwhile, peripheral devices have remained comparatively primitive, their performance requiring substantial software support from the system. As a consequence, there exists a considerable cost imbalance between the hardware and software. Recent technological advances in the large scale integration of electronic circuits now make it feasible to restore this economic balance by decentralizing the central processor's tasks and, at the same time, simplifying the software system. We envisage a special purpose hardware/ firmware processor as a substitute for the program routines (or even entire algorithmic functions) that have been ordered structures and are frequently used in a large spectrum of applications. Interconnection of these processors in a geographically distributed, multiple access, network computer would provide computing efficiency through the sharing of hardware, software, and personnel. If a remote user can be serviced in a manner that is indistinguishable from the service rendered at a computer installation, he can realize the full power of a large-scale computer complex at costs that can make computer ownership impractical and/or uneconomical. Additionally, the software control of the network is greatly- simplified, which in turn results in an increase in the system throughput. To those with mutual interests, the network affords an effective means to communicate remotely and dynamically integrate dispersed activities. The network's ability to shorten significantly the turn around time allows the user to react to changing problem factors quickly and thereby produce cost savings. Such a geographically distributed computer network is a preeminent candidate for future generation computer systems and, therefore, the object of our research. 2. ANATOMY OF A NETWORK Structure In our analysis of networks computers, we are interested in three distinct types of networks. Figure 1 illustrates a regional network of computing centers interconnected by common carrier facilities. Figure 1„ Nationwide computing center network. Figure 2 illustrates a time shared computer center consisting of one or more computers connected "by a high speed exchange loop. Stcondory Storage Exchange Loop Computers Figure 2. A typical computing center. Figure 3 illustrates a tree network for a store and forward communications facility. Decision Communication C*s J Acquisition + Display Figure 3. A three level communications network. Owing to the large size of many organizations and to the dispersion of their facilities, we are interested in a network computer consisting of geographically distributed computing centers. Each computing center contains a number of computers, bulk storage devices, and peripheral devices inter- connected by a high-speed communications facility called an exchange loop. This exchange loop is divided into a number of independently accessible time division channels, thus providing switchable interconnectability and inter- communications between all computers and devices in a center. The computing centers, located at each node of the network, are interconnected by medium speed common carrier facilities. The capacity of each of these trunks may be considerably lower than the bit rate of facilities within the center, since each center's communities of interest usually require only occasional data transfers between centers. As a result, a major amount of processing occurs within each center with only a limited amount of intercenter communications. Viewing each computing center as a node of a communications network, the system has the overall appearance of one large processing facility which uses common carrier facilities as transfer links between geographically separated nodes. The structure of this network may be likened to one large processing "machine." This "machine" is organized into a hierarchy of structural levels as follows: 1. Network 2. Centers 3. Computers Each of these levels may in turn be viewed as a computing "machine" which performs some fraction of the total work. Under the control of an operating system, this structure allows independent processing jobs to be executed simultaneously within a plurality of computers and, further, permits common access by these computers to the entire mass storage system. A key feature in the network is the concept of a common file system with uniform accessibility to all files by all computers. This could be accomplished by assigning each disk file to a computer and then, allowing only that computer to write on the disk file, even though any computer may read from it. This would mean that a computer never writes into any space for which it does not have direct cognizance and responsibility. As a result, the problems of space allocation and release become relatively simple; contention would never exist for the use of file space. Implicit in this common file system is the ability to effect the movement of data files from one computer to another within a center without physically moving the data files. For example, when a program segment is executed and an output record is produced, this output record would be written on the disk file assigned to this computer. In order to "move" this data file to another computer it would only be necessary to send the address of the data file in secondary storage to the intended computer. By virtue of the exchange loop, all disk files are equally accessible to all computers, and thus the intended computer merely would use the address of the data file to access the intended data. Notice that this mechanism would always allow a program to write its output records on the disk file associated with the computer in which the program is running with no regard to potential users of these records. Intercenter Communications As noted earlier, the network of centers is interconnected by common carrier links. In order to maximize the percentage of time that the intercenter links are occupied, one computer in each center, designated the "communications computer," is assigned the responsibility of servicing all intercenter communications for that center. This communications computer would contain a communications program which overlaps the transmission of records with the turn around time required for answerback responses from the far end of the link. The use of answerback responses and the retransmission of erroneous records on the link would minimize the amount of redundant information required to provide the desired level of error protection. Each of the computers within a center would inform the communications computer of files to be transmitted or received. The communications computer, in turn, would inform the requesting computers of the receipt of requested files from other centers. Operating System The control mechanism for the network is provided by an operating system, resident in each computer, the primary function of which is to disseminate and regulate automatically the processing of Jobs. When a Job enters the system it may be assigned to any one of the computers in a center. The operating system provides access to the full parallel processing power of the network by detecting when work is ready to be performed and queueing this available work among all the computers in the center. This distributed operating system tends to minimize the degradation in system performance due to systems programs. However, since we are seeking optimum performance, the overhead inherent in the operating system, though small, must still be considered in the analysis. Summary The four major characteristics which make our network computer distinctive are that: 1. It is a multicomputer structure which is not limited to a particular configuration, but rather, is variable in nature and may be adapted to the requirements of a particular application. The exchange loop serves as an interconnection and switching matrix between all computers and devices in a center. 2. It is a geographically distributed network consisting of centers interconnected by common carrier links. These links terminate in each center into a computer containing communications programs capable of efficiently moving data between centers spaced hundreds of miles apart. 3. It is a symmetrical structure in which every address on the exchange loop is equally accessible from every computer on the loop. Common data files are stored in secondary storage devices and are readily accessible by all computers in the network. h. It is a controlled structure which contains an operating system that is distributed among the computers in a center and which regulates the allocation of facilities and the assignment of work to the computers in the network. These characteristics allow parallel processing among all computing facilities within the network without the need to preplan the exact distribution of work in terms of the various applied problems presented to the network. 3. RESEARCH METHODOLOGY Suppose we have a network of computing centers each consisting of one or more computers with potentially different processing rates. When any given Job enters a center it will be queued for processing. The exact manner in which jobs are queued will depend on the system structure, the availability of facilities, and the control procedures which govern the system. Computer Network Modeling We begin our development by formulating an idealized mathematical model for a computing center. Our motivation for using an idealized model is simply that of mathematical ease and tractability; at the same time, however, we must ensure that the idealizations introduced lead to a system model which retains the essential characteristics of the real system. In order to apply queueing theory we must first characterize the following: 1. The population from which jobs are drawn. 2. The arrival pattern of jobs. 3. The queue discipline. h. The number and arrangement of computers. 5. The service pattern which governs the processing of jobs. Our model may be described using the following terminology. The input to the system is an infinite population of units having r priority classes (the smaller the index the greater the priority). Units of priority k, (l <_ k <_ r), arrive as a Poisson process with interarrival time distribution A (t), given by: A^Ct) = 1 - e"V (t > 0) and zero other-wise. Units from different priority classes arrive independently with mean arrival rates A, X , ..., X . The arrival rates are independent of the length of the queue. The queue discipline is nonpreemptive priority. All jobs are considered patient in that once queued they remain in queue until processed. As a result, no jockeying, reneging, or balking is permitted. When a channel finishes servicing a unit, the channel is assigned to the highest priority unit present on queue, if any. Units of equal priority are serviced on a first come, first served basis. If a channel finishes servicing a unit and the queue is empty, the channel remains free until the next unit enters the system. Our system [l] differs from previous priority models [7, 8, 15, 27, 53] in that the maximum queue length, M, is finite rather than being infinite. We note that when there are M units of priority k or higher in the queue, an arrival of priority k cannot join the queue since there is no room for it. This occurs with nonzero probability for finite queues. When this occurs we say that the source for units of priority k is blocked and no more units of priority k can arrive until there are less than M units of priority k or higher in the queue. We further assume that if a unit of priority k arrives at a time when the queue length is M, then it joins the queue only if a unit of priority less than k is among the M. In this case, the unit of lowest priority less than k is displaced and lost to the system. The service mechanism consists of c identical channels in parallel -which serve a common queue of maximum length M. The service times of each channel are exponentially distributed with density function, b(x), given by: b(x) = ye~ yX (x > 0) 10 and zero otherwise. The mean service rate for a single channel is y. The comhined service rate for the system is given by: y = y min (c,n) (0 <_ n <_ N ) where n is the number of units in the system and N = c + M. The service rate is independent of the length of the queue. In sum, we are going to develop a queueing theory model for a nonpre- emptive priority system having r classes of Poisson input, c identical exponential service channels, and a finite queue of maximum length M. For brevity, we define: X = a and p = p r r In what follows, unless otherwise noted, we shall tacitly assume M >_ 0, p ^ 1, and 1 <_ k < r. Temporal Behavior Let P (t) denote the probability that an arrival at time t finds n units in the system (0 <_ n <_N). Let P (t) denote the probability that an arrival of priority k at time t cannot be served immediately and will be m away from service; that is, he finds (m-l) waiting units of priority k or higher, (l <_ m <_M+l). Also, let p(>0) denote the steady state probability that an arrival of any priority does not go directly into service, that is, it waits in the queue. Then p is the steady state probability of finding the queue full M+l , k of priority k or higher units. Now the set of steady state probabilities [p ] 11 totally characterizes the system, and at the same time the set of steady state probabilities [l-p(>0), p ] also totally characterizes the system. It will be convenient to have both sets. The basic differential difference equations for our system have the form P£(t) = -XP Q (t) + yP 1 (t) (n=0) (1) P'(t) = -(X+ny) P (t) + (n+l)yP ^ (t) + XP _ (t) (0 < n < c) (2) n n n+1 n-1 P'(t) = -(X+cy) P (t) + cyP ..(t) + XP^ (t) (c < n < N) (3) n n n+1 n-1 — Pjj(t) = -cy P N (t) + AP N-1 (t) (n=N) (U) For M > P i,k (t) = - k P l,k (t) + XP c-l (t) + cvP 2,k Ct) " c " P c (t) (m=l) (5) P m,k (t) " - ( V^> P m ,k (t) + < V P m + l,k (t) + °k P m -l s k (t) (!<»«..« («> P M + l,k (t) " ^ P M+ l,k (t) + °k P M,k (t) (m=M+l) (T) For M=0 P' (t) = -cyP. (t) + XP^ _Ct) (m=l) (8) 1,K 1,K c-1 Equations (l) through C3) are recognized as the well known differential equations for infinite length queues 1 27, 53] . The finite length queue imposes a boundary condition on the system which results in equation (4). Equation (5) results from the following argument. For M > 0, an arrival of priority k at time t + At 12 will be first away from service if and only if one of the following mutually exclusive events occur: (a) an arrival of priority k at time t would have been first in queue and in the interval At there were no arrivals of priority k or higher and no service. (b) an arrival of priority k at time t would have been second in queue and in the interval At there were no arrivals of priority k or higher but there was a service. (c) any arrival at time t would have found c-1 units in service and in the interval At there was an arrival and no service. (d) an arrival of priority k at time t would have been first in the queue (except for the case where any arrival would have found c units in service) and in the interval At there were no arrivals of priority k or higher but there was a service. 2 Now, within terms of At P, . Ct+At) = P. , (t) {l-a,At - cuAt} + P_ (t) {cyAt} + P (t) {AAt} + {P n _ Ct] - P Ct)> {cuAt} l,k c Transposing the term P Ct), dividing the equation by At, and letting At-K), we obtain equation (5). Similar arguments yield equations (6-8). Steady State Behavior We readily obtain the steady state (time independent) difference equations by setting the left side of the differential equations to zero and solving for the higher order terms in n and m respectively. Solving the steady state difference equations recursively yields the following steady state probabilities: p n = p (A/y) n /n! (0 £ h <. c) (9) p n = P U/u) n /(c!c n - C ) fcii<" ■ p sifeS <^ M+1 » < 12 > p n,k = P^O'p"" 1 (l-P k )/d-p" +1 ) (1 i» 1M+1) (13) In particular -we obtain equation (13) as follows. After recursively solving the steady state difference equations resulting from equations (5) through (8), we obtain: P m,k = C 1 *l,k (1 <*<.»!) Then M+l [l-p(>0)] + I Pm v = 1 m=l m 9 k or M+l m-1 , „ M+l p<>°> - %,k s >r - pi, k <^r»/<^ k ' m=l from which P 1>k = p(>0) (i-P k )/i- P f x ) and equation (13) ensues. Then from equations (9) through (13) we derive the following system descriptors. lU The average number of units of priority k or higher in the queue: M p P V M+1 L *<*> = I m >w,k ■ { nr - (M+1) 7-mT } p(>0) (1M m=0 ' K k 1-p The average number of units waiting in the queue: M+l Lq = Lq(r) = {-£ (M+l) -^J^) p(>0) (15) 1-p 1-P The average number of units of priority k waiting in the queue, (l < k <_ k): Lqk = Lq(k) - Lq(k-l) = {— ^- - 1 (M+l)(— jfo - ijg-)} p(>0) (l6) 1_p k 1_P k-l 1_P k 1_P k-l The average number of units in service: c-1 M Ls = T , n P + cp(>0) = cp{l-p n p (cp) C /c!> (17) c > n o n=0 The mean number of free service channels: c = c-Ls = c-cp{l-p p (cp) /c ! } (l8) The average number of units in the system both waiting and in service: M M+1 L = Ls + Lq = cp{l-p p M (cp) C /c!} + {■ £- - (M+l) P +1 > p(>0) (19) Average Waiting Times As we noted earlier, a unit of priority k will be displaced from the queue if an arrival of priority (k-l) or higher finds M units of priority k of higher in the queue. If a unit of priority k, (l < k <_r), is displaced from the queue, theoretically, it is lost to the system and has an infinite waiting time. Since this occurs with probability Ip M+1 , - P M+ -. k -,] 9 which is nonzero for 15 finite queues, the expected value of the waiting time for all units of priority- less than k=l is infinite. A more meaningful descriptor is the average waiting time in queue for units of priority k, which Join the queue and are not displaced, denoted simply as W,. We let p(0 < W . < °°) denote the probability that a unit of priority k waits, but is not displaced by a higher priority unit and lost to the system. Since a priority 1 unit cannot be displaced, p(0 < W < °°) = p(>0). But, p(o < w k < -) = P (>o) - t %+1>k - i^ ltW .] ...M i? + P ! —^IT> PC>0) (1 < k < r) (20) M+l K k-1 . M+l ^k ^k-l Given that a priority k unit, say T , waits in queue, there will be, on the average, n, units of priority k or higher ahead of T . We expect to find Lq(k) units of priority k or higher in the queue, but given that T waits we expect to find rL = lLq(k) - M«p k l/pC>0) ahead of him. (The term M»p compensates for the situation in which a priority k unit finds the queue full and cannot join.) The average waiting time in queue for units of priority 1, W , is determined by the following argument. Given that a priority 1 unit, say T , waits in queue, there will be on the average, n units of priority 1 already in queue ahead of T . After these n units are served T will be first in queue and must wait for one more unit to be served. Since the combined service rate when there is a queue is cy, T waits on the average (n +l)/cy, given that he waits. Removing the condition on waiting and substituting for n we obtain: M w = 1_ { ^_ _ ( M+1 ) jL-j ( >0 ) ( 21 ) 1 cy 1-p, n M+l ^ 1 1-P-, 16 The waiting time in queue for units of priority k, (l < k <_ r), is determined by the following argument. Given that a priority k unit, say T , waits K. in queue but is not displaced, there will be on the average rL units of priority k or higher already in queue ahead of T . T will have to wait on the average, at least (n+l)/cp, given that he waits in queue but is not displaced. Removing the condition on waiting and not being displaced, we have: W > p(0 < W < °°)'(rL +l)/cy Now while T is waiting in queue, units of priority (k-l) or higher arrive and take a position in queue ahead of T . So, T must also wait for these units to be servedo Since the higher priority units arrive at a rate o for the duration of his waiting time, W , T must wait an additional amount o «W /cu. Hence W k = p(0 < W k < oo).(n k +l)/cy + ^-f^/cu After making use of the definition of p , transposing the term in W , and dividing by (l-p, J, we obtain: M 1 k 1-p ic W. = — -p(0 < W, < ») (l < k < r) (22) k cy p k-l " IT Conclusions We note that equations (9) and (10) are identical to those for infinite length queues [27, 53] and equations (ll) and (12) differ only in the appearance of the term (l-p ) which is just the effect of the finite length queue. We also note, for finite queues, that since the arrival rate of priority k units drops to zero when the source is blocked, statistical equilibrium does not require that p < 1. Our only restriction was that p <£ 1, (l < k < r). For the case in which p = 1 for some k, we have only to apply L'Hospital's rule, as required, to equations (ll) through (22) possibly after some algebraic manipulation, to obtain the desired results. For example, for (l < k <_ r), W. = lim W, = "i- { - 1 ^} p(0 < W. < k p,-l k CU ^k-l 2 k where J(0 < W k < oo ) = lim p (o < W k < «») = {^- + p^ jgi} p(>0) Pk" 1 ' " ^k-l We note that this procedure is necessary, at most, only for a single value of k, since p < p < . . . < p < . . . < p and hence, at most, only one of the p = 1. We conclude by arguing that equations (ll) through (22) define a general multiserver model which, in addition to having as limiting cases the infinite length queue models J7, 8, 15, 27, 53] as well as the zero length queue model [^7], is 18 also valid for all queue lengths between these two extremes and applies equally well to both nonpreemptive priority and first come, first served queue disciplines. As an example consider the case when M is infinite and p < 1. Then W v = lim W = 7- M^ r lim p(0 < W. < •) - /■■ n \}{° V n r p(>0) k M- k (l -P k )(l - p k-l T M- k (l - p k )(l - p k-l ) where (>0) =limp(>0) =^T^- P which, except for notational differences, agrees with the well known results of Cobham [7, 8] and Holley [27]. (See also Saaty [53].) As a further example, consider the case for r=l, c=l, and M=N-1. Then ■ 1-P but for this case, N+l pOo) - ^T 1-P and so, after rearranging terms we have: w - P[l - (N + l)p N + Np N+1 1 1 ,_ N+lw. V uCi-p )(i-p) which agrees with the well known result of Saaty [55]. (See in particular equation 3-l6 on page 6l.) 19 Based on the essential characteristics of the various computers within the center we can employ the queueing theory model to facilitate studying the effects of priority assignment and job dispatching. We have devised [2] an algorithm for scheduling jobs in center when the jobs consist of dependent tasks having linear loss functions. Dispatching So far we have dealt with only the individual computing centers. Let us now turn our attention, briefly, to the entire network. During the normal course of processing jobs in a given center some of the resultant output is required at other centers. However, owing to the communities of interest that exist within each center, the intercommunication between centers is typically small. Earlier we noted that one computer in each center, designated the communications computer, was responsible for handling all such traffic. We may reasonably utilize the existing hardware and software facilities to increase the total reward, if possible. When the occasion presents itself it may be advantageous to transmit certain jobs from one center to another for processing and then subsequent transmission back of the results. Specifically, we may be able to improve the total network throughput by sending relatively high priority jobs from a heavily loaded center to one which is less heavily loaded. We shall presume that we have a command network, one computing center in the network having been designated ths command center. The command center periodically polls the other centers and depending on queue levels, requests arrival rate and processing time statistics. Then using the equations for W , the average waiting time by priority class, the command center can establish which centers, if any, should transmit jobs to other centers for processing and what fraction of the jobs in each priority class should be transmitted. We introduce the following definitions: 20 J. l_ W . = the average waiting time of a priority r Job at the J center. r,J X = the average arrival rate of priority r Jobs at the J center. *" t J t = the transmission time between the J and k centers (including Jk retransmission of results). c = the cost of transmitting a Job from the J center to the k Jk center (including retransmission of results). b. = the linear loss rate associated with the i Job, U. . 1 i Now for a Job originating at the J center, the average cost associated with processing the Job at that center, C , is given by: r * J C , = (W + -) b. r,J r,J y l 4- In The average cost associated with transmitting the Job from the J center to the k center and processing it there, C , is given by: c v = ( w .+ - + t.. ) b. + c.. r,k r,k y jk i jk +-"h Then if C < C it would be more economical to process the job at the k r,K r,J center. However, we must qualify this somewhat, since the presence of the job in the k center will delay all jobs of lower priority than r and all subsequent arrivals of priority r as well. Therefore we presume that throughout the network the jobs are assigned priorities according to monotonically nonincreasing b. . (We can use McNaughton's rule [kk] here since the jobs are independent.) Then, it follows directly that transmitting a priority r job, U. , from center j to center k will result in a decrease in the system cost, if and only if, AW = W , - W . > t„ +c.,/b.. r r,j r,k jk jk i 21 We have tacitly assumed here that the average processing time of the job is considerably larger than the handling time of the communications computer. Otherwise it would be more profitable to process the job on the communications computer rather than to transmit it. Also from the foregoing discussion we quickly conclude that the priority of a job should not be changed when it is transmitted between centers, even though we invest time and money to transmit the job. To give it a higher priority would delay jobs with greater loss rates and to lower its priority would advance jobs with lower loss rates. The time and money invested in the transmission is presumably less than the loss associated with leaving the job in the original center, else we would not have transmitted it. Thus once the job arrives at the new center it becomes indistinguishable from the other jobs of the same priority. Next we turn to the problem of determining what fraction of the jobs in each priority class should be transmitted between centers. Even though the average waiting time by priority class is not a linear function of arrival rate, we can use a method of successive linear approximations to obtain a balance between the waiting times among the centers. Each time the command center polls the other centers the dispatching algorithm is used. Dispatching Algorithm We consider each priority level one at a time beginning with r = 1. For the r priority level: a) we let j denote the center having the largest value of W and k denote the center having the smallest value of W . Then we compute AW = W . - W '. . r r,j r,k b) if AW < t + c /b., we say that the network is "balanced for r jk jk 1 priority r" and we continue with priority r + 1. 22 c) if AW > t + c /b , we transmit a fraction AX of the priority r JK JK l r Jobs from center J to center k, where l*r 1 - X r J Note that we have taken the absolute magnitude of the difference in arrival rates in case X < X . Next we recompute the waiting times for priority r and r,lc r,J lower Jobs for centers k and j. We repeat the entire process until the network is balanced for priority r. Then we continue with priority r + 1. This difference averaging algorithm may be repeated until either the entire network is balanced or the available intercenter communications facilities are saturated. Thus we see that the steady state equations for waiting times can be used on a successive approximation basis to perform dynamic load regulation in the network. As a result the command center can effectively utilize the inter- center communications facilities to improve the overall system throughput. 23 k. THE ROAD AHEAD An interesting generalization of our model would be to consider the entire network from a dynamic point of view. We would begin by formulating a network model with a common, but distributed, queue of work served by K computing centers each having a different processing time rate, u, . Then given that jobs consist of dependent tasks having linear loss functions, we would attempt to formulate rules for dynamically dispatching tasks between centers taking into account not only the transmission times between centers and the cost of such transmissions, but also the time each task has spent in the center. A particularly intriguing approach here would be to use the b. values to proportionally increase each task's priority as a function of its waiting time in the network. As an alternative, we could use the expected processing cost as a characteristic. For example, at the University of Illinois computing center, as of May 1, 1970, with the implementation of the IBM 360 MVT systems, the dollar cost for Central Processor Unit (CPU) time on the 360/75 is computed as follows: Cost = X 1 (aX 2 + bX 3 )(cX^ + X ) Where a = seconds of CPU time used b = number of I/O requests c = kilobytes of core memory used and X , X , X , X« , and X are weighting factors, currently having the values 0.01, k, 0.0^, 0.00^5, and 0.5, respectively. If a user estimates a, b, and c when he submits a job, we may compute an expected cost. Then a particularly intriguing approach here would be to give jobs an initial priority according to jnonotonically nondecreasing expected cost and to subsequently increase each job's priority dynamically as a function of its waiting time in the center. 2h SELECTED BIBLIOGRAPHY 1. Bowdon, E. K # , Sr., "Modeling and Analysis of a Network of Computers," Ph.D. dissertation, University of Iowa, Iowa City, Iowa, 1969. 2. Bowdon, E. K., Sr., "Priority Assignment in a Network of Computers," IEEE Transactions on Electronic Computers , November 1969. 3. Bowdon, E. K., Sr., "Network Computer Analysis," Proceedings of the 5th Hawaii International Conference on System Sciences , 1972, pp. 201-203. k. Burke, P. J., "The Output of a Queueing System," Operations Research , Vol. k (1956), pp. 699-701+. 5. Chang, W. and D. J. Wong, "Analysis of Real Time Multiprogramming," Journal of the ACM , Vol. 12 (1965), pp. 581-588. 6. Chang, W, "Queues with Feedback for Time-Sharing Computer System Analysis," Operations Research , Vol. 16 (1968), pp. 613-627. 7. Cobham, A., "Priority Assignment in Waiting Line Problems," Operations Research , Vol. 2 (195*0, pp. 70-76. 8. Cobham, A., "Priority Assignment - A Correction," Operations Research , Vol. 3 (1955), p. 5^7. 9. Coffman, E„ G., Jr. and R. C„ Wood, "Interarrival Statistics for Time Sharing Systems," Communications of the ACM , Vol. 9 (1966), pp. 500-503. 10. Coffman, E. G., "Studying Multiprogramming Systems with the Queueing Theory," Datamation , Vol. 13 (1967), pp. ^7, U9-51, 5^. 11. Coffman, E. G., Jr., "Bounds on Parallel Processing of Queues with Multiple- Phase Jobs," Naval Research Logistics Quarterly , Vol. lU (1967), pp. 3^5-366. 12. Conway, R. W., W. L. Maxwell, and L. W. Miller, Theory of Scheduling , Addison-Wesley Publishing Company, Reading, Massachusetts, 1967, (202 references) 13. Cox, D. R c , and W. L. Smith, Queues , Methuen and Company, London, 196l. lU. Davis, R. H., "Waiting-Time Distribution of a Multiserver, Priority Queueing System," Operations Research , Vol. ik (1965), pp. 133-136. 15. Dressin, S. A., and E. Reich, "Priority Assignment on a Waiting Line," Quarterly of Applied Mathematics , Vol. 15 (1957), pp. 208-211. 16. Eastman, W. L., S. Even, and I. M. Isaacs, "Bounds for the Optimal Scheduling of n Jobs on m Processor," Management Science , Vol. 11 (196U), pp. 268-279. L7. Eastman, W. L., "Comments on a Paper by Schild and Fredman," Management Science . Vol. 11 (1965), pp. 75^-755. 18. Feller, W. , " An Introduction to Probability Theory and Its Applications , Vol. 1, John Wiley and Sons, New York, 1957. 25 19. Fife, D. W 6 , "The Optimum Control of Queues with Applications to Computer Systems," Technical Report No. 170, Cooley Electronics Laboratory, University of Michigan, Ann Arbor, Michigan, 1965, 272 pages. 20 o Fife, D. W., "Scheduling with Random Arrivals and Linear Loss Functions," Management Science , Vol. 11 (1965), pp. 1*29-1*37. 21. Fife, D. W., "Comment to the Editor," Management Science , Vol. ik (1968), pp. 25U-255. 22. Gaver, D. P., Jr., "Probability Models for Multiprogramming Computer Systems," Journal of the ACM , Vol. ik (1967), pp. 1+23-1+38. 23. Graham, R. L., "Bounds for Certain Multiprocessing Anomalies," The Bell System Technical Journal , Vol. 1*5 (1966), pp. 1563-1581. 2k. Greenberger s M., "The Priority Problem and Computer Time Sharing," Management Science , Vol. 12 (1966), p. 888. 25. Held, M., and R. M. Karp, "A Dynamic Programming Approach to Sequencing Problems," Journal of the Society of Industrial Applied Mathematics , Vol. 10 (1962), pp. 196-210. 26. Heyman, D. P., "Optimal Operating Policies for M/G/l Queueing Systems," Operations Research , Vol. l6 (1968), pp. 362-382. 27. Holley, J., "Waiting Line Subject to Priorities," Operations Research , Vol. 2 (195*0, pp. 3la-3l*3. 28. Jackson, J. R., "Networks of Waiting Lines," Operations Research , Vol. 5 (1957), pp. 518-521. 29. Jackson, J. R., "Some Problems in Queueing with Dynamic Priorities," Naval Research Logistics Quarterly , Vol. 7 (i960), pp. 235-21*9. 30. Jackson, J. R., "Queues with Dynamic Priority Discipline," Management Science , Vol. 8 (1961), pp. 18-3I*. — - - 31. Jackson, R. R. P c , and J..--C. Henderson, "The Time Dependent Solution to the Many Server Poisson Queue," Operations Research , Vol. ll* C1966), pp. 720-723- 32. Jewell, W. S., "A Simple Proof of L - ^W," Operations Research , Vol. 15 (1967), pp. 1109-1106 o 33. Joslin, E. 0., "Application Benchmarks: The Key to Meaningful Computer Evaluations," Proceedings of the ACM 20th National Conference , August, 1965, pp. 27-37. 3l*. Joslin, E. 0., and J. J. Aiken, "The Validity of Basing Computer Selections on Benchmark Results," Computer s and Automation , Vol. 15 (1966), pp. 22-23. 35. Karlan, S., and J. McGregor, "Many Server Queueing Processes with Poisson Input and Exponential Service Times," Pacific Journal of Mathematics , Vol. 8 (1958), pp. 87-118. 26 36. Kiefer, J., and J. Wolfowicz, "On the Theory of Queues with Many Servers," American Mathematical Society Transactions , Vol. 78 (1955 ), pp. 1-18. 37. Kleinrock, L., "Theory of Queues Applied to Time-Shared Computer Systems," IEEE Region Six Conference Record , Vol. 2 (1966), pp. 1+91-500. 38. Kleinrock, L., "Time-Shared Systems: A Theoretical Treatment," Journal of the ACM , Vol. lU, (1967), pp. 2U2-261. 39. Kleinrock, L«, and E G. Coffman, "Distribution of Attained Service in Time-Shared Systems," Journal of Computer and System Sciences , Vol. 1 (1967), PP. 287-298. 1+0. Kleinrock, L., "Optimum Bribing for Queue Position," Operations Research , Vol. 15 (1967), pp. 30U-318. 1+1. Krishnamoorthi, B. , and R. C. Wood, "Time-Shared Computer Operations with Both Interarrival and Service Times Exponential," Journal of the ACM , Vol. 13 (1966), pp. 317-338. 1+2. Lawler, E. L., "On Scheduling Problems with Deferral Costs," Management Science , Vol. 11 (196U), pp. 280-288. 1+3. Little, J. D. C, "A Proof for the Queueing Formula L = AW," Operations Research , Vol. 9 (l96l), pp. 383-387. 1+1+. McNaughton, R., "Scheduling with Deadlines and Loss Functions," Management Science , Vol. 6 (l959)» pp. 1-12. U5. Manacher, G. K., "Production and Stabilization of Real-Time Task Schedules," Journal of the ACM , Vol. lU (1967), pp. 1+39-^65. 1+6. Miller, R. G., Jr., "Priority Queues," Annals of Mathematical Statistics , Vol. 31 (i960), pp. 86-103. 1+7. Morse, P. M., Queues, Inventories, and Maintenance , John Wiley and Sons, New York, 1958. 1+8. Richards, P., "Parallel Programming," Report No. TD-B60-27, Technical Operations, Inc .,• August , i960, 26 pages. 1+9. Root, J. Go, "Scheduling with Deadlines and Loss Functions on k Parallel Machines," Management Science , Vol. 11 (1965), pp. 1+60-1+75. 50. Rothkopf, M. H., "Scheduling Independent Tasks on One or More Processors," Interim Technical Report No. 2, MIT Operations Research Center, January, 1961+,— 111 pages.-*- •■•' 5i; Rothkopf, M. H., "Scheduling Independent Tasks on Parallel Processors," Management Science , Vol. 12 (1966), pp. 1+37- W. 52. Rothkopf, M. H. , "Scheduling with Random Service Times," Management Science , Vol. 12 (1966), pp. 707-713. 53. Saaty, T. L., "Resume of Useful Formulas in Queueing Theory," Operations Research , Vol. 5 (1957), pp. l6l-200, (68 references). 27 5k. Saaty, T. L„, "Time Dependent Solution of the Many Server Poisson Queue," Operations Research , Vol. 8 (i960), pp. 755-772. 55 o Saaty, T. L e , On Elements of Queueing Theory with Applications , McGraw-Hill, New York, 1961, (910 references). 56. Saaty, T. L., "Seven More Years of Queues - A Lament and a Bibliography," Naval Research Logistics Quarterly , Vol. 13 (1966), pp. kkj-k76 9 (59^- references) 6 57. Scherr, A. L., "An Analysis of Time-Shared Computer Systems," Research Monograph No. 36, The MIT Press, Cambridge, Massachusetts, 19&7* H5 pages. 58. Schild, A., and I. J. Fredman, "On Scheduling Tasks with Associated Linear Loss Functions," Management Science , Vol. 7 (l96l), pp. 280-285. 59 o Schrage, L. E., and L. W. Miller, "The Queue M/G/l with the Shortest Remaining Processing Time Discipline," Operations Research , Vol. lU (1966), pp. 670-683. 60. Schrage, L. E., "A Proof of the Optimality of the Shortest Remaining Processing Time Discipline," Operations Research , Vol. 16 (1968), pp. 687-690, 61. Shemer, J. E„, "Some Mathematical Considerations of Time-Sharing Scheduling Algorithms," Journal of the ACM , Vol. ik (1967), pp. 262-272. 62. Shemer, J. E., and G. A. Shippey, "Statistical Analysis of Paged and Segmented Computer Systems," IEEE Transactions on Electronic Computers , Vol. EC-15 (1966), pp. 855-863. 63. Takacs, L., "Priority Queues," Operations Research , Vol. 12 (196k) 9 pp. 63-7^. 6k. Votaw, D. G., Jr., and A. M. Stover, "Queueing Systems with Bounded Waiting-Line Length," Operations Research , Vol. ik (1965), pp. 317-328. 28 BIBLIOGRAPHIC DATA SHEET I. Hrport No. UIUCDCS-R72-505 3. Recipient'! Accr«»iun Nil 5. Rrpnri Hiif January 1972 4. Titlr .in J Suhc ic lc Network Computer Analysis 7. Author(s) fiflyard K. Bowdon. Sr. 8. I Vrforming Organization Repi. No. 9. Performing Organization Name and Address Department of Computer Science University of Illinois Urbana, Illinois 6l801 10. Project/Task/Work Unit No. 11. Contract/Grant No. NSF GJ 28289 12. Sponsoring Organization Name and Address National Science Foundation Washington, DC 13. Type of Report & Period Covered Research 14. 15. Supplementary Notes Presented at the 5th Hawaii International Conference on System Sciences 16. Abstracts (see reversed side of this form) 17. Key Words and Document Analysis. 17a. Descriptors Network Computer, Queueing Theory, System Modeling, Throughput Analysis, Dispatching, Load Leveling 17b. Identifiers/Open-Ended Terms 17c. COSATI Fie Id /Group 18. Availability Statement Release unlimited 19. Security Class (This Report) UNCLASSIFIED 20. Security Class (This Page UNCLASSIFIED 21. No. of Pages 28 22. Price FORM NTIS-35 (10-70) USCOMM-DC 40329-P71 ABSTRACT This research is aimed at developing analytical tools for system modeling and analysis of real time computer networks. We "begin "by formulating a geographically distributed network of computers. From a postulation of the essential characteristics of our computer network, we develop a queueing theory model for a multi server system with a finite length priority queue. Then, under the assumptions of Poisson input and exponentially distributed processing times, we utilize this idealized mathematical model to investigate the steady state stochastic behavior of jobs in the network. We are particularly interested in the efficiency of computer utilization and the average waiting time for jobs of different priority classes. We conclude by employing the average waiting time results from the queueing theory model to determine steady state job dispatching rules for a network of centers. From a knowledge of the average arrival rates and processing times for each priority class, we determine what fraction of the jobs in each class should be transmitted between centers in order to balance the average waiting times for each priority class throughout the network. w* van