A Comparative Analysis of Disk Scheduling Policies

Similar documents
Instructions for Contributors to the International Journal of Microwave and Wireless Technologies

Decision Support by Interval SMART/SWING Incorporating. Imprecision into SMART and SWING Methods

Optimized PMU placement by combining topological approach and system dynamics aspects

System of Automatic Chinese Webpage Summarization Based on The Random Walk Algorithm of Dynamic Programming

tj tj D... '4,... ::=~--lj c;;j _ ASPA: Automatic speech-pause analyzer* t> ,. "",. : : :::: :1'NTmAC' I

Accepted Manuscript. An improved artificial bee colony algorithm for flexible job-shop scheduling problem with fuzzy processing time

Statistics AGAIN? Descriptives

Analysis of Subscription Demand for Pay-TV

The UCD community has made this article openly available. Please share how this access benefits you. Your story matters!

QUICK START GUIDE v0.98

Error Concealment Aware Rate Shaping for Wireless Video Transport 1

Following a musical performance from a partially specified score.

Craig Webre, Sheriff Personnel Division/Law Enforcement Complex 1300 Lynn Street Thibodaux, Louisiana 70301

LOW-COMPLEXITY VIDEO ENCODER FOR SMART EYES BASED ON UNDERDETERMINED BLIND SIGNAL SEPARATION

Simon Sheu Computer Science National Tsing Hua Universtity Taiwan, ROC

RIAM Local Centre Woodwind, Brass & Percussion Syllabus

Quantization of Three-Bit Logic for LDPC Decoding

Correcting Image Placement Errors Using Registration Control (RegC ) Technology In The Photomask Periphery

THE IMPORTANCE OF ARM-SWING DURING FORWARD DIVE AND REVERSE DIVE ON SPRINGBOARD

Study on the location of building evacuation indicators based on eye tracking

Reduce Distillation Column Cost by Hybrid Particle Swarm and Ant

Cost-Aware Fronthaul Rate Allocation to Maximize Benefit of Multi-User Reception in C-RAN

Improving Reliability and Energy Efficiency of Disk Systems via Utilization Control

Hybrid Transcoding for QoS Adaptive Video-on-Demand Services

User s manual. Digital control relay SVA

current activity shows on the top right corner in green. The steps appear in yellow

Scalable QoS-Aware Disk-Scheduling

A Scalable HDD Video Recording Solution Using A Real-time File System

Technical Information

AN INTERACTIVE APPROACH FOR MULTI-CRITERIA SORTING PROBLEMS

Simple VBR Harmonic Broadcasting (SVHB)

INSTRUCTION MANUAL FOR THE INSTALLATION, USE AND MAINTENANCE OF THE REGULATOR GENIUS POWER COMBI

A Quantization-Friendly Separable Convolution for MobileNets

Conettix D6600/D6100IPv6 Communications Receiver/Gateway Quick Start

Product Information. Manual change system HWS

AMP-LATCH* Ultra Novo mm [.025 in.] Ribbon Cable 02 MAR 12 Rev C

3 Part differentiation, 20 parameters, 3 histograms Up to patient results (including histograms) can be stored

Product Information. Manual change system HWS

A STUDY OF TRUMPET ENVELOPES

Integration of Internet of Thing Technology in Digital Energy Network with Dispersed Generation

Modeling Form for On-line Following of Musical Performances

Anchor Box Optimization for Object Detection

T541 Flat Panel Monitor User Guide ENGLISH

Production of Natural Penicillins by Strains of Penicillium chrysogenutn

Color Monitor. L200p. English. User s Guide

AIAA Optimal Sampling Techniques for Zone- Based Probabilistic Fatigue Life Prediction

TRADE-OFF ANALYSIS TOOL FOR INTERACTIVE NONLINEAR MULTIOBJECTIVE OPTIMIZATION Petri Eskelinen 1, Kaisa Miettinen 2

Environmental Reviews. Cause-effect analysis for sustainable development policy

Modular Plug Connectors (Standard and Small Conductor)

Why Take Notes? Use the Whiteboard Capture System

Product Information. Universal swivel units SRU-plus

Detecting Errors in Blood-Gas Measurement by Analysiswith Two Instruments

The Traffic Image Is Dehazed Based on the Multi Scale Retinex Algorithm and Implementation in FPGA Cui Zhe1, a, Chao Li2, b *, Jiaqi Meng3, c

Critical Path Reduction of Distributed Arithmetic Based FIR Filter

SKEW DETECTION AND COMPENSATION FOR INTERNET AUDIO APPLICATIONS. Orion Hodson, Colin Perkins, and Vicky Hardman

Sealed Circular LC Connector System Plug

S Micro--Strip Tool in. S Combination Strip Tool ( ) S Cable Holder Assembly (Used only

IN DESCRIBING the tape transport of

Product Information. Miniature rotary unit ERD

(12) Ulllted States Patent (10) Patent N0.: US 8,269,970 B2 P0lid0r et a]. (45) Date of Patent: Sep. 18, 2012

SWS 160. Moment loading. Technical data. M x max Nm M y max Nm. M z max Nm

Small Area Co-Modeling of Point Estimates and Their Variances for Domains in the Current Employment Statistics Survey

Lost on the Web: Does Web Distribution Stimulate or Depress Television Viewing?

SONG STRUCTURE IDENTIFICATION OF JAVANESE GAMELAN MUSIC BASED ON ANALYSIS OF PERIODICITY DISTRIBUTION

Clock Synchronization in Satellite, Terrestrial and IP Set-top Box for Digital Television

FPGA Implementation of Cellular Automata Based Stream Cipher: YUGAM-128

Novel Quantization Strategies for Linear Prediction with Guarantees

MODELING AND ANALYZING THE VOCAL TRACT UNDER NORMAL AND STRESSFUL TALKING CONDITIONS

Simple Solution for Designing the Piecewise Linear Scalar Companding Quantizer for Gaussian Source

Failure Rate Analysis of Power Circuit Breaker in High Voltage Substation

INTERCOM SMART VIDEO DOORBELL. Installation & Configuration Guide

Loewe bild 7.65 OLED. Set-up options. Loewe bild 7 cover Incl. Back cover. Loewe bild 7 cover kit Incl. Back cover and Speaker cover

User Manual. AV Router. High quality VGA RGBHV matrix that distributes signals directly. Controlled via computer.

Product Information. Universal swivel units SRU-plus 25

Product Bulletin 40C 40C-10R 40C-20R 40C-114R. Product Description For Solvent, Eco-Solvent, UV and Latex Inkjet and Screen Printing 3-mil vinyl films

zenith Installation and Operating Guide HodelNumber I Z42PQ20 [ PLASHATV

Multi-Line Acquisition With Minimum Variance Beamforming in Medical Ultrasound Imaging

Printer Specifications

Bachelor s Degree Programme (BDP)

Fast Intra-Prediction Mode Decision in H.264/AVC Based on Macroblock Properties

Loewe bild 5.55 oled. Modular Design Flexible configuration with individual components. Set-up options. TV Monitor

DT-500 OPERATION MANUAL MODE D'EMPLOI MANUAL DE MANEJO MANUAL DE OPERA(_._,O. H.-,lri-D PROJECTOR PROJECTEUR PROYECTOR PROJETOR

arxiv: v1 [cs.cl] 12 Sep 2018

Discussion Paper Series

Turn it on. Your guide to getting the best out of BT Vision

Expressive Musical Timing

in Partial For the Degree of

Automated composer recognition for multi-voice piano compositions using rhythmic features, n-grams and modified cortical algorithms

JTAG / Boundary Scan. Multidimensional JTAG / Boundary Scan Instrumentation. Get the total Coverage!

CONNECTIONS GUIDE. To Find Your Hook.up Turn To Page 1

Social Interactions and Stigmatized Behavior: Donating Blood Plasma in Rural China

CASH TRANSFER PROGRAMS WITH INCOME MULTIPLIERS: PROCAMPO IN MEXICO

GENERAL AGREEMENT ON MMra

A question of character. Loewe Connect ID.

CONNECTIONS GUIDE. To Find Your Hook.up Turn To Page 1

Academic Standards and Calendar Committee Report # : Proposed Academic Calendars , and

9! VERY LARGE IN THEIR CONCERNS. AND THEREFORE, UH, i

Q. YOU SAY IN PARAGRAPH 3 OF THlf PAPER THAT YOU'VE

MC6845P I 1.5. ]Vs ,.~

User Manual ANALOG/DIGITAL, POSTIONER RECEIVER WITH EMBEDDED VIACCESS AND COMMON INTERFACE

Transcription:

A Comparatve Analyss of Dsk Schedulng Polces Toby J. Teorey and Tad B. Pnkerton Unversty of Wsconsn* Fve well-known schedulng polces for movable head dsks are compared usng the performance crtera of expected seek tme (system orented) and expected watng tme (ndvdual I/O request orented). Both analytcal and smulaton results are obtaned. The varance of watng tme s ntroduced as another meanngful measure of performance, showng possble dscrmnaton aganst ndvdual requests. Then the choce of a utlty functon to measure total performance ncludng system orented and ndvdual request orented measures s descrbed. Such a functon allows one to dfferentate among the schedulng polces over a wde range of nput loadng condtons. The selecton and mplementaton of a maxmum performance two-polcy algorthm are dscussed. Key Words and Phrases: access tme, analytcal models, auxlary storage, drect access storage, dsk analyss, dsk schedulng, performance crtera, perpheral memory devces, real-tme systems, response tme, rotatonal delay, schedulng polces, seek tme, smulaton, storage unts, tme-sharng systems, watng tme CR Categores: 3.72, 4.32, 6.34 Copyrght 1972, Assocaton for Computng Machnery, Inc. General permsson to republsh, but not for proft, all or part of ths materal s granted, provded that reference s made to ths publcaton, to ts date of ssue, and to the fact that reprntng prvleges were granted by permsson of the Assocaton for Computng Machnery. * Department of Computer Scences, Madson, WI 53715. Presented at the Thrd ACM Symposum on Operatng Systems Prncples, Palo Alto, Calforna, October 18-20, 1971. 177 Introducton A common cause of neffcency n the mplementaton of multprogrammng systems s poor use of drect access storage. For fxed head devces (dsks and drums), hardware and software technques [1, 3, 9] have been developed whch optmze system effcency and ndvdual response tme smultaneously. When dsk arm movement s requred, however, no sngle schedulng polcy exsts whch optmzes both of these performance measures at the same tme or, ndeed, optmzes a sngle measure over an entre range of actual operatng condtons. The goal of the followng analyss s to determne whether such a polcy can be formulated. Several schedulng polces have been proposed n the lterature for handlng a queue of requests on a movable head dsk, e.g. the shortest-seek-tme-frst (SSTF) polcy, the SCAN access method, the N-step scan, and the Eschenbach scheme. These methods all mprove the performance of a system over the frst-come-frst-served (FCFS) polcy. We dscuss the nterrelatonshp of these polces n terms of dsk arm movement and wth respect to performance measures such as expected seek tme, expected watng tme for ndvdual requests, and varance of ndvdual watng tmes. Although past studes have reled on mean queue length as the controlled varable, we prefer mean nput rate because t s a better representaton of loadng condtons. Ths paper s concerned entrely wth the best desgn of a basc dsk subsystem. It does not consder the nature of the computer processes that generate I/O requests, nor does t nclude specal hardware confguratons or fle organzaton technques. From the followng dscusson one should have a broad but concse understandng of the consderatons necessary n developng future drect access storage devces. Communcatons March 1972 of the ACM Volume 15 Number 3

Dsk Schedulng Polces: Analytcal Dscusson FCFS. A detaled study of the physcal movement of the arm of read/wrte heads on a movable head dsk reveals a close relatonshp between major schedulng polces. The one excepton s the FCFS polcy, whch has a random seek pattern. It does not take advantage of postonal relatonshps between I/O requests n the current queue or of the current cylnder poston of the read/wrte heads. SSTF. The shortest-seek-tme-frst polcy takes advantage of postonal relatonshps between the read/wrte heads and I/O requests to mprove the throughput, but t s at the expense of dscrmnaton aganst ndvdual requests [3]. Although there s a fnte probablty of such dscrmnaton, smulaton of SSTF shows that as the load on the dsk queuer ncreases, the dfference n performance between SSTF and SCAN (see below) s nearly ndstngushable. To see that ths s true we must vsualze the dsk arm movement for a constant queue length of L requests under heavy loadng condtons. Once the dsk arm makes progress n a gven drecton, the densty of requests mmedately behnd the arm's movement s much less than the densty mmedately n front of t. Even though the total number of requests becomes greater behnd the arm's movement, the SSTF polcy s only dependent on the request nearest the current arm poston. Consequently the arm s not necessarly based toward the center of the dsk. Occasonally a new request occurs whch causes the dsk arm to change drecton, but the densty of requests n that vcnty strongly favors a resumpton of the orgnal drecton. When the queue becomes large, ths model bears some resemblance to the classcal run problem of probablty theory [4]. (The probabltes of gong rght or left n the SSTF model are dependent upon the current locatons of requests n the queue. Consequently they are varant wth tme. In the classcal run model the probabltes must be constant.) When the queue s small, the SSTF polcy results n random arm movement. Examples can easly be contrved to show that ths s not an optmal polcy under lght loadng condtons. SCAN. The SCAN access method [3] can be vewed as the basc method of mprovng the effcency of a dsk queuer. Wth SCAN the dsk arm acts as a shuttle as t sweeps back and forth across all the cylnders, servcng requests. It changes drecton only at the nner and outer cylnders. SCAN was proposed as an alternatve to SSTF because t does not allow the dscrmnaton aganst ndvdual requests that occurs wth SSTF. N-STEP SCAN. Another alternatve s the N-step scan polcy. Its purpose s to decrease the varance of ndvdual watng tmes whle not sgnfcantly degradng throughput. Requests are grouped n szes of N or less; that s, the mnmum of (a) N, and (b) the current queue length L whenever the prevous group has been completely servced. Lower varance results from the fact that once a group has been formed no reorderng of requests s allowed. The shortest Hamlton path for these N (or L) requests can be found by varous technques from graph analyss. These cumbersome procedures can be avoded by usng a nearly optmal polcy suggested by Frank [5]: (a) frst scan n the drecton for whch the farthest request dstance s a mnmum; (b) then scan back untl the remanng requests have been servced. Under heavy loadng condtons ths becomes a pure scan from one extreme pont on the dsk to the other and approaches the optmal scan. ESCHENBACH. The Eschenbach scheme [11] s a determnstc scannng technque desgned for messageswtchng systems whch normally operate under heavy loadng condtons. An order E Eschenbach scan s defned as E revolutons per cylnder, wth m/e sectors servced per revoluton (m = total number of sectors/ track). In an order E scan, E -- 1 sectors are skpped for each sector servced. It has the followng propertes: (a) n order to allow the possblty of servcng all m sectors for a cylnder, the arm must reman n poston for at least E revolutons; (b) f the cylnders are labeled 0, 1,..., c - 1, the arm may spend E revolutons on cylnder 0 before movng to cylnder 1, E revolutons on cylnder 1, and so on untl E revolutons are spent on cylnder N. The arm then moves drectly back to cylnder 0 wthout stoppng at any of the ntermedate cylnders. We note that (a) and (b) mply that rotatonal optmzaton s bult nto the Eschenbach scheme n the sense that as many sectors as possble are servced wthn a gven rotaton and that servce s rendered n the sequence n whch sectors are encountered. Rotatonal optmzaton s a standard technque for fxed head devces. In summary, FCFS performs no optmzaton; SSTF, SCAN, and the N-step scan tend to optmze on seek tmes; and the Eschenbach scheme optmzes on rotaton as well as on seek tmes. Later we dscuss mplementng rotatonal optmzaton n the other polces. Under heavy loadng condtons t s obvously useful, and t s necessary to make a far comparson wth the Eschenbach scheme. As we can now see, all the proposed mprovements over the FCFS polcy are varatons of a basc scannng technque. Let us look at the dfferences among these polces for expected seek tme Tsk, expected servce T~, and expected ndvdual watng tme W. We assume the followng: Only a sngle dsk module s consdered. Requests for equal sze records are unformly dstrbuted over the entre dsk. Each track s assumed to have m sectors, wth each sector contanng space for exactly one record. There s one movable head per surface, and all dsk arms are attached to a sngle boom so they must move smultaneously. A sngle poston of all the read/ wrte heads defnes a cylnder. The seek tme characterstc s lnear (see Fgure 1). 178 Communcatons March 1972

Lst of Varables Fg. 1. Seek tme characterstc: IBM 2314 dsk and lnear approxmaton. S,'dAX... ~ 00 so I~ N,~, SMJ ntercept = SMIN - slope ul Ol 189 NUMBER OF CYLINDERS TRAVELED Table I. Expected Seek Tme Expressons (Tsk) Expected seek tme T~k (condtoned on the fact Polcy that the dsk arm moves) (c + 1)(c -- 1) FCFS Stan + (S... -- Sm~) 3c 2 (1) [Wengarten] (c- 1)/3 ~ 1 SSTF Sm~ + (S... -- Stan) 2(c - 2) 1 F1 + where ~- (L + 1) L 1 ~ c L+~ (~-1--1) ~ (2) [see Appendx A] Smax- Stan SCAN S~, -t- L' q- 1 (3) [Dennng] N-step S~,~, + S... -- Sm~, wth 2 < L < N. For (4) L + 1 L = 1 N-step scan reduces to the FCFS polcy. c total number of cylnders. L mean queue length (ncludes request currently beng servced). L' mean number of requests servced by SCAN n one sweep across the dsk surface, gven a mean queue length L (see Appendx B). X nput rate n requests/second. m number of sectors or records per track. N upper bound on group szes for N-step scan. P probablty that the next request to be servced s not on the current cylnder [see eq. 5]. p dsk utlzaton (p = XT~). 0" 2 W varance of watng tme for ndvdual requests. Sm,~ seek tme for dstance of c -- 1 cylnders. Smn seek tme for dstance of 1 cylnder. T dsk rotaton tme. Ts expected servce tme between two consecutve requests n the queue. Tsk expected seek tme. W expected watng tme for ndvdual requests from tme of arrval nto the queue untl completon of servce. All four polces lsted n Table I servce requests FCFS wthn the same cylnder, so a sngle expresson for T, can be derved n terms of the ndvdual Tsk expressons. Expected servce tme for requests that requre a seek s gven by the well-known equaton Ts = Tsk -]- T/2 -t- T/m. Expected servce tme for requests on the same cylnder as the current request s found by frst notng that each cylnder has t tracks and total of mt sectors. If the current request s on sector, the probablty that sector wll be chosen agan s (t-1)/(mt-1). The probablty that a specfc sector, j, wll be chosen s [1/(m-- 1)1[1- (t-- 1)/(rnt-- I)]. The expected number of sectors traversed to servce the next request s m--1 k Prob {Sector k s next} + 1 k=0 m--2 No control unt or channel delays are encountered. No dstncton s made between READ and WRITE requests, and the overhead to decde whch request to servce next s assumed to have no effect on the effcency of the schedulng polcy. Table I summarzes the dfferences n expected seek tme for four of the schedulng polces. The expressons are only approxmatons and do not attempt to be exact descrptons. Expected seek tme Tsk s computed condtoned on the next request not beng at the current cylnder,.e. a seek s requred. -t-(m-- (rnt -- 2)(rn -- 1) = +1. 2(mt- 1) Expected servce tme = Tm (expected sectors traversed). Thus we have Ts = P T~kq-~-q- t--1 l)---l-1 rnt-- 1 number of +(1- P)T[ (mr- ~-(m~l~ 2)(rn- --I-11 (5) where P = 1/c for rcrs, P = [(c--1)/c] L for N-step scan, and P = [(c-1)/c] L' for SSTF and SCAN. We 179 Communcatons March 1972 of the ACM Volume 15 Number 3

do not requre an expresson for the Eschenbach scheme because t s useful only under heavy loadng condtons, for whch the servce rate s approxmately equal to the nput rate. The equaton for expected watng tme, W = L/X, Fg. 2. Performance of dsk schedulng polces for m = 50 records/ was proved by Lttle [7] to apply to all schedulng track. polces wth a statonary nput rate X, wthout regard ~ "~ 100 I ESCHENBACH to arrval dstrbutons or servce tmes. For constant ~ 5 s0 t Ts we could approxmate X by ~ 0, 60 N=oo N=IO E I---- o,0 ~ - - _ ~ - - ~ - - pts ~ [L+I--(L~+I)~/2]/T~. =~ ~ o t The major lmtaton on these measures s that they are functons of the queue length L and not the nput -f rate X. To compare two polces wth the same queue s length s not to compare them under equal loadng condtons. For equal loadng condtons two algo- :, q. rthms may operate at equlbrum wth two very df- ~ ~. ferent queue lengths. Gven an nput rate we can compute L f we know T~ but T~ cannot be computed un- --- ' ~ 2, less we know the mean dstance between requests, whch depends on L. Such a problem can be studed n ~ ~ ta two ways. One s an teratve process, suggested by Pnkerton [9], that results n convergence to a value of ~ o L relatng most closely to a gven X for the partcular t, measure beng studed. The second technque, smula- ~ ) _l ton, s used here because the necessary output data s ~ o l 0 already avalable from the other experments. ~ ~o. Smulaton Results Each of the dsk schedulng polces was modeled n SIMULA [2] on the UNIVAC 1108 n order to verfy our analytcal results and to study the relatons among the polces for varous nput rates and queue lengths. Arrvng request tmes were generated from a Posson dstrbuton. Seek tmes were computed from a lnear approxmaton of the IBM 2314 seek tme characterstc [6] (see Fgure 1). Other hardware characterstcs, c = 200 cylnders, T = 25 msec, were consstent wth the IBM 2314. Varable parameters ncluded the mean nput rate X, record sze, and modfcatons to the standard algorthms such as rotatonal optmzaton. Standard smulaton technques were used to obtan stable output results, ncludng mean queue length, mean servce tme, and mean and varance of watng tme. Fgures 2 and 3 depct three measures of performance: Ts, W, and the squared coeffcent of varaton for watng tme. Ts s a measure of system (dsk queuer subsystem) performance and s equvalent to the recprocal of system throughput. W s a measure of ndvdual servce, such as for a tme-sharng termnal user or for a page request n a demand pagng envronment. The squared coeffcent of varaton #2w/W~ s a dmensonless rato whch s useful for relatve comparsons of varances and mean values. It only has a useful meanng when accompaned by the actual value of the mean. ~2 ~> o, 10 10 J,, 20 30 40 50 REQUESTS/SECOND FCFS IN=IO I ~ :/ I N=oo ~./SSTF I / :: //'/ /..,' /../,/ S/,y 20 30 ~0 50 REQUESTS/SECOND, SSTF... SCAN -- ESCHENBACH. _ N=QO 7 - _..., I0 20 30 ~0 50 REQUESTS/SECOND In Fgures 2 and 3 these measures of performance are shown for dfferent nput rates and queue lengths. The value m = 50 records per track was chosen to decrease the effect of data transmsson and ncrease the effect of seek tme on total servce tme. Results for m = 4 are compared wth those for m = 50 n the next secton. These results ndcate that the FCFS polcy s good at low nput rates, but t reaches saturaton quckly (at dfferent ponts dependng on record sze). Senstvty to ths low saturaton pont makes FCFS undesrable under most real operatng condtons. SCAN and SSTF provde the greatest throughput and least mean watng tme at the expense of hgher varance, or dscrmnaton. SCAN and SSTF are nearly dentcal for Ts and W, and dffer only n varance. For ths reason we can easly make the choce of SCAN over SSTF at all but the lowest nput rates. At low nput, SCAN s neffcent because of the necessty to sweep entrely across the dsk surface regardless of the sze of the queue. The most practcal way to mplement SCAN on a real system would be to make a trval modfcaton suggested by Merten [8], called LOOK. 180 Communcatons March 1972

Fg. 3. Performance of dsk schedulng polces for m = 50 records/ track. _.~ zoo ~ 8o v 60 ~ 2o m ~- o o,) v s =_= 3 I--,_ 2 p_l,=,=, o,.z,2- z.0,o ~ ~.s u ESCHENBACH ;., FCFS ~"~-. ~ - =. = _ - - _ - ~= ~ -- ----_-._ "ss'rf t, 10 20 30 40 50 HEAN QUEUE LENGTH... Ts~- / LN"%:~"... FCrS SCAN. ~ ssrf 0 20 30 qo ~0 MEAN QUEUE LENGTH SSTF... ~... /;~;E;~... :-7-- ~o...,- 10 20 30 t~o 50 MEAN QUEUE LENGTH LOOK allows the dsk arm to change drecton when there are no further requests to servce n the current drecton. At low utlzaton t s as good as or better than the other polces, and at hgh utlzaton ts performance s nearly equvalent to that of SCAN. The N-step scan s nterestng because t offers reasonable performance n throughput and mean watng tme and has a lower varance than ether SSTF or SCAN. However, t s dffcult at ths pont to say whether the lower varance of N-step scan offsets the hgher T~ and W. The smulatons ndcate that much could be ganed by not mposng a lmt N. We let the upper bound on N be ~, so that whenever the server s ready to chan a new group of requests, t chooses all the requests n the queue at that pont. We wll henceforth refer to the N-step scan n terms of then= ~ case. The Eschenbach scheme performs well for m = 50 under heavy loadng condtons. Ths s due manly to ts rotatonal optmzaton feature. As stated above, one purpose of the smulaton was to verfy the analytcal approxmatons gven n Table I. The results corresponded very closely wth two exceptons. Wth a small queue, the expresson for SCAN (3) does not take nto account the neffcency of gong to the extremes of the dsk regardless of the locatons of requests. Wth a large queue, the N-step approxmaton appeared to fal because seek tme was no longer the domnant factor n total servce tme. Crteron for Overall Performance Taken ndvdually, none of the prevously mentoned measures of performance would be adequate to select the best dsk schedulng polcy for a gven stuaton. If we assume the exstence of a utlty functon that allows us to adjust the relatve mportance of T~, /4I, and aw, we wll have a measure wth whch to dfferentate overall performance among schedulng polces. One such functon could be chosen as follows. O = Tsa(bW-Fcaw) (6) where 0~, T~, W, and ~w are functons of the th schedulng polcy and a gven mean nput rate k. a, b, and c are adjustable weghts. For the functon 0~ no sngle measure of performance domnates, and each measure can be weghted ndependently. A lnear combnaton of all three measures s not meanngful because Ts s n mllseconds and both W and aw are n seconds. However, we use a lnear combnaton of W and aw because the unts are the same and the smulatons show that ther magntudes are comparable. Takng the product of all three was rejected because t would degenerate for aw = 0. By varyng a, b, and c n (6) we can modfy the relatve mportance of any measure. Our problem s to fnd the schedulng polcy that mnmzes over the famly of functons 0 for mean nput rates wthn some specfc range: Fnd 0 = mnmum [01, 02,..-, 0n] (7) subject to Xl < X < Xz where n s the number of polces beng consdered. We use Xl = 0 and X2 = 50. We wll see that 0 s an envelope under the famly 0 and cannot be solved by a unque polcy for the entre range of X. We wll then see f modfcatons can be made to these polces so that a unque optmal polcy can be desgned. The applcaton of (6) to the smulaton results for m = 4 sectors/track yelds the relatonshps shown n Fgures 4 and 5. Fgure 6 shows the m = 50 case. Values used for the weghts are shown on the graphs. Fgures 4 and 5 show that the relatve performances of the polces are rather nsenstve to nomnal changes n the weghts. Ths ndcates that (6) s stable as a performance measure and not subject to dscontnutes. 181 Communcatons March 1972 of the ACM Volume 15 Number 3

An Algorthm for Overall Performance A study of the Eschenbach scheme versus SCAN wth rotatonal optmzaton reveals that the superorty of Eschenbach at heavy loadng (m = 50) s due to the crcular acton of the dsk arm from cylnders 1, 2,.., c -- 1, c and back to 1. In ths way the maxmum wat, assumng that no sector queues occur, s one ~ z 800 complete cycle of c possble stops; the mnmum wat s essentally zero. For SCAN the maxmum wat s also a ~ soo complete cycle, but the shuttle acton may result n 2c -- 2 stops (c=200 n our examples). Clearly SCAN ~--~400 has a much greater varance n wftng tme and only a & slght mprovement n the mean W. Consequently a modfcaton to SCAN can be desgned so that the ~_g200 dsk arm wll sweep n a crcular pattern to take advantage of ths property [10]. Ths new polcy wll be ~ o referred to as C-SCAN, and ts real mplementaton wll be called C-LOOK. Two smulatons were constructed, one wth the crcular sweep and no other change, and one wth both the crcular sweep and rotatonal optmzaton. The results of these smulatons are dsplayed on Fgures 4-6. They ndcate that n both cases C-SCAN has medocre performance at low utlzaton, but t always becomes the most superor polcy of ts class (rotatonal polcy used) at hgh utlzaton. A smlar test was attempted wth the N-step scan, but t showed very lttle senstvty to these changes (see Fgure 6). In the N-step scan the varance s fxed by the automatc groupng of requests and s nsenstve to shuttle or crcular acton. Also, as expected, the rotatonal optmzaton does not mprove N-step as much as t does SCAN. The N-step algorthm does not allow new requests to be servced as they pass under the read/wrte heads because they are not n the prespecfed group, and thus t cannot take advantage of ths prospect for ncreased effcency. Our concluson s that the best overall dsk schedulng polcy should be a two-part modfcaton of the SCAN access method. At low utlzaton, use the LOOK polcy; at hgh utlzaton, use the C-LOOK polcy. The decson to mplement rotatonal optmzaton or not depends on the frequency of heavy loadng, constrants of a partcular system, and whether or not the cost of addtonal software development s worth- 1 whle. Rotatonal optmzaton could be mplemented ndependently of whatever schedulng polcy was used. A two-part (or two-polcy) algorthm may not be necessary f the system load s almost always n some specfc lmted range. In ths case one should choose ether LOOK or C-LOOK, dependng on the range of load to be handled. Fg. 4. Overall performance, m = 4 records/track. 2 FCF~ 10 Implementaton ESCHENBACH -~..~.. /.~.":. ~...- "" s~7"...a-'~_ E "" / ~..'.f~ ommzm 20 30 ~0 50 REQUESTS/SECOND To consder how to mplement a two-polcy algorthm, we frst examne Fgure 4. The crossover pont n total performance between SCAN (or LOOK) and C-SCAN (or C-LOOK) Occurs at X = 30 requests/ second. However, the performances for these polces are almost ndstngushable n the nterval of 28-32 requests/second. In ths nterval ether polcy could be used, so nstead of defnng a sngle swtchng pont between the two polces, we defne two swtchng ponts at the ends of the nterval. They can be specfed by the equlbrum queue lengths of C-LOOK and LOOK at the lower end (L1) and the upper end (L~), respectvely. By applyng the smulaton technques used here, one could determne a satsfactory par Lx, L2 to handle hs own partcular nput characterstcs. To llustrate the concept of two swtchng ponts, we defne the followng operaton regons (see Fgure 7). Range of Schedulng Crossover to the Regon nput rates polcy used other polcy 0-32 re- LOOK quests/sec. 28-50 re- C-LOOK quests/sec. Lz ~ 140 (queue length of LOOK at X = 32) Lt ~ 100 (queue length of C-LOOK at X = 28) The LOOK polcy should be used ntally. When the counter of queue length exceeds L2, C-LOOK should be used. If the queue length should then drop below L1, the LOOK polcy should be resumed. A two-polcy algorthm can be mplemented qute 182 Communcatons March 1972

Fg. 5. Overall performance, m = 4 records/track. x I ~ESOHENBACH :S smply: Locate the request queue n man memory. Rank I/O requests by cylnder number, sector, and track, respectvely; nsert arrvng requests n a doubly lnked crcular lst. A 2-bt status code s requred to dfferentate among LOOK (sweep forward), LOOK (sweep backward), and C-LOOK. Also, the current queue length and values for L1 and L2 must be readly avalable. Such a desgn could be realzed n a software subsystem, a perpheral processor, or an all-hardware dsk queuer. Concluson 4- b-- II 2 J S... (/t 2_c:sc.~_ '2 OPTIMIZED 0 I J ' ' ' 0 20 30 40 50 R QU STS/S COND We defned total performance n terms of a utlty functon whch combnes system throughput wth mean and varance of watng tme for ndvdual requests. Cost of mplementaton was also consdered. Based on these factors we found that under lght loadng condtons the maxmum performance dsk schedulng polcy was LOOK, a varaton of the SCAN access method Under heavy loadng condtons C-LOOK, combnng the best characterstcs of LOOK and the Eschenbach scheme, had maxmum performance. Fg. 6. Overall performance, m = 50 records/track. (~ o 300 x r--~ 200 + " lo0 ",:,, FCFS 10 E J' : =~o d:z z(gu.,e _ r ~[" /or crcular? N=r~ [ A~g;(d;'~---/ /crcular) / / /C-SCAN IfJ I/..." /,/~OPTIM ZED # 20 30 40 S0 R OUESTS/SECOND Fg. 7. Concept of two swtchng ponts. tl IOUEUE @ @ @ V TIME Implement LOOK polcy. O Implement C-LOOK polcy. Acknowledgments. The authors would lke to express apprecaton to Ron Otto for hs helpful suggestons. The referees also provded several helpful comments. Appendx A SSTF Expected Mnmum Seek Tme The expected mnmum seek tme for the SSTF polcy was derved by Dennng [3]. Hs result, assumng a seek was requred, was stated as T~k = ~+Smm+ 2(L + 1) 1+~ ~ (A.I) where T~u, Sm~., S... L, and e are defned n Table I. Ths equaton appears to be n error, as ponted out by Merten [8], because the number ~ was unchanged n the transformaton from dstance unts to tme unts, and thus t s untless n (A.1). Merten's correcton was based on an nterpretaton that the ~ term should be separate from the other term n the dstance equaton. A more reasonable nterpretaton s that the dstance expresson contans exactly one term, whch transforms n the followng manner to a tme expresson. Let represent Dennng's dstance expresson: 1 c--1 = ~ + ~ where 1 I 1 ( e "~L+I 1 fl = ~ 1 -k ~ c~-1--1/ J" (A.2) The tme requred to move the dsk arm a postve dstance 6, condtoned that the dsk arm moves, s Tsk = (Smn Smax--Smn) C JCsmax-smn~ C--2 (A.3) 183 Communcatons March 1972

See Fgure 1 for nterpretaton of ths lnear approxmaton of seek tme. By substtutng (A.2) nto (A.3) and usng smple algebra, we obtan Tsk = Smn--]-(Smax- Stan)I(C- ~-c 1)~--11 -~ ~ " (A.4) Equaton (A.4) satsfes both the physcal concept and the dmensonal analyss. Appendx B 7. Lttle, J.D.C. A proof for the queung formula: L = XW. Oper. Res. 9, 3 (1961), 383-387. 8. Merten, A.G. Some quanttatve technques for fle organzaton. Ph.D. Th., Tech. Rep. No. 15, U. of Wsconsn Comput. Center, 1970. 9. Pnkerton, T.B. Program behavor and control n vrtual storage computer systems. CONCOMP Proj. Rep. No. 4, Ph.D. Th., U. of Mchgan, Apr. 1968. 10. Seaman, P.H., Lnd, R.A., and Wlson, T.L. An analyss of auxlary-storage actvty. IBM Syst. J. 5, 3 (1966), 158-170. 11. Wengarten, A. The analytcal desgn of real-tme dsk systems. Proc. IFIP Congr. 1968, North Holland Pub. Co., Amsterdam, pp. D131-D137. Number of Requests Servced by SCAN The SCAN polcy defnes L' as the sum of the mean queue length L (the ntal set of requests to be handled n one scan) plus all new requests that fall n the path of the dsk arm n one full sweep of the c cylnders. If we assume that the dstrbuton of requests yet to be servced s unform, then L' can be computed n terms of a recurrence formula for the expected number of requests remanng to be servced. Let the dsk arm proceed from left (cylnder 0) to rght (cylnder c - 1). Let DRI = DR_I -- DR_I/(NRI_I + 1) denote the expected number of cylnders from the dsk arm poston to cylnder e - 1 after requests have servced. Let NR~ = NR_I -- 1 d- qdrjdro denote the expected number of requests currently to the rght of the dsk arm after requests have been servced. q = expected nput rate/expected servce rate, or the expected number of requests arrvng n the th servce nterval. The boundary condtons are NRo = L and DRo = c -- 1. To derve L' we frst substtute for DR~ n the equaton for NR to obtan OR_l ( NRI_I ) NR = NRI_I -- 1 -Jr q ~ NR _I -1-. By substtutng recursvely for DR_], and then for NR_l, we reach -x f NR~ NR = NRo -- 1 + q k=0z -~=-~NRy+ - 1" (B.1) Equaton (B.1) s a functon only of L and q. In partcular t s ndependent of e. If we stop the recurrence computaton when NR < 0.5, we obtan L' = = L-0.5+qZ k~0 NRj-~J (B.2) smallest nteger greater than. For practcal values of q,.e. 0.8 < q < 1, we obtan 1.53 < L'/L < 1.72. References 1. Abate, J., and Dubner, H. Optmzng the performance of a drum-lke storage. IEEE Trans. Comput. C-18, 11 (Nov. 1969), 992-997. 2. Dahl, O.J., and Nygaard, K. SIMULA--A language for programmng and descrpton of dscrete event systems: Introducton and users' manual. Norwegan Computng Center, Oslo, 1966. 3. Dennng, P.J. Effects of schedulng on fle memory operatons. Proc. AFIPS 1967 SJCC, Vol. 30, AFIPS Press, Montvale, N.J., pp. 9-21. 4. Feller, W. An bltroducton to Probablty Theory and Its Applcatons, Vol. 1, 3rd ed. Wley, New York, 1968. 5. Frank, H. Analyss and optmzaton of dsk storage devces for tme-sharng systems. J..4CM 16, 4 (Oct. 1969), 602-620. 6. Introducton to IBM System/360 drect access storage devces and organzaton methods, C20-1649-4, IBM. 184 Communcatons March 1972