Download A SAS Procedure for Evaluating the Performance of Token Ring Local Area Networks

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
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