■1 H Hi LIBRARY OF THE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN 60.84 l£t>r no.S77-£82 cop. 2 Digitized by the Internet Archive in 2013 http://archive.org/details/queuesnetworkcom577mill Of % QUEUES AM) NETWORK COMPUTERS "by Linda Anne Da Rin Mills JUt May 18, 1973 UIUCDCS-R-73-577 QUEUES AND NETWORK COMPUTERS Linda Anne Da Rin Mills May 18, 1973 Department of Computer Science University of Illinois at Urbana-Champaign Urbana, Illinois 61801 ^Submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer Science in the Graduate College of the University of Illinois at Urbana-Champaign and supported in part by the National Science Foundation under grant No. GJ 28289- Ill ACKNOWLEDGMENT The author would like to express her most sincere gratitude to her adviser, Professor E. K. Bowdon, Sr . His advice and criticisms provided untold support and encouragement for this paper. My thanks are also due to my husband, Craig, for his many hours of discussion and proofreading. Mrs. Gayanne Carpenter deserves a special thanks for her excellent work in typing this paper. This research was supported in part by the National Science Foundation under Grant No. GJ 28289- IV PREFACE With the advent of the network computer has come an increasing movement towards developing the necessary analytical tools to properly evaluate and improve these networks. One such tool is system modeling to assist in performance evaluation of networks and computer centers whose usefullness and, consequently, communication flow is daily increasing. While much has "been said of performance evaluation for particular centers, little has "been done concerning the analysis of the entire network. Our purpose is to postulate a queueing theory model of a theoretical network and to use this model to predict such measures as the number in the system, the number in the queue, and system efficiency. Under the assumptions of Poisson arrivals, exponential service times and a restricted queue length, the mathematical model is utilized to develop the steady state equations for the two-center and the n-center network. Then, a priority scheme is implemented and the steady state equations are rederived. With these two varying assumptions, conclusions are drawn as to their effect on system efficiency and the number in the queue . Lastly, the relevance of proposing an analytical model is discussed. The mathematical model is compared to existing networks to verify its authenticity and accuracy. To the extent that such models aid our comprehension of the internal mechanisms and balances and thereby shape future networks, they serve a necessary and useful purpose. V TABLE OF CONTENTS Page ACKNOWLEDGMENT iii PREFACE iv 1. INTRODUCTION 1 2. NETWORK COMPUTER MODELING 10 2.1. Model Description 10 2 .2 . Temporal Behavior 15 2.3- System Descriptors 21 2.4. Limiting Cases 25 3- GENERAL MODEL 27 k. PRIORITY QUEUEING 38 k.l. System Description 38 4.2. System Descriptors 4-2 4.3- The Processing System - System 2 kh h.k. System Descriptors 1+6 5- NETWORK TOPOLOGY 1+9 5-1. The TUCC Network 1+9 5.2. The ARPA Network 52 5-3- Distributed Computer Network 56 6. CONCLUSIONS 62 APPENDIX A 6k APPENDIX B 66 APPENDIX C 67 LIST OF REFERENCES 68 1. INTRODUCTION Multiprocessor network systems have "become a reality. With the reality comes the added burden of increasing speed and communication flow between centers. Networks offer little advantage over conventional processing techniques if centers operate with virtual independence of one another . The expense of a network becomes feasible only if loads at one center can be merged with lighter loads at another center. Specialized services and skilled personnel, which are not economically viable for a single center, become viable when the larger population of potential users is taken into consideration. In addition, with much of the system saturation reduced, turnaround time can reach optimum levels. These are but a few of the advantages which can be gained by the emergence of the network as part of the computer technology. Networks, such as ARPA or TUCC [8, ho] can be compared to the large business conglomerates. In both the essential need is to consoli- date for reduction of overhead costs and amplification of profits. These two, business and networks, are more than similar, however, they are compatible. With the expanding market, the network offers an economic method of operating over a large data base in a geographically distributed region, thus reducing the amount of paperwork necessary in accounting and payroll, for example. However, not only are networks profitable for the large conglomerate, they are also advantageous to the smaller companies. This is their prime attraction. With the emergence of networks to the computer technology, the next step is to provide analytic guidelines for the behavior of the networks, schemes for load leveling and algorithms to control phenomenon such as system saturation. Thus, networks must be analyzed in their entirety instead of being considered as a collection of disjoint centers. Without a doubt, this presents added problems and challenges. Load leveling involves assessing a situation which is never stationary and from that assessment deciding upon an appropriate strategy. Similarly, when a job enters the network, the center where this job will be processed must be determined so that such goals as economy and low turnaround time may be met. These goals may not coincide at any given point and any resolution of the conflict is complicated by the great number of decision points at any one moment. However, a more important problem is the task of defining a general network structure that can be readily analyzed without too great a degree of simplification. A problem to which we now turn. The simplest network consists of a single center. The flow through the center is determined by the arrival pattern of the commodity (customers or widgets) which utilize the center for a given period of time and the service pattern of the center. Clearly, if the customer demand exceeds the system capacity, then the center is unequipped to service this type of arrival pattern satisfactorily. Consider the example of a single chair barber shop. If the customers arrive at a steady rate p, meaning in uniformly spaced time intervals, and the barber can cut hair at a uniform rate of \i, then P < iu means that the barber will be able to service all of his customers for that day. p > \i means that customers arrive faster than he can cut hair and a waiting line or queue will form. In this case, the queue will grow without bound (until closing time). In constrast to the uniformly spaced arrivals, consider random or Poisson arrivals .distributed around a mean p. This says that the exact arrival time of any one customer is unpredictable, but most will arrive within p of each other. Similarly, suppose the time it takes the barber to cut hair is randomly distributed around a mean of ju . Again, most hair cuts will take time ju to complete, but some may take a much longer or a much shorter time. Because both our barber and his customers are so unpredictable, it can be expected that a waiting line will form. This might happen, for instance, when two customers arrive a short time apart, before the barber has time to completely service the first arrival. .At the same time, periods of idleness might exist, for instance, when two customers arrive far enough apart that the barber has finished with the first before the arrival of the second. However, given the means of p and ju, it can again be stated that when p > ju, the waiting line will grow without bound. In other words, customers are on the average arriving faster than the barber can service them. The network problems are even more interesting than these problems. One such network problem is the transportation problem, shown in Figure 1.1. A manufacturer wishes to ship a number of units of each widget from several factories to several warehouses. Each warehouse requires a certain number of units of each widget, while each factory can supply up to a certain amount. Only the routes indicated may be used for shipment and the problem is to minimize the transportation cost for shipment from factory to warehouse . Suppose, in addition, that warehouse #1 can never keep enough of A in stock and warehouse #2, enough of B. Then, the problem broadens to include maintaining a steady flow of these products to the specified warehouses. A solution of this type of problem is found in the literature [2 0]. Another example concerns the random arrivals or stochastic processes used earlier. For this example, suppose there exists a network of telephone lines whose topological structure is given in Figure 1.2. Each branch represents a two-way connection between cities, each with the capacity in number of calls per minute as indicated. Since the time and length of a call is unpredictable, this situation closely parallels our barber shop example . However, there are added complications in that the origin and destination of the call is not known beforehand, implying the existence of a store -and- forward mechanism. Again, as with computer networks one city's center may be overloaded and another idle. Each city has a center to process telephone calls, much like a computer center. Each call must queue up in a waiting line and wait transmission if the center is busy. If all the lines are busy, then the center is house #2 Facto/y#3\ Warehouse ^ Figure 1.1. A Typical Network System with 3 Factories and 5 Warehouses said to be operating at capacity and the finite queue is full. Suppose transmission of the call has an exponential service time ft and suppose each call lasts an exponential time with mean ju. Then, this system can be viewed as being composed of a dual server T the transmission and communication servers. Since there is no mechanism to save incoming calls when the telephone is in use, a telephone has no queue on its communication server. We say that such calls during a busy period are lost to the system. Furthermore, each time a person dials the phone he can view the destination as being determined by a probability matrix A which gives the probability that a call from him, center i, is placed at his neighbor's, center j. This is done with probability a. .. Then if the number of calls he makes is randomly distributed around a, Cta. . is part of the total number of calls his neighbor is receiving. (Of course, they are receiving calls other than his.) r — ^?h J \ !>.© A» galea* , Chicag ko Denv ... /> :ca gcAj..— ^f* "A New Vol fe 90 / Figure 1.2. Distributed Telephone Network These examples separate into two groups: Networks and non- networks; random arrivals and uniform arrivals. It is to the problem of random arrivals in a network which we will speak. The solution to the barber shop problem with random arrivals is included in a broad class of queueing theory problems, of which the uniform arrivals represent a special case. 7 Specifically, we wish to focus our attention on the development of a general queueing theory model for a network. Once this has been accomplished, measures such as the number in the queue or system efficiency can be predicted. These measures are the real interest in any network, since if a network is to operate economically, it must not only function, but also show profits. The most obvious way to achieve profits is for the system manager to optimize system productivity. This is done successfully only if the manager has some idea of what is causing his bottleneck and why. Further, he needs to know how system changes will affect system utilization. For example, how increasing or decreasing job storage (disc or tape) will affect turnaround time. Why networks? Hasn't this class of problems been considered previously? This may be true enough, but networks add a new dimension to these problems. A network computer has to decide when to transmit a job and when to process it on location. Often the user wants the quickest turnaround possible, how is this to be met in a network? Load leveling is now a necessity if centers are to cooperate within the network. Priorities come into play. Which job should have a high priority and which job a low one? Is the assignment a universal one or does it vary from center to center? How does a varying priority affect the computer manager's transmission decisions? The accounting and business management with the related data base complications opens up a new wealth of problems. Which center charges for the job processing--the initial or the end center? How is the integrity of the data "base protected against unwelcome users? While these problems are mentioned for completeness, we wish to concern ourselves only with those problems in the realm of modeling and performance evaluation. For convenience, we define a network center as a local and independent source of one or more processors. A network computer is defined to be an interconnected set of network centers. The transmitter for each center has an exponential service time and operates in the full duplex mode . Therefore, no messages are forced to wait for a free receiving transmitter. The exponential nature of the transmitter's service comes from the arbitrary nature of the transmitted job size. Clearly, these can be of any size and the length of the job would deter- mine the transmitting time. The exponential assumption simply says that most jobs cluster around the mean, but there may exist very short or very long jobs. Furthermore, note that no rationale for why a job has to be transmitted is given at this time. We simply have said that part of those jobs submitted are transmitted without applying any rules or heuristics to decide what characteristics these jobs must have. There are three network configurations which should be mentioned at this time. The first in Figure 1.3a is the star network , which consists of a center node which acts as the central message switching center. The outside nodes are characterized by one path leading in and out connecting it to the center node. TUCC is an illustration of this type of network topology. The distributed network, shown in Figure 1.3"b> is distinguished by the number of alternate routes to any one node. It does not suffer from the vulnerability of the central switching node inherent to the star network. ARPA exemplifies this network philosophy. The third type (Figure 1.3c) is the ring structure , chosen for the Distributed Computer System. The major advantage gained by this topology is that the reduction of links still allows reliability and at the same time reduces costs. With this introduction, we now turn to the problem of model definition. a. Star net Configuration b. Distributed Network c. Ring Configuration Figure 1.3. Network Topology 10 2. NETWORK COMPUTER MODELING 2.1. Model Description Suppose we are given a network computer of t centers in the th general form of Figure 2.1, and that the i — center consists of c computers having an exponential service time distribution of \i. . The input stream to the i — center consists of two parts: those jobs destined for service completion at center i and those jobs destined for service completion at center j, j ^ i. Those jobs destined for service at center j arrive at center i from a Poisson distribution with an interarrival rate of Ql., x' and those jobs requesting service at center i arrive with an interarrival rate of B . . As determined by their destination, both types of input queue up in separate finite queues, called transmission and service queues, and wait for service. The finite queue assumptions are required since the storage capacity at each center is bounded. If the center is near saturation, clearly a portion of the jobs entering will be turned away for lack of space. (Since we are generally interested in the solution at steady state and not at the saturation point, the finite queue assumptions are not restrictive.) We say that the service queue at each center is bounded by length N. > 1 and the transmission queue, by length M^> 1, where N. and M. may differ from center to center. The transmitter for each l l * center has an exponential service time of fi., and operates in the full duplex mode. Therefore, no messages are forced to wait for a free receiving transmitter and no blocked state is assumed. Input 11 V CENTER 1 processor CENTER 3 Figure 2.1. Three Center Network 12 Assume for the moment that no priorities between centers exist and that messages that are sent from center i to center j enter the finite queue for the server at center j . Then, the true arrival rate for center j, w., is given by I w. 6 + E cu.a. 1=1 where I is the number of network centers and a. . is the probability that the job is sent from center i to center j . Assume also that each of the -t centers has a compatible though not necessary equal capacity. Then, the following illustrates the queue structure for the i — center. a.a.. i lk cc. Input i M— £> Q Q IOO transmitter .th processor Figure 2.2. Queue at j — center showing part of transmission input from other centers in net. Our view of the network is much the same as that of an outside th observer. We see jobs coming in at rate 8. and a. . to the i — center. J J In addition to the stream 8., our observer sees the stream a. a. ,,1 f j, of jobs transmitted from the other centers in the network. These jobs queue up together with the stream 8.. and together comprise the input J 13 for center j . Those jobs arriving at rate OL . are transmitted to center i, i ^ j, at rate o ., while those jobs remaining at center j complete J service at rate, ju. . . Internal to this structure is the priority assign- J ment, if any, and the load leveler for that particular center, etc. Consider w J I "w.. = 8 . + Z OL. a . i=l r J i==1 i ij = B . + a. a. . .+ . .-. + a . .a.. . + a . . a . . .+ ...+ a a . (some of which may be zero) This implies that each center has a probability matrix A of the form: FROB. TOTAL 1 2 3 I 1 2 - 3 1 1 1 where a. . is the probability that a job is sent from center i to center j. Now for the case where t = 2, all transmitted units are from center 1 to center 2, and a . . = 1, whenever i ^ j. Then the probability matrix A simplifies to the following. 1 2 1 2 1 1 Total 1 lU The arrival rate for center j, w., j = 1,2 becomes w. = Pj + a. 1 / J , or for compactness w = 3 + ol since for <£,= 2 the subscripts are unique for a given center. In summary, we have assumed the following: 1. Input Population : We assume an infinite input population ■with a Poisson arrival rate of (3 . for those jobs which arrive at center j and are serviced at center j . A Poisson arrival rate of OL . is assumed J for those jobs arriving at center j and demanding service at center i, i ^ j . The arrival rate to the j — processing center is I w. = 6 . + E OL. a. . where -L is the number of centers. 2. Service Mechanism : Dual server consisting of a transmitter with an exponential service time of ft. at the i — center and a processor with an exponential service time of ju at the i — center. i th 3. Queue Discipline : At the i — center, the transmitter has a queue bounded by length M. > 1 and the processor has a queue of length N. > 1. Entrance to the queue is first-come, first-served. 15 h. Routing Procedure: This is determined by the probability matrix A which gives the probability a. . that a transmitted job is sent from center i to center j . 2 .2 . Temporal Behavior Now that the network has been characterized, we turn to the derivation of the queueing model. Consider the case where there are two centers in the network. Figure 2.3 illustrates the relationship between the transmitter and the processor. The exponential arrival rate for the processor at center 2 is j3 and jit is its service rate. As noted earlier, if a unit has been transmitted, it must come from center 1. The exponential arrival rate to the transmitter for center 1 is a and fi is the service rate for the transmitter. (Note that for convenience of notation, we have deleted the subscripts from the processor for center 2 and the transmitter for center 1.) The dotted section of Figure 2.3 indicates the system under consideration . The queue discipline is first-come , first-served and no preemption is permitted in either server. In the first server, the transmitter's queue length has been restricted to M; while in the second server, the queue is restricted to N. No blocking will occur in the transmitter at center 1 if center 2 has a queue of length N and a transmission is attempted. Units that enter when either queue is full are lost to the system. 16 CENTER 1 Figure 2.3. Two Center Network IT One assumption should be mentioned at this point. The arrival rate to the transmitter is a. The output of the transmitter will also he a, if the queue (M) is infinite [ 7 ] • If this queue is not infinite, the input to center 2 will not necessarily be Poisson and in general, the arrival rate to center 2 from the transmitter will not be a. However, the arrival rate is assumed to be approximately a at steady state. Let P (t) denote the probability that at time t there are m, n exactly m units in the first system and exactly n units in the second system at time t (0 < m < M, < n < N) . We adopt the following notation: 1. w = effective arrival rate to center 2. w = a + p 2 . p = traffic intensity at center 2 . P T = Wu ■ 3- p-, = traffic intensity for the transmitter at center 1. p = a/a . h. pp = traffic intensity at center 2, exclusive of transmissions P 2 = P/jLl • 5 • L = average number in service . s to 6- t) = system efficiency. L /2 . 7> E(m, n) = average number in system. Note that the system is totally characterized by the probabilities P at m,n steady state . The differential difference equations for the system are the following : 18 P 0j0 '(t) - -(OHP) P 0#0 (t) + « P„ (1 (t) (1) P 0jB '(t) - -fcHOHP) P 0>B (t) +PP 0f „. 1 (t) + « P l,n-l (t > + « P 0,rM-l (t) (S) (n0 (t) +m P m>1 (t) (3) (mn+1 (t) (If) (nH (t) + p P 0>H . 1 (t) +n P^^Ct) + « Pj_ „(*) (5) (n=N) P M>n '(t) = -(WrtO) P Mjn (t) + p P^.^t) + M P M)n+1 (t) (g) (m=M; +«p M . 1)D (t) rN '(t) . -■(« + «i^) P m;N (t) + p P mjN _ l( t) + n P m+W (t) ^ (m< ^ + aP m-l,M (t ' +n Vl,H (t > " =K) ' P M)0 '(t) - -(p +n ) P M;0 (t) + u P M>1 (t) + a P M . 1;0 (t) (8) (-M) P M;H '(t) - -( u+a ) P M)K (t) + p P M;K _ l( t) + a P M _ 1>H (t) (9) (^M, Equations (1) - (k) can be recognized as the differential difference equations for the dual infinite queue. Equations (1) - (k) , (5), and (7) are the equations for the system (<», n), where (oo, n) denotes 19 an infinite queue for server 1 and a queue of length N for server 2 . Equations (l) - (h) , (6), and (8) are the differential difference equations for the (M, °o) system. Equation (9) distinguishes the (M,N) system from the (M, °°) system and the (oo, N) system. Equation (7) (m in system 1 and n in system 2) results from the following argument . For M>0, an arrival at time t + At will find m in system 1 and N in system 2 if and only if one of the following mutually exclusive and collectively exhaustive events occur: 1. If at time t there are m in system 1 and N in system 2, and in the interval At there are no arrivals in system 1 and no services in either server. 2. If at time t there are m in system 1 and N-l in system 2, and in the interval At there were no arrivals to queue 1, one arrival to queue 2 and no services at either server. 3- If at time t there are m+1 in system 1 and N in system 2, and in the interval At there are no arrivals to either queue and no service to server 2, but server 1 completes a service, which is lost to the system since the queue for system 2 is full. k. If at time t there are m+1 in system 1 and N-l in system 2, and in the interval At there are no arrivals (a and p) to either queue from the outside and server 1 completes a service, while server 2 does not. 5- If at time t there are m-1 in system 1 and N in system 2, and in the interval At there is an arrival to queue 1 and none to queue 2, while neither server completes a service. 20 The following difference equation results from the above argument. P „(t + At) = P w (t) (1 - a At) (1) (1 - n At) (1 - U At) m, JM m, in + P m N-1 (t) (l - a - At) (1 - ju At) (1 - h At) p At + P m+ 1 N (t) (1 ~ ^ At) (1) (1 " W At) " At + P m+1 N-1 (t) (1 - a At) (1 - (3 At) (1 - fi At) n At + P (t) (1 - fl At) (1 - |U At) (1) a At . Ill — -L y x\ Transposing the term P (t), dividing by At, and taking the m, n limit as At-*0, we obtain equation (7) • To obtain the steady state probabilities, we set the left side of equations (l) - (9) to zero. Solving for the high order terms, and putting the results in a closed form yields the following solution: P m,n " p lV P 0,0 < m < M, < n < N p^ Prf <1 (10) P M,n = p l Mp 2 np 0,0 m = M, < n < N p^ p T <1 (ll) where P is determined as follows: M N M-l N N 1 = Z Z P = Z Z p + S P m „ _ m,n _ A m,n _ M, n m=0 n=0 ' m=0 n=0 • n=0 ml (fl-P 2 )(l-P T N+1 )(l- Pl M ) + Pl M (l-p 2 N+1 )(l-p T )(l- Pl )) p o,o = (i-p T )(i- Pl )(i-p 2 ) " (12) where p^ p 2 , p T < 1. 21 2-3- System Descriptors The average number in service is: N M M N L_ - 0-P„ n + I 1 -P„ _ + Z_1'P „ + ' E Z 2-P m=l n=l ;i; 0,0 n=1 0,n m= i m,0 " " m, n = P 0,0 (1-P 2 )(P T -P T ) + (l-p 2 )(p 1 -p 1 ; + 2p 1 p 2 (l-p 1 ) M N+l , M+l/ n , n M N+l/, w n n 2p 1 p T p 2 + p T P 2 (1+P 2 ) - 2p x p 2 (l-p 1 )(l-p T ) I+l Wl n M ,-, Ns ;i- Pi )(i-p 2 )(i-p t ) where p , p 2 , and p T < 1. The average number in System 1: (13) M M N E(m) = Z mP = Z m Z P nt?*l m m i=l n=0 ' (1-P T )Lp 1 (l-p 1 ) - Mp x (l-p 1 )J (l-p T )(l- Pl ) 2 + Mp 1 (1-P 2 ) (iTpT) P 0,0 (Ik) where P;L , p T < 1 22 The average number in System 2 is: N E(n) = Z nP n=l N M Z n Z P n=l m=0 m ' n (l- Pl M )[p T (l-p T N+1 ) - (N+l)(l-p T )p T N+1 ] (i- Pl )(i-p T y + Mr / N+lx / Wl1 \/ n \ N+ln ' (l-p 2 ) 2 0,0 (15) where p^, p g , p^ < 1. The average number in the system is given by the following sum: 1. Expected number in the transmitter's system, E(rn), 2. Expected number in the processor's system, E(n). Summing, we obtain M N N M E(m,n) = E(m) + E(n) = Z m Z P +ZnZP , _ m, n . A m,n m=l n=0 ' n=l m=0 7 (1-p )Lp 1 (i-p 1 ) - Mp 1 (i-p 1 )J (l-p T )(l- Pl ) 2 M P]L (l-p 2 ) (1-p )Lp T (l-p T )-(N+l)(l-p T )p T J + + 1-Po) (l-p 1 )(l-P T )' + p ± [p 2 (l-p 2 ) - (N+l)(l-p 2 )p 2 J (1-P 2 ) 2 0,0 (16) where P][ , p T < 1 23 The average number in the transmitter's queue is: M N L - = E (m-1) E P ql m=l n=0 m > n (1-P T )[p 1 (1- Pl )-Mp 1 (1-P^Pl (l-p^J (M-l)p 1 (l-p 2 ) (l-p^U-p^ + • (1-P 2 ) 0,0 :i7) where p ± , p^ < 1. The average number in the processor's queue is: N M L = E (n-1) E P q2 v m, n n=l m=0 ' (l-p 1 M )[p T N+1 (l-p T )-(N + l)p T N+1 (l-p T ) + P T 2 (l-p T N )] (l- Pl )(l-p T ) 2 + P 1 M [p 2 2 (l-P 2 N )-(N+l)p 2 N+1 (l-p 2 ) + P 2 N+1 (l-p 2 )] (1-P 2 ) 2 ■o,o (18) where p^, p T < 1. The total number in the queue L can be expressed as the sum L = L . + L _. q ql q2 For System 1: M N P n (>0) = E E P 1 m=l n=0 m ' n ' 2k This is just the probability that there are one or more jobs in System 1. Pj_(> 0) = (1-P 1 )p 1 (l-p T ) p 1 (l-p 2 ) (i-p.)(i-pj + n^pTi a- TV J 2' 0,0 (19) The average waiting times are derived from the following argument A job entering System 1 will find r\ jobs ahead of it. After these r\ have been served, it will be first in the queue and must then wait for one more service before it can go into service . So, r l = L ql //P l (> ° ) andW l = (T1+l)/fi = (L ql //p l (> ° ) + l)//fi ' This is the waiting time given that the job waits (i.e. W,J p, (> )) . Therefore, W l = [L ql + Pi^ >0 )Vfi ' /. N+lxr M,, v w / n n M /. M-1 N1 ., M /n N+lT (1-P T )[ Pl (l-p 1 )-M(l-p 1 )p 1 +p 1 (l-p J )]+Mp 1 (l-p 2 ) (l-p T )(l- Pl )' (1-P 2 ) where P 1 ,P T < 1- For System 2, p o,o /fi (20) N M Po (> o) = S. Z p - m, n n=l m=0 ' This is the probability that there are one or more jobs in System 2. 25 P 2 (>0) = (1-p-j^ )p T (l-p T ) p x p 2 u-p 2 ) (1- P;L )(1-P T ) + (ITp~l 0,0 (21) Similarly, with p , p < 1 w 2 [L q2 + P 2 (>°)Vlu M> Nn N+l, N+l, + (l-Pl)[p T (l-PT )-(N+l)p T i ^(l-P T )+P T 1 ^(l-P T )] (l- Pl )(l-p T ) 2 Mr ,, Nn ,„,_% N+l/, \, n N+l/, Nl p 1 Lp 2 (l-P 2 )-(N+l)p 2 (l-p 2 J+P 2 (1-P 2 )J (1-P 2 ) W^ (22) In summary, the total waiting time of a job for the system is dependent on where it enters the system. If it joins the system as part of the stream (3, then the expected waiting time will "be W = W p , hut if the job joins as part of the stream a, then the expected waiting time will be ¥ = W, + Wp • As can be seen, the total waiting time for any job is dependent on the number of transmissions it experiences before it is served. 2 .k. Limiting Cases Case 1 (M, oq ) : Letting N-*oo in equations (10) and (11) does not affect the solution set for this system, since (10) and (11) are independent of N. Equation (9) distinguishes the (M,N) system from the (M, «>) system, where the set of equations for the system (M, oo ) is a subset of those for the system (M, N) . This further supports the conclusion of equivalent solution sets . 26 Equation (12) becomes: _ ± (l-p 2 )(l- Pl M ) + Pl M (l- Pl )(l-p T ) P o,o = (i-p T )(i- Pl )(i-p 2 ) where p^ p , and p T < 1. A summary of results for the system (M, °° ) can be found in Appendix A. Case 2(oo , N) : In the limit as M -*oo in equation (10) and (ll), we obtain the solution for the system (oo, N ) . Since lim M n _ A M.00 p l p 2 P 0,0 = ° ' the solution set consists of equation (10) alone, where P ^ _1 = (1-P T N+1 )/(1- Pl )(l-P T ) with p ; p < 1. A summary of the results for the system descriptors can be found in Appendix B . Case 3(°° > °°) ' Letting M -*oo and N -*oo in equations (10) and (ll) produces a solution set of equation (10) for the system (oo,oo.) where p 0;0 = (i-p T )(i- Pl ) with p , p <1. This is the well-known result of Morse [28] and Saaty [35] A summary of the results for the system descriptors can be found in Appendix C • 27 3- GENERAL MODEL The two center case suffers from one failing and that is the small number of centers over-simplifies the probability matrix A. As a result, none of the stream splitting from the output stream of the transmitter occurs. We will develop next a three center model and from that generalize to the n-center model. For ease of computation and notation, the probability matrix A will not be immediately implemented. Specifically, we assume, for the present: 1. All of center l's transmitted jobs are sent to center 2, (i.e. Oi „ = l), and 2. All of center 3's transmitted jobs are sent to center 2, (i.e. a = 1). Figure 2.1 and 3*1 illustrates the three center case with matrix A implemented and with the assumptions above, respectively. The dotted section in Figure 3»1 indicates the system presently under consideration. The exponential arrival rate for the processor at center 2 is \i r c and the transmission rate for centers 1 and 3 is fi and Q . The arrival rates for the transmitters are Poisson around a mean of a , i = 1,3, and the arrival rate for the processor at center 2 is f3 p . The queues for the transmitters at centers 1 and 3 are restricted to K>1 and M>1, CENTER 3 CENTER 2 Figure 3-1. Three Center Model 29 respectively, while the queue for the processor at center 2 is restricted to N>1. Units that enter when the queues are full are lost to the system, as previously. Let P (t) denote the probability that there are exactly k units in System 1 at time t, exactly m units in System 3 at time t, and exactly n units in System 2 at time t (CKk P 0,0,0^) + "2 P 0,0,l (t) (23) + ^ P 0,0,n + l (t) +fi 3 P 0,l,n-l (t) + n l P l,0,n-l™ (n < n; :w P 0,m,0' (t) = -(W p 2 +fi l) P 0,m,0^ + a 3 P 0,m-l,0 (t) + ^2 P 0, m ,l (t; (m < M) (25) P k,0,0 ,(t ^ = "(« 1 +V P 2 +fi 3 ) P k,0,0^ + a, p. 0,1^' t) + ju R (k + P 2 V,N-l (t) + J2 3 P 0,l,N-l (t) +fl l P l,0,N-l (t) + fl 3 P 0,l,H (t) +fl l P l,0,N (t) (n = N) (28) 31 P 0,M,0' (t) = - ( V P 2 ft l } P 0,M,0 (t) + VW,0 (t) + ^2 P 0,M,l (t) (m = M) (29) P K,0,0'^ = -K+P 2 +^ 3 ) P K ,0,0 (t) + a i P K-l,Q,0^ + ^2 P K,0A (t) (k= K) (30) P k,M,n' (t) = -(V P 2 + ^2 +fi l +fi 3 ) P k,M,n^ + P 2 P K,M,n-l (t) + ^2 P k,M,n+l^ + a 3 P k,M-l,n (t ) + Vw,M,n^ + fi l P k + l,M,n-l^ (k < K m = M n < N) (3D P K,m,n ,(t) = -<« X + 2 * ^+ V ^ % m JV + ^\m,n-l^ + ^2 P K, m , n+l (t) + a i P K-l,m,n^) +a 3 P K,m-l,n( t ) + VK,m + l,n-l^ (k = K ra < M n < N) (32) P k,m,N ,(t) - (a i +a 3 +M 2 +n i +fi 3 ) P k,m,N (t) + Vk + l,M-l (t)+a 3 P M-l,H (t) + Vk.l,m,U (t) + n 3 P k,^l,N^) (k < K m < M n = N) (33) + n p (t) 1 k+l,m,N ' 32 P K,M, N ' (t) = -(^+0i+0 3 ) P K ,M,N (t) + ^ P K ,M,N-l (t) (k = K (3k) + a 3 P K,M-l,N (t) +a i P K-l,M,N (t) m = ^ P K,M,n' (t) = - (P 2 +S! 1 + fi 3 + "a 5 P K,«,. (t) +a 3 P K,M-l,n (t ' + Vw.H.'*' + ^K.M.n+l'*' (k " 5 (35) ' 7 ' ' m = M 4-R P ft) n< N) P K,m, N ' (t) = -(a 1 +ft 1 +ft 3 +(X 2 ) P K ,m,N (t ^ + a 3 P K, m -l,N (t) + a i P K-l, m , N (t)+ P 2 P K, m ,N-l( t) (k ^ (36) 7 ' ' ' m < M + n 3 P K,M + l )K -l( t ) +ft 3 P K, m+ l,N( t ' ^^ P k,M, N ' (t) " -(« 3 + n l +0 3 +,1 2 ) W'^UW**' + a 3 P k,H.l,K (tl + Q A + l,H,lf-l (t » < k < I ^ 7 ' m = M + a i P k-l,M,N (t) +I, l P k + l,«,N ,t) ^^ Equations (12) - (26) are derived as equation (7) was in the two center development. If we set the left side of (12) - (26) to zero, then the steady state solution to this set of equations is as follows: 33 k m n *k,m,n P l P 3 P T 0,0 < k < K , 0 ~+ <* ± W» P a,b,...,i,n = p l- p 2"--- p r p j np 0,...,0 where P J =P/m W 35 From which the general trend in probabilities can be deduced. If one or more of the n streams has attained its maximum length that term in p. is deleted. The only exception to this is the stream with input parameter (3 (the processing center), a maximum length does not delete (3 from the p. J expression. For example, consider equation (k-3) • What this implies is that if a center other than the processing center has attained its maximum length, then the input stream to the processing center for the duration of this maximum length has in effect n-1 streams in place of its original n streams. In general, for i maximum lengths, there are n-i streams in place of n streams to the processing center. Note this is only for maximum length boundary conditions at the sending centers. Throughout the previous development, the existence of the probability matrix A has been ignored. This shall now be incorporated into the model. Figure 2.1 illustrates the queueing situation with the imple- mentation of the probability matrix A for the three center model. This is a more accurate picture of what occurs within the network since not all jobs at center 1 and 3 will be transmitted to center 2. Some portion will be sent to the other centers. It is, therefore, a more realistic description of the function of the transmitter to add the probability matrix A to the model. Each job which enters the transmitter's queue has a probability a of being sent from center i to center j and a collective probability J. J of (l - a. .) of being sent elsewhere. This added restriction does not ij affect the results mentioned earlier. The output of an exponential server 36 is still Poisson with Poisson input and an infinite queue [7] • Therefore, adding the probability a. . in effect splits the Poisson stream into two parts, both of which are still Poisson. The general solution then becomes for the three center model: P k,M, n " p l f>3 P i P 0,0,0 < k < K , m=M , 0 be the arrival rate to the processor at center 2 and a the arrival rate to the transmitter at center 1 for jobs of priority r (1 < r < R) . Let fi be the service rate for jobs at the transmitter in center 1 and p., the service rate for the processor at center 2. The total number of priority classes is given by R, and the queues for system 1 and 2 are bounded by M > 1 and N > 1, respectively. Then, to the definitions given earlier we add the following (where 1 is a high priority and R is a low priority assignment): 1. Total arrival rate to the transmitter of all priority classes R a = E a r=l 2. Arrival rate for jobs of priority r or higher to the transmitter. r \ = Z a, r k k=l 3- Traffic intensity for priority r or higher jobs in system 1. P x ir ) = \> h. Total traffic intensity for priority r or higher jobs in system 2 . P T (r) = (p +\ r )/n . 1+1 Let P (t) denote the probability that there are exactly (m-l) units of priority r or higher in system 1 at time t and exactly n units in system 2 at time t. That is, the job arriving at time t th to system 1 is m — away from service. Note that the set [(1-p (>0), P ] totally characterizes the system at steady state. m,r,n The differential difference equations for the system are determined as before and at steady state we obtain the following: 0=-(\+p+ft)p n + XP . n + uF . (krj) r m,r,0 r m-l,r,0 m,r,l = -(p + n + id + \ )P + fiP ,-, , + pP . r m,r,n m+l,r,n-l m,r,n-l + uF m, r,n+l + X r P m-l, r ,n CKm V,N + ** p m -i,r, N + ^ m+ l,r,N + PP m,r, N -l+ fiP m + l,r, N (KrrKM+1, n=N (k 9 ) - -(^+^,0 + u? 1>Vjl + aP ^ - fiP^ (50) ° = - (fi + X r + ^ W,0 + X r P M,r,0 + ^W,l m=M+1 ^D = -Cn + M)P M+1 ^ r ^ N + W mlfTf ^ x + V M , P , N m=M + l,n=N (52) o - -(p + n + M)P M+1 ^ r ^ n + ^ M+1 , r , n+1 + PVv ,n-l + \ P M,r , n m=M+l> CKn0) denote the probability of not going directly into service for system 1, then M+l N :i-p 1 oo))+ z z m=l n=0 = 1 and l,r,0 l-P T (r) )(l- P;L (r) ) Pl (r) (l-p 2 ) (l-P T (r)) (1- Pl (r)) + (I^T P 1 (>0) m k.2 . System Descriptors Average number of priority r or higher in the queue for system 1, M N Lq x (r) = Z Z P n ~ ~ m+l,r,n m=0 n=0 ' ' ,N+1 M> (l-P T (r)^" L )[p 1 (r)(l-p 1 (r) 1V1 ) - Mp^r ) (l-p^r) ) ] ;i-P T (r))(l- Pl (r)r + ,, / vM h N+ls Mp 1 (r) (l-p 2 ) (1-P 2 ) l,r,0 h3 Average number of priority r in the queue for ■ system 1, Lqr 1 = Lq 1 (r > ) - Lq (r-l) = N+1 [p 1 (r)(l-P 1 (r) M )-Mp 1 (r) M (l-P 1 (r))] (1- Pm (r) ) (l-p T (r))(l- Pl (r))' vMs M, N+1 [p 1 (r-l)(l-P 1 (r-l) i ^Mp 1 (r-l) lvl (l-p 1 (r-l))] (l-pm(r-l) )■" ' o T (l-p T (r-l))(l- Pl (r-l))^ + M(p 1 (r) -p-j^Cr-l) )(1-P 2 ) ■1.^,0 r^l d-P 2 ) Trivially, Lql 1 = Lq-Jl) . For a priority r job, given that it is not displaced, the waiting times are derived by the following argument. When a job enters the queue, there are r\ units ahead of it. From this must be subtracted the term \ N Z (M+l)P -, , to account for the situation that when the job arrives the n=0 'M+l,r ,n queue can already be full of priority r or higher jobs. W T) - (Lq (r) - Z (M+1)P M ^ n )/p,(>0) r 1 ^_ n M+i, r, n ± n=0 The job must still wait for the job in service once it has waited for these t] jobs in the queue. Therefore, the total waiting time, given that the r job waits and is not displaced, is w = (ti + i)/n r 'r kk Removing the condition on waiting, N w r = [( Lqi (r) - n 2 o (M + i)P M+1;r;n ) +Pl (>o)]/n = l/n (1-p (r) ) -p T (l-p T (r))(l- Pl (r)) 2 l>r ,0 For a priority 1 job, this is the waiting time for the tagged job since it cannot be displaced. For a priority r^l job, the waiting time becomes infinite, if it is displaced from the queue. If it is not displaced from the queue, then it must wait in addition for those higher priority jobs that arrive while it is in the queue and that take a position in front of the tagged job. Since the higher priority units arrive at a rate X , for the duration of his waiting time W , the job r-1 r must wait an additional time of X W /ju • Therefore, denoting equation (55) by Z, the waiting time becomes W = Z + X _ W / r r-1 r' U = Z/(1- Pl (r-1)) . U.3- The Processing System - System 2 For system 2, the processor, a similar argument can be used to derive the following solution. Let p be the arrival rate to the processor at center 2 for priority r jobs (l1 and N>1, respectively. The following definitions hold: 1. Total arrival rate to the processor of all priority classes, R B = £ B . r=l 2. Arrival rate to the processor for units of priority r or higher, r 0) be the probability of not going directly into service for system 2. Then using a similar argument as used to derive equation (5*0 we obtain: ■0,l,r (l- Pl (r) M )(l-P T (r) N+1 ) M (l-p 2 (r) W+1 ) (l-P 1 (r))(l-P T (r)) + P l (r) d-P 2 (r)) -.-1 P 2 (>0) h.k. System Descriptors Average number of priority r or higher in the queue for system 2, M N Lq2 (r) = E Z nP m=0 n=0 m, n+1, r :i- Pl (r) M )[p T (r) - (N + l)p T (r) N+1 + Np T (r) N ^] (l- Pl (r))(l-p T (r)) + P 1 (r) M [p 2 (r) - (N+l)p 2 (r) N+1 + Np 2 (r) M ] (l-Po(r)) 0,l,r H7 Average number of priority r jobs in the queue for system 2, where trivially Lq^i = Lq^l). Lc^r = Lq^r) - Lq^r-l) = M [p T (r)-(N+l)p T (r) N+1 +Np T (r) N ^] (1-P 1 (r) ) l-P T (r))(l- Pl (r)) [p T (r-l)-(N+l)p T (r-l) N+1 + Np T (r -l) N ^] . - l J ; - (1- Pl (r-1) M ) (l- Pl (r-l))(l-p T (r-l)) + p, ( r) M [p 2 (r)-(N + l)p 2 (r) N+1 +Np 2 (r) N ^] (1-P 2 (r)) - P x (r-1) f1 [p 2 (r-l)-(N+l)p 2 (r-l) N+1 H-Np 2 (r-l) N ^] (1-P 2 (r-1)) . 0,1, r r+1 In an analogous manner to system 1, for a priority r job that is not displaced from the system, r\ is the number of jobs in the queue when the jobs enter the queue. Given that it waits, M T] = (Lq-^r) - (N+l) Z P m=0 m,N+l,r ) /P 2 (>°), where the term (N+l)P ^ t .. accounts for the situation where a job m, N+l, r ° cannot enter the queue since it is full. Then given that it waits, \ - (\ + i)/m ' T i r + p 2 (>o))/m hQ = l/u + P 1 (r) M [p T (r)-(N + l)p T (r ) N + Np T (r) N+2 ] (l " P l (r) } (l-P T (r))(l- Pl (rj) " M [p 2 (r)-(N+l)p 2 (r) N + Np 2 (r) N ^] 1-P 2 (r)) M, vN+1' l-p.(r) M )(l-P T (r)^) Pl (r)"(l- % (rr) -n 1 w /. r-TT + / ' i _ rn + (l- Pl (r))(l-p T (r)) (1-P 2 (rl) 0,l,r (56) For a priority 1 job, this is the total waiting time since it cannot be displaced once it enters the queue. For a priority r/l job, if it is displaced from the queue, its total waiting time is infinite. If it is not displaced from the queue, it must wait an additional amount (J , W /fi, following the analysis given for system 1 waiting time statistics. The total waiting time for priority r^l job then becomes, denoting equation (56) by Y: W r = Y/(l-p 9 (r-l)) . ^9 5- NETWORK TOPOLOGY In Chapter 1, three classes of networks were defined. In this chapter we will take a closer look at a representative of each of the topological classes: star, distributed, and ring structure. The discussion of each network is in chronological order by date of implemen tation . From this survey, the parallels "between functioning networks and the analysis presented earlier should become apparent. Moreover, the need and the direction for future analysis should also be clear. 5-1. The TUCC Network 196^ marked the start of the Triangle Universities Computation Center (TUCC) network. TUCC is a regional network consisting of an IBM 360/165 at Research Triangle Park (RTC), North Carolina, an IBM 360/75 at the University of North Carolina, Chapel Hill, and two IBM 36O/U0 ' s at Duke University at Durham and North Carolina State University at Raleigh. In addition, k-0 institutions are connected by terminals to the network. Each of the campus centers at Duke, North Carolina State and the University of North Carolina view TUCC as a pipeline through which they get massive computing power to service their users. Most of the communication is to the Research Triangle Park and there is little, if any, intracenter communication otherwise. Consequently, direct center to center links were not provided. Figure 5-1 illustrates the star topology characteristic of the TUCC network. duke/durham 360/1+0 7 TUCC \ [370/165] UNC/CHAHEL HILL 360/75 50 kO educationa institutions ncsu/mleigh 360/UO Figure 5-1. The TUCC Network The primary motivation for the development of TUCC was economics: To give each of the institutions access to more computing power at lower cost than they could provide individually. One of the universities concluded that it would cost them about $19,000 per month more in hardware and personnel costs to provide all their computing services on campus than it would cost to continue participation in TUCC. This would represent a kO percent increase over their present expense for terminal machine communications, and their share of TUCC expense. 51 There are other obvious advantages. First, application programs and ideas are easily exchanged and shared. A tangible savings is that single copies of computer software packages can be purchased and made available at one site for general use. In this way, duplication of programming and its cost is avoided since once a program is developed it can be used anywhere in the network without difficulty. Secondly, the member universities are better able to attract and keep faculty members who require large-scale computing facilities for research and teaching purposes. This is a tangible adyantage not only for the large universities, but also for the smaller member institutions. Individual machine characteristics are used to greater advantage and profit at considerable cost savings to all users, since a general need exists in many installations to access large or perhaps differently configured systems for parts of their regular batch computing needs. This, in turn, implies more efficient utilization of the total resources and improved turnaround through greater system balance. A third advantage is the ability to attract competent system programmers and managers. In general, these personnel could not have been attracted to work in the environment of the individual institutions because of salary requirements and because of system sophistication considerations . For the most part, communication is over low to medium speed terminals to the RTC . The OUTWATS line presently in use allows output to queue up for all active dial-up terminals. Once the job is received at 52 RTC its position in the processor queue is determined by a TUCC priority selection algorithm. The "basic elements in the determination of a job's priority are: 1. amount of computer time the center has used for the day, 2 . time submitted, 3- specified priority. Jobs from one center compete with- each other for queue position, while between centers high or low utilization at RTC determines the job's relative position in the queue. The founding universities have an additional bonus because the algorithm defaults unused resources to one or more of them dependent on demand. This is especially effective if their peak demands do not coincide. This flexibility is a major advantage to any network user. (For greater detail, see in particular [6, 29, 31> and 37 to ko] . ) The relation between TUCC and the two-node network of Chapter 2 is obvious. Most communication in TUCC is terminal to processor or the reverse, where the important feature is transmission and processor service times. Since the major emphasis in TUCC has been economic, improved system performance and any benefits that might be reaped from it are of gene ral in ter e s t . 5-2. The ARPA Network The Advanced Research Projects Agency (ARPA) network began two years after TUCC . This is a large national computer network which views itself as a set of autonomous independent computer systems, interconnected 53 so as to permit interactive resource sharing between any pair of systems. In other words, any program should he able to call on the resources of other computers much as it would a subroutine. Time-sharing systems with the associated software sharing are already prevalent within a local community. This means that for ARPA to be feasible it must offer such sharing on a nationwide basis in such a way that communication time is transparent to the users. Before the ARPA topology was chosen (Figure 5.2) careful consideration was given to each of the other topological classes. The star configuration was enticing when the small response time was considered, but was at a disadvantage when reliability and alternate routes were demanded. The ring structure satisfied the reliability requirements, but failed to satisfy the two second response time stipulation. The result was the distributed network, combining the best characteristics of both. To protect against total line failure, there are at least two physically separate paths to route each message and round trip delay, because of the multiple connections, was within the two second limit. Thus, the topology of ARPA was selected to minimize the cost, maximize growth potential and yet satisfy all the design criteria. The versatility of ARPA stems from the wide variation in the resources at each node. As many unique resources (which are only available at a small number of centers) as possible rather than common resources (which are available at many centers) were included in the initial twenty 5^ UCSB SRI UTAH NCAR AWS CASE UCLA RAND BBN HARVARD BTL MITRE CMN Figure 5-2. The ARPA Network node configuration. In conjunction -with the resources available, the nodes were chosen so that the communication cost was less than 25 percent of the computing costs of the system connected through the network. Study of the communication technology showed that the use of conventional line switching facilities would he economically and technically inefficient. To resolve this difficulty ARPA decided to build a new kind of digital communications system employing wideband leased lines and message switching , where a path is not established in advance and each message carries an address. Since ARPA is not a fully connected network, messages normally traverse several nodes before reaching their destination. With this in mind, at each node a copy of the message is stored until it is safely received at the following node. The network is thus a store and forward system. However, with this decision come problems of routing, buffering, reliability and many more . To protect the centers from these network problems as well as to protect the network 55 from center problems, each node has a small processor which is inter- connected with the remaining network to form a subnet and to connect each center into the network. In this arrangement, the centers are called Hosts and the processors, Interface Message Processors ( IMP s ) . This in effect divides the network into two parts, a subnet and the Hosts. To complete the general discussion of ARPA, we will consider message delay in ARPA,. The subnet transmits messages over unidirectional logical paths between Hosts, known as links. On a given link at any one time, only one message may be accepted and the link is blocked to all other traffic, until the message has been received and acknowledged. Since each Host has more than one link all traffic to or from that Host is not blocked. Each IMP takes the message from its Host in segments, forms the segments into packets and ships each packet separately. At the destination the IMP reassembles the packets and delivers them to the Host as a single unit. The path of each message is determined by a routing algorithm which utilizes the total estimated transit time for its decisions. (This is further discussed in [8 and 2l] and is only included in this discussion for completeness.) Each IMP has a buffer storage space partitioned into about 70 fixed length buffers, each of which has the capability of storing a single packet. Message delay is subject to a variety to definitions. In ARPA delay measurements are based on time values at a single node by utilizing the notion of round trip times of messages and acknowledgments. 56 In a queueing model of ARPA conducted at U.C.L.A., a priority non-preemptive system of the model was investigated. Priorities were added mainly so that the effect of the higher priority acknowledgments and requests would be felt in contrast to ordinary message transmission. Service time was defined as the time required to transmit the message across the channel, and is dependent on the message length and the channel capacity. (For a more detailed description, see in particular [lO].) The intent of this section is to demonstrate the applicability of the theory developed in this paper. In ARPA the basis elements are those assumed to be present in any network: queues, transmission time delays (called service time in ARPA), and processing time at the center. This also demonstrates the strong correlation between reality and the theoretical model while reflecting the definite need for analysis. These analyses affect a better understanding of the advantages of networks and facilitate remedying network difficulties. 5 -3 • Distributed Computer Network The third type of network discussed in Chapter 1 is the ring structure. This philosophy is exemplified in the Distributed Computer System (DCS). DCS is an experimental network system designed for the University of California at Irvine under the guidance of David J. Farber . In Farber' s words, "the Distributed Computer System can be roughly sketched as a system of different processors interconnected by a common transmission system. Complete control of the system is distributed in time and space as the needs arise and as facilities are available." 57 In order to adequately understand DCS, it is necessary to discuss the overall aims of the project and the principles used to attain these aims. The design objectives proposed were reliability, low cost, incremental expansion capability, a variety of language systems, and modest system programming requirements. To meet these ends, a number of assumptions were made. In order to provide a system that has a high probability of responding to a high percentage of users, implying that most users should receive what they request most of the time, the network may be designed such that it is vulnerable to partial failure. Nonetheless, the network should be designed so that it is invulnerable to total failure. That is, an effort should be made so that reliability is guaranteed for the network, while not necessarily for each component in the network. To attain the goal of low cost, minicomputers were used on the nodes rather than larger processors such as IBM 36O ' s . These smaller machines are flexible enough to provide the services required, while reducing the total network cost. Furthermore, in linking these smaller machines together, the system performance should improve as the work can now be done from a "pool" of resources. There is also a gain in that system performance no longer becomes dependent on whether or not a single machine is functioning but on whether the entire network is functioning. Incremental expansion capability and a variety of language systems were specified since DCS involves a university community whose 58 needs are continually changing. The network should be able to change with these needs. In this sense, a modular, regularized system has the added advantage that the configuration of computers or compilers can change and not affect the system performance as a whole. The next question to be resolved is the actual configuration of the network and the principles used in its design. The DCS network attempts to solve this problem by allowing control of the network to reside in any processor which is free to do this task. Therefore, both the switching network and the control of the communications system is distributed. Furthermore, the network can be implemented at a reasonable cost since cables to each adjacent ring component need only be provided and not to the other n components. At worse, to maintain the reliability, cables to each adjacent and semi-adjacent node (node -skipping) need to be provided. This is still fewer connecting paths than required by a richer topology with a separate path between each component. Processors and languages are easily added around the ring and, therefore, expansion presents no additional problem. (The number of geographically distributed processors connected to the ring is expected to be approximately 30.) Finally, the ring topology is ascethically pleasing in that it is a simple structure. The system provides for processors, file machines, and terminal controllers connected in the ring. Each of these components is connected through a ring interface to a unidirectional circular communications ring. 59 Figure 5«3« The Distributed Computer System In addition, a PDP-10 is connected to the ring to facilitate testing of the system. From the above, it can be seen that the prototype system consists of minicomputers, ring interfaces, and interconnecting cable. There are seven minicomputers of approximately l6K capacity. Three of these share the processing load while two minicomputers with disks serve as file machines and two other minicomputers are terminal controllers for the connection of terminals to the system. All computing (except that performed in the file machines and by the terminal controllers) is performed by the three processing machines; thus if one fails, the other two can continue to provide service. 6o Messages are addressed to processes, not processors. This is accomplished through an associative store, the store contains the names of all processes and files active on the attached processor. When a message arrives over the ring, the destination process name is matched against the associative store. If a match occurs the message is copied and passed over the ring to the next node. The message is removed from the ring when it returns to the node where it originated. The ring itself may be thought of as a series of message slots. To transmit a message the node waits for an empty slot and when one is found, it places the message on the ring. The message is copied when necessary as it proceeds around the ring and checked against the original when it returns to the originating node. Note also that this scheme allows messages to be broadcast to all processes or a class of processes. Furthermore, it is extremely important to note that the process may physically be anywhere on the ring and may indeed have moved; the sender need not know this to correctly send a message. All communication appears to be carried out along the ring as far as the processor is concerned since the Resident Message Router (RMR) routes messages from the ring onto the Incoming Message Queue (IMQ) and places messages to other processes into the Outgoing Message Queue (OMQ) . Should a message on the OMQ be destined for a process active on the host, it is routed directly to the IMQ by the RMR and is not placed on the ring, although it appears as if it came from the ring. This scheme allows a process to keep the same address, its name, even though it has been moved from one host to another. 61 The parallels to the general network configuration discussed in Chapter 2 are strong. Each processor has an IMQ, and an OMQ which corresponds to the transmission and processor queues at a single center. Transmission service time can he defined as the time it takes the message to travel around the ring including the time necessary for finding an idle slot. Processor service time is the time spent in service at the processor, exclusive of its time in the TMQ. With this clarification, the results derived earlier are applicable to this system, irrespective of the network topology. The essential elements, transmission and processors are present. In this discussion, no mention was made of many aspects of the operating philosophy, such as garbage collection, idle slot detector, etc. The reader is referred to references DA] to [17] for a discussion of these aspects of DCS. Our purpose here is to outline the correlation between DCS and the general network configuration developed in this paper. 62 6 . CONCLUSIONS in this paper, we have taken the approach ef looking at a network counter at douhle arm's length and seeing what the general network characteristics are. So consideration was given to any one center's or network's individual idiosyncrasies. To this end, we isolated the nomination links and the colter center as the two distinguishing and vital elects in any network computer. The philosophical approach in this paper has heen that networks a *.-+ nf 1 ife and that there is a growing need to are now an everyday fact oi lire, ana understand and improve on this fact. We have seen, in Chapter 2, the general model description and the degree of complexity involved in a two-center network. Chapter 3 provided a partial expansion of these results to the n-nenter network. Again the complexity and unwieldness of the equations increase rapidly. This highlights the need for some super analytical tool to give the analyst more insight into the intricacies of his work. Simulation is one such invaluahle tool. The next step an this network center development would he to develop a simulation model to visually and graphically portray the relationships hetween the two center and the n-center networks. Moreover, alternate methods of queueing, such • as priority and nonprierity queues, could he investigated with a minim™ , • of these areas is hy no stretch of the imaginatio. of effort. The work in any of these areas is j a * „i that a finaer has heen pointed down the complete. However, we do feel that a linger n correct road. 63 Network computers are economically feasible only if they can favorably compete as an alternative to standard computing techniques. To do so, system measures and guidelines have to be established. Chapter 2 through k represent alternative methods of network analysis. Chapter 5 "was included to demonstrate the direct correlation between today's existing networks and the theoretical network discussed in this paper. For none of these networks, real or imaginary, is the development or analysis concluded.' 6k APPENDIX A The System (M, oo ) Solution: P = p_ m p_ n P- _ < m < M Vn m, n 1 T 0,0 — P M,n = p l p 2 P 0,0 m=M Vn 1. "0,0 ± (1-P 2 )(1- P1 ) + p ± (1- P1 )(1-P T ) = (1-P T )(1- P1 )(1-P 2 ) System Descriptors: M, 2. L P o^ 1-p 2^ p T +p l' > + p l ^ 2 (P2" P T' ) " P2 p i( 1_p T^ M+1 n M P 1 (1-P T )J (l- Pl )(l-p 2 )(l-p T ) 3- E(m) [p 1 (l-P 1 ) - Mp 1 (1-P 1 )] Mp 1 :i- Pl r(i-p T ) (1-P 2 )j '0,0 k. E(n) M, M U-P ± )P T Mp 1 li p 2 :i- Pi )(i-p t )' d-p 2 y '0,0 5- E(m,n) = P 0,0 ,2 M M> l- Pl )^(l-p T ) P 1 il (l-(M-l)p 2 )+ (1-P 2 ) C (1- Pl ) M, ( Pl (l-P T ) + P T (1-P 1 )) - (l-P 1 )Mp 1 (1-P T )1 (l- Pl ) d (l-P T ) d (l-P 2 ) / 65 6. L P 1 2(l-P 1 ) -■Mp 1 (1-P 1 ) + p 1 (1-P 1 ) (M-l)p 1 ql + (i-p t )(i- Pi ; (i-p 2 ) '0,0 7- L q2 /- Ms 2 M 2 U-P-l JP T P-[_ P 2 :i-p 1 )(i-p t ) 2 d-P 2 ) 2 0,0 • Pl(>0) = \ P 1 (l-P 1 ) P X M (l-p T )(l- Pl ) + (l-p 2 ) 9. p 2 ( >o; = p 0,0 (i M \ M U-P-l )p t P 1 p 2 (i- Pl )(i-p T ) + Ti r P 2 ~) 10 . w. p o,o /fi Mp ] _ p x (1-P 1 ) - Mp 1 (l-p 1 ) + P 1 (l-P 1 ) (1-P 2 ) (l-p T )(l- Pl )' 11. W. p o,o /y P l P 2 (l-Pj )P T (1-P 2 ) 2 (l- Pl )(l-p T ) 2 66 APPENDIX B The System (», N) Solution: P^ n = P^V Vm °< n <^ i- p o,o" 1= (i-p/ +1 )/(i-p 1 )(i-p t ) System Descriptors: 2- L g = Lp T (l-P T ) + P 1 (1-P T )J/(l-p ) 3- E(m) = P 1 /(l-P 1 ) [p T (l-P T N+1 ) - (N+l)(l-p T )p T N+1 ] k ' ^^ = M Ul ^ (1-P T )(1-P T ) m N+ 1 P 1 Prn Np T 5- E(m,n) = + 1-P X ) (1-P T ) (1-P T N+1 ) 2 6- L x = p 1 /(1-P 1 ) P T (1-P T ) - (N+l)p T (1-P T ) + P T CI- ftp) (1-P T )(1-P T ) 8. P 1 (>o) = Pl 9- P 2 (>o) - p t (i-p t n )/(i-p t n+1 ) io. w - p /(n - a) [p t (i-p t n ) - (N + i)p T N+1 (i-p T ) + p t N+1 (i-p t )] 11 ' W 2 = Vu j^T (1-P T )(1-P T ) 67 APPENDIX C The System (oo, oo) Solution: P = p n p m P^ . Vm Vn m, n K l T 0,0 p o,o= ^-P^^-Pr System Descriptors: 2. L g = p 1+ P T 3- E(m) = P 1 /(l-P 1 ) ^- E(n) = P T /(1-P T ) 5- E(m,n) = P 1 /(l-P 1 ) + P T /(1-P ] 6. V = P 1 /(1-p 7- L tf = P T /(1-p, 8. P 1 (>0) = p l 9- P 2 (>0) = P T 10. w l = Pj/(n-a) 11. w 2 = p t /(h-w) 68 LIST OF EEFERENCES [I] 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., "Network Computer Analysis," Proc . of the Fifth International Conference on System Sciences , January 1972, pp. 201-203. [3] Bowdon, E. K., Sr., "Priority Assignment in a Network of Computers," LEEE Transactions on Electronic Computers , November 1969 • [k] Bowdon, E. K., Sr., and Barr, W. J., "Cost Effective Priority Assignment in Network Computers, " University of Illinois Department of Computer Science Report No. UIUCDCS-R-72-509, March 1972, 23 pages. [5] Bowdon, E. K., Sr., and Barr, W. J., "Throughput Optimization in Network Computers, " Proc . of the Fifth Hawaii International Conference on System" Sciences , January 1972, pp» 528-530- [6] Brooks, F. P., Ferrell, J. K., and Gallie, T. M., "Organizational Financial and Political Aspects of a Three University Computing Center," Proc. of LFIPS Congress , 1968, pp. ^9-52. [7] Burke, P. J., "The Output of a Queueing System," Operations Research , Vol. 1+, 1956, pp. 699-70U. [8] Carr, C. S., Crocker, S. D., and Cerf, V. C, "Host-Host Communi- cation Protocol in the ARPA Network, " Proc . of the Spring Joint Comp. Conf ., Vol. 36, 1970, pp. 589-597- [9] Cohham, A., "Priority Assignments in Waiting Line Problems, " Operations Research , Vol. 2, 195 1 +, pp. 70-76, "A Correction," Operations Research , Vol. 3, 1955, P- 5^-7- [10] Cole, G- P., "Computer Network Measurements: Techniques and Experiments, " University of California, Los Angeles School of Engineering and Applied Science. Report No. UCLA-ENG-7165, October 1971, 350 pages. [II] Conway, R. ¥., Maxwell, W. L., and Miller, L. ¥., Theory of Scheduling , Addison-Wesley Publishing Company, Reading, Mass., 1967- 69 [12] Cox, D. R., and Smith, W- L., Queues , Methuen and Company, London, 1961. [13] Dressin, S. A., and Reich, E., "Priority Assignment on a Waiting Line, " Quarterly of Applied Mathematics , Vol. 15, 1957? pp. 208-211. [ik] Farber, D. J., "Networks: An Introduction," Datamation , Vol. 18, No. k, April 1972, pp. 36-39- [15] Farber, D. J., "Progress Report on the Distributed Computing System, " University of California at Irvine, Technical Report, January 1972 . [l6] Farber, D. J., and Larson, K. C., Supplement to Proposal for Research Submitted to the National Science Foundation on Distributed Computing System , University of California, Irvine, Technical Report, October 1970. [17] Farber, D. J., and Larson, K. C, "The System Architecture of the Distributed Computer System--An Informal Description, " University of California, Irvine, Technical Report No. 11, September 1971? 36 pages. [18] Frank, H., and Frisch, I. T., Communication, Transmission and T ransportation Networks , Addison -Wesley Publishing Company, Reading, Mass., 1971- [19] Frank, H. et. al., "Topological Considerations in the Design of the ARPA Net," Proc . of the Spring Joint Comp. Conf ., Vol. 36, 1970, pp. 58l-5"o7~ [20] Hadley, G-, Linear Programming , Addi son-Wesley, Reading, Mass., 1962 . [21] Heart, F. E., et . al., "The Interface Message Processor for the ARPA Computer Network," Proc. of the Spring Joint Comp. Conf ., Vol. 36, 1970, pp. 551-567. [22] Holley, J., "Waiting Line Subject to Priorities," Operations Research , Vol. 2, 195U, pp. 3^1-3^3- [23] Hunt, G. C, "Sequential Arrays of Waiting Lines," Operations Research , Vol. 2, 195^, pp. 67U-683. [2k] Jackson, J. R., "Networks of Waiting Lines," Operations Research , Vol. 5, 1957, PP. 518-521. 70 [2 5 ] Kleinrock, L., "Analytic and Simulation Methods ^ *» »— * i- «* 7. Key Words and Document Analysis. 17a. Descriptors Rinrstructuf "V^ 1 f er T ' NetW ° rk ° enter ' Sta r Network, Distributed Network, Ring Structure, Stochastic Process, Queueing Theory, Priority Queue. b. Identifiers/Open-Ended Te e- ( OSATI Field/Grour •Availability Statement ' opies m3 y be requested from the address given in above RM NTIS-35 (10-70) 19. Security Class (This Report) UNCLASSIFIED 20. Security Class (This Page UNCLASSIFIED 21. No. of Pages 7^ 22. Price NA USCOMM-DC 40329-P7I % V \