Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Overhead (computing)

From Wikipedia, the free encyclopedia
(Redirected fromComputational overhead)
Consumption of resources that is indirectly required to achieve a goal

icon
This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Overhead" computing – news ·newspapers ·books ·scholar ·JSTOR
(February 2018) (Learn how and when to remove this message)

Incomputing,overhead is the consumption ofcomputing resources for aspects that are not directly related to achieving a desired goal. Overhead is required for more general processing and impacts achieving a more focused goal. Overhead manifests as aspects such as slower processing, less memory, less storage capacity, less network bandwidth, and longer latency.[1] Overhead can impactsoftware design with regard to structure, error correction, and feature inclusion.

Overhead in computing is a special case ofengineering overhead and has the same essential meaning as in business:organizational overhead.

Software design

[edit]

Choice of implementation

[edit]

A programmer or software engineer may have a choice of severalalgorithms,encodings,data types ordata structures, each of which has known characteristics. When choosing among them, their respective overhead should also be considered.

Tradeoffs

[edit]

Insoftware engineering, overhead can influence the decision whether or not to include features in new products, or indeed whether to fix bugs. A feature that has a high overhead may not be included – or needs a big financial incentive to do so. Often, even though software providers are well aware of bugs in their products, the payoff of fixing them is not worth the cost, because of the overhead.

For example, animplicit data structure orsuccinct data structure may provide low space overhead, but at the cost of slow performance (space/time tradeoff).

Run-time complexity of software

[edit]

Algorithmic complexity is generally specified usingBigO notation. This makes no comment on how long something takes to run or how much memory it uses, but how its increase depends on the size of the input. Overhead isdeliberately not part of this calculation, since it varies from one machine to another, whereas the fundamental running time of an algorithm does not.

This should be contrasted withalgorithmic efficiency, which takes into account all kinds of resources – a combination (though not a trivial one) of complexity and overhead.

Examples

[edit]

File system metadata

[edit]

In addition to file content, afile system usesstorage space for overhead information, including:metadata (such asfile name and modification timestamps), hierarchicaldirectory organization and much more. In general, many small files requires more overhead than a smaller number of large files.

CPU cache metadata

[edit]

In aCPU cache, capacity is the maximum amount of data that it stores, including overhead data, not how much user content it holds. For instance, a 4 KB capacity cache stores less than 4 KB of user data since some of the space is required foroverhead bits such as frame, address, and tag information.[2]

Communication protocol

[edit]

Reliably sending apayload of data over a communications network requires sending more than just the payload itself. It also involves sending various control and signaling data (TCP) required to reach the destination. This creates a so-calledprotocol overhead as the additional data does not contribute to the intrinsic meaning of the message.[3][4]

Intelephony, number dialing andcall set-up time are overheads. In two-way (buthalf-duplex) radios, the use of "over" and other signaling needed to avoidcollisions is an overhead.

Protocol overhead can be expressed as a percentage of non-applicationbytes (protocol andframe synchronization) divided by the total number of bytes in the message.

Data encoding

[edit]

Theencoding of information and data introduces overhead too. The date and time"2011-07-12 07:18:47" can be expressed asUnix time with the 32-bitsignedinteger1310447927, consuming only 4 bytes. Represented asISO 8601 formattedUTF-8 encodedstring2011-07-12 07:18:47 the date would consume 19 bytes, a size overhead of 375% over the binary integer representation. AsXML, this date can be written as follows with an overhead of 218 characters, while adding the semantic context that it is a CHANGEDATE with index 1.

<?xml version="1.0" encoding="UTF-8"?><datetimequalifier="changedate"index="1"><year>2011</year><month>07</month><day>12</day><hour>07</hour><minute>18</minute><second>47</second></datetime>

The 349 bytes, resulting from the UTF-8 encoded XML, correlate to a size overhead of 8625% over the original integer representation.

Function call

[edit]

Calling afunction requires a relatively small amount of run-time overhead for operations such asstack maintenance andparameter passing.[5] The overhead is relatively small, but can be problematic when there are many calls (i.e. in aloop) or when timing requirements are tight. Sometimes a compiler canminimize this overhead byinlining a function, eliminating thefunction call.[6]

See also

[edit]

References

[edit]
  1. ^Denning, Peter (January 2003). "Overhead".Encyclopedia of Computer Science. John Wiley and Sons. pp. 1341–1343.ISBN 978-0-470-86412-8.
  2. ^Sorin, Daniel J. (2009)."Caches and Memory Hierarchies"(PDF). RetrievedMarch 13, 2019. Presentation for course in Computer Architecture.
  3. ^Common Performance Issues in Network Applications Part 1: Interactive Applications, Windows XP Technical Articles, Microsoft
  4. ^Protocol Overhead in IP/ATM Networks, Minnesota Supercomputer Center
  5. ^"Inline functions (C++)".Microsoft Learn. Microsoft. 22 January 2024. Retrieved22 March 2024.
  6. ^Mahaffey, Terry (24 July 2019)."Inlining Decisions in Visual Studio".C++ Team Blog. Microsoft.
Retrieved from "https://en.wikipedia.org/w/index.php?title=Overhead_(computing)&oldid=1333124192"
Category:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp