******************************************************************* ATM Forum Document Number: ATM_Forum/96-0810R1 ******************************************************************* Title: ATM Forum Performance Testing Specification - Baseline Document ******************************************************************* Abstract: This is the current baseline of the ATM Forum performance testing document including material from various contribu- tions that have been voted in so far. ******************************************************************* Source: Raj Jain, Bhavana Nagendra, Gojko Babic The Ohio State University Department of CIS Columbus, OH 43210-1277 Phone: 614-292-3989, Fax: 614-292-2911, Email: Jain@ACM.Org The presentation of this contribution at the ATM Forum is sponsored by NASA. ******************************************************************* Date: August 1996 ******************************************************************* Distribution: ATM Forum Technical Working Group Members (AF-TEST) ******************************************************************* Notice: This contribution has been prepared to assist the ATM Fo- rum. It is offered to the Forum as a basis for discussion and is not a binding proposal on the part of any of the contributing organizations. The statements are subject to change in form and content after further study. Specifical- ly, the contributors reserve the right to add to, amend or modify the statements contained herein. ******************************************************************* A Postscript copy of the current baseline text has been up- loaded to the ATM Forum Server in the incoming directory as atm96-0810r1.ps A marked up version showing changes from the last time has also been uploaded as atm96-0810r0.ps The documents may have been moved from the incoming direc- tory to atm96 directory by the ATM Forum staff. These documents are also available on our web as: http://www.cse.wustl.edu/~jain/atmf/atm96-0810r1.ps http://www.cse.wustl.edu/~jain/atmf/atm96-0810r0.ps Attached below is the text part of the baseline. Tables and figures are not available in this part. ----------------------------------------------------------------- Technical Committee ATM Forum Performance Testing Specification June 1996 96-0810R1 ATM Forum Performance Testing Specifications Version 1.0,June 1996 (C) 1996 The ATM Forum. All Rights Reserved. No part of this publication may be reproduced in any form or by any means. The information in this publication is believed to be accu- rate at its publication date. Such information is subject to change without notice and the ATM Forum is not responsi- ble for any errors. The ATM Forum does not assume any re- sponsibility to update or correct any information in this publication. Notwithstanding anything to the contrary, nei- ther The ATM Forum nor the publisher make any representa- tion or warranty, expressed or implied, concerning the com- pleteness, accuracy, or applicability of any information contained in this publication. No liability of any kind shall be assumed by The ATM Forum or the publisher as a re- sult of reliance upon any information contained in this publication. The receipt or any use of this document or its contents does not in any way create by implication or otherwise: `u Any express or implied license or right to or under any ATM Forum member company's patent, copyright, trademark or trade secret rights which are or may be associated with the ideas, techniques, concepts or expressions contained herein; nor `u Any warranty or representation that any ATM Forum mem- ber companies will announce any product(s) and/or ser- vice(s) related thereto, or if such announcements are made, that such announced product(s) and/or service(s) embody any or all of the ideas, technologies, or concepts contained herein; nor `u Any form of relationship between any ATM Forum member companies and the recipient or user of this document. Implementation or use of specific ATM recommendations and/or specifications or recommendations of the ATM Forum or any committee of the ATM Forum will be voluntary, and no company shall agree or be obliged to implement them by virtue of participation in the ATM Forum. The ATM Forum is a non-profit international organization accelerating industry cooperation on ATM technology. The ATM Forum does not, expressly or otherwise, endorse or pro- mote any specific products or services. Table of Contents 1. INTRODUCTION 1.1 SCOPE 1.2 GOALS OF PERFORMANCE TESTING 1.3 NON-GOALS OF PERFORMANCE TESTING 1.5 TERMINOLOGY 1.6 ABBREVIATIONS 2. CLASSES OF APPLICATIONS 2.1 PERFORMANCE TESTING ABOVE THE ATM LAYER 2.2 PERFORMANCE TESTING AT THE ATM LAYER 3. PERFORMANCE METRICS 3.1 THROUGHPUT 3.1.1 Definitions 3.1.2 Units 3.1.3 Statistical Variations 3.1.4 Traffic Pattern 3.1.5 Background Traffic 3.2 FRAME LATENCY 3.2.1 Definition 3.2.2 Units 3.2.3 Statistical Variations 3.2.4 Traffic Pattern 3.2.5 Background Traffic 3.3 APPLICATION GOODPUT 3.4 REPORTING RESULTS 3.5 DEFAULT PARAMETER VALUES APPENDIX A: MIMO LATENCY 1. Introduction Performance testing in ATM deals with the measurement of the level of quality of a SUT or a IUT under well-known conditions. The level of quality can be expressed in the form of metrics such as latency, end-to-end delay, effec- tive throughput. Performance testing can be carried at the end-user application level (e.g., ftp, nfs) or at or above the ATM layers (e.g., cell switching, signaling, etc.). Performance testing also describes in details the proce- dures for testing the IUTs in the form of test suites. These procedures are intended to test the SUT or IUT and should not assume or imply any specific implementation or architecture of these systems. This document highlights the objectives of performance testing and suggests an approach for the development of the test suites. 1.1 Scope Asynchronous Transfer Mode, as an enabling technology for the integration of services, is gaining an increasing in- terest and popularity. ATM networks are being progressively deployed and in most cases a smooth migration to ATM is prescribed. This means that most of the existing applica- tions can still operate over ATM via service emulation or service interworking along with the proper adaptation of data formats. At the same time, several new applications are being developed to take full advantage of the capabili- ties of the ATM technology through an Application Protocol Interface (API). While ATM provides an elegant solution to the integration of services and allows for high levels of scalability, the performance of a given application may vary substantially with the IUT or the SUT utilized. The variation in the performance is due to the complexity of the dynamic inter- action between the different layers. For example, an ap- plication running with TCP/IP stacks will yield different levels of performance depending on the interaction of the TCP window flow control mechanism and the ATM network con- gestion control mechanism used. Hence, the following points and recommendations are made. First, ATM adopters need guidelines on the measurement of the performance of user applications under different SUTs. Second, some func- tions above the ATM layer, e.g., adaptation, signaling, constitute applications (i.e. IUTs) and as such should be considered for performance testing. Also, it is essential that these layers be implemented in compliance with the ATM Forum specifications. Third, performance testing can be executed at the ATM layer in relation to the QoS provided by the different service categories. Finally, because of the extensive list of available applications, it is prefer- able to group applications in generic classes. Each class of applications requires different testing environment such as metrics, test suites and traffic test patterns. It is noted that the same application, e.g., ftp, can yield dif- ferent performance results depending on the underlying lay- ers used (TCP/IP to ATM versus TCP/IP to MAC layer to ATM). Thus performance results should be compared based on the utilization of the same protocol stack. Performance testing is related to user perceived perfor- mance of ATM technology. For the success of ATM technology, it is important that the performance of existing and new applications be better than that of other competing net- working technologies. In other words, goodness of ATM will not be measured by cell level performance but by frame-lev- el performance and performance perceived at higher layers. Most of the quality of Service (QoS) metrics, such as cell transfer delay (CTD), cell delay variation (CDV), cell loss ratio (CLR), and so on, may or may not be reflected direct- ly in the performance perceived by the user. For example, while comparing two switches if one gives a CLR of 0.1% and a frame loss ratio of 0.1% while the other gives a CLR 1% but a frame loss of 0.05%, the second switch will be con- sidered superior by many users. ATM Forum and ITU have standardized the definitions of QoS metrics. We need to do the same for higher level perfor- mance metrics. Without a standard definition, each vendor will use their own definition of common metrics such as throughput and latency resulting in a confusion in the mar- ket place. Avoiding such a confusion will help buyers eventually leading to better sales resulting in the success of the ATM technology. 1.2 Goals of Performance Testing The goal of this effort is to enhance the marketability of ATM technology and equipment. Any additional criteria that helps in achieving that goal can be added later to this list. a. The ATM Forum shall define metrics that will help compare various ATM equipment in terms of performance. b. The metrics shall be such that they are independent of switch or NIC architecture. (I) The same metrics shall apply to all architectures. c. The metrics can be used to help predict the performance of an application or to design a network configuration to meet specific performance objectives. d. The ATM Forum will develop a precise methodology for measuring these metrics. (i) The methodology will include a set of configurations and traffic patterns that will allow vendors as well as users to conduct their own measurements. e. The testing shall cover all classes of service includ- ing CBR, VBRRT, VBRNRT, ABR, and UBR. f. The metrics and methodology for different service classes may be different. g. The testing shall cover as many protocol stacks and ATM services as possible. (i) As an example, benchmarks for verifying the performance of services such as IP, Frame Relay and SMDS over ATM may be included. h. The testing shall include metrics to measure perfor- mance of network management, connection setup, and normal data transfer. I. The following objectives are set for ATM performance testing: (i) Definition of criteria to be used to distinguish classes of applications. (ii) Definition of classes of applications, at or above the ATM Layer, for which performance metrics are to be pro- vided. (iii) Identification of the functions at or above the ATM Layer which influence the perceived performance of a given class of applications. Example of such functions include traffic shaping, quality of service, adaptation, etc. These functions need to be measured in order to assess the per- formance of the applications within that class. (iv) Definition of common performance metrics for the as- sessment of the performance of all applications within a class. The metrics should reflect the effect of the func- tions identified in (iii). (v) Provision of detailed test cases for the measurement of the defined performance metrics. 1.3 Non-Goals of Performance Testing a. The ATM Forum is not responsible for conducting any measurements. b. The ATM Forum will not certify measurements. c. The ATM Forum will not set thresholds such that equip- ment performing below those thresholds are called "unsatis- factory." d. The ATM Forum shall not establish any requirement that dictates a cost versus performance ratio. e. The following areas are excluded from the scope of ATM performance testing: (i) Applications whose performance cannot be assessed by common implementation independent metrics. In this case the performance is tightly related to the implementation. An example of such applications is network management which performance behavior depends on whether it is a centralized or a distributed implementation. (ii) Performance metrics which depend on the type of im- plementation or architecture of the SUT or the IUT. (iii) Test configurations and methodologies which assume or imply a specific implementation or architecture of the SUT or the IUT. (iv) Evaluation or assessment of results obtained by com- panies or other bodies. (v) Certification of conducted measurements or of bodies conducting the measurements. 1.5 Terminology The following definitions are used in this document. *Implementation Under Test (IUT): The part of the system that is to be tested. *Metric: a variable or a function that can be measured or evaluated and which reflects quantitatively the response or the behavior of an IUT or an SUT. *System Under Test (SUT): The system in which the IUT re- sides. *Test Case: A series of test steps needed to put an IUT in- to a given state to observe and describe its behavior. *Test Suite: A complete set of test cases, possibly com- bined into nested test groups, that is necessary to perform testing for an IUT or a protocol within an IUT. 1.6 Abbreviations ISO International Organization for Standardization IUT Implementation Under Test NP Network Performance NPC Network Parameter Control PDU Protocol Data Unit PVC Permanent Virtual Circuit QoS Quality of Service SUT System Under Test SWG Sub Working Group SVC Switched Virtual Circuit 2. Classes of Applications Developing a test suite for each existing and new applica- tion can prove to be a difficult task. Instead, applica- tions should be grouped into categories or classes. Appli- cations in a given class have similar performance require- ments and can be characterized by common performance met- rics. This way, the defined performance metrics and test suites will be valid for a range of applications. Classes of applications can be defined based on one or a combina- tion of criteria. The following criteria can be used in the definition of the classes: (i) Time or delay requirements: real-time versus non real- time applications. (ii) Distance requirements: LAN versus WAN applications. (iii) Media type: voice, video, data, or multimedia ap- plication. (iv) Quality level: for example desktop video versus broad- cast quality video. (v) ATM service category used: some applications have stringent performance requirements and can only run over a given service category. Others can run on several service categories. An ATM service category relates application as- pects to network functionalities. (vi) Others to be determined. 2.1 Performance Testing Above the ATM Layer Performance metrics can be measured at the user application layer, and sometimes at the transport layer and the network layer, and can give an accurate assessment of the perceived performance. Since it is difficult to cover all the exist- ing applications and all the possible combinations of ap- plications and underlying protocol stacks, it is desirable to classify the applications into classes Performance met- rics and performance test suites can be provided for each class of applications. The perceived performance of a user application running over an ATM network is dependent on many parameters. It can vary substantially by changing an underlying protocol stack, the ATM service category it uses, the congestion control mechanism used in the ATM network, etc. Further- more, there is no direct and unique relationship between the ATM Layer Quality of Service (QoS) parameters and the perceived application performance. For example, in an ATM network implementing a packet level discard congestion mechanism, applications using TCP as the transport protocol may see their effective throughput improved while the mea- sured cell loss ratio may be relatively high. In practice, it is difficult to carry measurements in all the layers that span the region between the ATM Layer and the user ap- plication layer given the inaccessibility of testing points. More effort needs to be invested to define the performance at these layers. These layers include adapta- tion, signaling, etc 2.2 Performance Testing at the ATM Layer The notion of application at the ATM Layer is related to the service categories provided by the ATM service archi- tecture. The Traffic Management Specification, version 4.0, specifies five service categories [: CBR, rt-VBR, nrt- VBR, UBR, and ABR. Each service category defines a rela- tion of the traffic characteristics and the Quality of Ser- vice (QoS) requirements to network behavior. There is an assessment criteria of the QoS associated with each of these parameters. These are summarized in Table 2.1. [Table 2.1: ATM Transfer Performance Parameters.] A few methods for the measurement of the QoS parameters are defined in [2]. However, detailed test cases and proce- dures, as well as test configurations are needed for both in-service and out-of- service measurement of QoS parame- ters. An example of test configuration for the out-of-ser- vice measurement of QoS parameters is given in [1]. Performance testing at the ATM Layer covers the following categories: (i) In-service and out-of-service measurement of the QoS performance parameters for all five service categories (or application classes in the context of performance testing): CBR, rt- VBR, nrt-VBR, UBR, and ABR. The test configura- tions assume a non-overloaded SUT. (ii) Performance of the SUT under overload conditions. In this case, the efficiency of the congestion avoidance and congestion control mechanisms of the SUT are tested. In order to provide common performance metrics that are ap- plicable to a wide range of SUT's and that can be uniquely interpreted, the following requirements must be satisfied: (i) Reference load models for the five service categories CBR, rt-VBR, nrt-VBR, UBR, and ABR, are required. Reference load models are to be defined by the Traffic Management Working Group. (ii) Test cases and configurations must not assume or imply any specific implementation or architecture of the SUT. 3. Performance Metrics In the following description System Under Test (SUT) refers to an ATM switch. However, the definitions and measurement procedures are general and may be used for other devices or a network consisting of multiple switches as well. 3.1 THROUGHPUT 3.1.1 Definitions There are three frame-level throughput metrics that are of interest to a user. i. Lossless throughput - It is the maximum rate at which none of the offered frames are dropped by the SUT. ii. Peak throughput - It is the maximum rate regardless of frames dropped at which the SUT operates. The maximum rate can actually occur when the loss is not zero. iii. Full-load throughput - Its the rate at which SUT oper- ates when the input links are loaded at 100% of their ca- pacity. A model graph of throughput vs input rate is shown in Fig- ure 1. Level X defines the loss-less throughput, level Y defines the peak throughput and level Z defines the full- load throughput. [Figure 1: Peak, lossless and full-load throughput] The lossless throughput is the highest load at which the count of the output frames equals the count of the input frames. Peak throughput is the maximum throughput that can be achieved in spite of the losses. Full-load throughput is the throughput of the system at 100% load on input links. Note that the peak throughput may equal the lossless throughput in some cases. Only frames that are received completely without errors are included in frame-level throughput computation. Partial frames and frames with CRC errors are not included. 3.1.2 Units Throughput should be expressed in bits/sec. This is pre- ferred over specifying it in frames/sec or cells/sec. Frames/sec requires specifying the frame size. The through- put values in frames/sec at various frame sizes cannot be compared without first being converted into bits/sec. Cells/sec is not a good unit for frame-level performance since the cells aren't seen by the user. 3.1.3 Statistical Variations The tests should be run NRT times for TRT seconds each. Here NRT and TRT are parameters. These and other such pa- rameters and their default values are listed later in Table 2. If Ti is the throughput in ith run, The mean and stan- dard errors of the measurement should be computed as fol- lows: Mean throughput = (S Ti)/n Standard deviation of throughput = (S (Ti-Mean through- put)2)/(n-1) Standard error = Standard deviation of throughput/n Given mean and standard errors, the users can compute an 100(1-a)-percent confidence interval as follows: 100(1-a)-percent confidence interval = (mean - z x std er- ror, mean + z x std error) Here, z is the (1-a/2)-quantile of the unit normal variate. For commonly used confidence levels, the quantile values are as follows: [table] 3.1.4 Traffic Pattern The input traffic will consist of frames of length FSA bytes each. Before starting the throughput measurements, all required VCs will be set up (for an n-port SUT) in one of the following four configurations: 1. n-to-n straight: All frames input from port i exit to port i+1 modulo n. This represents almost no path interfer- ence among the VCs. Total n VCs. 2. n-to-n cross: Input from port each port is divided equally to exit on each of the n output ports. Total n2 VCs. 3. n-to-1: Input from all ports is destined to one output port. Total n VCs. 3. 1-to-n: Input from a port is multicast to all output ports. Total 1 VC. The frames will be delivered to the layer under test equal- ly spaced at a given input rate. The rate at which the cells reach SUT may vary depending upon the service used. For example, for ABR traffic, the allowed cell rate may be less than the link rate in some configurations. At each value of the input rate to the layer under test, the total number of frames sent to SUT and received from SUT are recorded. The input rate is computed based on the time from the first bit of first frame enters the SUT to the last bit of the last frame enters the SUT. The through- put (output rate) is computed based on the time from the first bit of the first frame exits the SUT to the last bit of the last frame exits SUT. If the input frame count and the output frame count are the same then the input rate is increased and the test is con- ducted again. The lossless throughput is the highest throughput at which the count of the output frames equals the count of the input frames. If the input rate is in- creased even further, although some frames will be lost, the throughput may increase till it reaches the peak throughput value after which the further increase in input rate will result in a decrease in the throughput. The in- put rate is increased further till 100% load is reached and the full-load throughput is recorded. 3.1.5 Background Traffic The tests can be conducted under two conditions - with background traffic and without background traffic. Higher priority traffic like VBR can act as background traffic for the experiment. Further details of measurements with background traffic (multiple service classes simulta- neously) are to be specified. Until then all testing will be done without any background traffic. 3.2 FRAME LATENCY 3.2.1 Definition The frame latency for a system under test is measured using a "Message-in Message-out (MIMO)" definition. Succinctly, MIMO latency is defined as follows: MIMO Latency = Min{First-bit in to last-bit out latency - nominal frame output time, last-bit in to last-bit out la- tency} An explanation of MIMO latency and its justification is presented in Appendix A. To measure MIMO latency, a se- quence of equally spaced frames are sent at a particular rate. After the flow has been established, one of the frames in the flow is marked and the time of the following four events is recorded for the marked frame while the flow continues unpurturbed: 1. First-bit of the frame enters into the SUT 2. Last-bit of the frame enters into the SUT 3. First-bit of the frame exits from the SUT 4. Last-bit of the frame exits from the SUT The time between the first-bit entry and the last bit exit (events 1 and 4 above) is called first-bit in to last-bit out (FILO) latency. The time between the last-bit entry to the last-bit exit (events 2 and 4 above) is called last-bit in to last-bit out (LILO) latency. Given the frame size and the nominal output link rate, the nominal frame output time is computed as follows: Nominal frame output time = Frame size/Nominal output link rate Substituting the FILO latency, LILO latency, and Nominal frame output time in the MIMO latency formula gives the frame level latency of the SUT. 3.2.2 Units The latency should be specified in micro-seconds. 3.2.3 Statistical Variations NML samples of the latency are obtained by sending NML marked frames at TTL/(NML + 1) intervals for a total test duration of TTL seconds. Here, NML and TTL are parameters. Their default values are specified in Table 2. The mean and standard errors computed (in a manner similar to that explained in Section 1.3 for Throughput) from these samples are reported as the test results. 3.2.4 Traffic Pattern The input traffic will consist of frames of length FSA bytes. Here, FSA is a parameter. Its default value is spec- ified in Table 2. Before starting the throughput measurements, all required VCs will be set up (for an n-port SUT) in one of the fol- lowing configurations: 1. n-to-n straight: All frames input from port i exit to port i+1 modulo n. This represents almost no path interfer- ence among the VCs. 2. n-to-n cross: Input from port each port is divided equally to exit on each of the n output ports. 3. n-to-1 : Input from all ports is destined to one output port. 4. 1-to-n: Input from a port is multicast to all output ports. Total 1 VC. The frames will be delivered to the layer under test equal- ly spaced at a given input rate. For latency measurement, the input rate will be set at the input rate corresponding to the lossless throughput. This avoids the problem of lost marked cells and missing samples. 3.2.5 Background Traffic The tests can be conducted under two conditions - with background traffic and without background traffic. Higher priority traffic like VBR can act as background traffic for the experiment. Further details of measurements with background traffic (multiple service classes simulta- neously) are to be specified. Initially all tests will be conducted without the background traffic. 3.3 Application Goodput Application-goodput captures the notion of what an applica- tion sees as useful data transmission in the long term. Ap- plication-goodput is the ratio of packets(frames) received to packets(frames) transmitted over a measurement interval. The application-goodput (AG) is defined as: Frames Received in Measurement Interval AG = ----------------------------------------------------- Frames Transmitted in Measurement Interval where Measurement Interval is defined as the time interval from when a frame was successfully received to when the frame sequence number has advanced by n. Note that traditionally goodput is measured in bits per sec. However, we are interested in a non- dimensional met- ric and are primarily interested in characterizing the use- ful workderived from the expended effort rather than the actual rate of transmission. While the application-goodput is intended to be used in a single-hop mode, it does have meaningfulend-to-end semantics over multiple hops. Notes: 1. This metric is useful when measured at the peak load which is characterized by varying the number of transmitted frames must be varied over a useful range from 2000 frames per second (fps) through 10000 fps at a nominal frame size of 64bytes. Frame sizes are also varied through 64 bytes,1518 bytes, and 9188 bytes to represent small, medi- um, and large frames respectively. Note that the frame sizes specified do not account for the overhead of accomo- dating the desired frametransmission rates over the ATM medium. 2. Choose the measurement interval to be large enough to accommodate the transmission of the largest packet (frame) over the connection and small enough to track short-term excursions of the average goodput. 3. It is important to not include network management frames and/or keep alive frames in the count of received frames. 4. There should be no changes of frame handling buffers during the measurement. 6. The results are to be reported as a table for the three different frame sizes. 3.4 REPORTING RESULTS The throughput and latency results will be reported in a tabular format as follows: [Table 3.1: Tabular format for reporting performance test- ing results ] 3.5 DEFAULT PARAMETER VALUES The default values of the parameters used in performance testing are listed in Table 2. [Table 2: List of Parameters and their default values ] APPENDIX A: MIMO LATENCY The message-in message-out (MIMO) latency is a general def- inition of latency that applies to a switch or a group of switches when the frames equal to output link rate. For a single bit, the latency is generally defined as the time from bit in to bit out. [Figure A.1: Latency for single-bit frames] For a multi-bit frame, there are several possible defini- tions. First, consider the case of contiguous frames. All bits of the frames are delivered contiguously without any gap between them. In this case, latency can be defined in one of the following four ways: 1. First bit in to first bit out (FIFO) 2. Last bit in to last bit out (LILO) 3. First bit in to last bit out (FILO) 4. Last bit in to first bit out (LIFO) [Figure A.2: Latency for multibit Frames] If the input link and the output links are of the same speed and the frames are contiguous, the FIFO and LILO la- tencies are identical. FILO and LIFO latencies can be com- puted from FIFO (or LILO) given the frame time: FILO = FIFO + Nominal frame output time LIFO = FIFO - Nominal frame output time It is clear that FIFO (or LILO) is a preferred metrics in this case since it may be independent of the frame time while FILO and LIFO would be different for each frame size. Unfortunately, none of the above four metrics apply to an ATM network (or a switch) since the frames are not always delivered contiguously. There may be idle time between cells of a frame. Also, the input and output link may be of different speeds. In the following we consider twelve different cases. For each case, we compare four possible metrics (FIFO, LILO, FILO-nominal frame output time, and MIMO) and show that MI- MO is the correct metrics in all cases while other metrics apply to some cases but give wrong answers in others. The twelve cases and the applicability of the four metrics is shown in Table A.1 [Table A.1: Applicability of various latency definitions ] CASE 1a: Input Rate = Output Rate, Contiguous Frame, Zero- Delay Switch One way to verify the validity of a latency definition is to apply it to a single input single output zero delay switch (basically a very short wire). In this case, the bits appear on the output as soon as they enter on the in- put. All four metrics give a delay of zero and therefore valid. [Figure A.1a: Input Rate = Output Rate, Con- tiguous Frame, Zero-Delay Switch] Notice that FILO and LIFO will give a non-zero delay equal to frame time. Since we are interested in only switch delay and know that the switch delay in this case is zero, FILO and LIFO are not good switch delay metrics and will not be considered any further. The nominal frame output time (NFOT) is computed as the frame size divided by the output link rate. It indicates how long the it will take to output the frame at the link speed. FILO - NFOT indicates switch's contribution to the latency and is therefore a candidate for further discus- sion. CASE 1b: Input Rate = Output Rate, Contiguous frame, non- zero delay switch Figure A.1b shows the flow in this case. [Figure A.1b: Input=Output, contiguous frame, nonzero-de- lay] In this case, the total delay FILO can be divided into two parts: switch latency and frame time: FILO = Switch latency + Nominal frame output time Switch latency = FILO - NFOT LILO = FIFO = FILO-NFOT MIMO = Min{FILO-NFOT, LILO) = LILO = FILO-NFOT = FIFO All four metrics again give identical and meaningful re- sult. CASE 1c: Input Rate = Output Rate, Non-contiguous frame, Zero-delay Switch On a zero-delay switch, the bits will appear on the output as soon as they enter the input. Since the input frame is continuos, the output frame will also be contiguous and therefore this case is not possible. CASE 1d: Input Rate = Output Rate, Non-contiguous frame, Nonzero-Delay Switch This case is shown in Figure A.1d. There are several gaps between the cells of the frame at the output. FIFO latency does not reflect performance degradation caused by gaps that appear after the first cell. It is, therefore, not a good switch latency metrics.. [Figure A.1d: Input rate=output rate, non-contiguous frame, nonzero-delay switch] FILO, LILO, and MIMO are related as follows: FILO - NFOT = LILO = Min{FILO-NFOT, LILO) = MIMO Either one of these three metrics can be used as switch la- tency. CASE 2a: Input Rate > Output Rate, Contiguous frame, Zero- delay Switch In this case, the switch consists of a single-input single- output memory buffer. The frame flow is shown in Figure A.2a. [Figure A.2a: Input Rate > Output Rate, Contiguous frame, Zero-delay Switch] For this case, FIFO, FILO, and MIMO are related as follows: LILO > FIFO = FILO - NFOT = min{FILO-NFOT, LILO} = MIMO = 0 In this case, FIFO, FILO-NFOT, and MIMO give the correct (zero) latency. LILO will produce a non-zero result. LILO is affected by the output link speed and doest not correct- ly represent the switch latency. CASE 2b: Input Rate > Output Rate, Contiguous frame, Nonze- ro-delay Switch The frame flow is shown in Figure A.2b. [Figure A.2b: Input Rate > Output Rate, Contiguous frame, Nonzero-delay Switch] Note that the following relationship among various metrics still holds as in case 2a: LILO > FIFO = FILO - NFOT = min{FILO-NFOT, LILO} = MIMO Thus, LILO gives incorrect answer. It is affected by the output link speed. While the other three metrics give the correct answer. CASE 2c: Input Rate > Output Rate, Non-contiguous frame, Zero-delay Switch A zero-delay switch will not introduce any gaps. Thus, this case is not possible. CASE 2d: Input Rate > Output Rate, Non-contiguous frame, Nonzero-Delay Switch In this case, (see Figure A.2d) [Figure A.2d: Input Rate > Output Rate, Non-contiguous frame, Nonzero-Delay Switch] In this case, FIFO does not reflect the degradation caused by the gaps and is therefore, not a correct measure of switch latency. It can be made arbitrarily small by deliv- ering the first cell fast but later introducing large gaps. LILO is affected by the output link speed. It can be made arbitrarily large by decreasing the output rate (and not changing the switch otherwise). Thus, FILO-NFOT and MIMO are the only two metrics that can be considered valid in this case. Both give the same re- sult: LILO > FILO - NFOT = Min{FILO-NFOT, LILO} = MIMO CASE 3a: Input Rate < Output Rate, Contiguous frame, Zero- delay Switch This case is shown in Figure A.3a. [Figure A.3a: Input Rate < Output Rate, Contiguous frame, Zero-delay Switch] Contiguous frames are possible only if the transmission of the first bit is scheduled such that there will not be any buffer underflow until the last frame. Thus, the FIFO de- lay dpends upon the frame time. It is non-zero and is in- correct. FILO-NFOT is similarly incorrect. FILO-NFOT = FIFO >0 LILO = min{FILO-NFOT, LILO} = MIMO = 0 Both LILO and MIMO give the correct result of zero. CASE 3b: Input Rate < Output Rate, Contiguous frame, Nonze- ro-delay Switch This case is shown in Figure A.3b. [Figure A.3b: Input Rate < Output Rate, Contiguous frame, Nonzero-delay Switch] As in Case 3a, FIFO latency depends upon the output speed. It can be made arbitrarily large by increasing the output link rate (and not changing the switch otherwise). FIFO is not a good indicator of switch latency. FILO-NFOT is equal to FIFO latency and is also incorrect. LILO is the only metric that can be argued to be the cor- rect measure of latency. LILO is less than FILO-NFOT. Therefore, LILO = Min{FILO-NFOT, LILO} = MIMO MIMO is also equal to LILO and is therefore a correct mea- sure. CASE 3c: Input Rate < Output Rate, Non-contiguous frame, Zero-delay Switch This case is shown in Figure A.3c. [Figure A.3c: Input Rate < Output Rate, non-contiguous frame, zero-delay Switch] Even though the frame is non-contiguous. The cells are con- tiguous. To maintain frame contiguity, the departure of the first bit of each cell has to be scheduled such that there is no underflow during the first cell time. FIFO latency, therefore, depends upon the output link speed and is not a correct measure of switch latency. FILO-NFOT is non-zero and, therefore, incorrect. LILO = min{FILO-NFOT, LILO} = MIMO = 0 Both LILO and MIMO give the correct result of zero. CASE 3d: Input Rate < Output Rate, Non-contiguous frame, Nonzero-Delay Switch [Figure A.3d: Input Rate < Output Rate, Non-contiguous frame, Nonzero-Delay Switch] In this case, FIFO can be made small by sending the first cell fast and then introducing large time gaps in the out- put. FIFO is, therefore, not a valid switch latency metric in this case. FILO - NFOT > FIFO is similarly incorrect. LILO is the only metric that can be argued to be correct in this case. Since LILO < FILO-NFOT, MIMO = Min{FILO-NFOT, LILO} = LILO MIMO is also a correct measure. Once again looking at Table A.1, we find that MIMO is the only metric that applies to all input and output link rates and contiguous and non-contiguous frames.