![]() | This article has multiple issues. Please helpimprove it or discuss these issues on thetalk page.(Learn how and when to remove these messages) (Learn how and when to remove this message)
|
Network throughput (or justthroughput, when in context) refers to the rate of message delivery over acommunication channel in acommunication network, such asEthernet orpacket radio. The data that these messages contain may be delivered over physical or logical links, or throughnetwork nodes. Throughput is usually measured inbits per second (bit/s, sometimes abbreviated bps), and sometimes inpackets per second (p/s or pps) or data packets pertime slot.
Thesystem throughput oraggregate throughput is the sum of the data rates that are delivered over all channels in a network.[1] Throughput representsdigital bandwidth consumption.
The throughput of a communication system may be affected by various factors, including the limitations of the underlying physical medium, available processing power of the system components,end-user behavior, etc. When taking variousprotocol overheads into account, the useful rate of the data transfer can be significantly lower than the maximum achievable throughput; the useful part is usually referred to asgoodput.
Users of telecommunications devices, systems designers, and researchers into communication theory are often interested in knowing the expected performance of a system. From a user perspective, this is often phrased as either "which device will get my data there most effectively for my needs?", or "which device will deliver the most data per unit cost?". Systems designers often select the most effective architecture or design constraints for a system, which drive its final performance. In most cases, the benchmark of what a system is capable of, or itsmaximum performance is what the user or designer is interested in. The termmaximum throughput is frequently used when discussing end-user maximum throughput tests. Maximum throughput is essentially synonymous withdigital bandwidth capacity.
Four different values are relevant in the context of maximum throughput are used in comparing theupper limit conceptual performance of multiple systems. They aremaximum theoretical throughput,maximum achievable throughput,peak measured throughput, andmaximum sustained throughput. These values represent different qualities, and care must be taken that the same definitions are used when comparing differentmaximum throughput values.
Each bit must carry the same amount of information if throughput values are to be compared.Data compression can significantly alter throughput calculations, including generating values exceeding 100% in some cases.
If the communication is mediated by several links in series with different bit rates, the maximum throughput of the overall link is lower than or equal to the lowest bit rate. The lowest value link in the series is referred to as thebottleneck.
Maximum theoretical throughput is closely related to thechannel capacity of the system,[2] and is the maximum possible quantity of data that can be transmitted under ideal circumstances. In some cases, this number is reported as equal to the channel capacity, though this can be deceptive, as only non-packetized systems technologies can achieve this. Maximum theoretical throughput is more accurately reported taking into account format and specificationoverhead with best-case assumptions.
Theasymptotic throughput (less formalasymptotic bandwidth) for a packet-modecommunication network is the value of themaximum throughput function, when the incoming network load approachesinfinity, either due to amessage size,[3] or the number of data sources. As with otherbit rates anddata bandwidths, the asymptotic throughput is measured inbits per second(bit/s) or (rarely)bytes per second(B/s), where1 B/s is8 bit/s.Decimal prefixes are used, meaning that1 Mbit/s is1000000 bit/s.
Asymptotic throughput is usually estimated by sending orsimulating a very large message (sequence of data packets) through the network, using agreedy source and noflow control mechanism (i.e.,UDP rather thanTCP), and measuring the network path throughput in the destination node. Traffic load between other sources may reduce this maximum network path throughput. Alternatively, a large number of sources and sinks may be modeled, with or without flow control, and the aggregate maximum network throughput measured (the sum of traffic reaching its destinations). In a network simulation model with infinite packet queues, the asymptotic throughput occurs when thelatency (the packet queuing time) goes to infinity, while if the packet queues are limited, or the network is a multi-drop network with many sources, and collisions may occur, the packet-dropping rate approaches 100%.
A well-known application of asymptotic throughput is in modelingpoint-to-point communication where (following Hockney)message latency T(N) is modeled as a function of message length N as T(N) = (M + N)/A where A is the asymptotic bandwidth and M is the half-peak length.[4]
As well as its use in general network modeling, asymptotic throughput is used in modeling performance onmassively parallel computer systems, where system operation is highly dependent on communication overhead, as well as processor performance.[5] In these applications, asymptotic throughput is used in Xu and Hwang model (more general than Hockney's approach) which includes the number of processors, so that both the latency and the asymptotic throughput are functions of the number of processors.[6]
The above values are theoretical or calculated. Peak measured throughput is throughput measured by a real, implemented system, or a simulated system. The value is the throughput measured over a short period of time; mathematically, this is the limit taken with respect to throughput as time approaches zero. This term is synonymous withinstantaneous throughput. This number is useful for systems that rely on burst data transmission; however, for systems with a highduty cycle, this is less likely to be a useful measure of system performance.
This value is the throughput averaged or integrated over a long time (sometimes considered infinity). For high duty cycle networks, this is likely to be the most accurate indicator of system performance. The maximum throughput is defined as theasymptotic throughput when the load (the amount of incoming data) is large. Inpacket switched systems where the load and the throughput always are equal (wherepacket loss does not occur), the maximum throughput may be defined as the minimum load inbit/s that causes the delivery time (thelatency) to become unstable and increase towards infinity. This value can also be used deceptively in relation to peak measured throughput to concealpacket shaping.
Throughput is sometimes normalized and measured in percentage, but normalization may cause confusion regarding what the percentage is related to.Channel utilization,channel efficiency andpacket drop rate in percentage are less ambiguous terms.
The channel efficiency, also known asbandwidth utilization efficiency, is the percentage of thenet bit rate (inbit/s) of a digitalcommunication channel that goes to the actually achieved throughput. For example, if the throughput is70 Mbit/s in a100 Mbit/s Ethernet connection, the channel efficiency is 70%. In this example, effectively 70 Mbit of data are transmitted every second.
Channel utilization is instead a term related to the use of the channel, disregarding the throughput. It counts not only with the data bits, but also with the overhead that makes use of the channel. The transmission overhead consists of preamble sequences, frame headers and acknowledge packets. The definitions assume a noiseless channel. Otherwise, the throughput would not be only associated with the nature (efficiency) of the protocol, but also to retransmissions resultant from the quality of the channel. In a simplistic approach, channel efficiency can be equal to channel utilization assuming that acknowledge packets are zero-length and that the communications provider will not see any bandwidth relative to retransmissions or headers. Therefore, certain texts mark a difference between channel utilization and protocol efficiency.
In a point-to-point orpoint-to-multipoint communication link, where only one terminal is transmitting, the maximum throughput is often equivalent to or very near the physical data rate (thechannel capacity), since the channel utilization can be almost 100% in such a network, except for a small inter-frame gap.
For example, the maximum frame size in Ethernet is 1526 bytes: up to 1500 bytes for the payload, eight bytes for the preamble, 14 bytes for the header, and 4 bytes for the trailer. An additional minimum interframe gap corresponding to 12 bytes is inserted after each frame. This corresponds to a maximum channel utilization of 1526 / (1526 + 12) × 100% = 99.22%, or a maximum channel use of99.22 Mbit/s inclusive of Ethernet datalink layer protocol overhead in a100 Mbit/s Ethernet connection. The maximum throughput or channel efficiency is then 1500 / (1526 + 12) = 97.5%, exclusive of the Ethernet protocol overhead.
The throughput of a communication system will be limited by a huge number of factors. Some of these are described below:
The maximum achievable throughput (the channel capacity) is affected by the bandwidth in hertz andsignal-to-noise ratio of the analog physical medium.
Despite the conceptual simplicity of digital information, all electrical signals traveling over wires are analog. The analog limitations of wires or wireless systems inevitably provide an upper bound on the amount of information that can be sent. The dominant equation here is theShannon–Hartley theorem, and analog limitations of this type can be understood as factors that affect either the analog bandwidth of a signal or as factors that affect the signal-to-noise ratio. The bandwidth of wired systems can be in fact surprisingly narrow, with the bandwidth of Ethernet wire limited to approximately 1 GHz, and PCB traces limited by a similar amount.
Digital systems refer to the 'knee frequency',[7] the amount of time for the digital voltage to rise from 10% of a nominal digital '0' to a nominal digital '1' or vice versa. The knee frequency is related to the required bandwidth of a channel, and can be related to the3 db bandwidth of a system by the equation:[8]Where Tr is the 10% to 90% rise time, and K is a constant of proportionality related to the pulse shape, equal to 0.35 for an exponential rise, and 0.338 for a Gaussian rise.
Computational systems have finite processing power and can drive finite current. Limited current drive capability can limit the effective signal to noise ratio for highcapacitance links.
Large data loads that require processing impose data processing requirements on hardware (such as routers). For example, a gateway router supporting a populatedclass B subnet, handling 10 ×100 Mbit/s Ethernet channels, must examine 16 bits of address to determine the destination port for each packet. This translates into 81913 packets per second (assuming maximum data payload per packet) with a table of 2^16 addresses this requires the router to be able to perform 5.368 billion lookup operations per second. In a worst-case scenario, where the payloads of each Ethernet packet are reduced to 100 bytes, this number of operations per second jumps to 520 billion. This router would require a multi-teraflop processing core to be able to handle such a load.
Ensuring that multiple users can harmoniously share a single communications link requires some kind of equitable sharing of the link. If a bottleneck communication link offering data rateR is shared by "N" active users (with at least one data packet in queue), every user typically achieves a throughput of approximatelyR/N, iffair queuingbest-effort communication is assumed.
The maximum throughput is often an unreliable measurement of perceived bandwidth, for example the file transmission data rate in bits per seconds. As pointed out above, the achieved throughput is often lower than the maximum throughput. Also, the protocol overhead affects the perceived bandwidth. The throughput is not a well-defined metric when it comes to how to deal with protocol overhead. It is typically measured at a reference point below the network layer and above the physical layer. The simplest definition is the number of bits per second that are physically delivered. A typical example where this definition is practiced is an Ethernet network. In this case, the maximum throughput is thegross bit rate or raw bit rate.
However, in schemes that includeforward error correction codes (channel coding), the redundant error code is normally excluded from the throughput. An example inmodem communication, where the throughput typically is measured in the interface between thePoint-to-Point Protocol (PPP) and the circuit-switched modem connection. In this case, the maximum throughput is often callednet bit rate or useful bit rate.
To determine the actual data rate of a network or connection, the "goodput" measurement definition may be used. For example, in file transmission, the "goodput" corresponds to the file size (in bits) divided by the file transmission time. The "goodput" is the amount of useful information that is delivered per second to theapplication layer protocol. Dropped packets or packet retransmissions, as well as protocol overhead, are excluded. Because of that, the "goodput" is lower than the throughput. Technical factors that affect the difference are presented in the "goodput" article.
Often, a block in adata flow diagram has a single input and a single output, and operate on discrete packets of information. Examples of such blocks arefast Fourier transform modules orbinary multipliers. Because the units of throughput are the reciprocal of the unit forpropagation delay, which is 'seconds per message' or 'seconds per output', throughput can be used to relate a computational device performing a dedicated function such as anASIC orembedded processor to a communications channel, simplifying system analysis.
Inwireless networks orcellular systems, thesystem spectral efficiency in bit/s/Hz/area unit, bit/s/Hz/site or bit/s/Hz/cell, is the maximum system throughput (aggregate throughput) divided by the analog bandwidth and some measure of the system coverage area.
Throughput over analog channels is defined entirely by the modulation scheme, the signal-to-noise ratio, and the available bandwidth. Since throughput is normally defined in terms of quantified digital data, the term 'throughput' is not normally used; the term 'bandwidth' is more often used instead.