UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

A performance experiment on a unix system Downing, Roderick Lane 1979

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Notice for Google Chrome users:
If you are having trouble viewing or searching the PDF with Google Chrome, please download it here instead.

Item Metadata

Download

Media
831-UBC_1979_A6_7 D69.pdf [ 3.96MB ]
Metadata
JSON: 831-1.0051797.json
JSON-LD: 831-1.0051797-ld.json
RDF/XML (Pretty): 831-1.0051797-rdf.xml
RDF/JSON: 831-1.0051797-rdf.json
Turtle: 831-1.0051797-turtle.txt
N-Triples: 831-1.0051797-rdf-ntriples.txt
Original Record: 831-1.0051797-source.json
Full Text
831-1.0051797-fulltext.txt
Citation
831-1.0051797.ris

Full Text

9 1 A PERFORMANCE EXPERIMENT ON A UNIX SYSTEM by RODERICK LANE DOWNING B.Sc., The U n i v e r s i t y o f Western O n t a r i o , 1975 A THESIS SUBMITTED IN PARTIAL FULFILMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE i n THE FACULTY OF GRADUATE STUDIES (Department of Computer Science) We accept t h i s t r e s i s as conforming to the r e q u i r e d standard THE UNIVERSITY OF BRITISH COLUMBIA August 1979 (c) Roderick Lane Downing, 1979 I n p r e s e n t i n g t h i s t h e s i s i n p a r t i a l f u l f i l m e n t o f t h e r e q u i r e m e n t s f o r a n a d v a n c e d d e g r e e a t t h e U n i v e r s i t y o f B r i t i s h C o l u m b i a , I a g r e e t h a t t h e L i b r a r y s h a l l make i t f r e e l y a v a i l a b l e f o r r e f e r e n c e a n d s t u d y . I f u r t h e r a g r e e t h a t p e r m i s s i o n f o r e x t e n s i v e c o p y i n g o f t h i s t h e s i s f o r s c h o l a r l y p u r p o s e s may be g r a n t e d by t h e Head o f my D e p a r t m e n t o r by h i s r e p r e s e n t a t i v e s . I t i s u n d e r s t o o d t h a t c o p y i n g o r p u b l i c a t i o n o f t h i s t h e s i s f o r f i n a n c i a l g a i n s h a l l n o t be a l l o w e d w i t h o u t my w r i t t e n p e r m i s s i o n . D e p a r t m e n t n f C o m p u t e r S c i e n c e The U n i v e r s i t y o f B r i t i s h C o l u m b i a 2075 W e s b r o o k P l a c e V a n c o u v e r , C a n a d a V6T 1W5 D a t e /Wj 9/74  D E - 6 B P 7 5 - 5 1 1 E ABSTRACT A performance experiment on a PDP 11/45 running under UNIX i s d e s c r i b e d * The purpose i s to d i s c o v e r the major i n f l u e n c e s i n the system and t h e i r r e l a t i o n s h i p s i n an attempt t o analyze the performance of the system and p r e d i c t the e f f e c t on performance of p o s s i b l e hardware and workload changes. A s u i t a b l e performance parameter i s developed and the workload, hardware and i n t e r n a l system parameters are determined* T o o l s are c o n s t r u c t e d to r e c o r d these parameters. A c o n t r o l l e d experiment, using a s y n t h e t i c workload i s then conducted. The r e s u l t s are analyzed using r e g r e s s i o n a n a l y s i s and s u i t a b l e equations are obtained. Sample a p p l i c a t i o n s are giv e n . The merits of the r e l a t i o n s h i p s , as well as the s u i t a b i l i t y of the t o o l s developed and methods used, are dis c u s s e d . TABLE OF CONTENTS ABSTRACT . # # .„,,»..,,,, ^  v, ,,,,,..•,.,«,,.»,,,,., .s , . i i LIST OF TABLES' * , , > . , > . » * ; , , , ; . . , , , , , . V LIST OF FIGURES ..... . . , ............, ,. , i ..., , ,, , .,, , _ v i ACK NOWLEGEMENT .,,,.,»,,, ... ,,„,, .,- - , , , , , 1 , , , . . v i i 1.Introductions 1.2 Basic Goal, Approach, & Motivation ;.. , . 3 2. Description of Systenu 2 9 1 Til 6 H a£ d W aiT 6 v « ,* \» • <• ,* • >• • >* • ^  i» ••••••#;*••••»• • _ 6 2,-2 The Operating System ^ • • ^ * * * i - • • - • • _ 6 2«2* 1 PITocesses « * « **• « v « ^ • *•<••<•*-,*»*^ ** • * • <• 7 2. ?• 2 Scheduling P o l i c i e s > • . - • •: <• . . • * .«••.<• • • » • * * • * • 7 3* Evaluation Methods* 1 3 « 1 0 v eIT v i e v v« ^* ,« « * « * * * « • * * « «^« i« <« • • « « • « * <• _ 10 3.2 Choice f o r t h i s Experiment 12 4, _Description of Experiment: Set-up & Procedure^ 4.1 Over view ............................................. 14 4,. 2 Paramet er s ...... ,, , ,• , • • , . . ,, , . . . . 1 4 4.2-1 I d e n t i f i c a t i o n , 4 ^ , ^ , . . f ^ » ; . U . 4 i . ^ J > « . . , i ! > . . « . ! i f . . 14 4.2.2 Description & J u s t i f i c a t i o n : The Performance Parameter .......... 16 4.2.3 Description & J u s t i f i c a t i o n : The Other Parameters 16 4;2.4 Possible Belationships ........................... 21 4.3 Description of the Measurement Tools ................. .22 4.3. 1 BaCk^|rOUnd v^^mmm^^im^m^^^immMm^m^^m'aamM^^W'm^^im'^*/^*^^ ,22 4.3.2 Operating System Changes s ,4 •••--••••'•-•»'>• 22 4.3.3 Description of Information Collected ............. 25 4.4 Workload Used for the Experiment ..................... 26 4.4.1 P o s s i b i l i t i e s & Choice .......................4 .26 4.4.2 Construction of the Synthetic Workload ........... 27 4V. 4,. 3 J u s t i f i c a t i o n ,... .*..«>...,...»«•»»,. ,.«...»>.•»—. . . 29 4.5 Design of the Experiment ............................. 30 4.6 Implement ation . . ............. . . . . . . . . . . - . . . .33 5. Description of Experiment: Eesults 6 Analysis* 5.1 I n i t i a l Analysis . v , 4 ^ , ^ i , . . , , . . . , . . . f . . . < > . M . « * < > * * * > ' * J f i 5.1.1 F i r s t Set of Data 36 541.2 An Unusual Trend i.,.»..>.. 39 5.1.3 Second Set of Data 40 5.1.4 The Quantity 1PCTRMM' 40 5.1.5 Complexity of the PC Factor 42 5.2'Final Model and Interpretation ....................... .45 5.3 Validation . . . . . . . . . . . . . . . 5 1 5.4 Some Reality Checks ..................................52 5i 5 Sources of Error .....,..„.*.-»,.,.,,.,,,.,..,,.,. ,.,...,,.53 5,6 The Internal System Parameters .54 i v 5.7 Sample A p p l i c a t i o n s ....................... ,.-.,.-...,•••.55 6.^Conclusions. 6.1 The B a s i c Goal & Res u l t a n t Model . . i , . , . * , . , , » .58 6 . 2 The Tools and Method ,,. 59 6.3 Domain of A p p l i c a b i l i t y .............................. 59 6.4 F u r t h e r Research ..................................... 61 BIBLIOGRAPHY ,., ,, 63 APPENDIX A: Swapping and Cpu P o l i c i e s 66 APPENDIX B: S e l e c t i o n of Reaction Time ..,,,»„.,,,,-.,,,,,.,,»,,.,. 7 0 APPENDIX C: S t a t i s t i c s of the P r o d u c t i o n Workload .......... 7 2 V LIST OF TABLES I D e s c r i p t i o n of Unique P o r t i o n of Records 26 I I F a c t o r s and L e v e l s f o r O r i g i n a l Experiment . , 32 I I I R e s u l t s o f I n i t i a l Experiment ........................ 37 IV R e s u l t s o f Second Experiment ......................... 41 V R e s u l t s of I n i t i a l Regression ........................ 45 VI R e s u l t s of Second Regression ......................... 46 VII V a l i d a t i o n Using I n t e r n a l Observations ••.52 VIII V a l i d a t i o n Using E x t e r n a l Observations ................ 52 IX Comparison with Non-uniform Runs ......................53 X C o r r e l a t i o n Table f o r I n t e r n a l System Parameters ...,,.54 v i LIST OF FIGURES 4 , 1 D i s t r i b u t i o n of Compute Loops ., 33 5.1 a n a l y s i s of Variance R e s u l t s .......................... 36 5.2 Graph of RT versus PCTRMM 48 5.3 Graph of RT versus PS ,.«,,,..,...,.,.,..,..,,...,,.,,.,.„..,,._ 50 ACKNOWLEDGEMENT F i r s t of a l l , I would l i k e to thank Sam Chanson f o r h i s i d e a s and guidance throughout t h i s work, f o r h i s c a r e f u l r e a d i n g s of the t h e s i s , and f o r h i s f i n a n c i a l support through r e s e a r c h a s s i s t a n t s h i p s . His knowledge of the: s u b j e c t was a great a s s e t . I a l s o g r e a t l y a p p r e c i a t e the e f f o r t s of Dr. I t o i n both h i s s u g g e s t i o n s and h i s r e a d i n g of the d r a f t s , as w e l l as h i s s l i g h t l y d i f f e r e n t p e r s p e c t i v e on the work.. This p r o j e c t would not have been p o s s i b l e i f , i t were not f o r the generous use t h a t was granted me of the computer f a c i l i t i e s at the I n s t i t u t e of Animal Resource Ecology.. For t h i s I am most g r a t e f u l . In p a r t i c u l a r , I wish to thank B i l l Webb, whose knowledge of UNIX i s t r u l y amazing*. He e x t r i c a t e d me from many a b a f f l i n g predicament., F i n a l l y I wish to mention my wife, who has always given me the freedom t o explore my goals and yet a l s o keeps me from t a k i n g myself t o o s e r i o u s l y . CHAPTER 1: I n t r o d u c t i o n * 1 1. I NT RO DUCT ION;. 1.1 OVERVIEW The e v a l u a t i o n of a system, product or a c t i v i t y i s an e s s e n t i a l step f o r i t s sound development. Thus the emergence over the past s e v e r a l years of such a d i s c i p l i n e i n the computer f i e l d i s a h e a l t h y s i g n . . While i n i t i a l l y the d i s c i p l i n e s u f f e r e d many growing pains, i n the l a s t couple of years there has been much evidence of i t s maturing and consequently of i t s i n c r e a s i n g c o n t r i b u t i o n to computer s c i e n c e . . A good synopsis of the whole f i e l d can be found i n [ F E 7 8 i } » An overview of the more l i m i t e d area of measurement and e v a l u a t i o n , under which t h i s t h e s i s f a l l s , can be found i n [SV76]. As w e l l , the reader i s r e f e r r e d t o s e c t i o n 3.1 which f u r t h e r i l l u m i n a t e s the c u r r e n t s t a t e . Computer performance s t u d i e s u s u a l l y help t o g i v e i n s i g h t s i n two ways. F i r s t of a l l , the s t u d i e s simply answer whatever questions were posed, such as whether one design or m o d i f i c a t i o n i s b e t t e r than another, whether the a d d i t i o n of hardware or change i n software j u s t i f i e s the c o s t i n v o l v e d , e t c . Secondly, and probably of more importance i n the long term, performance s t u d i e s r e q u i r e or e v e n t u a l l y produce a model of t h a t which i s being i n v e s t i g a t e d . The process of e s t a b l i s h i n g these models, because they cause the e v a l u a t o r to seek out a simple u n i f i e d p i c t u r e of what o f t e n appears complex and d i s j o i n t , o f t e n produces i n s i g h t s which have f a r g r e a t e r i m p l i c a t i o n s than the a c t u a l study i t s e l f . CHAPTER 1: I n t r o d u c t i o n . 2 Juxtaposed with the above optimism and importance of the area, i s the need t o r e l a t e some of the c u r r e n t o b s t a c l e s . _ The performance e v a l u a t i o n of computers, l i k e many areas i n computer s c i e n c e , s u f f e r s because of two phenomena: the r e l a t i v e i n f a n c y of the f i e l d , and the c o n t i n u i n g e x p l o s i o n of new technology. Because performance e v a l u a t i o n i s a r e c e n t l y e s t a b l i s h e d d i s c i p l i n e , t h e r e has been i n s u f f i c i e n t time to explore and uncover many u n d e r l y i n g p r i n c i p l e s . This problem i s compounded i n t h a t p a r t of the scope t h a t i n f l u e n c e s the. area i n v o l v e s other almost as young areas o f study. For i n s t a n c e , o p e r a t i n g systems are one of the prime c o n s i d e r a t i o n s i n i n v e s t i g a t i n g the performance of a system, and y e t i t has only been r e c e n t l y t h a t some b a s i c p r i n c i p l e s i n design methodology have s t a r t e d t o emerge ( f o r example see [HA70J, [DE72], [H070], [HA76J). U n t i l t h a t area i s ab l e to s o l i d i f y i t s domain and f u n c t i o n i n g s , the i m p l i c a t i o n s of the f i n d i n g s i n performance e v a l u a t i o n w i l l remain limited;. The r a p i d t e c h n o l o g i c a l advances c o n t r i b u t e to the everchanging nature of computer hardware and software and thus to the p r o l i f e r a t i o n o f new c o n f i g u r a t i o n s and systems. T h i s again makes i t very d i f f i c u l t f o r any i n s i g h t s gained i n a performance study to have very wide a p p l i c a t i o n . To develop any encompassing t h e o r i e s , i t w i l l have to transcend t h i s l e v e l . I t should be noted t h a t t h e r e i s a way of viewing computer systems performance e v a l u a t i o n which s t a t e s that the d i s c i p l i n e CHAPTER 1: I n t r o d u c t i o n . 3 w i l l have matured when, f o r the most p a r t , i t has disappeared as a separate f i e l d o f study [FE78, p. x v i i i j . T h i s view comes from the e n g i n e e r i n g p e r s p e c t i v e where the e v a l u a t i o n of performance i s an i n t e g r a l part of design and implementation, not a d i s t i n c t a f t e r - t h e - f a c t endeavour. C u r r e n t l y t h i s i s not the case i n computer systems design;. The fundamental p r i n c i p l e s of workload c h a r a c t e r i z a t i o n and of the e f f e c t s of hardware on them and t h e r e l a t i o n s h i p s between them and performance j u s t don't e x i s t y e t . So any s t u d i e s t h a t are done on performance as a f f e c t e d by the e v e n t u a l workload, are conducted a f t e r the hardware has been designed and implemented and l a y e r s of software placed on top. T h i s p l a c e s the e v a l u a t i o n much too f a r from the f o u n d a t i o n a l l a y e r of design and d e c i s i o n making(*)... This b r i e f i n t r o d u c t i o n h o p e f u l l y p r o v i d e s enough background on the r o l e and c u r r e n t s t a t e of the d i s c i p l i n e so that the reader may be able to p l a c e t h i s work i n i t s proper context. 1.2 BASIC GOAL, APPROACH, AND MOTIVATION. The b a s i c goal o f t h i s t h e s i s i s to d i s c o v e r , on the PDP 11/45 running under UNIX at the I n s t i t u t e of Animal Resource Ecology a t the U n i v e r s i t y of B r i t i s h Columbia, the major (*) Other r e l a t e d areas, such as o p e r a t i n g systems [ L I 7 2 ] , programming languages [F078], and microprogramming [CH76, p. 961] r e p o r t a s i m i l a r d i s a t i s f a c t i o n with the c u r r e n t r o l e of hardware, a g a i n , probably i n d i c a t i n g the immaturity of the whole spectrum of computer design,. CHAPTER 1: I n t r o d u c t i o n , 4 i n f l u e n c e s i n the system and t h e i r r e l a t i o n s h i p s * i n an attempt to analyze the performance of the system and p r e d i c t the e f f e c t s of p o s s i b l e hardware changes. The approach chosen i s , f i r s t o f a l l , t o determine probable workload parameters and p e r t i n e n t hardware and i n t e r n a l system parameters and t o develop a s u i t a b l e performance parameter. Tools to e x t r a c t t h i s i n f o r m a t i o n w i l l be c o n s t r u c t e d . Then a c o n t r o l l e d experiment, using a s y n t h e t i c workload, i s to be conducted v a r y i n g the parameters and r e c o r d i n g the values of the performance index. The r e s u l t s w i l l then be analyzed to t r y and e s t a b l i s h some strong r e l a t i o n s h i p s among the parameters. I f t h i s i s s u c c e s s f u l , then the e f f e c t of changes i n the workload and/or system on performance can be studied,. For example, one co u l d then determine how much the response would be degraded by adding more processes, or how much i t could be improved by adding more main memory. As w e l l , the r e l a t i o n s h i p s could be used to help answer comparative q u e s t i o n s such as whether the a d d i t i o n of new d i s k hardware i s more c o s t - e f f e c t i v e than the a d d i t i o n o f more main memory. The m o t i v a t i o n f o r t h i s p r o j e c t i s b a s i c a l l y t w o f o ld. F i r s t , as mentioned i n the previous s e c t i o n , the whole f i e l d o f computer performance e v a l u a t i o n i s very young and i n much need of r e s e a r c h i n even the most b a s i c i s s u e s . I t i s hoped t h a t the r e s u l t s of t h i s e f f o r t w i l l c o n t r i b u t e t o the understanding of the area. And secondly, the t a r g e t system i s a f a i r l y popular CHAPTER 1: I n t r o d u c t i o n , 5 one. Thus i t i s hoped t h a t any p r a c t i c a l i n s i g h t s or l e t h o d s used may be b e n e f i c i a l t o those who f i n d themselves i n s i m i l a r circumstances. F i n a l l y , a comment on the s t y l e and contents of t h i s r e p o r t i s i n order. I t c o n t a i n s i n many p l a c e s , a f a i r l y d e t a i l e d account of d e c i s i o n s and methods employed. T h i s w i l l h o p e f u l l y i n c r e a s e one's a b i l i t y to judge the us e f u l n e s s and appro p r i a t e n e s s of t h i s work. In chapters 2 and 4 a b a s i c understanding o f o p e r a t i n g systems i s assumed and a knowledge of UNIX w i l l be h e l p f u l though not e s s e n t i a l . Chapter 5, where an a n a l y s i s of the r e s u l t s i s conducted, r e q u i r e s a b a s i c understanding of some s t a t i s t i c a l t o o l s , most notably o f r e g r e s s i o n techniques. CHAPTER 2: D e s c r i p t i o n Of The System. 6 2. DESCRIPTION OF SYSTEM,. 2. 1 THE HARDWARE. The host machine f o r t h i s p r o j e c t i s a PDP11/45. I t has 56K words (16 b i t s per word) o f main memory, of which approximately 24K words are used by the operating system,. On-line secondary storage c o n s i s t s of two RK05 d i s k cartridges,. These have s m a l l c a p a c i t y (1.2 Mega words each) and slow t r a n s f e r time (about 90,000 words/sec,.),. They operate under the same c o n t r o l l e r and do not c u r r e n t l y have the c a p a b i l i t y t o o v e r l a p seeks. Because of the small o n - l i n e storage, there are a l s o two Dectape d r i v e s and one magtape d r i v e , which are used to s t o r e the bulk of the user f i l e s and data not immediately being needed. Other p e r i p h e r a l s i n c l u d e a p r i n t e r , p l o t t e r , and a card reader (which i s used to submit one batch job a t a time) . Access i s gained to the system e i t h e r through the card r e a d e r , or on an i n t e r a c t i v e b a s i s through the console, e i g h t other t e r m i n a l s , and one d i a l - u p p o r t . 2 . 2 OPERATING SYSTEM. The o p e r a t i n g system i n use i s UNIX (a f a i r l y e a r l y v e r s i o n of V6) . For a comprehensive d e s c r i p t i o n of UNIX, i n c l u d i n g source code, the reader i s r e f e r r e d to [ L I 7 7 ] . As w e l l , a good survey of i t s I/O , process c o n t r o l , and implementation can be found i n I RI78 ij and J.TH78 3 . . The f o l l o w i n g paragraphs summarize a few of t h e areas which are of p a r t i c u l a r concern to t h i s p r o j e c t . CHAPTER 2: D e s c r i p t i o n Of The System. 7 2m 2. 1 Processes,. The b a s i c u n i t of manipulation i n UNIX i s the process,. While the b a s i c concept i s e a s i l y understood, a r i g o r o u s d e f i n i t i o n of a process i n UNIX i n v o l v e s the system data s t r u c t u r e s {.1,1.77, p.7-1 i ] , For the purposes of t h i s t h e s i s , i t i s simply d e f i n e d as a program i n ex e c u t i o n . One of the c h i e f f e a t u r e s of a process i n UNIX i s i t s a b i l i t y to spawn descendants v i a a f o r k mechanism. Thus one user may have s e v e r a l processes executing simultaneously.. T h i s r e a l i z a t i o n i s needed l a t e r when d e s c r i b i n g the s e l e c t i o n o f parameters f o r the experiment ( s e c t i o n 4.2) and i n the d i s c u s s i o n of the s y n t h e t i c workload. The s t r u c t u r e of a process w i l l a l s o be b r i e f l y d e s c r i b e d . A l l processes c o n s i s t of three e n t i t i e s : program code, data, and a s t a c k . G e n e r a l l y , a l l three o f them are placed together i n main memory, thus r e q u i r i n g only one p o i n t e r t o keep tr a c k o f them, and making t h e i r manipulation e a s i e r . However, i t i s p o s s i b l e t o separate the program code and make i t r e e n t r a n t and sharable among other u s e r s . Thus many users can run the same program (such as a compiler) and only one copy of the program code needs to be i n main memory, saving c o n s i d e r a b l e space,. As w e l l , because i t i s pure code and thus never changes, the t e x t never needs to be swapped out, which reduces the swapping l o a d . 2.2-2 Scheduling P o l i c i e s . C H A P T E B 2 : D e s c r i p t i o n O f The S y s t e m . 8 W i t h m o s t a l g o r i t h m s i n U N I X , when a d e s i g n c h o i c e m u s t b e made b e t w e e n s i m p l i c i t y a n d p o w e r , t h e f o r m e r was u s u a l l y f a v o u r e d ^ T h i s i s v e r y e v i d e n t i n t h e s c h e d u l i n g p o l i c i e s , w h i c h w i l l be b r i e f l y d e s c r i b e d h e r e ( s e e A p p e n d i x A f o r a m o r e d e t a i l e d e x p l a n a t i o n o f t h e s w a p p i n g a n d c p u p o l i c i e s ) . The c p u s c h e d u l i n g a l g o r i t h m i n c o r p o r a t e s a l o o s e r o u n d r o b i n p o l i c y . T h e r e i s no t i m e q u a n t u m a s s u c h , t h o u g h i t w i l l g e n e r a l l y be a t m o s t o n e s e c , a n d w i l l be r e d u c e d a s t h e a m o u n t o f I / O i n c r e a s e s . T h e d e c i s i o n o f w h i c h p r o c e s s t o r u n n e x t i s b a s e d s o l e l y o n t h e p r i o r i t y o f a p r o c e s s , w h i c h f o r c o m p e t i n g u s e r p r o c e s s e s , i s b a s e d o n l y o n t h e c p u t i m e i n t e r v a l s b e t w e e n I / O ' s ( e x c l u s i v e o f c o n t e x t s w i t c h e s a n d s w a p s ) , - t h e l o n g e r t h e i n t e r v a l , t h e l o w e r t h e p r i o r i t y . A f t e r a p r o c e s s s l e e p s due t o I / O , i t ' s p r i o r i t y i s r e s e t t o t h e h i g h e s t p o s s i b l e u s e r p r i o r i t y . T h u s f o r i n s t a n c e , a p r o c e s s t h a t c o n t i n u a l l y d o e s l e s s t h a n o n e s e c o n d o f c p u t i m e f o l l o w e d b y a n I / O w i l l b e c o n s i d e r a b l y f a v o u r e d o v e r a p r o c e s s w h i c h i s t o t a l l y c o m p u t e b o u n d . T h u s we b e g i n t o s e e p o s s i b l e i n d i c a t i o n s t h a t t h e c p u o r I / O r e q u i r e m e n t s o f a p r o c e s s may h a v e some e f f e c t o n r e s p o n s e . U N I X u s e s a s w a p p i n g a l g o r i t h m t o h a n d l e l o a d s w h i c h e x c e e d t h e a m o u n t o f a v a i l a b l e m a i n m e m o r y . T o s u m m a r i z e t h e p o l i c y u s e d , s w a p p i n g i s o n l y d o n e when n e c e s s a r y , t h a t i s , o n l y when t h e r e i s a t l e a s t one p r o c e s s o u t o n d i s k t h a t w i s h e s t o u s e t h e c p u . P r o c e s s e s a r e s w a p p e d i n t o m a i n memory a s l o n g a s t h e r e i s CHAPTER 2: D e s c r i p t i o n Of The System. 9 room or i t i s decided t h a t i t i s time to boot someone from main memory out t o d i s k . The d e c i s i o n as t o which process(es) i s t o be brought i n i s based only on i t s elapsed time out on d i s k . S i m i l a r i l y , the d e c i s i o n as to which process(es) gets swapped out i s based only on i t s e l a p s e d time i n core. I t can be seen from t h i s (because the p o l i c y ignores such process c h a r a c t e r i s t i c s as s i z e ) , t h a t e s p e c i a l l y with a slow disk and l i t t l e main memory, swapping l i k e l y c o n t r i b u t e s s i g n i f i c a n t l y t o poor response, t o a po i n t where t h r a s h i n g i s l i k e l y to occur when th e r e are a few very l a r g e I/O bound processes i n the system. CHAPTER 3: Evaluation Methods. 10 3- EVALUATION METHODS. 3.1 OVERVIEW Once i t has been decided t h a t an e v a l u a t i o n i s to be conducted on a given system, one must then determine which approach to use: measurement (where the d e s i r e d i n f o r m a t i o n i s obtained d i r e c t l y from the system), or modelling (where a model of the a c t u a l system i s used to o b t a i n the d e s i r e d i n f o r m a t i o n ) . The p o s s i b l e methods s h a l l now be d i s c u s s e d and then the reasons f o r the approach chosen i n t h i s p r o j e c t s h a l l be given. One of the c h i e f advantages of modelling i s i t s a b i l i t y t o provide r e s u l t s when the t a r g e t system i s u n a v a i l a b l e f o r d i r e c t c o n t r o l . T h i s would be the case, f o r i n s t a n c e , i n a h i g h l y used commercial i n s t a l l a t i o n where the system must always be a v a i l a b l e f o r the customers, or i n c e r t a i n improvement s t u d i e s or i n the design of a new system where the t a r g e t system doesn't e x i s t yet;. Another area of s t r e n g t h of modelling i s where the study can be c o n c e p t u a l i z e d using f a i r l y s t r a i g h t f o r w a r d models and where s i m p l i f y i n g assumptions can be made about the i n p u t parameters. T h i s i s p a r t i c u l a r l y t r u e of a n a l y t i c techniques, which c o u l d l o o s e l y be d e s c r i b e d as employing paper and p e n c i l models ( f o r example, queueing models [GR78J or non-queueing models £CH75(]).. They o f t e n give s a t i s f a c t o r y r e s u l t s with a comparatively low c o s t . S e e [ K 0 7 8 ] f o r a good s y n o p s i s . One of t h e i r main problems has been t h a t the model d i d not adequately CHAPTER 3: E v a l u a t i o n Methods. r e f l e c t the a c t u a l f u n c t i o n s and i n t e r a c t i o n s , u s u a l l y stemming from making s i m p l i f y i n g assumptions that were u n r e a l i s t i c . T h i s i s e s p e c i a l l y t r u e where there are complex i n t e r a c t i o n s such as workloads and communication networks [CH77, the foreword]. However t h e r e are c u r r e n t l y very promising i n d i c a t i o n s o f success with the i n c r e a s e d emphasis on model v a l i d a t i o n [CH77]. As w e l l , there has r e c e n t l y been developed the "o p e r a t i o n a n a l y s i s " approach which bases d e c i s i o n s on observable and measurable g u a n t i t i e s only, thus r e q u i r i n g no s i m p l i f y i n g assumptions of the type needed by queueing models |_'DE78jJ.. . For a d i s c u s s i o n of the s t a t e o f the a r t f o r queueing models, the reader i s r e f e r r e d to j.MD78i],. M o d e l l i n g using s i m u l a t i o n techniques o f f e r s g r e a t e r f l e x i b i l i l t y . However i t s u f f e r s too as complexity i n c r e a s e s , not so much from i t s i n a b i l i t y to model complex events, but from the c o s t u s u a l l y i n v o l v e d . The co s t can be reduced i n some cases by using hybrid techniques, which i s simply a combination of s i m u l a t i o n and a n a l y t i c methods. There are again problems o f v a l i d a t i o n of the i n p u t parameters and the model. The other major e v a l u a t i o n approach i s d i r e c t measurement. I t has the important advantage of accuracy s i n c e i t uses the a c t u a l system and thus e l i m i n a t e s the need f o r a model and a l l i t s p i t f a l l s . I t s major drawback i s simply that the system t o be measured i s o f t e n i n a c c e s s i b l e f o r such an approach. Another disadvantage i s t h a t s i m i l a r to s i m u l a t i o n but u n l i k e a n a l y t i c CHAPTER 3: E v a l u a t i o n Methods, 12 modelling, l a r g e volumes of data are g e n e r a l l y c o l l e c t e d which o f t e n become unwieldy. A l s o , f o r measurement experiments where the a c t u a l p r o d u c t i o n workload cannot be used, a s y n t h e t i c workload must be c o n s t r u c t e d which then i n t r o d u c e s v a l i d a t i o n problems s i m i l a r t o those of i n p u t parameters i n modelling.. See [FE72J f o r the problems of c h a r a c t e r i z i n g workloads. 3.2 CHOICE FOR THIS EXPERIMENT The approach chosen f o r t h i s p r o j e c t was measurement* The main reason i s t h a t we have an almost i d e a l environment f o r i t : a d e d i c a t e d system with access to the source code of the o p e r a t i n g system and thus the a b i l i t y to change i t . UNIX i s w r i t t e n i n a high l e v e l language which makes i t easy t o change and has the advantage of being easy t o understand,which i s e s s e n t i a l t o ensure that the changes made are, indeed, what i s d e s i r e d and causes no s i d e e f f e c t s . We were given a removable disk c a r t r i d g e with a copy of the UNIX system on i t and were allowed to run our own a l t e r e d v e r s i o n a f t e r midnight when no one e l s e was using the system. T h i s set-up i s very a p p r o p r i a t e f o r an experiment which wishes t o see the i n f l u e n c e s t h a t v a r i o u s parameters have on the responsiveness of the system. I t a l l o w s us to conduct a c o n t r o l l e d experiment, t h a t i s , to develop a workload i n which we can c o n t r o l the d e s i r e d parameters and hold constant any u n d e s i r a b l e i n f l u e n c e s . While the parameters c o u l d a l s o , be c o n t r o l l e d i n modelling, i t i s unsure whether the model i t s e l f CHAPTER 3: E v a l u a t i o n Methods. 13 would capture a l l the i n t e r a c t i o n s which might occur among the v a r i a b l e s i CHAPTER 4: Setup and Procedure of Experiment. 14 4..DESCRIPTION OF EXPERIMENT: SETUP - AND - PROCEDURE -4.1 OVERVIEW In t h i s c h a p t e r , the experiment which was conducted s h a l l be d e s c r i b e d i n d e t a i l . . As y e t , there i s no d i s t i n c t methodology f o r e v a l u a t i n g a s y s t e m a n d thus i t seems wise, t o i n c l u d e the procedure t h a t was i n v o l v e d here, i n hopes t h a t e v e n t u a l l y a common methodology w i l l emerge:, . Things are presented b a s i c a l l y i n the same.order as they occured i n the development of t h i s p r o j e c t . Having decided to do a measurement experiment, the f i r s t step i s to decide what performance measure to use and then to i d e n t i f y the major parameters which i n f l u e n c e i t ; Included i n t h a t s e c t i o n i s a d i s c u s s i o n of the hoped-for r e l a t i o n s h i p s between them. The next s t e p was to develop t o o l s t o e x t r a c t the d e s i r e d i n f o r m a t i o n from the system. An e x p l a n a t i o n of the exact type of i n f o r m a t i o n obtained from these t o o l s i s i n c l u d e d . F o l l o w i n g t h i s , i t was necessary to develop a s y n t h e t i c workload which would allow f o r a c o n t r o l l e d experiment.. And f i n a l l y came the experiment, of which the design and implementation are d i s c u s s e d . 4.2 PARAMETERS. . 4,. 2. 1 I d e n t i f i c a t i o n , The i n i t i a l s tep i s t o determine which type:of performance i n d i c a t o r to use; The t h r e e b a s i c c a t e g o r i e s are those CHAPTER 4: Setup and Procedure of Experiments 15 concerned with the responsiveness of the system, those concerned with throughput, and those concerned with u t i l i z a t i o n . The o n l y major concern a t the host s i t e i s the responsiveness of the system. See the next s e c t i o n f o r the c h o i c e made and d e s c r i p t i o n s The i d e n t i f i c a t i o n of the major i n f l u e n c e s i n a system i s as yet a l a r g e l y s u b j e c t i v e and i n t u i t i v e process,.. I t i s aided by p r e v i o u s attempts on other s i m i l a r systems, and more i m p o r t a n t l y by the e v a l u a t o r * s knowledge of the system a t the user and system l e v e l s and from i n s i g h t s gained by the other users of the system. I t i s o f t e n an i t e r a t i v e p rocess. F o r t u n a t e l y , i n t h i s case, the system i s small (and comprehensible) and the problems stood out f a i r l y clearly,. As w e l l , the o p e r a t i n g system i s w e l l w r i t t e n i n a high l e v e l language, making i t s comprehension much easier,. From the d e t a i l s of chapter 2 and the swapping a l g o r i t h m of appendix A, and a l s o from observing t h e . l i g h t s on the d i s k d r i v e , i t became f a i r l y obvious t h a t the d i s k was the major b o t t l e n e c k and t h a t the l i k e l y c u l p r i t was swapping. With t h i s i n mind, and yet remaining open to other c o n s i d e r a t i o n s , we chose those parameters which were f e l t t o be p o s s i b l e candidates i n a f f e c t i n g the response of the system. These parameters, which w i l l be d e s c r i b e d a f t e r the s e c t i o n on the performance parameter, are d i v i d e d i n t o those stemming from the workload, those o r i g i n a t i n g from the system hardware, and CHAPTER 4 : Setup and Procedure of Experiment 16 those i n d i c a t e d i n t e r n a l l y by the system software* 4.2.2 D e s c r i p t i o n & J u s t i f i c a t i o n : The Performance Parameter.. There are s e v e r a l r esponsiveness i n d i c e s which have been used (see J . S V 7 7 J J ) . From an i n t e r a c t i v e u s e r ' s viewpoint, response time i s u s u a l l y the q u a n t i t y which one i s most d i r e c t l y aware of and i n t e r e s t e d i n . . However i n t h i s experiment such a q u a n t i t y i s i n a p p r o p r i a t e since the experiment i s c o n t r o l l e d and t h e r e i s no t e r m i n a l input (see workload c o n s t r u c t i o n , s e c t i o n 4 . 4 ) , . I t was e v e n t u a l l y decided t o use a type of r e a c t i o n time which we l a b e l l e d " p r i o r i t y based r e a c t i o n time", but f o r b r e v i t y w i l l simply r e f e r to as r e a c t i o n time (see appendix B f o r the b a s i s f o r t h i s c h o i c e ) . The event which i s timed i s the p e r i o d from when a process wakes up u n t i l i t i s s e l e c t e d as the next process to run. A process s l e e p s or i s suspended i n UNIX when f o r i n s t a n c e i t must wait f o r some I/O to f i n i s h . . The r e a c t i o n time i s not measured f o r a l l processes however, but only f o r those with low p r i o r i t y . S p e c i f i c a l l y , i t i s done f o r processes whose p r i o r i t y i s t h a t of t e r m i n a l i n p u t or lower (which i n c l u d e s t e r m i n a l o u t p u t ) . . 4.2.3 D e s c r i p t i o n and J u s t i f i c a t i o n : The Other Parameters* a) workload parameters,. 1) the number of processes - This i s a f a i r l y obvious candidate s i n c e , i t i s the b a s i c u n i t of manipulation i n CHAPTER 4: Setup and Procedure of Experiment. 17 UNIX. 2) process s i z e - I t i s c l e a r t h a t t h i s i s l i k e l y an important parameter as w e l l i . The i l l u s t r a t i o n of t h r a s h i n g i n s e c t i o n 2.2-2 serves as an i n d i c a t i o n of the i n f l u e n c e t h a t the s i z e of a process may have i n an extreme case (though i t should be recognized t h a t the s i t u a t i o n i n 2.2.2 i s a l s o a f u n c t i o n of the system hardware and the number of processes) . 3) f i l e sytem requirements of a process - Disk I/O i s c o n s i d e r e d the major b o t t l e n e c k * . While i t i s f e l t t h a t t h i s i s mainly due t o swapping, there i s probably a c o n t r i b u t i o n brought about by processes t r y i n g t o access the f i l e system. As w e l l , i t was i n d i c a t e d t h a t i n the cpu s c h e d u l i n g a l g o r i t h m , the p r i o r i t y of a process i s s t r o n g l y i n f l u e n c e d by the amount o f I/O i t does. 4) cpu requirements of a process - As i n d i c a t e d i n s e c t i o n 2.2s2, i t appears t h a t the length of a process's cpu request may a f f e c t i t s responsiveness. Parameters 2, 3, and 4 are on a per process b a s i s (as opposed to a per workload b a s i s ) . In doing so, t h i s keeps the parameters a l l w i t h i n the context of the b a s i c u n i t o f manipulation w i t h i n UNIX and enhances modularity i n the deisgn of our workload, b) system hardware parameters.. 1) main memory c a p a c i t y - The a d d i t i o n of more primary memory i n t u i t i v e l y appears to be the most promising remedy CHAPTER 4: Setup and Procedure of Experiment 18 to the d i s k b o t t l e n e c k . , With more main memory, the system could f i t more processes i n at a time and thus the swapping should be reduced i f not e l i m i n a t e d , So the choice of t h i s q u a n t i t y as a parameter i s very a p p e a l i n g . . F o r t u n a t e l y w i t h i n UNIX, one of the r o u t i n e s used to help boot i t s e l f up checks the a c t u a l amount of main memory a v a i l a b l e . And so by s l i g h t l y a l t e r i n g t h a t r o u t i n e , systems can be c r e a t e d which would be: " t r i c k e d " i n t o working with l e s s main memory than what i s p h y s i c a l l y p r e s e n t . 2) d i s k c o n f i g u r a t i o n - The d i s k i s a l s o a probable hardware parameter, s i n c e a f a s t e r d i s k would reduce the backlog t h a t c u r r e n t l y occurs.. Simulation c o u l d be used to study the e f f e c t s t h a t would occur with a a f a s t e r d i s k or m u l t i p l e disks.* However, to keep the experiment w i t h i n reasonable bounds, t h i s parameter w i l l remain constant,. I t s h o u l d be noted t h a t the e f f e c t of a f a s t e r d i s k can be roughly estimated i f an equation f o r the r e a c t i o n time i n terms of the i n t e r n a l system parameters ( s p e c i f i c a l l y the d i s k waits and queue lengths) can be obtained,. T h i s estimate would then be p o s s i b l e s i n c e the hardware manufacturers u s u a l l y i n c l u d e i n f o r m a t i o n such as the average t r a n s f e r time, e t c . , which could be used to estimate the s h o r t e r disk waits. C) i n t e r n a l system parameters. T h i s i s the term used t o d e s c r i b e those q u a n t i t i e s d e r i v e d from the i n t e r n a l s t r u c t u r e of the o p e r a t i n g system (e.g. queue CHAPTER 4: Setup and Procedure of Experiment* 19 l e n g t h s ) . While the q u a n t i t i e s chosen w i l l l i k e l y be v a l u a b l e to observe, the procedure to s e l e c t them was again a r b i t r a r y . . These parameters are i n c l u d e d f o r the p o s s i b l e i n s i g h t s they may g i v e i n i n t e r p r e t i n g the r e s u l t s of the experiment, f o r p o s s i b l e use i n determining the i n f l u e n c e of the d i s k , and f o r p o s s i b l e f u t u r e r e s e a r c h . There are b a s i c a l l y two views t h a t can be taken towards these q u a n t i t i e s . . One can view them as i n d i c a t o r s of how w e l l the system i s handling the workload, t h a t i s , as a r e a c t i o n of the system t o the workload. In t h i s c o n t e x t , i f one was i n t e r e s t e d , they could be candidates f o r performance parameters. However i n t h i s p r o j e c t our main concern i s with the responsiveness o f the system and not d i r e c t l y with the i n t e r n a l e f f i c i e n c y of the system. In t h i s t h e s i s the i n t e r n a l system parameters are viewed as v a r i a b l e s t h a t can be r e l a t e d t o the performance parameter. The f o l l o w i n g are those t h a t have been s e l e c t e d . 1) swap r a t e - This together with swap s i z e i s the prime suspect f o r the cause of the d i s k c o n g e s t i o n and so i t s i n c l u s i o n i s obvious. 2) swap wait - T h i s i n c l u d e s the waiting time i n the queue as w e l l as the a c t u a l I/O time,. I t i s i n c l u d e d along with the swap r a t e s i n c e the swap r a t e does not d i f f e r e n t i a t e between the s i z e of swaps, which f o r a slow d i s k , c o u l d have a s u b s t a n t i a l e f f e c t on responsiveness. The swap wait does capture t h i s e f f e c t . 3 ) d i s k queue l e n g t h - T h i s w i l l h e lp i n d i c a t e the number of f i l e system accesses t h a t are being made to the CHAPTER 4: Setup and Procedure of Experiment 20 d i s k , - the l o n g e r the queue, the g r e a t e r the number of accesses. T h i s i s not e n t i r e l y t r u e s i n c e the swapper I/O gets queued onto the same d i s k queue (and i t gets queued a c c o r d i n g t o the same a l g o r i t h m , t h a t i s , swap I/O gets no s p e c i a l p r i o r i t y ) . The. swapper i n f l u e n c e i s not very s i g n i f i c a n t on the queue l e n g t h however, s i n c e the number of swaps i s a t l e a s t an order of magnitude l e s s than the number of f i l e system accesses. 4) d i s k waits - As with queue l e n g t h s , t h i s q u a n t i t y helps i n d i c a t e the number of f i l e system accesses. However, i t i s much more h e a v i l y i n f l u e n c e d by the swap I/O. Thi s i s because a l l f i l e system I/O c o n s i s t s of a block of 256 words, whereas the s i z e of swap I/O b l o c k s o f t e n i s s e v e r a l kwords.. Again, f o r a slow d i s k , t h i s d i f f e r e n c e c o u l d be s i g n i f i c a n t and w i l l be worth n o t i n g , 5) cpu i n t e r v a l s - t h i s i n t e r v a l i s the time between context switches (not to be confused with the time between l / 0 * s , which i s the q u a n t i t y used by the cpu s c h e d u l i n g algorithm) . T h i s q u a n t i t y i s i n c l u d e d t o g i v e us a d e t a i l e d view o f cpu usage.. See s e c t i o n 6,2 f o r h i n d s i g h t comments. There are s e v e r a l q u a n t i t i e s which are excluded i n t h i s experiment* F o r i n s t a n c e , I/O to other p e r i p h e r a l s i s not considered as a prelimenary experiment was performed which i n d i c a t e d t h a t the d i s k I/O was by f a r the dominant q u a n t i t y . . CHAPTER 4: Setup and Procedure of Experiment. 21 The e x c l u s i o n of some of the other q u a n t i t i e s i s more d i f f i c u l t t o j u s t i f y except again on the b a s i s t h a t the experiment would become too l a r g e and the overhead too h i g h . These v a r i a b l e s would i n c l u d e f o r i n s t a n c e the cpu and swap queue lengths* 4.2.3 P o s s i b l e R e l a t i o n s h i p s * From the r e s u l t s of the experiment we hope to be a b l e t o d e r i v e an equation f o r the performance parameter i n terms of the workload parameters and system hardware parameters,. T h i s i s very d e s i r a b l e f o r i t would give us the a b i l i t y to p r e d i c t the expected r e s p o n s i v e n e s s given the c h a r a c t e r i s t i c s of the workload ( i n terms of the above parameters) or g i v e n a d e s i r e d change i n the hardware.. I t must be r e a l i z e d though, t h a t the r e s u l t s cannot be assumed t o be a p p l i c a b l e t o a r b i t r a r y workloads. I t i s not w i t h i n the scope of t h i s t h e s i s t o prove the the s y n t h e t i c workload i s e q u i v a l e n t to the p r o d u c t i o n workload (see s e c t i o n 4,4 f o r the procedure t h a t was employed). However i t i s hoped t h a t the r e l a t i o n s h i p w i l l be q u i t e s i m i l a r and thus o f s i g n i f i c a n t p r a c t i c a l value;. Other p o s s i b l e r e l a t i o n s h i p s of i n t e r e s t , though of l e s s p r a c t i c a l v a l u e , may be found i n d e r i v i n g the i n t e r n a l system parameters i n terms of the workload parameters or the performance parameter i n terms of the i n t e r n a l system parameters* T h i s may be of i n t e r e s t t o the person who wishes to change t h e . o p e r a t i n g system and wants to see where; i n t e r n a l l y , CHAPTER 4: Setup and Procedure of Experiment. 22 are the main i n f l u e n c e s , 4.3 DESCRIPTION OF THE MEASUREMENT TOOLS 4.3.1 Background From the previous s e c t i o n , i t was decided to c o l l e c t d i s k , swap, cpu and r e a c t i o n time i n f o r m a t i o n . The f i r s t t h r e e q u a n t i t i e s are very high volume and so we need a data c o l l e c t i o n method which can o b t a i n t h i s i n f o r m a t i o n without i n t e r f e r i n g too much with the system* There are three b a s i c types of monitors t h a t can be used t o c o l l e c t data: hardware, firmware and software (see [FE78J f o r the g e n e r a l merits of each). For t h i s study a hardware monitor would have been i d e a l but was u n a v a i l a b l e . The host computer i s not microprogrammable and so firmaware t o o l s were not a p p l i c a b l e . T h i s l e f t us with the task of developing software t o o l s which could gather high volume data without d i s t u r b i n g the system too much. P r i o r t o t h i s p r o j e c t , there was developed on the host computer a software t o o l f o r low volume data. T h i s t o o l was modified f o r our purposes and w i l l be d e s c r i b e d now. The changes are e x p l a i n e d i n some d e t a i l as i t i s hoped t h a t i n an area where no c l e a r methodologies have emerged, the s h a r i n g of such i n f o r m a t i o n might be an a i d i n d i s c o v e r i n g commonalities. 4.3.2 Operating System Changes The f o l l o w i n g are the r o u t i n e s and data s t r u c t u r e s t h a t were implanted i n our modified v e r s i o n of DNIX.. CHAPTEE 4: Setup and Procedure of Experiment. 23 a) a new clock;. The r e g u l a r c l o c k on our ver s i o n of UNIX i s accu r a t e t o the ne a r e s t 1/60 sec, In some p r e l i m i n a r y t e s t s , t h i s r e s o l u t i o n was thought to be j u s t b a r e l y adequate f o r our purposes and was inadequate f o r any type of d e t a i l e d d i s k t i m i n g a n a l y s i s . As w e l l , by using the same c l o c k t h a t the whole system uses, there i s the p o s s i b i l i t y of becoming unavoidably synchronized with other events i n the system and thus producing d i s t o r t e d r e s u l t s . F o r t u n a t e l y a f a s t e r c l o c k was d i s c o v e r e d i n a DUP-11 synchronous l i n e i n t e r f a c e . The c l o c k i n t h i s p i e c e of hardware i s used f o r i n t e r n a l maintenance and has a r e s o l u t i o n of j u s t over one m i l l i s e c o n d * By w r i t i n g some code to d r i v e the c l o c k , we s o l v e d the above problems , though at the expense of s l i g h t l y g r e a t e r overhead, b) t i m i n g r o u t i n e s * Two r o u t i n e s t o g e t h e r with a t a b l e acted as a stopwatch mechanism. When we wished t o s t a r t t i m i n g an event, a c a l l would be made t o the r o u t i n e START_TIWING* T h i s r o u t i n e would be passed a unique value t o i d e n t i f y the event and would s t o r e the value and the c u r r e n t time i n the t a b l e . As i s the case i n UNIX, an address i s the value used t o uniquely i d e n t i f y an event. Each time i s st o r e d i n a 16 b i t word, a l l o w i n g us t o time events up to j u s t over one. minute (65536 m i l l i s e c o n d s ) , T h i s was more than adequate f o r any of the q u a n t i t i e s we wished t o measure. In t e s t s , we found r e a c t i o n times never exceeded 15 seconds, and the u n i n t e r r u p t e d cpu i n t e r v a l s , even on an i d l e system, never exceed 30 sec. due t o CHAPTER 4: Setup and Procedure of Experiment. 24 a background task t h a t awakens twice per minute. When we wished t o stop the t i m i n g of an event, a c a l l would be made t o the r o u t i n e STOP_TIMING. The i d e n t i f y i n g value o f the event would be passed t o i t , and the r o u t i n e would then c a l c u l a t e and r e t u r n the elapsed time s i n c e the t i m i n g was s t a r t e d . c) r o u t i n e to output the s t a t i s t i c s * When t h i s r o u t i n e (STAPOT) i s c a l l e d , i t i s passed a v a r i a b l e l e n g t h a r r a y c o n t a i n i n g the i n f o r m a t i o n to be output from the o p e r a t i n g system, STATPOT p l a c e s t h i s i n f o r m a t i o n plus the elapsed time s i n c e i t was l a s t . c a l l e d i n one.of the s p e c i a l l y c r e a t e d output b u f f e r s , . When the b u f f e r i s f u l l , i t prods the e x i s t i n g magtape device handler t o w r i t e the b u f f e r d i r e c t l y onto magtape. From t e s t i n g i t was found t h a t t h r e e 512-byte b u f f e r s proved t o be s u f f i c i e n t i n p r e v e n t i n g a b u f f e r from being o v e r w r i t t e n before the magtape handler was f i n i s h e d with i t . d) c o n t r o l l i n g the output, I t i s d e s i r a b l e t o have the a b i l i t y to t u r n on or o f f the output of the data* To accomplish t h i s , we modified the mechanism t h a t was p r e v i o u s l y implemented i n the low volume measurement t o o l . . B a s i c a l l y a new dev i c e , c a l l e d a " s t a t " device, was cr e a t e d , That i s , open, c l o s e and read r o u t i n e s were w r i t t e n f o r i t i n the op e r a t i n g system, and a node was made i n the f i l e system f o r i t * The open r o u t i n e simply makes sure i t i s not alrea d y open, and then s e t s the s t a t u s t o "OPEN". The s t a t u s i s CHAPTER 4: Setup and Procedure of Experiment. 25 checked by STATPUT, which simply r e t u r n s i f the d e v i c e i s not open:. The c l o s e r o u t i n e s e t s the s t a t u s to "CLOSE", The read r o u t i n e i s not used f o r our m o d i f i c a t i o n s * Thus when a user program i s s u e s an open system c a l l on the " s t a t d e v i c e " (*) the c o l l e c t i o n i n f o r m a t i o n s t a r t s to be w r i t t e n onto the magtape. U s u a l l y the user process w i l l then s l e e p u n t i l i t i s d e s i r e d to stop the output of t h i s i n f o r m a t i o n , at which time the user process must then wake up and c l o s e the " s t a t d e v i c e " . e) imbedded code,. C a l l s to the t h r e e r o u t i n e s START_TIMING, STOP^TIMING, and PUTSTAT, were placed i n the e x i s t i n g code of the o p e r a t i n g system a t the p o i n t s we wished to observe,. These areas i n c l u d e d the d i s k handler, j u s t before a request i s queued and j u s t a f t e r the I/O has completed; the p l a c e where the d e c i s i o n t o swap i s made; the r o u t i n e t h a t handles context switches; and f o r r e a c t i o n times, the p l a c e where a process i s put to s l e e p . 4.3.3 D e s c r i p t i o n of Information C o l l e c t e d The f o l l o w i n g d e s c r i b e s the f o u r b a s i c types of i n f o r m a t i o n (or records) t h a t were c o l l e c t e d . The r e c o r d s c o n t a i n the needed i n f o r m a t i o n t o observe the i n t e r n a l system parameters and the performance parameter t h a t were d e f i n e d i n s e c t i o n 4,2.2. (*) T h i s i s s l i g h t l y s i m p l i f i e d , A c t u a l l y the mechanism uses the minor d e v i c e . number to c r e a t e 5 " s t a t d e v i c e s " : s t a t O , , . s t a t 4 , STATPUT must then a l s o be passed the minor device number and then must check t h a t the corresponding " s t a t d e v i c e " i s open. This a l l o w s g r e a t e r c o n t r o l over e x a c t l y which i n f o r m a t i o n i s output* CHAPTER 4: Setup and Procedure of Experiment;. 2 6 The f i r s t two values of each r e c o r d are r e s p e c t i v e l y , the elapsed time s i n c e the previous r e c o r d was output and a value i d e n t i f y i n g the type of r e c o r d i t i s . . See Table I f o r the contents o f the remainder of each r e c o r d . Table I D e s c r i p t i o n of Unique P o r t i o n of Records; Record Type Unique Contents d i s k - disk l o c a t i o n - s i z e of t r a n s f e r - queue le n g t h - t o t a l wait time f o r t r a n s f e r - f l a g s S minor device number swap - disk l o c a t i o n - s i z e of t r a n s f e r - wait time i n swap queue cpu - cpu i n t e r v a l r t - r e a c t i o n time 4,4 WORKLOAD USED FOR THE EXPERIMENT 4.4.1 P o s s i b i l i t i e s and Choice, When one wishes t o measure the performance of a system, e i t h e r the n a t u r a l (production) workload can be used or an a r t i f i c i a l workload can be developed t o d r i v e the system; The production workload (or a segment of i t such as the peak load) has the obvious advantage of being most r e p r e s e n t a t i v e , though t h i s can be a f f e c t e d by the c h o i c e of when and how the system i s measured. A r t i f i c i a l workloads o f f e r b e t t e r r e p r o d u c a b i l i t y , are more f l e x i b l e and p o t e n t i a l l y more compact, though they are more expensive t o c o n s t r u c t , l e s s r e p r e s e n t a t i v e and o f t e n c o n t a i n a c e r t a i n annoyance f a c t o r i n t h a t they r e q u i r e a CHAPTER 4: Setup and Procedure of Experiment. 27 d e d i c a t e d system. In our s i t u a t i o n the production workload was not a v a i a b l e f o r monitoring and so we had to use a s y n t h e t i c workload. For the purposes o f t h i s t h e s i s , t h i s i s the most d e s i r a b l e c h o i c e anyway s i n c e we need a c o n t r o l l e d environment t o e s t a b l i s h the r e l a t i o n s h i p s of s e c t i o n 4,2,3. There are v a r i o u s types of a r t i f i c i a l workloads, - from i n s t r u c t i o n mixes (see £GI70] and £FL74jJ) to s t a n d a r d i z e d s y n t h e t i c benchmarks (see [FE78, p253J). For t h i s experiment a prototype process was c o n s t r u c t e d which became the b a s i s f o r our s y n t h e t i c workload. 4.4.2 C o n s t r u c t i o n of the S y n t h e t i c Workload The composition of the prototype process (or program) i s an i n f i n i t e l o op c o n s i s t i n g of the f o l l o w i n g : a) compute lo o p . A s e r i e s of statements are looped through a v a r i a b l e number of times a c c o r d i n g to a d i s t r i b u t i o n . b) d i s k I/O o p e r a t i o n s * F o l l o w i n g the compute loop, a r o u t i n e i s c a l l e d t o c r e a t e some disk I/O by r e a d i n g , w r i t i n g , opening or c l o s i n g a f i l e on the disk.„ In UNIX, however,; one must be aware t h a t simple reads or w r i t e s don't n e c e s s a r i l y do I/O to t h e d i s k , or at l e a s t not immediately* An i n t e r n a l pool of b u f f e r s i s r e s i d e n t i n memory. Reads or w r i t e s p l a c e i n f o r m a t i o n i n t o these b u f f e r s and, very l o o s e l y , the i n f o r m a t i o n w i l l stay there u n t i l the f i l e i s c l o s e d or the CHAPTER H: Setup and Procedure of Experiment. 28 b u f f e r i s needed f o r other purposes, at which time the a c t u a l d i s k f i l e w i l l be updated a c c o r d i n g l y . . c) s l e e p . There i s a system c a l l i n UNIX which allows a process to suspend i t s e l f f o r the number of seconds passed as a parameter. While i n t h i s experiment a c a l l to 'sleep' helps t o simulate t h i n k time, i t s main use i s to i n c r e a s e the number of r e a c t i o n times t h a t are. produced by the process.. These are r e a c t i o n times of p r i o r i t y 100 or g r e a t e r , which should be very s e n s i t i v e to the responsiveness of the system. The d e c i s i o n t o s l e e p or not a f t e r each execution of the compute l o o p , i s d i s t r i b u t i o n d r i v e n . d) t e r m i n a l I/O. The n a t u r a l workload, c o n s i s t i n g l a r g e l y o f i n t e r a c t i v e users, i n v o l v e s a gre a t deal of t e r m i n a l i n p u t ; I t was f e l t t h a t t h i s could not be simulated i n our s y n t h e t i c workload, s i n c e t h i s would r e q u i r e e i t h e r e x t r a hardware to feed commands i n t o the system, or some people s i t t i n g at t e r m i n a l s and t y p i n g i n a s e t of commands at a given ra t e i n t o the system. N e i t h e r the hardware nor the manpower were a v a i l a b l e . As w e l l , i t was f e l t t h a t the l a t t e r technique would open the experiment to too much p o t e n t i a l human e r r o r . To compensate f o r the r e a c t i o n times l o s t due to the omission of processes waiting f o r t e r m i n a l input* i t was decided to approximate t h i s by w r i t i n g a s t r i n g of c h a r a c t e r s to the t e r m i n a l v i a the f i l e system. What t h i s does i s t h a t i t s u f f i c i e n t l y f i l l s the t e r m i n a l output b u f f e r mechanism and CHAPTER 4: Setup and Procedure of Experiment. 29 causes the process to be suspended (at a p r i o r i t y only s l i g h t l y lower than the input p r i o r i t y ) u n t i l the c h a r a c t e r s have been sent to the t e r m i n a l . The number of c h a r a c t e r s t r i n g s ( c o n s i s t i n g of 25 c h a r a c t e r s ) i s determined by a d i s t r i b u t i o n * e) process s i z e . There i s a dummy a r r a y i n the prototype process which can be s t a t i c a l l y v a r i e d to give us the d e s i r e d s i z e * To c r e a t e the s y n t h e t i c workload, t h i s p rototype process can then be d u p l i c a t e d (on a non-sharable b a s i s ) to g i v e the d e s i r e d number of processes. 4.4.3 J u s t i f i c a t i o n In the c r e a t i o n of the workload there:was a c o n t i n u a l s t r u g g l e t o maintain the balance between minimizing any u n d e s i r a b l e i n f l u e n c e s on the one hand and making i t complex enough to be r e p r e s e n t a t i v e on the other hand.. I f there were i n f l u e n c e s which we were not measuring and we d i d not t r y to minimize them ( u s u a l l y by keeping them c o n s t a n t ) , then t h e r e would be a l a r g e e r r o r i n our r e l a t i o n s h i p between the performance index and the workload and hardware parameters, r e n d e r i n g i t o f l i t t l e value.. Yet i f we e x e r t too much c o n t r o l so t h a t the workload i s very s i m p l i s t i c i n nature, then the r e l a t i o n s h i p w i l l be very strong but the r e s u l t s w i l l be next to u s e l e s s because i t p e r t a i n s to a workload that i s g r o t e s q u e l y d i s t o r t e d from r e a l i t y , . CHAPTER 4 : Setup and Procedure of Experiment* 3 0 The c r e a t i o n of a workload i n which processes are simply c l o n e s of a prototype i s s i m p l i s t i c yet necessary i f we want to i s o l a t e the e f f e c t s of the workload and hardware parameters. To help c r e a t e some r i c h n e s s i n the workload, a c e r t a i n amount of v a r i a b i l i t y was i n t r o d u c e d . The number of c o n s e c u t i v e times t h a t the compute loop i s performed, the d e c i s i o n of when to s l e e p , the amount of t e r m i n a l output, and the type of f i l e system o p e r a t i o n were a l l d i s t r i b u t i o n d r i v e n . T h i s adds v a r i a b l i t y while keeping t h e i r averages c o n s t a n t . As w e l l , the seed f o r the random number generator and the f i l e which i s accessed were both program parameters and thus were made d i f f e r e n t f o r each process. F i n a l l y , by exchanging hunks of code, though m a i n t a i n i n g the same order of execution, some of the p r o cesses were s t a r t e d i n d i f f e r e n t p l a c e s ( i . e . some s t a r t e d with the compute loop , others s t a r t e d by doing I/O),. From t h i s , i t i s hoped a h e a l t h y balance w i l l be achieved between complexity and c o n t r o l l a b i l i t y * 4.5 DESIGN OF THE EXPERIMENT The purpose of t h i s p r o j e c t i s t o help e s t a b l i s h a r e l a t i o n s h i p between the performance parameter and the workload and hardware parameters. In cases, such as t h i s one, where t h e r e may be i n t e r a c t i o n s among the parameters i t i s necessary to use a f a c t o r i a l design f o r the experiment* In a f a c t o r i a l design a l l v a l u e s of each parameter must be v a r i e d with a l l CHAPTER 4 : Setup and Procedure of Experiments 31 values of the other parameters. In s e c t i o n 4 s 2 we i d e n t i f i e d the q u a n t i t i e s which were f e l t t o i n f l u e n c e the responsiveness of the system. From among these q u a n t i t i e s , a subset was s e l e c t e d which became the f a c t o r s of our experiment. By " f a c t o r s " we mean those q u a n t i t i e s i n the experiment which we e x p l i c i t l y vary. The d i f f e r e n t values of a f a c t o r t h a t are used are c a l l e d the " l e v e l s " of a f a c t o r . The i n f l u e n c e s t h a t we are not i n t e r e s t e d i n and thus must hold constant are c a l l e d secondary f a c t o r s . We now wish t o i n d i c a t e the f a c t o r s and l e v e l s t h a t were s e l e c t e d . In determining which f a c t o r s t o use, i t had to be r e c o g n i z e d t h a t f o r a f a c t o r i a l design, each a d d i t i o n a l f a c t o r adds c o n s i d e r a b l y to the s i z e of the experiment. And so we s t a r t e d with those parameters deemed ( i n t u i t i v e l y ) to have the g r e a t e s t i n f l u e n c e : the number of processes, process s i z e , and s i z e of main memory. As w e l l , the mean cpu requirements inbetween c o n s e c u t i v e d i s k I/O's of a process(PC) were i n c l u d e d . Since the mean ra t e of d i s k I/O c a l l s per u n i t time i s i n v e r s e l y p r o p o r t i o n a l i n the prototype process t o PC, the f a c t o r PC i n d i c a t e s both the cpu and disk requirements. See:Table II f o r a summary of the f a c t o r s and t h e i r l e v e l s . In determining the l e v e l s of the f a c t o r s , a program was run on the p r o d u c t i o n system which c a l c u l a t e d the average number o f processes and the average s i z e over a given l e n g t h of time.. I t CHAPTER 4: Setup and Procedure of Experiment* 32 was found t h a t u s u a l l y on a busy system, there were about two READY processes and about 12 - 14 BLOCKed processes i n the system. U s u a l l y more than 30% of the processes have s i z e s between 100 - 200 b l k s (3k - 6k words), and up to 5% are over 500 b l k s (16k words) i n size,. The 50% which are.under 100 b l k s are u s u a l l y f a i r l y i d l e system processes. Table I I F a c t o r s & L e v e l s f o r O r i g i n a l Experiment. F a c t o r s L e v e l s # of procs (PN) 2, 4, 6 s i z e of a proc (PS) 157 b l k s (5Kw) 314 b l k s (10Kw) 470 b l k s (15Kw) cpu r e q ' t s of a proc(PC) 12, 186, 354 (msec) s i z e o f main memory (MM) 650 b l k s (20. 7Kw) 800 b l k s (25Kw) 955 b l k s (30Kw) The l e v e l s f o r the cpu requirements were l e s s c l e a r to determine, F o r t u n a t e l y a 150 minute glimpse of the p r o d u c t i o n workload was o b t a i n e d . See. Appendix C f o r the i n f o r m a t i o n e x t r a c t e d from i t . The d i s t r i b u t i o n of the compute loop of the s y n t h e t i c workload was manipulated u n t i l the r e s u l t a n t u n i n t e r r u p t e d cpu i n t e r v a l s c l o s e l y corresponded t o those of the production workload. T h i s formed one of the l e v e l s , with an average cpu i n t e r v a l of 12 m i l l i s e c o n d s . Since the p r o d u c t i o n workload on which i t was based was h i g h l y i n t e r a c t i v e with a l o t of e d i t i n g and c o m p i l i n g , the other two l e v e l s were chosen with l a r g e r cpu requests to h o p e f u l l y correspond to a more h i g h l y CHAPTER 4: Setup and Procedure of Experiment. 33 compute-bound environment.. See F i g u r e 4*1 f o r the d i s t r i b u t i o n s of the compute loops f o r the t h r e e l e v e l s * F i g u r e 4.1 D i s t r i b u t i o n of Compute Loops. (% of occurences) PC # o f times through loop • 5 20 200 5000 12 | __ 47" 4 9 ~ — 186 | 1 1 48 50 354 1 1 1 1 97 The maximum l e v e l f o r main memory i s based on the maximum amount t h a t was a v a i l a b l e on the system.. The lower l e v e l i s based on p r o v i d i n g j u s t enough memory so th a t the l a r g e s t s i z e of a process f o r t h i s experiment could f i t (plus a l i t t l e e x t r a f o r some system s t u f f ) . I t s hould be noted t h a t the i n t e r n a l system parameters cannot be f a c t o r s s i n c e we have no d i r e c t c o n t r o l of t h e i r v a l u e s , - they are a l l observable q u a n t i t e s only. Thus while no a n a l y s i s of v a r i a n c e can be done on them, they are s t i l l c a n d i d a t e s f o r r e g r e s s i o n techniques. 4,6 IMPLEMENTATION The implementation of t h i s experiment i n i t i a l l y i n v o l v e d the a c q u i s i t i o n of a d i s k c a r t r i d q e with a v e r s i o n of UNIX on i t , changing the o p e r a t i n g system so t h a t i t c o n t a i n s the t o o l s d e s c r i b e d i n s e c t i o n 4.3, and running t h i s v e r s i o n on a CHAPTER 4: Setup and Procedure of Experiment* 34 d e d i c a t e d b a s i s . Before running the experiment, the length of a session had to be determined. I t i s assumed t h a t the s e r i e s of r e a c t i o n times are e r g o d i c , t h a t i s , the accuracy of the mean r e a c t i o n time i n c r e a s e s as the number of o b s e r v a t i o n s i n the s e r i e s are i n c r e a s e d . On t h i s b a s i s a sample workload was run s e v e r a l times i n c r e a s i n g the time l e n g t h s u n t i l the v a r i a t i o n over s e v e r a l runs of the same time l e n g t h was a c c e p t a b l y s m a l l . . An a l t e r n a t i v e method f o r d i s c o v e r i n g t h i s l e n g t h i s d i s c u s s e d i n [FE78, pp; 75-77]. T h i s point was found t o be 20 minutes with d i f f e r e n c e s of 5% or l e s s i n the v a l u e s of the performance parameter. . Since the o r i g i n a l experiment was f a c t o r i a l i n nature, i t r e q u i r e d 54 runs. As w i l l be seen i n chapter 5, t h i s proved i n s u f f i c i e n t and so an a d d i t i o n a l 29 runs were i n c l u d e d * . To minimize p o s s i b l e v a r i a t i o n s i n the s t a r t - u p procedure and to reduce p o s s i b l e e r r o r , each run was i n i t i a t e d v i a a f i l e of commands. UNIX has a mechanism which allows a command to be processed asynchronously* And so the b a s i c s t a r t - u p sequence i s to asynchronously: open the magtape f o r w r i t i n g ; execute another command f i l e which simply s t a r t s up the d e s i r e d number and type of prototype processes f o r the p a r t i c u l a r s y n t h e t i c workload; s l e e p f o r 15 seconds while the workload s t a b i l i z e s and then open the " s t a t d e v i c e " which w i l l enable the w r i t i n g of the CHAPTER 4 : Setup and Procedure of Experiment. 35 i n f o r m a t i o n onto the magtape, A f t e r a l i t t l e over 20 minutes the " s t a t d e v i c e " i s c l o s e d , s t o p p i n g the i n f o r m a t i o n flow. An e n d - o f - f i l e i s then w r i t t e n on the magtape and the s y n t h e t i c workload i s terminated. CHAPTER 5: R e s u l t s Of Experiment. 36 5. DESCRIPTION OF EXPERIMENT: RESULTS & ANALYSIS 5.1 INITIAL ANALYSIS. 5.1.1 F i r s t Set of Data. The v a l u e s of the performance parameter f o r the 54 runs are given i n Table I I I . Since i t was a f a c t o r i a l experiment, an a n a l y s i s of varia n c e was performed t o help i n d i c a t e the s i g n i f i c a n t i n t e r a c t i o n s among the f a c t o r s . Those c o n t r i b u t i o n s to the t o t a l sum of squares are i l l u s t r a t e d i n F i g u r e 5 . 1 . F i g u r e 5.1 A n a l y s i s of Variance R e s u l t s I t should be recognized t h a t the design o f the experiment i s such that t h e r e i s only one o b s e r v a t i o n f o r each combination o f l e v e l s * That does not allow us to uncover the exact amount o f e r r o r w i t h i n a combination.. As noted i n s e c t i o n 4.6, t h i s e r r o r Table III 37 Results of Initial Experiment. cpu memory # of size reaction time (msec.) (64b blks) procs (64b blks) (msec.) 12 955 2 157 5,. 84 12 955 2 314 5. 97 12 955 2 470 432.86 12 955 4 157 13. 66 12 955 4 314 1175.43 12 955 4 470 2250.61 12 955 6 157 514.19 12 955 6 314 1683.09 12 955 6 470 3539.72 12 800 2 157 8.07 12 800 2 314 85.06 12 800 2 470 1728.63 12 800 4 157 83.85 12 800 4 314 1742.33 12 800 4 470 4380.06 12 800 6 157 1011.09 12 800 6 314 2617.82 12 800 6 470 7469,52 12 650 2 157 5.70 12 650 2 314 293.62 12 650 2 470 1706.85 12 650 4 157 403.68 12 650 4 314 2059,48 12 650 4 470 4341.80 12 650 6 157 1295.64 12 650 6 314 3057.06 12 650 6 470 7112,48 186 955 2 157 6*65 186 955 2 314 7.85 186 955 2 470 642.81 186 955 4 157 9.70 186 955 4 314 1303. 29 186 955 4 470 1529.06 186 955 6 157 533.62 186 955 6 314 1375.00 186 955 6 470 2002. 51 186 800 2 157 6.77 186 800 2 314 146.92 186 800 2 470 1182,53 186 800 4 157 128.21 186 800 4 314 1254. 18 186 800 4 470 2381.16 186 800 6 157 1093.32 186 800 6 314 1717. 93 186 800 6 470 3995,25 186 650 2 157 7.35 186 650 2 314 562.55 186 650 2 470 1130.04 186 650 4 157 497.56 186 650 4 314 1672.34 186 650 4 470 2215,37 186 650 6 157 1392. 39 186 650 6 314 2237.34 186 650 6 470 3638. 75 CHAPTER 5: R e s u l t s Of Experiment, 3 8 i s thought t o be i n the neighbourhood of 5%. Within the context of t h i s experiment, the number of processes(PN), the s i z e of a process(PS) and t h e i r combination account f o r almost t w o - t h i r d s of the t o t a l sum of squares i n the r e a c t i o n time v a l u e s , T h i s i s not unexpected:. The s i z e of main memory(MM) d i r e c t l y accounts f o r 6% of the v a r i a t i o n . I t must be r e a l i z e d though t h a t t h i s much sm a l l e r c o n t r i b u t i o n i s l a r g e l y due to the s m a l l e r v a r i a t i o n of the l e v e l s of main memory as opposed to t h a t of PN and PS. To determine the exact r e l a t i o n s h i p s among the f o u r f a c t o r s , we t u r n t o r e g r e s s i o n a n a l y s i s . Techniques have been developed to s e l e c t the best independent v a r i a b l e s f o r a r e g r e s s i o n equation from a l i s t o f p o s s i b l e c a n d i d a t e s , given the dependent v a r i a b l e (see [DR66 J). The c a n d i d a t e s must of course be independent, Both the forward a l g o r i t h m (also c a l l e d stepwise r e g r e s s i o n ) and the backward a l g o r i t h m were used i n our s e l e c t i o n process, V i a the s t a t i s t i c a l package c a l l e d MIDAS J.F076J, The search f o r the best s e t of independent v a r i a b l e s to form the r e g r e s s i o n equation was a lenqthy one;* The measure used to roughly determine whether or not one equation was s u p e r i o r t o another was r**2, the square of the c o r r e l a t i o n c o e f f i c i e n t and which i s sometimes r e f e r r e d to as the c o e f f i c i e n t of determination [WA72, p.321],. T h i s value CHAPTER 5: R e s u l t s Of Experiment. 3 9 i n d i c a t e s the p r o p o r t i o n of the v a r i a t i o n i n the independent v a r i a b l e t h a t can be e x p l a i n e d by the r e g r e s s i o n equation.. We t r i e d numerous equations, almost t o the point of an exhaustive s e a r c h , without producing any stunning r e s u l t s ( t h a t i s , we f a i l e d t o get a value of r**2 > . 9 ) . Because of an i n a b i l i t y t o r e p r e s e n t the cpu requirements of a process (PC) i n any equation, i t appeared t h a t i t s two l e v e l s were i n s u f f i c i e n t , and so we conducted a second experiment o f 18 runs with a d i f f e r e n t value f o r PC. As w e l l , we chose d i f f e r e n t values f o r PN and PS to help i n c r e a s e the number of p o i n t s f o r those quantities.* 5.1.2 An Unusual Trend. An examination o f the data had qenerated another concern. Some of the runs had produced r e s u l t s which seemed c o u n t e r - i n t u i t i v e . G e n e r a l l y t h i s can e i t h e r l e a d to a new understanding o f the data or to a source of e r r o r . The runs i n ques t i o n are the s i x p a i r s which go from MM=800 t o MM=650 with PS=470 and PN and PS h e l d constant. One example(*) i s the p a i r (12,800,6, 470) with RT=7469.52 and (12,650,6,470) with RT=7112.48. I t i s unexpected t h a t , with e v e r y t h i n g e l s e h e l d constant, a decrease i n the s i z e of main memory would produce a qui c k e r r e a c t i o n time. Since t h e r e i s no apparent i n s i g h t which t h i s t r e n d uncovers, i t leaves two p o s s i b i l i t i e s : (a) one of the (*) Unless otherwise e x p l i c i t l y s t a t e d , data s h a l l be r e f e r r e d to by i t s l e v e l s f o r the fou r f a c t o r s and s h a l l be of the f o l l o w i n g form: (PC, MM, PN, PS), CHAPTER 5: R e s u l t s Of Experiment,, 40 p a i r s of the p o i n t s i s being s t r o n g l y i n f l u e n c e d by another q u a n t i t y which was overlooked i n the design of the experiment, or (b) the t r e n d i s simply due t o e r r o r , A re-examination o f the r e s u l t s and the workloads d i d not uncover any r e c o r d i n g or human e r r o r s , but r e c a l l i n g the rough experimental e r r o r bounds suggested i n s e c t i o n 4.6, the d i f f e r e n c e i n the values of the p a i r s i n a l l but one case becomes i n s i g n i f i c a n t * However the t r e n d remains somewhat d i s c o n c e r t i n g i n that i t i s f e l t t h ere should be a s i g n i f i c a n t t r e n d i n the opp o s i t e d i r e c t i o n . . While such a thought does not j u s t i f y l a b e l l i n g these p o i n t s as erroneous, a f u r t h e r examination needs t o be made.. 5.1.3 Second Set of Data. The r e s u l t s of the second s e t of runs are given i n Table IV* The t a b l e a l s o i n c l u d e s 11 e x t r a runs, nine of which were randomly chosen t o help strengthen the model, The other two were run to check out the trend mentioned above and suggests t h a t the t r e n d i s due t o e r r o r , s i n c e the values of RT dropped 13% f o r (12,800,6,470) and 21% f o r (186,800,6,470) from the o r i g i n a l runs; This s h a l l be used l a t e r * 5,1,. 4 The Quantity ' PCTRMM * . Regression a n a l y s i s was then a p p l i e d t o the combined 83 runs. There was s u f f i c i e n t change t o i n d i c a t e t h a t the p r e v i o u s model was inadequate. Various combinations of the independent v a r i a b l e s were t r i e d and one q u a n t i t y stood out as being very s t r o n g l y c o r r e l a t e d to r e a c t i o n time. I r e f e r t o t h i s q u a n t i t y CHAPTER 5: Results Of Experiment* 41 Table IV Results of Second Experiment. cpu memory # of size reaction time (msec.) (64b blks) procs (64b blks) (msec.) 354 955 3 220 12.00 354 955 4 220 498, 67 354 955 5 220 823.36 354 955 3 576 828.35 354 955 4 576 1504, 70 354 955 5 576 1918.93 354 800 3 220 196.91 354 800 4 220 797,08 354 800 5 220 787.76 354 800 3 576 728*40 354 800 4 576 1316.00 354 800 5 576 2252.27 354 650 3 220 673.61 354 650 4 220 657.31 354 650 5 220 867.20 354 650 3 576 1200.13 354 650 4 576 1470.14 354 650 5 576 2046.52 12 955 6 314 1755.37 12 800 4 314 1748.97 12 800 6 470 6530.28 12 650 2 314 303.92 12 650 5 576 6374.74 186 955 2 157 6.63 186 800 6 470 3187.56 186 650 4 314 1581.95 186 650 5 576 3249.73 354 650 5 314 1560. 86 354 650 5 470 1940. 98 CHAPTER 5: R e s u l t s Of Experiment. 42 as the percentage of remaining main memory ( denoted h e r e a f t e r by PCTRMM) and i s defined by the f o l l o w i n g eguation: MM -«PN * PS PCTRMM = ___________ * 100 (5,1) MM Thi s q u a n t i t y , which can be e i t h e r p o s i t i v e or ne g a t i v e depending on whether a l l the processes can f i t i n main memory or not, can account f o r a l a r g e amount of the v a r i a t i o n i n r e a c t i o n time (RT). However, we f a i l e d to f i n d other combinations o f independent v a r i a b l e s to account f o r the remainder of the vari a t i o n ; . . The reason f o r t h i s i s d i s c u s s e d next* . 5.1„5 Complexity of the PC F a c t o r . ' The nature of the PC f a c t o r appears t o be q u i t e c o mplicated. As i n f e r r e d i n s e c t i o n 4,5, as the cpu requirements of a process are a d j u s t e d , i t a l s o a f f e c t s the number o f f i l e system accesses.. S p e c i f i c a l l y , as the cpu requirements, are i n c r e a s e d , the r a t e of f i l e system accesses i n the prototype workload process are decreased.. On an independent b a s i s , an i n c r e a s e i n the cpu requirements would tend to i n c r e a s e r e a c t i o n time s i n c e , as i n t h i s experiment, f o r a l l cpu requests under one s e c ; , the cpu w i l l not do a con t e x t s w i t c h . Thus any other process competing f o r the cpu w i l l have to wait longer* . With the f i l e system access r a t e however^ t h i n g s are not so simple and can't even be co n s i d e r e d independent of the cpu reguests i n the con t e x t of t h i s experiment,. For i n the prototype p r o c e s s , the only way to i n c r e a s e the ra t e of f i l e system accesses i s to decrease the cpu requirements between C H A P T E R 5: R e s u l t s Of Experiment. 4 3 accesses. G e n e r a l l y when a f i l e system access occurs a con t e x t s w i t c h w i l l be made while t h a t process waits f o r i t s I/O t o complete. Thus any processes waiting f o r the cpu w i l l have a g r e a t e r chance of g e t t i n g i t s request s e r v i c e d and thus the r e a c t i o n time w i l l g e n e r a l l y be l e s s . T h i s t r e n d would s t a r t to r e v e r s e however i f most of the processes were doing a l a r g e amount of di s k I/O, s i n c e d i s k congestion would s t a r t to take i t s t o l l by i n c r e a s i n g the time to complete any i n d i v i d u a l request,. As w e l l , t h e r e are other t h i n g s to c o n s i d e r . I f user processes are t r y i n g t o access the d i s k then they w i l l be i n t e r f e r i n g with the swapping i f t h e r e i s any. T h i s w i l l tend to i n c r e a s e the r e a c t i o n time. Futhermore, processes which hav e . j u s t completed doing a f i l e system access r e t a i n f o r a s h o r t p e r i o d i n t h i s UNIX v e r s i o n , the p r i o r i t y o f a d i s k request (which i s much higher than a normal user p r i o r i t y ) . In t h i s case then, as the number o f f i l e system accesses i n c r e a s e s , there i s an i n c r e a s i n g chance of such processes g e t t i n g the cpu before a process, which because i t i s a t a lower p r i o r i t y and thus w i l l produce a r e a c t i o n time, w i l l o b t a i n the cpu. T h i s would tend to i n c r e a s e r e a c t i o n time v a l u e s . Regardless, there w i l l g e n e r a l l y be a longer wait, s i n c e the cpu must attend t o disk I/O f i r s t , which w i l l add s l i g h t l y to overhead. . F i n a l l y , t h e swapping al g o r i t h m needs to be examined f o r i t s i n d i r e c t c o n t r i b u t i o n i n t h i s matter. I t should be noted t h a t CHAPTER 5: R e s u l t s Of Experiment. when swapping must occur, the . swapper i n i t i a l l y l o o k s f o r blocked p r o c e s s e s t o swap out. Hence whenever a process does I/O, i t i s q u i t e l i k e l y t h a t i t w i l l get swapped out before the I/O i s completed* T h i s p r o b a b i l i t y i n c r e a s e s with the number o f processes and with s h o r t e r cpu requests.. The r e s u l t i s t h a t as the PC f a c t o r decreases, l e s s and l e s s work i s g e t t i n g done by a process before being swapped out* T h i s w i l l be r e f l e c t e d i n s i g n i f i c a n t l y l a r g e r r e a c t i o n times and i s due t o the s i m p l i s t i c nature of the swapping a l g o r i t h m , In summary, i t i s s u f f i c i e n t to say t h a t a change i n the value of the PC f a c t o r may have a s i g n i f i c a n t and complex e f f e c t on the r e a c t i o n time,. Examining the data, i t appears t h a t the o v e r r i d i n g e f f e c t i s t h a t as the PC value i s i n c r e a s e d , RT drops, i n d i c a t i n g the f i l e system access r a t e has the dominant i n f l u e n c e . T h i s holds t r u e f o r most, but not a l l , of the cases i n t h i s experiment. The complexity of the i s s u e , though, h e l p s e x p l a i n the d i f f i c u l t y i n developing a good r e g r e s s i o n e q u a t i o n . A hypothesis can be made t h a t i n the g e n e r a l case the PC f a c t o r a f f e c t s the s i z e of the cpu and d i s k queues. For s m a l l PC values i t i s f e l t t h a t the length of the d i s k queue on the average w i l l be l o n g e r than t h a t of the cpu queue but t h a t t h i s w i l l r e v e r s e as PC i n c r e a s e s . When the; d i s k queue i s s u b s t a n t i a l l y l o n g e r , t h e : f i l e access r a t e w i l l i n c r e a s e the value of RT, As PC i n c r e a s e s , however, t h i s i n f l u e n c e w i l l drop and e v e n t u a l l y when the cpu queue becomes s u b s t a n t i a l l y l a r g e r CHAPTER 5: R e s u l t s Of Experiment. 45 than the d i s k queue, RT w i l l again be i n c r e a s e d except t h a t t h i s time i t w i l l be due to the l o n g e r cpu requests;. C l e a r l y i f t h i s i s the case, then i t would be d e s i r a b l e t o f i n d the t r a n s i t i o n p o i n t , where n e i t h e r i n f l u e n c e has much e f f e c t . . 5.2 FINAL MODEL AND INTERPRETATION. The f i n a l model was d e r i v e d by p a r t i t i o n i n g the 83 runs i n t o three c a t e g o r i e s according to t h e i r PC value and doing a r e g r e s s i o n a n a l y s i s s e p a r a t e l y f o r each category.. T h i s allowed us t o i g n o r e the i n f l u e n c e due to changes i n the PC l e v e l , which as i n d i c a t e d i n t h e ; p r e v i o u s s e c t i o n was too complex a q u a n t i t y to adequately i n c o r p o r a t e i n t o an equation. The r e s u l t s are g i v e n i n Table V. He r e f e r t o t h i s model as model M1, I t i s noted that the PC=12 l e v e l was c o n s t r u c t e d t o c l o s e l y correspond with the g e n e r a l c h a r a c t e r i s t i c s of the p r o d u c t i o n workload. Table V R e s u l t s of I n i t i a l Regression. PC l e v e l r**2 value Equations (forming M1) 12 .92 RT = 642 - 19.0 * PCTRMM 186 .92 RT = 625 - 9.5 * PCTRMM 354 .91 RT = -241 - 4; 5 * PCTRMM + 204*PN The r**2 val u e s i n d i c a t e t h a t e i t h e r there i s a high e x p e r i m e n t a l e r r o r (see s e c t i o n 5.5 f o r p o s s i b l e sources) or t h e r e i s some other s m a l l , s t i l l hidden i n f l u e n c e . . An examination of the d u p l i c a t e runs i n T a b l e s I I I and IV CHAPTER 5: R e s u l t s Of Experiments 46 of (12,800,6,470) and (186,800,6,470) i n d i c a t e higher than usual e r r o r s . These two runs were members of the t r e n d mentioned i n s e c t i o n 5.1.2 and thus tend t o i n d i c a t e t h a t the trend i s l a r g e l y due t o some form of e r r o r r a t h e r than an undiscovered f a c t o r * Thus we removed the o b s e r v a t i o n s which made up the tren d and again a p p l i e d r e g r e s s i o n techniques. The r e s u l t i n g model s h a l l be c a l l e d model M2 and i s contained i n Table VI. The higher values of r**2 are encouraging. Both s e t s of r e s u l t s s h a l l be kept f o r val i d a t i o n , . From e i t h e r Table V or VI, we see t h a t PCTRMM i s s t r o n g l y c o r r e l a t e d with RT; For PC=354, PN i s a l s o found t o p o s i t i v e l y i n f l u e n c e RT, T h i s could be due to the i n t e r f e r e n c e on swapping caused by f i l e accesses, but i s u n l i k e l y s i n c e i t should then a l s o appear f o r PC=12 and 186. A more reasonable e x p l a n a t i o n seems to be t h a t i t i s due t o the lo n g e r cpu requests of t h i s s e t , which, as the number of processes are i n c r e a s e d , would tend t o produce l o n g e r r e a c t i o n times. T h i s e x p l a n a t i o n a l s o supports the hyp o t h e s i s i n s e c t i o n 5,1,5 t h a t the lon g e r cpu requests a r e i n c r e a s i n g the l e n g t h o f the cpu queue and values Table VI Re s u l t s of Second Regression* PC l e v e l r**2 value 12 ,96 186 .96 354 .91 Equations (forming M2) RT = 588 - 16.9 * PCTRMM RT = 595 - 8.9 * PCTRMM RT = -241 - 4.5 * PCTRMM + 204*PN CHAPTER 5: R e s u l t s Of Experiments 4 7 of RT are becoming more a f f e c t e d by i t and l e s s a f f e c t e d by the f i l e a c c e s s r a t e . Using model M2 a graph was p l o t t e d o f RT versus PCTRMM ( f i g u r e 5,2). The s o l i d l i n e s i n d i c a t e the r e g r e s s i o n l i n e s . The data f o l l o w s the l i n e s w e l l , but with s u b s t a n t i a l r e s i d u a l s . I t i s i n t e r e s t i n g t o note t h a t as the va l u e s of PC are i n c r e a s e d , the RT decreases., T h i s confirms the e a r l i e r i n d i c a t i o n ( s e c t i o n 5,1,5) that g e n e r a l l y i n the context of t h i s experiment, the PC f a c t o r i s dominated by the f i l e system i n f l u e n c e r a t h e r than by the cpu reguirements. The dotted l i n e f o r PC=12 i n d i c a t e s t h a t f o r l a r g e n e g a t i v e values of PCTRMM, RT i s probably becoming n o n - l i n e a r , and i f continued, would r e s u l t i n t o t a l t h r a s h i n g s As the value of PCTRMM i n c r e a s e s , the three s e t s of data e v e n t u a l l y converge and then drop i n unison t o very low value s of RT. T h i s occurs f o r p o s i t i v e values of PCTRMM, th a t i s , runs where a l l the processes can f i t i n t o main memory* T h i s e x p l a i n s why the t h r e e l i n e s drop together, s i n c e swapping no l o n g e r takes p l a c e . T h i s drop occurs at s l i g h t l y p o s i t i v e values o f PCTRMM r a t h e r than when i t e x a c t l y equals zero because i t must be remembered t h a t t h e r e are a few background system t a s k s which o c c a s i o n a l l y occupy a s m a l l amount of main memory but which a r e n ' t c o n s i d e r e d when c a l c u l a t i n g PCTRMM. Since PCTRMM i s a composite q u a n t i t y , graphs were produced Figure 5.2 Graph of RT versus PCTRMM 48 PCTRMM CHAPTER 5: R e s u l t s Of Experiment;. 49 to help develop a sense o f the i n d i v i d u a l e f f e c t s of the f o u r f a c t o r s . These are found i n f i g u r e 5.3 f o r PC=12 and 186 and MM=955 and 800, Because t h e r e are so few p o i n t s , the l i n e s are given merely as reasonable t r e n d s , not as exact r e l a t i o n s h i p s . As expected, when going from MM=955 to 650, the slo p e of the l i n e s i n c r e a s e . When going from PC=12 to 186, the e f f e c t s are less e n e d which again i n d i c a t e s the dominance of the f i l e a c c e s s r a t e on the PC f a c t o r . . In f i g u r e s 5.3(a), (c) , and (d) the l i n e s f o r high v a l u e s of PN become n o n - l i n e a r , i l l u s t r a t i n g the i n c r e a s i n g overhead due t o swapping, which of course w i l l e v e n t u a l l y cause almost t o t a l t h r a s h i n g , . For PN=2 the l i n e s s t a r t out h o r i z o n t a l and then make a f a i r l y abrupt r i s e * . T h i s r i s e occurs when the processes can no l o n g e r a l l f i t i n t o main memory and thus swapping i s i n i t i a t e d . The next step i n checking the r e s u l t s was t o take a b r i e f look a t the r e s i d u a l s , which a re the d i f f e r e n c e between the observed and p r e d i c t e d v a l u e s . The purpose f o r doing t h i s was to see i f i t would uncover any o u t l i e r s or aberrant o b s e r v a t i o n s , A simple s c a t t e r p l o t of the r e s i d u a l s a g a i n s t the p r e d i c t e d and observed values r e v e a l e d no such o d d i t i e s . For a more formal a n a l y s i s of r e s i d u l s , the reader i s r e f e r r e d to j; AN63 3 . F i n a l l y , a b r i e f d e s c r i p t i o n s h a l l be given of the equation t h a t r e s u l t e d by t r y i n g to i n c l u d e the PC f a c t o r . I t i s given here mainly f o r i n t e r e s t , though f o r s i t u a t i o n s which do not Figure 5.3 Graph of RT versus PS 50 LEGEND • PN=2 O PN=4 X PN=6 (a) PC=12 MM=955 (b) PC=186 MM=955 40001 4 0 0 0 1 100 200 300 400 500 100 200 300 400 500 PS (64b blks) PS (64b blks) CHAPTER 5: R e s u l t s Of Experiment. 51 conform w e l l t o the d i s c r e t e PC l e v e l s of models H1 and M2, the equation may be of h e l p . I t must be remembered t h a t i t s r**2 value was only around 0.9. The equation t h a t r e s u l t e d was: RT = 703 - 15 * PCTRMM + 2*3 * PC - .004 * PC*PN*PS This seems t o support the i d e a of the dual nature of the PC f a c t o r , with the p o s i t i v e c o n t r i b u t i o n o f the PC term and the n e g ative c o n t i r b u t i o n of the PC*PN*PS term, The l a t t e r q u a n t i t y w i l l have a more i n f l u e n t i a l c o n t r i b u t i o n when PN or PS i s l a r g e , s p e c i f i c a l l y when PN*PS > 575. 5.3 VALIDATION The v a l i d a t i o n of a model i s e s s e n t i a l before much confidence can be placed i n i t . We know t h a t there i s a f a i r l y l a r g e e r r o r i n our models, and so v a l i d a t i o n simply c o n s i s t e d o f t h r e e e x t r a runs not used to c a l c u l a t e the r e g r e s s i o n equation* plus an examination of f i v e o b s e r v a t i o n s from w i t h i n the s e t of d ata, The f i v e i n t e r n a l checks are d e r i v e d from the f i v e runs which were d u p l i c a t e d (the a b e r r a n t d u p l i c a t e d i s c o v e r e d i n s e c t i o n 5.2 i s omitted), The d u p l i c a t e s are used as they g i v e us an i n d i c a t i o n of t h e i r experimental e r r o r , which i n a l l cases i s within the expected bounds. We use the means of the d u p l i c a t e s i n each case to c a l c u l a t e the e r r o r * The r e s u l t s o f the v a l i d a t i o n are given i n T ables VII and VIII f o r both models M1 and M2. . CHAPTER 5: R e s u l t s Of Experiment, 52 Model M2 appears t o be the more favourable one as there i s l e s s v a r i a t i o n i n the e r r o r ; In a l l the e x t e r n a l o b s e r v a t i o n s the p r e d i c t e d values form an upper bounds on the observed v a l u e s , which i s d e s i r a b l e . Table VII V a l i d a t i o n Using I n t e r n a l Observations; Run ob served mean model M1 model M2 RT (2) pred. RT errs* pred. RT e r r (12, 955,6,314) 1755 1719 2491 +45% 2236 + 30% 1683 (12, 800,4,314) 1742 1746 1725 -1% 1553 -11% 1749 (12, 650,2,314) 294 299 577 + 90% 530 + 75% 304 (186, 955,2, 157) 6-65 6.64 -10 - -HwO -6,63 (186, 650,4,314) 1672 1627 1507 -7% 1426 -12% 1582 Table VIII V a l i d a t i o n Using E x t e r n a l Observations* Run observed model M1 model M2 RT pred* RT er r * pred, RT e r r • (12, 650,6,314) 3037 4249 + 40% 3803 + 25% (186, 800,6,220) 1080 1240 + 15% 1174 + 9% (12, 800,6,220) 101 9 1877 + 84% 1689 +66% 5.4 SOME REALITY CHECKS. I t was decided t o t r y and e s t a b l i s h some i n d i c a t i o n of how we l l the model approximated the case where not a l l a c t i v e processes are of the.same s i z e . And so two runs were performed, corresponding t o (12,800,5,220) and (186,800,5,220), where i n s t e a d of f i v e processes of s i z e 220 b l k s (7k words) , two processes of s i z e 314 b l k s (10k words) and three processes o f s i z e 157 b l k s (5k words) were used. CHAPTER 5: R e s u l t s Of Experiment. 53 Table IX Comparison with Non-uniform Runs. Run Uniform Run Non-unif, Run D i f f e r e n c e (12,800,5,314) (186,800,5,314) (RT) 1019 1080 (RT) 1212 1207 (%) 15. 9 10.5 See Table IX f o r the r e s u l t s , which are qu i t e encouraging. Within the 5% experimental bounds placed around them, the d i f f e r e n c e s between the PC=186 runs almost disappears, and f o r PC=12, i t i s lessened s u b s t a n t i a l l y , I t should be noted though, that t h i s c l o s e correspondence would be expected t o drop i f d r a s t i c d i f f e r e n c e s i n s i z e were used.. As w e l l , a s i m i l a r t e s t needs to be conducted with PN being v a r i e d , and a l s o f o r PN and PS combined. 5.5 SOURCES OF ERROR. I t was p r e v i o u s l y mentioned t h a t a given workload with the 20 minute d u r a t i o n length could give around a 5% e r r o r i n the RT value. As w e l l , there was a l s o an e f f e c t due to the everchanging nature o f the system. During the e n t i r e s t r e t c h o f the experimental runs, development of the workloads, v a l i d a t i o n , e t c , , c e r t a i n system changes took place, Some, such as the a d d i t i o n o f hardware, had no d i r e c t e f f e c t on the experiment but di d r e q u i r e e i t h e r the a l t e r i n g of the op e r a t i n g system or o f the a n a l y s i s r o u t i n e s . T h i s i n c r e a s e s the p o s s i b i l i t y o f programming e r r o r , More l i k e l y e r r o r sources, however, were i n CHAPTER 5: R e s u l t s Of Experiment; 54 two other events. One was a change i n the hardware i n t e r r u p t p r i o r i t y of our p s e u d o - m i l l i s e c o n d c l o c k part way through the s e t s of runs. An a f t e r - t h e - f a c t attempt was made t o measure any e f f e c t and while the i n f l u e n c e seemed to be n e g l i g i b l e , i t i s hard t o be c e r t a i n t h a t t h i s was t r u e . The other e f f e c t came from the magtape which sometimes gave w r i t e e r r o r s during some of the i n t i a l runs but which was l a t e r c l e a r e d up._ These were detected by the a n a l y s i s r o u t i n e s and while the d i s c o n t i n u i t i e s were smoothed over as much as p o s s i b l e , there may have remained a very s m a l l though n o n - n e g l i g i b l e e r r o r . 5.6 THE INTERNAL SYSTEM PARAMETERS. A b r i e f attempt was made to r e l a t e the i n t e r n a l system parameters to r e a c t i o n time. I t was found t h a t a higher r**2 value c o u l d be o b t a i n e d by using the n a t u r a l l o g of RT (LRT) as the dependent v a r i a b l e ; However such an eguation s t i l l f a i l e d t o produce an r**2 > .85, which i s much too low f o r the equation to be of any value. So simple c o r r e l a t i o n s of RT and LRT with the i n t e r n a l system parameters are given i n Table X. TABLE X STATISTICS OF INTERNAL SYSTEM PARAMETERS* VARIABLE CORRELATIONS RT LRT MIN, MAX. MEAN STD DEV DSK WAIT CPO INT, SWP RATE SWP WAIT DSK Q ,58 .38 -.17 ,27 -.30 .85 .62 -.09 .47 -, 17 0. 0 0.0 0.4 95.4 13,0 138 611 5. 1 342 157 69.2 30 3 1.4 196 54. 2 42. 9 127 ;96 61.8 33.8 N= 75 DF= 73 R3 .0500= .2272 Ro) .0100= .2957 CHAPTER 5: Results Of Experiment, 55 The t a b l e a l s o i n c l u d e s the means, e t c , of the parameters to give a b e t t e r f e e l f o r the nature of the v a r i a b l e s . From the t a b l e i t can be seen t h a t the swap r a t e has the s t r o n g e s t i n f l u e n c e on both RT and LET. As w e l l , both swap and d i s k waits have a p o s i t i v e i n f l u e n c e on the dependent v a r i a b l e s . I t should be noted t h a t the c o r r e l a t i o n values f o r the d i s k queue are not s t r o n g enough to be s i g n i f i c a n t . . F i n a l l y , i t i s i n t e r e s t i n g t o see t h a t while the u n i n t e r r u p t e d cpu l e v e l s have a s i g n i f i c a n t i n f l u e n c e on RT, the q u a n t i t y i s not c o r r e l a t e d with LET. The f a c t t h a t i t n e g a t i v e l y c o r r e l a t e s with ET again supports the n o t i o n of the dominance i n most of the runs i n t h i s experiment of the f i l e access r a t e i n the PC F a c t o r . . 5.7 SAMPLE APPLICATIONS* The f o l l o w i n g h y p o t h e t i c a l s i t u a t i o n s are g i v e n to help i n d i c a t e areas where the i n f o r m a t i o n of t h i s t h e s i s may f i n d a p p l i c a t i o n . In these examples i t s h a l l be assumed t h a t the workload i s moderately uniform and c o n s i s t s mainly of a s h o r t i n t e r a c t i o n type environment, such as e d i t i n g , c o m p i l i n g , and executing of s h o r t or h i g h l y i n t e r a c t i v e programs, Thus the r e g r e s s i o n equation of model M2 with PC f a c t o r e q u a l to 12 s h a l l be used. Suppose t h e r e was a UNIX i n s t a l l a t i o n which had 700 b l o c k s of main memory a v a i l a b l e f o r users and t h a t they were concerned about t h e i r heavy demand periods when there are an average o f CHAPTER 5: R e s u l t s Of Experiment* 56 e i g h t user processes with an average s i z e of 200 blocks each. To f i n d t h e i r c u r r e n t r e a c t i o n time we s u b s t i t u t e i n t o equation 5.1: (700 - 6*200) RT = 588 - 16.9 * - - * 100 700 T h i s g i v e s a r e a c t i o n time(*) of around 2.8 seconds which i s , indeed a s l u g g i s h system. (1) One s i t u a t i o n might be that they had the o p t i o n of buying 8K words (256 blocks) of main memory but were unsure of the e f f e c t i t would have; Using equation 5.1, i t could e a s i l y be determined t h a t i t would reduce r e a c t i o n time.to a l i t t l e over 1.7 sec; While i t ' s a d e f i n i t e improvement, the re s p o n s i v e n s s i s s t i l l not t h a t good. (2) Suppose i n s t e a d t h a t they wanted to know how much more main memory they would need to reduce the r e a c t i o n time t o 1 sec. To f i n d t h i s , l e t X r e p r e s e n t the amount of a d d i t i o n a l memory needed, then i t becomes a simple matter of s o l v i n g the f o l l o w i n g equation: ((700 + X) - 1600) 1000 = 588 - 1690 * ______________ (700 + X) T h i s y i e l d s a value f o r X of 587 b l o c k s or a l i t t l e over 18K words. (*)It must be remembered t h a t the r e a c t i o n time v a l u e s c a l c u l a t e d from the model are simply rough estimates.. As w e l l , they w i l l g e n e r a l l y form upper bounds s i n c e the s y n t h e t i c workload d i d not take advantage of the UNIX concept of ' t e x t ' which would reduce the swapping l o a d somewhat i n r e a l systems And from v a l i d a t i o n i t was seen t h a t the model tends to overestimate the a c t u a l values* CHAPTER 5: R e s u l t s Of Experiment. 57 ( 3 ) Let us assume t h a t the i n s t a l l a t i o n was able t o purchase the e x t r a 587 b l o c k s of memory and thus reduce t h e i r r e a c t i o n time to under one second. According to the n a t u r a l laws of i n c r e a s e d c a p a c i t y , l e t us presume t h a t soon a f t e r the purchase, management wished t o add more t e r m i n a l l i n e s i n t o the system and wanted to know what e f f e c t i t would have. I f the computing centre s t a f f c ould estimate on average how many e x t r a processes i t would i n t r o d u c e i n t o the system, say f o r example three with the same average s i z e of 200 b l o c k s , then i t can e a s i l y be c a l c u l a t e d t h a t the r e a c t i o n time would i n c r e a s e t o 1;.8 sec. The r e s u l t s of t h i s t h e s i s c o u l d a l s o be used i n system software development. For example, i f an i n s t a l l a t i o n wanted t o guarantee i t s users a c e r t a i n response l e v e l , then a v a l u a b l e and easy s t e p would be to change the r o u t i n e which l o g s users onto the system ( " / e t c / i n i t " ) such t h a t i t f i r s t examines the c u r r e n t r e s p o n s i v e n e s s of the system. I f i t exceeds a given t h r e s h o l d , then the user would be denied access. The responsiveness of the system should be c a l c u l a t e d over a s u f f i c i e n t l y l o n g p e r i o d of time probably from w i t h i n the o p e r a t i n g system as p a r t of one of i t s numerous process t a b l e look-ups. C u r r e n t l y UNIX has no l o a d c o n t r o l mechanism. CHAPTER 6: Con c l u s i o n s ; 58 6, CONCLUSIONS. 6.1 THE BASIC GOAL & RESULTANT MODEL. The g o a l of i d e n t i f y i n g the major i n f l u e n c e s of the system was met. The number of processes, s i z e of a process, and s i z e of main memory were, as i n t u i t i v e l y f e l t , r ecognized as the most i n f l u e n t i a l i n a f f e c t i n g the responsiveness of the system:; The st r o n g e s t statement o f t h e i r i n f l u e n c e i s expressed i n the q u a n t i t y pctrmm, the percentage of remaining main memory (equation 5.1), The exact e f f e c t o f the cpu requirements of a process and the f i l e system access r a t e (to the disk) were not s t u d i e d as they are r e l a t e d q u a n t i t i e s and cannot be v a r i e d i n d i v i d u a l l y i n the context o f t h i s experimental set-up. T h i s i s p a r t l y due t o the design of the experiment which, t o keep the s i z e of the experiment reasonable, had f i x e d the r a t i o of the two guantities;; G e n e r a l l y i t i s f e l t t h a t f o r smal l PC values (e.g. Those l e s s than the mean d i s k I/O t i m e ) , the f i l e access r a t e was the dominant i n f l u e n c e over the cpu requirements. Through r e g r e s s i o n a n a l y s i s , a model f o r the data was developed* I t f o l l o w s the data well but r e q u i r e s s i z e a b l e e r r o r bounds, which was confirmed through some elementary v a l i d a t i o n . Thus i t s use l i e s mainly i n the trends i t demonstrates and the rough approximations i t g i v e s t o p r e d i c t i o n s , r a t h e r than i n an a b i l i t y to give exact r e s u l t s . . Some sample a p p l i c a t i o n s were de s c r i b e d . An important c h a r a c t e r i s t i c of the model i s t h a t the CHAPTER 6: C o n c l u s i o n s . 59 responsiveness of the system can be e a s i l y determined on any UNIX i n s t a l l a t i o n ; Since the s i z e of main memory i s c o n s t a n t , i t i s only necessary t o go through one system t a b l e to c a l c u l a t e the average number of processes and the average s i z e of a process.. 6^2 THE TOOLS AND METHOD. The . data e x t r a c t i o n t o o l s f o r t h i s experiment proved very s a t i s f a c t o r y f o r the high volume nature of the i n f o r m a t i o n being collected,; The c o n s t a n t l y changing nature of the system , and probably o f most systems, underscores the need t o keep the measurement experiments c o n c i s e so t h a t the implementation does not span any major system changes. This may have c o n t r i b u t e d s l i g h t l y t o the e r r o r i n our r e s u l t s . With t h i s i n mind, the i n t e r n a l system parameters should have been l e f t f o r a separate experiment. The f a c t o r i a l design of the experiment, while a l l o w i n g us to see c l e a r l y the r e l a t i o n s h i p s of three of the f a c t o r s , proved inadequate f o r the pc f a c t o r . Keeping i n mind the above recommendation t o keep the s i z e of experiments small, the s o l u t i o n seems to l i e i n making a separate study t o uncover the i n f l u e n c e s of cpu requirements and f i l e system requirements of a process. 6.3 DOMAIN OF APPLICABILITY. I t i s the purpose of t h i s s e c t i o n t o i n d i c a t e the domain o f CHAPTER 6: C o n c l u s i o n s . 60 t h i s work by summarizing the r e l e v a n t points;* Probably the most obvious c o n s t r a i n t was the use of i d e n t i c a l processes i n the s y n t h e t i c workload. While t h i s does not r e f l e c t r e a l i t y , an experiment where the s i z e s were.non-uniform gave r e s u l t s which corresponded q u i t e c l o s e l y to the model which used processes of uniform s i z e . More work needs to be done on t h i s , but i t i s f e l t t h a t except f o r s i t u a t i o n s where there i s a wide v a r i a n c e i n e i t h e r the s i z e s or number of processes, the r e s u l t s of t h i s work can be used s u c c e s s f u l l y to estimate r e s p o n s i v e n e s s . In doing so, i t must be remembered that t h i s p r o j e c t d i d not take advantage o f the ONIX concept o f 'text* or pure code, which tends to reduce the swapping l o a d . Thus the model derived from t h i s work i s l i k e l y to give an upper bounds on responsiveness when used on n a t u r a l workloads. F u r t h e r with regards t o workload, the domain i s o r i e n t e d to h i g h l y i n t e r a c t i v e environments where cpu requests are a l l g e n e r a l l y under one second, t h a t i s , where the workload c o n s i s t s mainly of e d i t i n g , v a r i o u s s i z e s of c o m p i l a t i o n s , and e x e c u t i o n of programs which are e i t h e r short or i n t e r a c t with the t e r m i n a l . As w e l l , the r e s u l t s are geared to systems where swapping occurs and w i l l be of l i t t l e value i n cases where a l l processes f i t i n t o main memory. In such a s i t u a t i o n , the s i z e of a process and the s i z e of main memory have no e f f e c t on r e s p o n s i v e n e s s , and PCTRMM t e l l s us l i t t l e of the expected r e a c t i o n time. T h i s i s not c o n s i d e r e d a s e r i o u s r e s t r i c t i o n s i n c e those most i n t e r e s t e d i n improving the performance o f CHAPTER 6: C o n c l u s i o n s . 61 t h e i r system w i l l almost always be s u f f e r i n g from swapping._ Another departure from r e a l i t y i s t h a t t h e r e . i s no t e r m i n a l i n p u t ; . T h i s was not considered too c r u c i a l as a good approximation using t e r m i n a l output was developed.. However i t d i d r e q u i r e the c r e a t i o n of a s l i g h l t y a l t e r e d v e r s i o n of r e a c t i o n time which was q u i t e s e n s i t i v e to the changes i n performance;. T h i s must be kept i n mind when making a comparison with o t h e r e v a l u a t i o n r e s u l t s which have been conducted elsewhere* 6,. 4 FURTHER RESEARCH. . This study could be used as a springboard f o r the f o l l o w i n g endeavours: (a) an experiment to see the exact i n f l u e n c e s of cpu and f i l e system a c c e s s requirements, (b) a study t o determine the divergence from the model t h a t would be caused by v a r y i n g the number and s i z e s of processes i n a workload, (c) an attempt c o u l d be made to a l t e r the e x i s t i n g swapping and cpu s c h e d u l i n g a l g o r i t h m s such t h a t they use. the e a s i l y determined value of PCTRMM to adapt to changing workloads, (d) a study t o see the r e l a t i o n s h i p between our p r i o r i t y based r e a c t i o n time and response time, (e) t o i n v e s t i g a t e the r e l a t i o n s h i p between t h i s and a paging system, (f) to determine the improvement on performance t h a t a f a s t e r CHAPTER 6: Conclusions. 62 disk configuration would have. This could include a cost-benefit analysis with main memory. B i b l i o g r a p h y * 63 BIBLIOGRAPHY J. AN63 3 Anscombe, F . J , & Tukey, T„W.» The Examination & A n a l y s i s of R e s i d u a l s , Technometrics, 5,2, 1963,.. [B076J B o i , MM.L., et a l , A Performance E v a l u a t i o n of the L I I SIRIS 8 Operating System: Methodology, T o o l s , & F i r s t R e s u l t s , M o d e l l i n g and Performance E v a l u a t i o n of Computer Systems, North Holland Publ. Co. , 1976. [BU76J Buzen, J*P., Fundamental Laws of Computer System Performance, Proceedings of I n t e r n a t i o n a l Symposium on Computer Performance Mo d e l l i n g , Measurement & E v a l u a t i o n , 1976. [CH75J Chanson, S.T. & F e r r a r i , D., A D e t e r m i n i s t i c A n a l y t i c Model of a Multiprogrammed I n t e r a c t i v e System, N a t i o n a l Computer Conference, 1975* [CH76J Chu, Y, , Guest E d i t o r , IEEE T r a n s a c t i o n s on Computers, V o l . C-25, no. 10, Oct. 1976, [CH77J Chandy, K.M. 6 R e i s e r , M,, E d i t o r s , Computer Performance, North-Holland Publ. Co., New York, 1977. J.DE72 3 Denning, P., The developing Theory of Operating Systems, I n f o t e c h Report #14 (Operating Systems), 1972. J. DE781] Denning, P. & Buzen, J . , The O p e r a t i o n a l A n a l y s i s of Queueing Network Models, Computing Surveys, Septs 1978. [DR66-] Draper, N.R. S Smith, H* , A p p l i e d Regression A n a l y s i s , Wiley & Sons Inc., New York, 1966,. J.FE72 3 F e r r a r i , D,, Workload C h a r a c t e r i z a t i o n & S e l e c t i o n i n Computer Performance Measurement^ Computer, July/August 1972,. IFE783 F e r r a r i , D., Computer System Performance E v a l u a t i o n , P r e n t i c e - H a l l Inc., New J e r s e y , 1978, £F076 3 .Fox, D.J. & G u i r e , K.E., Documentation For MIDAS, S t a t i s t i c a l Research Lab., 0*. of Michigan, 1976. [F078] Fox, M.C. , Machine A r c h i t e c t u r e S the Programming Language BCPL, Master's T h e s i s , U.B.C., 1978. [ GR78§ Graham, G.S., Guest E d i t o r , Computing Surveys, Sept, 1978,, B i b l i o graphy,. 64 LHA70IJ Hansen, P.B* , The Nucleus o f a a Multiprogramming System, C.A.C.M., Apr;.1970.. [HA76J Haberman, A. N., e t a l . M o d u l a r i z a t i o n & Hierarchy i n a Family of Operating Systems, G. A.C. N, , May 1976. J.H0743 Hoare, C A * , Monitors: An Operating Sytem S t r u c t u r i n g Concept, C.Ai.C.M., Oct. 1974. . i KI77 3 K i e n z l e , M. G., Measurements of Computer Systems f o r Queueing Network Models, T e c h n i c a l Report CSRG-86, U of T, Oct. 1977. J_K078 3 Kobayashi, J . , Modeling and A n a l y s i s : An I n t r o d u c t i o n t o System Performance E v a l u a t i o n Methodology, Addison-Wesley, 1978. 1LE71] Lewis, P*A. & Yue, P., S t a t i s t i c a l A n a l y s i s of S e r i e s of Events i n Computer Systems, Proceedings of Conference on S t a t i s t i c a l Methods f o r E v a l u a t i o n of Computer System Performance, 1971. [ L I 7 2 J L i s k o v , B.H., The Design of the Venus Operating System, C. A.C.M. , Mar. 1972. [ L I 7 7 J L i o n s , J . , A Commentary of the UNIX Operating System, 0, of New South Wales, 1977._ t MA?? Mayde l l , 0., Computer Peformance Studi e s & S t a t i s t i c s , 0. of A l b e r t a . J.MU7 8 3 Muntz, R. R„ , Queueing Networks: A C r i t i q u e of the State of the Art & D i r e c t i o n s f o r the Future, Computing Surveys, Sept..1978. tRl78i] R i t c h i e , D. M. S Thompson, K,, The UNIX Time-sharing System, B e l l System T e c h n i c a l J o u r n a l , Part 2, July/August 1 978. J.SH723 Shemer, J.E. . & Robertson, J . B. , Instrumentation of Time Shared Systems, Computer, July/August, 1972. £SM66J S m i l l i e , K, W. , I n t r o d u c t i o n to Regression S C o r r e l a t i o n , Ryerson Press, Toronto, 1966. [ SR74] Sreenivasan, K., & Kleiman, A.J., On the C o n s t r u c t i o n of a Representative S y n t h e t i c Workload, C.A.C.M., Mar. 1974,. [ SV76 i] Svobodova, L. , Computer Performance & E v a l u a t i o n Methods: A n a l y s i s & A p p l i c a t i o n s , Am..Elsevier Publ, Co., 1976. [TH78iJ Thompson, K, , UNIX Implementation, B e l l System B i b l i o g r a p h y . 65 T e c h n i c a l J o u r n a l , Part 2, July/August 1 9 7 8 . J.TS72i] Tsao, B* F. & Margolin, B;.H., A M u l t i - f a c t o r Paging Experiment: I I * S t a t i s t i c a l Methodology, S t a t i s t i c a l Computer Performance E v a l u a t i o n , Academic Pr e s s , 197 2. [WA72J Walpole, E. E. & Myers, R. H. , P r o b a b i l i t y & S t a t i s t i c s f o r Engineers & S c i e n t i s t s , MacMillan Co., New York, 1972, . APPENDIX A. Swapping and CPU P o l i c i e s . 66 APPENDIX A. Swapping and CPU P o l i c i e s . A. SWAPPING. 1 . Routine and v a r i a b l e s used: sched - r o u t i n e c a l l e d to swap i n a l l processes t h a t i t can from dsk. runout - a g l o b a l f l a g which i s s e t and s l e p t on by sched when th e r e are no more READY processes out on d i s k . Thus ot h e r r o u t i n e s can t e s t runout and i f a p p r o p r i a t e , wake-up the scheduler* ru n i n - a g l o b a l f l a g which i s s e t and s l e p t on by sched when i t was unable to swap i n a l l the READY processes,. As w e l l as being a c c e s s i b l e t o other r o u t i n e s , r u n i n i s t e s t e d every second by the c l o c k r o u t i n e * . 2 , . Swapping-in p o l i c y . i)when: sched i s only c a l l e d when a READY process i s out on d i s k , and thus wants i n t o main memory;* T h i s can occur due to two s i t u a t i o n s : 1.In the p r e v i o u s e x e c u t i o n of sched, i t was unable t o load a l l the READY processes i n t o main memory* Thus i t set and s l e p t on runin* In t h i s case, sched w i l l be awakened every sec. by the c l o c k r o u t i n e u n t i l t here are no more READY processes l e f t on d i s k . 2 . I n the previous e x e c u t i o n of sched, i t d i d l o a d A P P E N D I X A,. S w a p p i n g a n d CPU P o l i c i e s . 6 7 a l l t h e EEADY p r o c e s s e s i n t o c o r e (and t h u s s e t & s l e p t o n r u n o u t ) . L a t e r , a p r o c e s s ( w h i c h was n o t R E A D Y , e . g . s l e e p i n g d u e t o I / O w a i t ) o u t on d i s k b e c a m e READY ( i . e , w a s a w a k e n e d ) . I n t h i s c a s e , S c h e d w i l l b e e x e c u t e d w h e n e v e r s u c h a s i t u a t i o n a r i s e s , i i ) w h o : The p o l i c y i s b a s e d s o l e l y o n t h e l e n g t h o f t i m e a p r o c e s s h a s b e e n o u t on d i s k , S c h e d s t a r t s w i t h t h e READY p r o c e s s o u t t h e l o n g e s t a n d t r i e s t o l o a d a l l o f t h e m i n t o c o r e . I f i t f i l l s a l l o f m a i n memory a n d t h e r e a r e s t i l l READY p r o c e s s e s o n d i s k , i t w i l l s t i l l t r y a n d l o a d t h e m i n a s l o n g a s (1) t h e r e a r e p r o c e s s e s i n c o r e w h i c h a r e n o t READY ( e . g , s l e e p i n g on l o w p r i o r i t y ) , - t h e y w i l l b e s u c c e s s i v e l y s w a p p e d o u t t o make r o o m ; o r f a i l i n g , t h a t , ( 2 ) t h e READY p r o c e s s ( e s ) o n d i s k h a s b e e n t h e r e > 2 s e c . And t h e r e i s an i n - c o r e p r o c e s s ( w h i c h i s READY o r s l e e p i n g o n h i g h p r i o r i t y ) w h i c h h a s b e e n i n c o r e > 1 s e c . 3* S w a p p i n g o u t p o l i c y . i ) w h e n : o n l y when n e c e s s a r y a s d e t e r m i n e d by t h e s w a p - i n a l g o r i t h m , i . e * _ n o t a l l t h e R E A D Y ' s o u t on d i s k w i l l f i t i n t o c o r e , e t c ; i i ) w h o : a n y p r o c e s s s l e e p i n g o n l o w p r i o r i t y o r b e i n g t r a c e d , a n d f a i l i n g t h a t , i f t h e p r o c e s s on d i s k h a s b e e n o u t t h e r e > 2 s e c . , t h e n a n y p r o c e s s (READY o r s l e e p i n g on h i g h p r i o r i t y ) t h a t h a s b e e n i n - c o r e > 1 s e c . ( s t a r t i n g w i t h t h e o n e w h o ' s b e e n i n t h e l o n g e s t , i . e . APPENDIX A- Swapping and CPU P o l i c i e s * based s o l e l y on elapsed time i n c o r e ) . 6 8 B. CPU SCHEDULING. 1* P r i o r i t i t e s f o r proce s s e s : - v a l u e s vary from -127 to 127 (the higher the numeric value the lower the p r i o r i t y ) . - t h e r e are s e t p r i o r i t i e s f o r waiting f o r v a r i o u s events, e.g. -100 f o r swapping I/O waits* - f o r user processes, values vary from 100 t o 127, - i t " s based s o l e l y on the amount of CPU time (system & user) s i n c e i t s l a s t s leep* T h i s i s r e g a r d l e s s of c o n t e x t switches and swaps.. S p e c i f i c a l l y , when a process runs, i t ' s p r i o r i t y gets lowered by 1 f o r each o f the 1st 5 sec, and every 15 sec. t h e r e a f t e r . . 2,.Method. The r o u t i n e 'swtch' i s r e s p o n s i b l e f o r doing context switches. When c a l l e d , i t simply goes through the process t a b l e and s e l e c t s the highest p r i o r i t y READY process. There are 2 ways of i n v o k i n g •swtch•* One i s simply by doing a s l e e p * The other method i s by using the f l a g • r u n r u n ' i T h i s f l a g i s incremented whenever i t had been APPENDIX A. Swapping and CPO P o l i c i e s . 69 determined t h a t there i s a READY process with a h i g h e r p r i o r i t y than the c u r r e n t process (e.g. when a wakeup occ u r s , the newly r e - a c t i v a t e d process may have a higher p r i o r i t y ) * Runrun i s t e s t e d ( i n the assembly code o f UNIX) whenever a t r a p or i n t e r r u p t occurs (which, due to the c l o c k , i s at l e a s t every 1/60 s e c . ) . . I f i t has been s e t , then a f t e r the i n t e r r u p t has been proceesed, a c a l l i s made t o swtchi. Summary of CPU p o l i c y . -based s o l e l y on CPU time i n t e r v a l s ( i , e , I n t e r v a l s between i t s l / 0 * s ) , e x c l u s i v e of context switches & swaps. -appears t o be b a s i c a l l y a l o o s e , round-robin p o l i c y , - t h e r e i s no time quantum as such, though by the p r i o r i t y c a l c u l a t i o n , i t w i l l g e n e r a l l y be a t most 1 second (where i t & the other processes are compute bound) and w i l l be reduced as the amount of I/O i n c r e a s e s ( s i n c e the p r i o r i t y of a process a f t e r doing I/O, i s r e s e t to i t s h i g h e s t p o s s i b l e value),. APPENDIX B: S e l e c t i o n of Reaction Time; 70 APPENDIX B: S e l e c t i o n o f Reaction Time,. This appendix d i s c u s s e s the s u i t a b i l i t y of th r e e s l i g h t l y d i f f e r e n t d e f i n i t i o n s of r e a c t i o n time. While a u n i v e r s a l d e f i n i t i o n of r e a c t i o n time doesn't seem to e x i s t , i t i s u s u a l l y d e f i n e d as the time from the i n p u t of a command (us u a l l y v i a a c a r r i a g e return) u n t i l the cpu s t a r t s to a c t on t h a t command. This d e f i n i t i o n i s i n a p p r o p r i a t e f o r our purposes s i n c e there i s no t e r m i n a l i n p u t ; And so, we set up an experiment whereby we t e s t e d the s e n s i t i v i t y of the f o l l o w i n g three d e f i n i t i o n s of r e a c t i o n time: a) The above, usual d e f i n i t i o n i s used. T h i s w i l l be c a l l e d the " t t y " method, B) Record the times f o r a l l processes from when they wake-up (they are put to s l e e p whenever they must wait f o r an event such as I/O) u n t i l they are s e l e c t e d as the process to run next. T h i s s h a l l be r e f e r e d t o as the " a l l " method. C) The same d e f i n i t i o n as i n (b) except only f o r a s e l e c t number of processes. T h i s method s h a l l be c a l l e d " p r i " , . S e v e r a l a r t i f i c i a l workloads were c o n s t r u c t e d , While t h e i r make-up was based on commonly used programs such as c o m p i l i n g , e d i t i n g , and system commands there was no formal attempt t o make these workloads r e p r e s e n t a t i v e s i n c e we were only i n t e r e s t e d i n the r e l a t i v e s e n s i t i v i t y of the three methods to workload changes. For the e d i t i n g p o r t i o n of the APPENDIX B: S e l e c t i o n of Reaction Time. 71 workloads, a f i x e d sequence of commands were typed i n at the t e r m i n a l . These commands were present i n each run s i n c e the " t t y " method only p i c k s up such r e a c t i o n times. B a s i c a l l y , the experiment c o n s i s t e d of running the e d i t commands with and without each workload f o r each of the r e a c t i o n time methods. T h i s gave a good i n d i c a t i o n of the s e n s i t i v i t y o f the methods to changing workloads. A f t e r running the experiment, some d e f i n i t e statements could be made about the three s e l e c t i o n methods. The " a l l " method i s simply too i n s e n s i t i v e . . The " t t y " method i s much b e t t e r ,but s u f f e r s from the f o l l o w i n g : i t r e q u i r e s someone a t the console to feed i n commands, i t f i l t e r s out the lower p r i o r i t y processes which tend to f l u c t u a t e most with changing environments, and i t has s l i g h t l y higher overhead. I t does have the advantage o f conforming t o the o r i g i n a l d e f i n i t i o n o f r e a c t i o n time. The " p r i " method i s the most s e n s i t i v e to workload changes. On these f i n d i n g s , we chose the " p r i " method f o r our performance parameter. To av o i d c o n f u s i o n with the g e n e r a l l y accepted d e f i n i t i o n of r e a c t i o n time, we s h a l l l a b e l t h i s as the " p r i o r i t y based r e a c t i o n time". APPENDIX C: S t a t i s t i c s of the Production Workload,. APPENDIX C: S t a t i s t i c s of the Production Workload. S t a t i s t i c s gathered on the UNIX system-Length of o b s e r v a t i o n : 151.8 minutes* D e f a u l t u n i t o f time: m i l l i s e c . A,.DSK INFORMATION. # o f async* r e q u e s t s : 27227 ( 32.5 % of the t o t a l ) # of seek o v e r l a p s : 10417 ( 12.4 % of the t o t a l ) dsk wait times ( i n c l . t r a n s f e r ) : % msec, 0.0 ! -6.5 ! 0 *** 17.5 ! 25 ******** 9.7 ! 50 **** 9.7 ! 75 **** 9*2 ! 100 **** 6.2 ! 125 *** 5.6 ! 150 ** 4*7 ! 175 ** 4. 2 ! 200 ** 44 8 ! 225 ** 3.3 ! 250 * 3,2 ! 275 * 2.9 ! 300 * 2. 1 ! 325 * 1,9 ! 350 1*6 ! 375 3,2 ! 400 * 0.7 ! 475 0,6 ! 500 0.4 ! 525 0. 5 ! 550 0.3 ! 575 1. 2 ! 600 t o t a l : 83848 MEAN: 161.38 STD DEVw : 134.68 APPENDIX C: S t a t i s t i c s o f the Pro d u c t i o n Workload;. h i s t o t of glengths f o r dsk: % # 3 1 . 5 I - *************** 2 7 . 6 ! 1 ************* 1 9 , 6 ! 2 ********* 1 1 . 7 ! 3 ***** 5 . 9 ! 4 ** 2 . 3 ! 5 * 0 . 9 ! 6 0 , 3 I 7 0 . 1 ! 8 0 . 1 ! 9 0 . 1 ! 1 0 t o t a l : 8 3 8 4 8 MEAN: 1 . 4 7 STD DEV,: 1 . 4 8 B. SWAPPER INFORMATION, swap r a t e : 7 7 . 1 swaps/rain. ( 1 . 2 8 swaps/sec, s i z e of swaps: % 0 . 2 8 . 4 8 . 7 . 2 . 5 . 2 . 1 w 0 . 2 . 0 . 0 . words 0 2 0 4 8 4 0 9 6 6 1 4 4 8 1 9 2 1 0 2 4 0 1 2 2 8 8 1 4 3 3 6 1 6 3 8 4 1 8 4 3 2 2 0 4 8 0 ************** ************************ *** * ** * t o t a l : 1 1 6 9 9 MEAN: 3 1 9 8 , 2 2 STD DEV;. : 3 9 0 0 , 8 2 s i z e i n 5 1 2 - b y t e b l o c k s : MEAN: 1 4 , 3 1 STD DEV.; 1 3 . 3 2 APPENDIX C: S t a t i s t i c s o f the Produ c t i o n Workload wait times ( i n swap Q only) f o r SWAPPER % msec 48.6 • -47.7 ! 1 0.2 ! 2 0, 1 ! 4 0.0 ! 8 0.0 ! 16 3.5 ! 32 4c 4c 4c $ 4c 4c 4c 4c 4c $ * 4c $ aQc $ * 4c $ 4c $ $ $ 4c $ sQcsjcsjc^t'fc^t'fc'fc'fc^  ?flc?fic?flc«flc<flcsfic?flc 4c <fr *fr 4c 4c t o t a l : 11699 MEAN: 29.42 wait times (dsk wait) f o r SWAPPER % msec* 0,0 ! -1. 2 I 0 7. 1 ! 25 *** 6.6 ! 50 *** 8.0 ! 75 *** 8.2 ! 100 ***# 6.3 ! 125 **# 5. 1 ! 150 ** 4. 8 ! 175 ** 5.4 ! 200 ** 7.5 ! 225 #*# 5; 4 ! 250 ** 5; 4 ! 275 ** 5.0 ! 300 ** 4.0 ! 325 ** 3.3 ! 350 * 3.0 ! 375 * 6. 1 ! 400 *** 1. 4 ! 475 1. 2 ! 500 0.9 ! 525 1.0 ! 550 0.7 ! 575 2, 4 ! 600 * t o t a l ; 15810 MEAN: 231.55 STD DEV, : 147.24 APPENDIX C: S t a t i s t i c s of the Production Workload. 7 5 C..CPU INFORMATION. u n i n t e r r u p t e d CPU i n t e r v a l s % msec* 0 . 0 ! -2 . 7 ! 0 * 1 9 , 3 ! 1 ********* 0 . 0 ! 2 2 2 . 0 ! 3 ********** 1 4 . 9 ! 4 ******* 0 , 0 ! 5 7 . 2 ! 6 *** 4 . 4 ! 7 ** 0 . 0 ! 8 3 . 0 ! 9 * 2 . 2 ! 1 0 * 0 . 0 ! 1 1 3 . 4 ! 1 2 * 2 . 2 ! 1 5 * 3 . 6 ! 2 0 * 4 . 4 ! 3 0 ** 2 . 6 ! 4 5 * 3 , 0 ! 6 0 * 2 . 1 ! 9 0 * Ii 0 ! 1 2 0 0 , 5 ! 1 5 0 o ; 8 ! 1 8 0 0 . 8 ! 2 4 0 t o t a l : 1 2 2 6 8 5 MEAN: 1 9 . 3 3 STi.DEV,: 3 7 . 2 1 APPENDIX C: S t a t i s t i c s of the Production Workload. 7 6 D, REACTION TIME INFORMATION. r e a c t i o n times: % msec; 0,3 ! -20.0 ! 1 SJC ]Qc 3JC SJC 3JC 3JC 3jt 3JC 0,0 I 2 19i 9 ! 3 ********* 5; 3 ! 4 ** 0.0 ! 5 7.5 ! 6 *** 3, 0 ! 8 * 7. 1 ! 10 *** 2, 4 ! 15 * 0.8 ! 25 1,5 ! 50 3.9 ! 100 * 6,0 ! 200 *** 7.5 ! 400 *** 2,4 ! 800 * 6. 9 ! 1000 *** 3,0 ! 2000 * U3 ! 3000 0, 9 ! 4000 0,4 ! 6000 t o t a l : 8198 MEAN: 376.20 STD DEVs: 8 64,09 

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                        
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            data-media="{[{embed.selectedMedia}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
https://iiif.library.ubc.ca/presentation/dsp.831.1-0051797/manifest

Comment

Related Items