Content deleted Content added
m A few syntactical alterations. Tags: Visual edit Mobile edit Mobile web edit Newcomer task Newcomer task: copyedit |
Flow improvements and grammar fixes |
||
Line 6:
}}
The '''system throughput''' or '''aggregate throughput''' is the sum of the data rates that are delivered to all terminals in a network.<ref>[[Guowang Miao]], Jens Zander, K-W Sung, and Ben Slimane, Fundamentals of Mobile Data Networks, Cambridge University Press, {{ISBN|1107143217}}, 2016.</ref> Throughput is essentially synonymous to [[digital bandwidth consumption]]; it can be
The throughput of a communication system may be affected by various factors,
==Maximum throughput==
{{See also|Peak information rate}}
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.
Maximum throughput is essentially synonymous to [[digital bandwidth capacity]].
Four different values
===Maximum theoretical throughput===
This number is closely related to the [[channel capacity]] of the system,<ref>Blahut, 2004, p.4</ref> 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
===Asymptotic throughput===
The '''asymptotic throughput''' (less formal ''asymptotic bandwidth'') for a packet-mode [[communication network]] is the value of the [[maximum throughput]] function, when the incoming network load approaches [[infinity]], either due to a [[Message passing|message size]] as it approaches [[infinity]],<ref>''Modeling Message Passing Overhead'' by C.Y Chou et al. in Advances in Grid and Pervasive Computing: First International Conference, GPC 2006 edited by Yeh-Ching Chung and José E. Moreira {{ISBN|3540338098}} pages 299-307</ref> or the number of data sources is very large. As other [[bit rate]]s and [[data bandwidth]]s, the asymptotic throughput is measured in [[bits per second]] (bit/s), very seldom [[byte]]s per second (B/s), where 1 B/s is 8 bit/s. [[Decimal prefix]]es are used, meaning that 1 Mbit/s is 1000000 bit/s.
Asymptotic throughput is usually estimated by sending or [[network simulation|simulating]] a very large message (sequence of data packets) through the network, using a [[greedy source]] and no [[flow control (data)|flow control]] mechanism (i.e., [[User Datagram Protocol|UDP]] rather than [[Transmission Control Protocol|TCP]]), 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 the [[latency (engineering)|latency]] (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 modeling [[point-to-point communication]] where (following Hockney) [[latency (engineering)|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.<ref>''Recent Advances in Parallel Virtual Machine and Message Passing Interface'' by Jack Dongarra, Emilio Luque and Tomas Margalef 1999 {{ISBN|3540665498}} page 134</ref>
Line 34:
===Peak measured throughput===
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 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.
===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 (engineering)|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]].
==Channel utilization and efficiency==
Line 44:
The channel efficiency, also known as bandwidth utilization efficiency, is the percentage of the [[net bit rate]] (in bit/s) of a digital [[communication channel]] that goes to the actually achieved throughput. For example, if the throughput is 70 Mbit/s in a 100 Mbit/s Ethernet connection, the channel efficiency is 70%. In this example, effective 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 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.
Line 69:
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
* [[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 (data)|
* TCP [[congestion avoidance]] controls the data rate.
===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
* [[Packet loss]] due to [[
* Packet loss due to [[bit error]]s.
* 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).<ref>Roddy, 2001, 370 - 371</ref> In these cases, throughput is quantized per channel, and unused capacity on partially utilized channels is lost
==Goodput and overhead==
{{main|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 bit rate]] or raw bit rate.
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 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 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.
Line 101:
===Over analog channels===
Throughput over analog channels is defined entirely by the modulation scheme, the signal
==See also==
|