Throughput (Computer Science)

Source: Wikipedia: Throughput


Throughput

From Wikipedia, the free encyclopedia
Jump to:navigation, search
For the usage of the term in business management, see Throughput (business).
Question book-new.svg
This article needs additional citations for verification.
Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (March 2009)

In communication networks, such as Ethernet or packet radio, throughput or network throughput is the average rate of successful message delivery over a communication channel. This data may be delivered over a physical or logical link, or pass through a certain network node. The throughput is usually measured in bits per second (bit/s or bps), and sometimes in data packets per second or data packets per time slot.

The system throughput or aggregate throughput is the sum of the data rates that are delivered to all terminals in a network.

The throughput can be analyzed mathematically by means of queueing theory, where the load in packets per time unit is denoted arrival rate λ, and the throughput in packets per time unit is denoted departure rate μ.

Throughput is essentially synonymous to digital bandwidth consumption.
Contents
[hide]

* 1 Maximum throughput
o 1.1 Maximum theoretical throughput
o 1.2 Peak measured throughput
o 1.3 Maximum sustained throughput
* 2 Channel utilization - normalized throughput
* 3 Factors affecting throughput
o 3.1 Analog limitations
o 3.2 IC hardware considerations
o 3.3 Protocol considerations
o 3.4 Multi-user considerations
* 4 Goodput and overhead
* 5 Other uses of throughput for data
o 5.1 Integrated Circuits
o 5.2 Wireless and cellular networks
o 5.3 Over analog channels
* 6 See also
* 7 Footnotes
* 8 References

[edit] Maximum throughput

See also Peak Information Rate (pir)

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 are often interested in selecting 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 its 'maximum performance' is what the user or designer is interested in. When examining throughput, the term 'Maximum Throughput' is frequently used.where end-user maximum throughput tests are discussed in detail.

Maximum throughput is essentially synonymous to digital bandwidth capacity.

Four different values have meaning in the context of "maximum throughput", used in comparing the 'upper limit' conceptual performance of multiple systems. They are 'maximum theoretical throughput', 'Maximum Achievable throughput', and 'peak measured throughput' and 'maximum sustained throughput'. These represent different quantities and care must be taken that the same definitions are used when comparing different 'maximum throughput' values. Comparing throughput values is also dependent on each bit carrying the same amount of information. Data compression can significantly skew throughput calculations, including generating values greater than 100%. 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 the bottleneck.
[edit] Maximum theoretical throughput

This number is closely related to the channel capacity [1] of the system, 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 (asynchronous) technologies can achieve this without data compression. Maximum theoretical throughput is more accurately reported to take into account format and specification overhead with best case assumptions. This number, like the closely related term 'maximum achievable throughput' below, is primarily used as a rough calculated value, such as for determining bounds on possible performance early in a system design phase.
[edit] Peak measured throughput

The above values are theoretical or calculated values. 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 with "instantaneous throughput". This number is useful for systems that rely on burst data transmission, however, for systems with a high duty cycle this is less likely to be a useful measure of system performance.
[edit] Maximum sustained throughput

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 the asymptotic throughput when the load (the amount of incoming data) is very large. In packet switched systems where the load and the throughput always are equal (where packet loss does not occur), the maximum throughput may be defined as the minimum load in bit/s that causes the delivery time (the latency) to become unstable and increase towards infinity. This value can also be used deceptively in relation to peak measured throughput to conceal packet shaping.
[edit] Channel utilization - normalized throughput

Throughput is sometimes normalized and measured in percentage, but normalization may cause confusion regarding what the percentage is related to. Channel utilization and packet drop rate in percentage are less ambiguous terms.

The channel utilization, also known as bandwidth utilization efficiency, in percentage is the achieved throughput related to the net bitrate in bit/s of a digital communication channel). For example, if the throughput is 70 Mbit/s in a 100 Mbit/s Ethernet connection, the channel utilization is 70%.

In a point-to-point or point-to-multipoint communication link, where only one terminal is transmitting, the maximum throughput is often equivalent to or very near the physical data rate (the channel capacity), since the channel utilization can be almost 100% in such a network, except for a small inter-frame gap.

For example, in Ethernet the maximum frame size 1526 bytes (maximum 1500 byte payload + 8 byte preamble + 14 byte header + 4 Byte trailer). An additional minimum interframe gap corresponding to 12 byte is inserted after each frame. This corresponds to a maximum channel utilization of 1526/(1526+12)•100% = 99.22%, or a maximum throughput of 99.22 Mbit/s inclusive of Ethernet datalink layer protocol overhead in a 100 Mbit/s Ethernet connection. The maxmimum throughput is 1500/(1526+12) = 97.5 Mbit/s exclusive of Ethernet protocol overhead

[edit] Factors affecting throughput

The throughput of a communication system will be limited by a huge number of factors. Some of these are described below:
[edit] Analog limitations

The maximum achievable throughput (the channel capacity) is affected by the bandwidth in hertz and signal-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 the Shannon-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. It should be noted that 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',[2] the amount of time the digital voltage to rise from 10% of a nominal digital '0' to a nominal digital '1' or vice-verse. The knee frequency is related to the required bandwidth of a channel, and can be related to the 3 db bandwidth of a system by the equation [3] : \ F_{3dB} \approx K/T_r 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 exponential rise, and 0.338 for Gaussian rise.

* RC losses: wires have an inherent resistance, and an inherent capacitance when measured with respect to ground. This leads to effects called parasitic capacitance, causing all wires and cables to act as RC lowpass filters.
* Skin effect: As frequency increases, electric charges migrate to the edges of wires or cable. This reduces the effective cross sectional area available for carrying current, increasing resistance and reducing the signal to noise ratio. For AWG 24 wire (of the type commonly found in Cat 5e cable), the skin effect frequency becomes dominant over the inherent resistivity of the wire at 100 kHz. At 1 GHz the resistivity has increased to 0.1 ohms/inch.[4]
* Termination and ringing: For long wires (wires longer than 1/6 wavelengths can be considered long) must be modeled as transmission lines and take termination into account. Unless this is done, reflected signals will travel back and forth across the wire, positively or negatively interfering with the information-carrying signal.[5]
* Wireless Channel Effects: For wireless systems, all of the effects associated with wireless transmission limit the SNR and bandwidth of the received signal, and therefore the maximum number of bits that can be sent.

[edit] IC hardware considerations

Computational systems have finite processing power, and can drive finite current. Limited current drive capability can limit the effective signal to noise ratio for high capacitance links.

Large data loads that require processing impose data processing requirements on hardware (such as routers). For example, a gateway router supporting a populated class B subnet, handling 10 x 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 worse 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.
[edit] Protocol considerations

The achieved throughput may be lower than the maximum achievable throughput for several reasons. Many data communication protocols call for specific controls in an attempt to ensure a

* CSMA/CD and CSMA/CA "backoff" waiting time and frame retransmissions after detected collisions. This may occur in Ethernet bus networks and hub networks, as well as in wireless networks.
* Flow control, for example in the Transmission Control Protocol (TCP) protocol, affects the throughput if the Bandwidth-delay product is larger than the TCP window, i.e. the buffer size. In that case the sending computer must wait for acknowledgement of the data packets before it can send more packets.
* TCP congestion avoidance controls the data rate. So called "slow start" occurs in the beginning of a file transfer, and after packet drops caused by router congestion or bit errors in for example wireless links.

[edit] Multi-user considerations

Ensuring that multiple users can harmoniously share a single communications link requires some kind of equitable sharing of the link. If a bottle neck communication link offering data rate R is shared by "N" active users (with at least one data packet in queue), every user typically achieves a throughput of approximately R/N, if fair queuing best-effort communication is assumed.

* Packet loss due to Network congestion. Packets may be dropped in switches and routers when the packet queues are full due to congestion.
* Packet loss due to bit errors.
* Scheduling algorithms in routers and switches. If fair queuing is not provided, users that send large packets will get higher bandwidth. Some users may be prioritized in a weighted fair queuing (WFQ) algorithm if differentiated or guaranteed quality of service (QoS) is provided.
* In some communications systems, such as satellite networks, only a finite number of channels may be available to a given user at a given time. Channels are assigned either through preassignment or through Demand Assigned Multiple Access (DAMA).[6] In these cases, throughput is quantized per channel, and unused capacity on partially utilized channels is lost.

[edit] Goodput and overhead
Main article: Goodput

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 most simple 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 the gross bitrate or raw bitrate.

However, in schemes that include forward error correction codes (channel coding), the redundant error code is normally excluded from the throughput. An example in modem communication, where the throughput typically is measured in the interface between the Point-to-Point Protocol (PPP) and the circuit switched modem connection. In this case the maximum throughput is often called net bitrate or useful bitrate.

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 the application 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.
[edit] Other uses of throughput for data
[edit] Integrated Circuits

Often, a block in a data flow diagram has a single input and a single output, and operate on discrete packets of information. Examples of such blocks are FFT modules or binary multipliers. Because the units of throughput are the reciprocal of the unit for propagation 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 an ASIC or embedded processor to a communications channel, simplifying system analysis.
[edit] Wireless and cellular networks

In wireless networks or cellular systems, the system 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.
[edit] Over analog channels

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.
[edit] See also
Search Wiktionary Look up throughput in Wiktionary, the free dictionary.

* Goodput
* Greedy source
* Measuring network throughput
* Network traffic measurement
* Link and system spectral efficiency
* Traffic generation model
* Iperf
* Ttcp
* bwping

[edit] Footnotes

1. ^ Blahut, 2004, p.4
2. ^ Johnson, 1993, 2-5
3. ^ Johnson, 1993, 9
4. ^ Johnson, 1993, 154
5. ^ Johnson, 1993, 160-170
6. ^ Roddy, 2001, 370 - 371

[edit] References

* Rappaport, Theodore S. Wireless Communications, Principles and Practice second edition, Prentice Hall, 2002, ISBN 0130422320
* Blahut, Richard E. Algebraic Codes for Data Transmission Cambridge University Press, 2004, ISBN 0521553741
* Li, Harnes, Holte, "Impact of Lossy Links on Performance of Multihop Wireless Networks", IEEE, Proceedings of the 14th International Conference on Computer Communications and Networks, Oct 2005, 303 - 308
* Johnson, Graham, High Speed Digital Design, a Handbook of Black Magic, Prentice Hall, 1973, ISBN 0133957241
* Roddy, Dennis, Satellite Communications third edition, McGraw-Hill, 2001, ISBN 0071371761

Retrieved from "http://en.wikipedia.org/wiki/Throughput"
Categories: Network performance
Hidden categories: Articles needing additional references from March 2009 | All articles needing additional references
Personal tools

* New features
* Log in / create account

Namespaces

* Article
* Discussion

Variants

Views

* Read
* Edit
* View history

Actions

Search
Search
Navigation

* Main page
* Contents
* Featured content
* Current events
* Random article

Interaction

* About Wikipedia
* Community portal
* Recent changes
* Contact Wikipedia
* Donate to Wikipedia
* Help

Toolbox

* What links here
* Related changes
* Upload file
* Special pages
* Permanent link
* Cite this page

Print/export

* Create a book
* Download as PDF
* Printable version

Languages

* Deutsch
* Ελληνικά
* Español
* 한국어
* Italiano
* 日本語
* Português
* Svenska

* This page was last modified on 16 May 2010 at 20:24.
* Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. See Terms of Use for details.
Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.
* Contact us

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License