LIBRARY OF THE UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN 6/084 no.577-<582 cop. 2 Digitized by the Internet Archive in 2013 http://archive.org/details/simulationanalys578salz h/0. ?f- li.577 X 1 /n^t£ nucDcs-R-73-578 SIMULATION ANALYSIS OF A NETWORK COMPUTER by Fredrick R. Salz May 18, 1973 JUL 6 1973 uiucdcs-R-73-578 SIMULATION ANALYSIS OF A NETWORK COMPUTER "by FREDRICK R. SALZ May 18, 1973 Department of Computer Science University of Illinois at Urbana -Champaign Urbana, Illinois 6l801 ■^Submitted in partial fulfillment of the requirements for the Master of Science degree 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 I would like to sincerely thank Professor E. K. Bowdon, Sr. of the Department of Computer Science for his encouragement and guidance as an adviser and friend. I appreciate his efforts that made this work possible . I would also like to thank Mr. R. 0. Skinner of the Computing Services Office for all of his time in supplying information on the operation of the IBM 3^0/75 necessary for developing the simulation model. Finally, my thanks to Mrs. Gayanne Carpenter whose assistance and superb typing were invaluable in the preparation of this paper. This research was supported in part by the National Science Foundation under Grant No. GJ 28289- VI TABLE OF CONTENTS ACKNOWLEDGMENT PREFACE . . . 1. INTRODUCTION 3 1. 3 2. 3 3- 3 k. 3 5- Page in iv 2. BASIC CONCEPTS 3 2.1. Use of Simulation 3 2.2. Network Concepts 5 2.3. Single Node Concepts 8 3. CONSTRUCTION OF THE SIMULATOR 12 Discussion of Node 13 Design Philosophy 17 GPSS Implementation 21 Results Obtainable 28 Validation 31 k. SIMULATION RESULTS . . . 3^ U.l, Load Leveling 3I+ k.2. Pay-for-Priority 37 CONCLUSION kl LIST OF REFERENCES 1+3 1. INTRODUCTION Before it is possible to evaluate the performance of a computing system, the goals that the system is to achieve must be defined. These goals, however, are not the same for both the user and the computer center manager. The overall performance of the system is, therefore, some combination of these goals. To the individual user, the system is at its best "when the "turnaround time" for his job (the elapsed time between submitting his cards and receiving his printed output) is at a minimum. He is not really concerned with what happens to the other users of the system as long as he can obtain the desired results within as little time as possible. In some cases, the turnaround time is satisfactory if the results are available before a certain specified deadline. On the other hand, the computer center manager sees the total system throughput as the important criterion for evaluating the performance of the system. Usually, more jobs being processed per hour results in more revenue being collected by the system. From a management point of view, the income per hour is of primary concern. In addition, the management strives to give satisfactory service to all of the users of the facility. Unlike the individual's self -centered attitude, the manager would like to improve the turnaround time for as many users as possible . A third point of view could be that of the system itself. The criteria involved here -would include obtaining maximum use of resources. There is a substantial cost involved with owning (or renting) and operating computer machinery, and if more use could be made of the existing facilities, perhaps additional equipment expenditures would not be necessary. This paper presents the results of the analysis of scheduling algorithms for a network computer based on the desire to fulfill these goals. 2. BASIC CONCEPTS 2.1. Use of Simulation Before new proposals are implemented on a computer system, it is desirable to study the effect that these changes will have on the performance of the system. Many ideas that seem favorable in discussions and on paper may not yield any real improvements, and in fact they may even result in a serious degredation of performance. A number of tech- niques can be employed to give the designers an opportunity to study their proposals. One method is to write the new feature into the present system, and at times when the facilities are unavailable to the general populace, run the system with the new features. Obviously, for a complex change, this would be extremely costly in both the programmer's time, and unproductive machine time. Unproductive, that is, from the user's point of view (since he cannot run any of his programs), and from the center manager's point of view (since revenue is lost). However, this would allow the maximum amount of performance data to be collected since all data normally available to the system would be available during the test runs. A second alternative, developing analytical models based on queue ing theory analysis, has certain advantages over the previous method: the major one being that no computer time is necessary for the analysis. Unfortunately, for a complex situation the model becomes extremely burdensome and a great number of simplifying assumptions must be made to make a solution possible. The information obtainable from the model (which is quite limited to begin with) tends to be in a form which is difficult to interpret. Analytical models on the other hand do have the advantage that the results are not influenced by statistical variation. For example, if an exponential distribution is assumed, and the equations are carried to a steady state solution, there is no dependence on the number of samples chosen or the time the system is allowed to run. How- ever, by this stage, so many simplifying assumptions have been made that, even as good as the results are for the particular model, the model has strayed so far from the real-life conditions being studied that the results are nothing more than a fair approximation. A third method, the one used for studying the algorithms presented in this paper, is to develop a simulation model that can operate under the current computer system. This procedure combines many of the advantages of the previous two, while minimizing the disadvantages. Although the computer is used to evaluate the proposals, the amount of computer time necessary is considerably less than the real time requirements of the first method.* *The model used in this study required approximately a l-to-3 ratio of 360/75 processor time to real time simulated. The actual ratio depends on the load of the system being studied. Even though some simplifying assumptions must be made, they are not nearly as limiting as those necessary in analytical models. Not only can much more data be collected using the simulation model, but it is in a form more easily interpreted by the analyst. In fact, a complete simulation model "will yield data not even available to the real system. For example, utilization data for the central processing unit, main memory, etc., is not usually maintained by the real system. For the results obtained from a simulation model to be of value, they must be accurate both statistically and functionally. The simulated events must correspond to actual events, and the frequency and time between events must truly represent the real world. For this reason, the model used in this study was first developed to simulate the IBM 360/75 computing system currently in operation at the University of Illinois at Urbana -Champaign. Once the model accuracy was verified (as will be discussed in Chapter 3)> the model could be used to evaluate new proposals with reasonable assurance of accurate results. 2 .2 . Network Concepts Having developed a simulation model of a large scale computing system, attention was turned to the study of a network computer. Given n independent computer systems, with n > 1, the load L. on system S. will (usually) be different than the load L. on system S. if j^i . Therefore, J J if L. > L., the idle resources of S. could be utilized by S . This 1 J J i 6 process of load leveling and resource sharing between centers is the basis for network computers.* For example, on a network such as ARPA [6], etc. there are many universities and research facilities sharing resources. The heaviest load at University computing centers occurs at the end of each semester when research projects are due, and for the rest of the year the load is relatively light.** * In some cases, a .job is transmitted from S. to S . because S. offers some resource not available at S . . This case is not considered in i the discussion given here. **At the University of Illinois at Urbana-Champaign, the system load for the Spring 1972 semester is shown below. u_ CO CD 21 cr en ZD O H 12 10 THROUGHPUT (BY WEEKS) O o to cr ™ tn — ' oj ru <-< ■r-t (\i •--■rum JRN FEB MflR RPR MRY 7 All universities, however, are not on the same schedule, with some semesters ending as much as two months apart. With these diverse schedules, the heavy load at one center will correspond to a light load at another. By transmitting a job from S. to S . where L. > L. relieves some of the "burden on S., while increasing resource utilization at S . . A general network of computing centers is shown in Figure 1. x. represents the arrival rate for jobs submitted at center i; p.. is the service rate at center i; and (X. . is the rate at which jobs are transmitted from center i to center j . • • • • • Figure 1. General Network Computer 2.3* Single Node Concepts For each center, or node, of the network described above, scheduling algorithms were developed to facilitate the implementation of the networking concepts. In addition, new algorithms were designed to make greater use of the resources available. The basis for the priority scheme developed for each center is the theory that maximum throughput is obtained by assigning the highest priority to jobs with the shortest processing time [8] . The time a job spends in the system (after execution has begun) is the sum of a number of factors including CPU processing time, time issuing input/output requests, time waiting for core, channel contention time, and ready wait time. The first three of these times can be approximated through user estimates, but the last two are a function of the load on the system at the time the jobs runs and cannot be determined in advance. Therefore, each job entering the system is assigned an initial static priority, PRT, based on the information available from the user. The expected processing time based on user estimates, the static priority assigned, can be shown to be PRT = CPU + CHIOR + pCOR where CPU = central processing unit processing time, IOR = the number of input/output requests issued, and COR = region of core requested (kilobytes). a and p are multiplicative constants representing the processing time required for IOR and COR, respectively.* Jobs are ordered on the HASP queue according to their PRT, with the job with the smallest ERT being the first to be processed. Once jobs are placed on the queue, information on system load can be dynamically used to reorder the waiting jobs so that their execution will increase the utilization of resources. The system can also guarantee a maximum waiting time for jobs by increasing a job's priority (decreasing its PRT) after a predetermined time has elapsed. A complete discussion of the static and dynamic priority assignment can be found in [ 3] • The PRT theories led directly to the study of two scheduling schemes that maximized the user's goals and the computer center manager's goals. Both schemes involved the use of rewards (monetary) given to the center by the user if exceptional service is rendered by the system. The first of these algorithms allows a user to specify a price he is willing to pay for improved service. This "Pay-f or -priority" system, by assigning a higher initial priority (PRT) to a job willing to pay more for the same resources, allows a user to increase his turnaround time for selected jobs. At the same time, since the same resources are being used, with more revenue being collected, the center manager sees improvement in system performance . ^Through the use of system accounting records for previous years, a and p were determined to be 38 milliseconds and max (0,7C0R 2 -1000 COR) milliseconds, respectively. [5] 10 The second, and more elaborate algorithm, allows the user to specify rewards and deadlines as a basis for the price he will pay for service. The specifications basically consist of ordered pairs (r.,d.) where r. is the reward the user is willing to pay to have his 1' 1 1 job finished by deadline d. • Secondary and higher order deadlines are specified until the point where the job is considered worthless to the user, or the cost for running the job becomes greater than the amount of money that would be collected if the job were processed. A cost effective system is realized by using the ratio or reward specified by the user to the cost of running his job as a basis for assigning priority to the job [1] . For example, suppose a programmer's meeting at which certain progress is to be reported is called for 8:00 Tuesday morning. His supervisor would like to see the results Monday afternoon to discuss what to say at the meeting. Under this system, the user could specify a high reward for obtaining results before Monday afternoon, a secondary reward for completion before Tuesday at 8:00, and some minimum payment to have it completed any time Tuesday or Wednesday. By meeting the primary deadline, the most revenue for the resources used will be collected by the system, and the user will have his results in the desired time. The complete information vector necessary for a job T. is then (T.,g/f,d., VSi ) 11 where T. is the job name or other identifier, g/f is the reward/cost ratio for meeting the task's deadline, d. is the task's deadline associated with g/f, t. is the maximum processing time for this task, and s. = d. - t. is the latest time at which the task may start 111 processing in order to meet its deadline. The contents, of the information vector are used to determine the times at which jobs must be initiated so that they meet their deadlines. Reference [2] offers a complete description of the cost effective priority assignment. Since the individual centers are part of a network computer, if center i cannot meet this job's deadline and center j can, and the cost of transmission from center i to center j is less than the reward associated with meeting the deadline, the job can be transmitted to center j for processing. 12 3- CONSTRUCTION OF THE SIMULATOR To evaluate the usefulness of the algorithms developed, they were implemented on a network simulator. The simulation model, written in IBM's GPSS (General Purpose Simulation System) [^-] and run on an IBM 360/75 computer system, consists of three interconnected nodes as shown in Figure 2. Each node of the network consists of an independent computer system with independent job streams and service rates. "Communication lines" were established between nodes to allow for load leveling between centers. Figure 2 . Three Node Network Computer 13 3.1. Discussion of Node The nodes of the network were modelled after the IBM 360/75 under HASP and O.S. 3^0 as currently in operation at the University of Illinois at Urbana -Champaign . The various stages of execution a job follows as it goes through the system are described in the following paragraphs . HASP Initiation Figure 3 shows the logical structure of HASP (Houston Automatic Spooling Priority System) [ 9] . Jobs enter the system simultaneously from card readers, tapes, disks, or terminals. Upon arrival in the system, the job is placed on a HASP spool according to a priority deter- mined by a number of factors including resource and reward estimates discussed earlier. The priorities are further divided into five priority classes (classes A,B,C,D, and X) based on the above factors and additional options specified 'by the user. Spools exist for each of the priority classes, and the job is assigned a position in the appropriate queue. Seven HASP initiator /terminators select jobs from these spools when system resources become available. Parameters of the initiator determine which of the spools to search for the next job to be selected, and in what order. Once a job is selected for initiation, it is placed on the O.S. queue to be serviced by the operating system. The HASP initiator is put in a dormant state awaiting the job's completion. F> TO O.S. O.S. PROCESSING FROM O.S. i * REMOVE JOB FROM SPOOL ^7 PLACE JOB ON O.S. QUEUE ^Z_ JOB ACCOUNTING SZ. OUTPUT Ik however, have suffered an increase in waiting time, and the question arises as to whether or not the new system is beneficial for these centers. The inspection of the remaining data in Table IV sheds light on the answer. The number of jobs processed 35 TABLE III Waiting Times Comparisons in a Network Computer* WITHOUT LOAD LEVELING WITH LOAD LEVELING TIME ON SPOOL (JOBS PROCESSED) Center 1 Center 2 Center 3 Network Time** 73 121 T 4 No. of Jobs 195 80 ^7 322 Time 85 93 101 88 No. of Jobs 273 87 59 399 TIME ON SPOOL (JOBS NOT PROCESSED) Center 1 Center 2 Center 3 Network 1155 442 1062 107 16 123 821 909 385 762 29 9 8 46 AVERAGE TIME ON SPOOL Center 1 Center 2 Center 3 Network 456 175 3^7 302 96 445 155 169 Ih-9 157 302 96 47 445 JOBS PROCESSED (FROM CENTERS Center 1 Center 2 Center 3 Network No. of Jobs I89 7^ ^5 308 No. of Jobs 262 85 37 384 *4o Minutes Simulated Time **Time in Seconds 36 TABLE IV Resource Utilization in a Network Computer* LOAD LEVELING WITHOUT WITH CPU UTILIZATION Center 1 .961 • 958 Center 2 •911 .895 Center 3 .624 .884 Network .832 .912 CORE UTILIZATION Center 1 • 753 .762 Center 2 .736 • 732 Center 3 ■ 311 .726 Network .600 .7^0 JOBS PROCESSED (AT CENTER) Center 1 I89 2A7 Center 2 74 115 Center 3 45 119 Network (Avg/Center i 102 127 REVENUE COLLECTED Center 1 $ 658 $ 537 Center 2 300 428 • Center 3 190 446 Network 1148 l4ll *4o Minutes Simulate 3d Time at the centers increases (increased throughout), both the CPU and core utilization figures increase (increased resource utilization), and the revenue collected rises sharply. The trade-offs between increased turnaround time at centers 2 and 3, and greater resource utilization and throughput at these centers must be considered by the computing center manager. The statistics for the network as a whole indicate the advantages of load leveling for this configuration. 37 k.2. Pay-f or -Priority As a further demonstration of simulation techniques used in this study, a basic pay-f or -priority scheme was implemented. As each job enters the model, a reward factor r., where 1.0 < r. < n is assigned, and n is determined by the analyst. This reward is then used to determine the job's priority, P., is given by p H*T where PRT is the intial static priority based on user estimates of resource use. When processing completes, the charges C. for the job are computed by c.r . where c. are the nonweighted charges for the resources used.* The theory of pay-for-priority seems straightforward enough to expect that more revenue will be collected using this scheme, even though the turnaround time for low priority jobs may increase. However, Table V shows that other factors must be considered to avoid total degredation *The processing charges c. at the University of Illinois at Urbana -Champaign are currently computed by c. = O.OMX+Y)(O.OOU5Z40.5) where X = CPU time in centiseconds, Y = number of Input/Output requests, and Z = kilobytes of core used. 38 of performance. Using X. -,=2 -5 seconds, \ p =10 seconds, and \ =20 seconds results in a drop in CPU utilization, a decrease in throughput, and at the heaviest loaded center, an actual loss of income. TABLE V Evaluation of Pay- for- Priority Algorithm* PAY-FOR- PRIORITY WITHOUT WITH REVENUE COLLECTED Center 1 879 816 Center 2 852 852 Center 3 888 963 Network 2592 2634 CPU UTILIZATION Center 1 • 977 • 964 Center 2 .922 .9^8 Center 3 .887 • 873 Network • 935 .928 CORE UTILIZATION Center 1 .761 .763 Center 2 .716 • 717 Center 3 .677 .722 Network .718 .734 NO. OF JOBS PROCESSED AT THESE CENTERS Center 1 264 228 Center 2 216 225 Center 3 237 225 Network 717 678 *0ne hour Simulated Time 39 As jobs increase their priority, the optimality of the scheduling algorithm is violated resulting in a decrease in the number of jobs processed. Under these conditions, the loss of income from nonprocessed jobs is greater than the gain from those jobs paying for increased priority. At center 2, however, the scheme seems to have very little effect on overall performance of the center, indicating it is at some 'break-even" point. Although fewer jobs were processed, the difference was equal to the gain 'from jobs processed at the higher rate. When the demand on the center drops below this point, the change in priority will not effect the throughput of the system, and, therefore, a rise in income will be a result of the priority changes. This phenomenon can be seen in the statistics for center 3 in Table V. The simulation results, therefore, indicate that the job charges should be computed as C. = c.[(r.-l)h.+l] i i v i j where C. = total charges for this job, c. = nonweighted charges for this job, r. = reward factor specified by the user, and h. = a constant multiplicative factor determined by the J load on system j. As L . increases, h. increases to ensure that the center receives sufficient compensation for disturbing the scheduling process under varying conditions. Table VI shows the results of the same network 1+0 (with identical job streams) with h =2.0, h p =1.5, and h =1.0. Clearly, "by setting h 1 > 2 .0, center 1 would experience an increase of income proportional to the gains of centers 2 and 3* TABLE VI Adjusted Pay-for-Priority Algorithm Pay-for-Priority Without With REVENUE COLLECTED* Center 1 Center 2 Center 3 Network $ 879 852 888 2592 $ 936 933 963 2832 *0ne Hour Simulated Time kl CONCLUSION As computing machinery becomes increasingly complex, techniques for sharing resources must be developed. With an increase in the number of computing applications and users, algorithms must be implemented which are designed to distribute the load of computing centers and increase the performance of the computer equipment. This paper presents scheduling algorithms and load leveling techniques for a network of computers. Criteria for performance evalua- tion are defined, and the algorithms are implemented on a network simulator. The techniques are then analyzed in terms of these performance criteria. A pay-f or-priority scheme, allowing the user to receive better service for a higher price, is studied. It is shown that a simple scheme allowing users to increase their priority disturbs the optimum nature of the standard scheduling algorithms, and at a heavily loaded center, a complete degredation of performance occurs. Therefore, the load on the system is to be an important factor in determining the cost for running a job at a higher priority. These algorithms are then implemented with load leveling and communication between centers, and the dramatic increase in system performance for the centers is shown through the simulation. Although a slight increase in turnaround time results at the lighter centers due to jobs being processed from the heaviest centers, the resource utilization figures and revenue collected sharply increase. kz This study demonstrates the desirability of further investigation of network computers. Furthermore, the simulation shows that benefits can be obtained by considering that jobs are not of equal value, and scheduling their execution accordingly. Investigation in both of these areas is continuing, and the simulation model is being updated and improved for further study. With the improved model, it remains to further investigate other scheduling algorithms and priority techniques. An obvious next step is a detailed simulation study of the cost effective priority assign- ment algorithm discussed in Section 2.3., and its effect on network performance. This study should result in the development of techniques necessary to take full advantage of the benefits offered by network computers . 43 LIST OF REFERENCES [l] Barr, W. J-, "Cost Effective Analysis of Network Computers," Department of Computer Science Report No. UIUCDCS-R-72-538, University of Illinois at Urbana-Champaign, August 1972- [2] Bowdon, E. K., Sr . and Barr, W. J., "Cost Effective Priority Assignment in Network Computers, " Proceedings of the Fall Joint Computer Conference , December 1972 • [3] Bowdon, E. K., Sr., Mamrak, S., and Salz, F., Simulation: "A Tool for Performance Evaluation in Network Computers, " Proceedings of the National Computer Conference and Exposition , June 1973- [4] , General Purpose Simulation System/360 Introductory User ' s Manual , 01120-0304-4, International Business Machines Corporation, 1968. [5] Mamrak, S., "Proposed Priority Scheme for the IBM 360/75, " Non-circulated internal document, Department of Computer Science, University of Illinois at Urbana-Champaign, February 1973- [6] Rutledge, R. M. et. al., "An Interactive Network of Time-Sharing Computers, " Proceedings of the 24th National Conference Association for Computer Machinery, 1969* [7] Salz, F., "A GPSS Simulation of the 360/75 Under HASP and O.S. 360, " Department of Computer Science Report No. UIUCDCS-R-72-528, University of Illinois at Urbana-Champaign, June 1972. [8] Schrage, L., "A Proof of the Optimality of the Shortest Remaining Processing Time Discipline," Operations Research , Vol. 16, 1968 . [9] Simpson, T. H., Houston Automatic Spooling Priority System II, International Business Machines Corporation, 1969- IBLIOGRAPHIC DATA 1EET 1. Report No. UIUCDCS-R-73-578 Tii le and Subt [tie Simulation Analysis of a Network Computer Author(s ) Fredrick R. Salz Performing Organization Name and Address Department of Computer Science University of Illinois at Urbana-Champaign Urbana, Illinois 6l801 Sponsoring Organization Name and Address National Science Foundation 1800 G Street, N.W. Washington, D.C. 20550 Supplementary Notes 3. Recipient's Accession No. 5. Report Date May 18, 1973 6. 8. Performing Organization Rept.' No - UIUCDCS-R-73-578 10. Project/Taslc/Work Unit No. 11. Contract/Grant No. NSF GJ 28289 13. Type of Report & Period Master of Science Thesis 14. -I Abstracts A _ _ _ , . ~ . " ■ — <- — „ __^ mdeauate to S^f?* ^ ncrea f > the resources at a given installation become " ^adequate to satisfy the requirements of all users of the facility. Presentlv aen the deficiency of equipment occurs, the feasibility of purchasing additional rsZ Ce Vir e l igat6 ^ "" lf SuffiGient *»*■ --t ne/units are added to the astern. A network computer offers virtually an unlimited capability for expanding TvTLTtZ^ lf thOUt q the COsts in - ol -d in having all of the equipment at the dividual installation. Since the needs of computing centers vary with time, idle TZT/* n0rm f ly existin S during a light load period can be utilized by another arable tT \ ^ ±B Pr6Sented here is an investigation of the benefits a thf indivlZ? * + USe netwOTkin g- A "Pay-for-priority" scheduling algorithm r the individual centers is presented, and load leveling techniques for transmitting a Sr^l 1 ? dlSCUSSe *\ ^ C ° nCeptS are then demonstrated through the use * ?iv Ulatlon m ° del for a general network computer. Finallv the effect* nf th^w descriptors for a g ene ral network computer. mulation stems Analysis twork Computer Analysis stem Modeling jMentifiers /Open-Ended Tc ■OSAT1 Field/Grout aiiabiliry Statement Release Unlimited MTlS-35 (10-70) 19. Security Class (This Report) UNCLASSIFIED 20. Security Class (This Page UNCLASSIFIED 21. No ,.f Pag"s k6 22. Price ._! USCOMM-DC 40329-P7 \ tf *