Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
A SAS Proeedure for Evaluating the PerforDUlllee Token Rmg Local Area Networks or Richard. L. Gima.rc and James H. Smith, Boole .It Babbage, Inc. 1. ABSTRACT of Capacity Management and Capacity Planning have recently emerged, providing the data center manager with a large arsenal or measurement and predictive tools that can help him make important decisions such as acquiring new equipment, altering sYstem parameters (sYstem tuning), and shuftling workloads among the machines for which he is responsible. In this paper the authors present a SAS procedure for evaluating and predicting the performance of token ring-baeed local area networks. The description and parameters of the network are all input through the procedure control carda, then an analytic model of the ring is constructed and executed. A SAS data set is created which contains the important performance metrics of the network, notably predicted queueing times for each station and overall utilization of the network. Examples are provided to show how this procedure can be used to predict the behavior of a token ring in scenarios or projected increases in message traffic. Use of the procedure to perform sensitivity analyses on the network is also illustrated. In the near future, it is likely that much data processing wiD be handled not by one or two huge computers in a central location, but rather it will be distributed among many smaller machines, each performing a specialized function. While the management and planning of the capacity of these processors themselves is an important issue in itself, the management of the network that ties these machines together is of even greater concern. In this paper, the authors provide one of the tools that wiD be required for the successful planning and management of local area networks: an analytic model of the network which accurately predicts performance. With this tool, the network analyst wiD be better armed when he finds himself facing the same questions which now confront the 3. INTRODUCTION The local area network (LAN) is perhaps the most important element of the office of the future. As more and more information becomes accessible through electronic media, the need to share this data among the various personnel,. departments, and automated information processing stations will rise accordingly. Today's desk, with its typewriter, In and Out boxes, and telephone is rapidly being transformed into a workstation with instant access to volumes or data that would fill a thousand filing cabinets. The thread that will bind together these workstations, along with assorted file servers, hardcopy devices, arithmetic processors, etc., will in all likelihood be some form of local area network. Such networks have already been widely implemented and new office buildings are being designed to facilitate implementation or LANs at some time in the near future. In short, the local area network will soon be an indispensable part of most large offices, and now is the time to begin planning for their arrival. data center manager. U Modelling the Tokea RIng Local Are. Network A token ring local area network consists of a series of stations (workstations, file servers, etc.) that are connected by uni-directional transmission cables to form a single closed loop, a ring. See Figure 1. Messages arriving at each station for transmission on the ring are enqueued in the station's message wait queue. Each message contains a destination address of the station that is to receive the message. Only one station at a time may transmit a message from its message wait queue on the ring. Permission to transmit takes the form of a special sequence of bits called the free token. A station with a message to transmit will monitor the ring and wait for the free token. When the free token is recognized, the station will change a bit and transform the free token into a ~U8Y token. Now that the station has permission to transmit, it may select a message from its message wait queue and begin message transmission. 3.l Copaelty PIannlng ad Local Are. Networks Today, one of the most important tasks the manager of a large data center faces is the evaluation of his current capacity to handle various data processing applications. Equally important is the ability to foresee bottlenecks that will severely limit this capacity as the load on the sYstem increases (as it invariably must). The twin sciences 25 ~- - ~- performance metrics, notably queueing times, for the network as a whole as well as for each station in the network. M _ transmi..u"n will continue until the last bit of the selected m _ has been transmitted. At that time the transmitting station will regenerate the free token and transmit it onto the ring, thus giving other stations the opportunity to transmit their waiting messages. 1.3 Iatrodudkm PROC TOKEN is intended to be used as an aid in the management of and planning for token ring local area networks in the medium to large office complex. It's primary purposes are 1) predicting the performance of a LAN in scenarios of projected usage, and 2) estimating the sensitivity of the LAN to changes in the configuration of the network. TOKEN uses an iterative algorithm which has demonstrated good accuracy in a series of comprehensive teste against a highly accurate simulation model. As a m _ travels around the ring, each station buffers one or more bits in order to examine the m_'s destination address. When a station recognizes itself as the destination, it performs a non-destructive copy of the message from the ring into a local data buffer for subsequent processing (see Figure 2). After each bit is buffered and examined (and possibly copied to a local buffer) it is retransmitted on the ring to the next downstream station. A message on the ring will continue this station-to-station hopping until it reaches the originating station where it will be removed from the ring. a.a The analytic model that forms the basis for PROC TOKEN makes three assumptions about the network. First, the sise of messages arriving at the network is assumed to have a distribution with known mean and standard deviation (the latter may be sera), and further this distribution is assumed to be the same for each station on the ring. Second, the rate at which messages arrive at a station is assumed to have a Poisson distribution with known mean, but the arrival rate may vary from station to station. And third, the ring is assumed to be reliable and free of logical and physical fanlts. Note that the network just described, a single-Ioke" token ring, is only one of several possible types of token rings, but is considered the most attractive for reasons of reliability and overaJI performance [Berry 1983a[. The token ring LAN may be modelled as a queueing network, in which messages arrive at a station from outside the network, then must wait their tum to be transmitted by the station. The time that a m _ waits to be transmitted (referred to as queueing time) is composed of two parts: the time that the arriving message must wait for messages which arrived ahead of it to be transmitted, and the time that the message, once it is at the head of the queue, must wait until the token arrives. The analytic modelling technique employed by PROC TOKEN has been shown to accurately predict station queueing times over a wide range of utilizations and in a wide variety of confIgUrations, including networks having asymmetric arrivals, i.e., messages arrive at different rates for different stations. Other important performance metrics provided by this procedure include the mean queueing time of the ring and utilization of the ring. A description of the algorithm, its underlying assumptions, details of the validation procedure, and examples are provided in [Berry 1983b). a. Assumptlou 3.4 Required Iapnts To use PROC TOKEN, a number of input parameters must be specified which completely defines the network. Global ring parameters are number of STATIONS, NAME of the ring (optional), OVERHEAD (the buffering delay imparted by each station in retransmitting a m _ plus the station-to-station propagation delay), CAPACITY of the ring (the transmission rate of the stations on the ring), and MSGSIZE, the mean and variance of the message size (assumed to The only station be the same for all stations). specific parameter is the ARRNAL rate of messages at each station. Since these latter inputs are assumed to represent the means of Poisson arrivals, only one parameter is specified per station (in practice, one arrival rate may be specified which is applied to each station in the ring, if all arrival rates are assumed to be equal). THE TOKEN PROCEDURE 3.1 Abot..et The TOKEN procedure calculates performance metrics for a single-token token ring local area network, using only the input parameters specified on the PROC statement and in accompanying RING statements. The resnJts are placed in a SAS data set (no printed output is generated), and contain The TOKEN procedure is invoked as follows: PROC TOKEN options, RING I'oromot ... list; 26 Any number of RING statements may appear with a single PROC statement. The output data set will contain results from all the RING statements. This feature is useful for ana.Iyzing pIanning scenarios and performing sensitivity analyses. Specifies the number of stations in the network. count must not exceed 100. OVERHEAD=tim. uflit Specifies the station-to-station propagation delay plus the buffering delay that a message uuffers at each station. Default value for umt is seconds (may be specifed as SEC). Other umt values allowed are milliseconds (MS) and microseconds (US). A typical value might be 2 US. PIlOC TOKEN Statement PROC TOKEN options; The opti.... that may appear in the PROC TOKEN statement are listed below: CAPACITY=va!u. uflit OUTPUT=SASdataset Specifies the transmi..ion rate for the ring. Default value for unit is bits per second (expressed as BPS). Other umt. allowed are thousands of bits per second (KBPS) and millions of bits per second (MBPS). Typical values might range from 1 MBPS to 10 MBPS. Names the SAS data set to hold the results of executing PROC TOKEN. Since TOKEN generates no printed output of its own, this option should always be included. Default is _NULL_. TOLERANCE=tol.raflc. MSGSIZE=( m.afl,sld.v) =(m.afl) Specifies the convergence criterion for the modelling program. Iteration terminates when no station's modened queue length changes by more than tol.ra"ce from one iteration to the next. Default value for toleraflce is .000001. =meGn Specifies the mean, mean, and standard deviation, sld.v, of the distribution of the size of messages entering the network, expressed in bits. If only the mean is given, and is enclosed in parentheses, the standard deviation is taken to be zero. If ouly the mean is specified, and is not enclosed in parentheses, the standard deviation is taken to equal the mean. MAXIT=cou'" Specifies the maximum number of iterations to be performed per RING statement. Default value for cou'" is 15. RING Statement ARRIVAL=(Sl=m.a...S2=m.a...... ,Sn=m.afl) =(Sl-Sk=m .....Sk+1=m ••fI, ..• ) =(m ••fI) =mean RING paramet.r lia/; Each RING statement causes a model to be built and executed, and results to be generated. Multiple RING statements could be used to predict the performance of a network over a period of time. Each of the parameters listed below, except NAME, is required for the fIrSt RING statement ouly. Values are paseed to each subsequent RING statement from its immediate predecessor; hence all parameters are optional for the second and subsequent RING statements. Specifies the mean message arrival rate at each station in the network. The arrival rate may be specified individually for each station, as in the first format shown, or it may be specified globally for all stations by simply giving a number, either enclosed in parentheses or not. The second format shown ....igns the same value to stations 1 through k. Note that if a global arrival rate is not specified, then a station is assumed to have zero arrivals uul... its rate is specified. NAME='';flg flame' 4. DETAILS Specifies an identifier for the model &88OCiated with this RING statement. This optional parameter is enclosed in single quotes and may be any character . string up to twenty characters in length. Its primary use is to identify a point in scenario or sensitivity analysis. 4.1 Outpfll Data Set TOKEN produces no printed output. The results of modelling may be printed, graphed, and analyzed through use of the standard SAS procedures, however, provided that a SAS output data set was specified on the PROC statement. The output STATIONS=couflt :~ 27 described in the following paragraphs is produced for each RING statement encountered. of message sizes (same for all stations). The output for a single RING statement consists of N+ 1 observations, where N is the number of stations specified by the STATIONS parameter. One observation is written for each station in the ring, plus an observation containing summary statistics for the network. The varaibl.. in an observation are the following: STATION NAME U The number which identifies a particular station on the ring. The values of STATION are the integers 0 through N, with 0 indicating the observation which contains the summary ring Predicted mean queue length for station STATION. If STATION = 0, Q...LENGTH is the sum of the mean queue lengths of the individual stations. Q...TIME Predicted mean wait time,in seconds, for a message arriving at station STATION. If STATION = 0, Q...TIME is the Bum of the mean wait time of the individual stations. UTIL Predicted utilization of station STATION, i.e. the product of the station's arrival rate and mean message transmission time. Note that UTIL of station 0 is the sum of the individual The character string variable NAME may be used as a key to separate the output associated with the various RING statements, and if one were concerned with a global performance metric, STATION 0 would be retained from each RING. Also of interest might be the performance of a specific station as the utilization or configuration of the ring changes, in which case one would retain data for that station only. Examples of scenario execution and sensitivity analysis are provided in the next section. stations' utilizations. ARRNAL Output From Multiple RIng St.tem.at. The use of multiple RING statements with a single PROC TOKEN statement provides a convenient method to conduct sensitivity analyses and to construct scenarios of projected network usage. For example, say .a network analyst projects that the number of messages arriving at each station in his network will increase by 25% per quarter over the next two years, and he is interested in knowing at what point the expected queueing time for a message will become unacceptably long. He would then construct a scenario consisting of eight RING statements, each having its ARRNAL statement reflecting 26% growth over the previous RING He might then use PROC PLOT to statement. graph the mean queueing time for the network as a function of time, and plan to make a configuration change before the queueing time curve crosses the threshold of unacceptability. Or, he might use his current network as a base, then explore the impact of adding five, ten, fifteen, or twenty stations to his network, using a total of five RING statements. statistics. Q...LENGTH Either the user-supplied name, or a name of the form: RINGn, where n is 1 for the first RING statement, 2 for the second, etc. Same for all stations. User-supplied station arrival rate for station STATION. For station 0, ARRNAL is the sum of the individual stations' arrival rates. 6. EXAMPLES OVERHEAD User-supplied station (same for all stations). overhead CAPACITY User-supplied transmission rate (same for all stations). XMITTIME Mean message transmission time (same for all in seconds stations). This section will illustrate how the problems posed in the previous section can be examined using PROC TOKEN. The goal. of a sensitivity analysis is to determine how a system will be affected by configuration or workload changes. Suppose the base network has 10 stations. lOOOO-bit messages arrive at each station at the rate of 2 messages per second. Messages are transmitted on the ring at the rate of 1 MBPS and there is a 4 microsecond delay at User-supplied mean message size (same for all stations). User-supplied standard deviation 28 each ring station. The question to be &nlIWered is: how will network performance be affected by adding more stations to the ring? '1'. REfERENCES [Berry 83a[ Fignre 3 shows the SAS statements required to answer this question. The base case is dermed with the first RING statement. The additional RING statements each redefine the ring to include more stations. Note that the ARRIVAL parameter is required when the number of stations is increased since the arrival rate of the new stations would default to zero otherwise. The NAME parameter is used so that the resnlts for each of the RING statements can be easily identified. [Berry 83bJ Berry, Robert F. Performance Models of Local Area Networks Ph.D Dissertation, University of Texas at Austin, 1983 The results of this analysis are show in Figure 4. This figure shows normalized wait time and queue length (normalized with respect to the base case) plotted against station count. From this plot it can easily be seen that the queueing delay at each station will more than double if 10 stations are added to the ring. And further, adding 20 stations will increase the queueing delay by a factor of six. U Berry, Robert F. and Chandy, K. Mani Performance Models of Token Ring Local Area Networks Proceedings, 1983 AOM SlGMETRIOS Conference on Measurement and Modeling of Oomputer Systems Aug 29-31, 1983, Minneapolis, MN, pp 266-274 8. Author Contad Boole &; Babbage, Inc. 611 West 14th Street Austin, Texas 78701 (512) 478-0788 Sceurio Execution A scenario execution is used to examine how a system will respond to changes made over time. Figure 5 shows an example of a scenario execution where the arrival rate at each station increases by 25% per quarter. Since only the arrival rate is changing, ARRIVAL is the only required parameter. Also, the effect of increasing the ring capacity in the fourth quarter of '84 is examined by use of the CAPACITY parameter. Again, the NAME parameter is used to label the results for each point in the OUTPUT data set. A plot of the resnlts is shown in Figure 6. 8. SUMMARY PROC TOKEN has been shown to be a simple and effective tool to use for studying the performance of a token ring local area network. Network parameters are specified in terms the network analyst is famiIar with and by outputting the results to a SAS data set rather than a printed report, the analyst can use the data presentation facilities of SAS to produce reports appropriate for the problem being investigated. This procedure nIso demonstrates how a model can be packaged in SAS. The usually complex model parameters are specified via keyword parameters in SAS-Iike syntax directly and the resnlts from model executions are immediately available for further analysis and reporting by other SAS procedures. 29 Figure 1. Token Ring Configuration, D station buffer //" / / / ----i---+O Figure J. Token Ring Station Buffer, PROC TOKEN OUTPUT=SASLIB.XEQ001; RING MSGSIZE=(1.E4,0) OVERHEAD=4 US CAPACITY=l MBPS STATIONS=10 ARRIVAL=2 NAME='ST=10'; RING STATIONS=15 ARRIVAL=2 NAME='ST=lS'; RING STATIONS=20 ARRIVAL=2 NAME='ST=20'; RING STATIONS=25 ARRIVAL=2 NAME='ST=2S'; RING STATIONS=30 ARRIVAL=2 NAME='ST=30'; FIgure 3. Sensitivity Analysis: PROC TOKEN Statements, 30 \ local data buffer Sensitivity Analysis 18 17 16 15 14 13 12 " 10 9 8 7 6 5 4 3 2 15 10 o Wait Time 20 25 station Count + Queue Length rlgaro 4. Sensitivity Analysis: Results. PROC TOKEN OUTPUT=XEQ002; RING STATIONS=10 MSGSIZE=(1.E3,0) OVERHEAD=4 US ARRIVAL=50 NAME='1Q84, CAPACITY=1 MBPS; RING RING RING RING RING RING RING ARRIVAL=62.5 ARRIVAL=7B.l ARRIVAL=97.6 ARRIVAL=122 ARRIVAL=152.5 ARRIVAL=190.6 ARRIVAL=238.2 NAME='2Q84'; NAME='3Q84'; NAME='4Q84, CAPACITY=5 MBPS; NAME='lQ8S'; NAME='2Q85'; NAME='3Q8S'; NAME='4Q8S'; FIgaro 6. Scenario Execution: PROC TOKEN Statements, 31 30 Scenario Execution 6,-----------------------------------------------, 5 4 3 2 o~~~~~~~+=~ 1084 2084 o 3Q84 Wait Time 1085 4084 2Q85 Planning Dotes + Queue Length Figure 6. Scenario Execution: Result•. 32 3Q85 4Q85