Compute-bound
   HOME

TheInfoList



OR:

In
computer science Computer science is the study of computation, information, and automation. Computer science spans Theoretical computer science, theoretical disciplines (such as algorithms, theory of computation, and information theory) to Applied science, ...
, a task,
job Work, labor (labour in Commonwealth English), occupation or job is the intentional activity people perform to support the needs and desires of themselves, other people, or organizations. In the context of economics, work can be seen as the huma ...
or
process A process is a series or set of activities that interact to produce a result; it may occur once-only or be recurrent or periodic. Things called a process include: Business and management * Business process, activities that produce a specific s ...
is said to be CPU-bound (or compute-bound) when the time it takes for it to complete is determined principally by the speed of the
central processor A central processing unit (CPU), also called a central processor, main processor, or just processor, is the primary processor in a given computer. Its electronic circuitry executes instructions of a computer program, such as arithmetic, log ...
. The term can also refer to the condition a
computer A computer is a machine that can be Computer programming, programmed to automatically Execution (computing), carry out sequences of arithmetic or logical operations (''computation''). Modern digital electronic computers can perform generic set ...
running such a workload is in, in which its processor utilization is high, perhaps at 100% usage for many seconds or minutes, and
interrupt In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted ...
s generated by
peripheral A peripheral device, or simply peripheral, is an auxiliary hardware device that a computer uses to transfer information externally. A peripheral is a hardware component that is accessible to and controlled by a computer but is not a core compo ...
s may be processed slowly or be indefinitely delayed.


As applied to jobs

CPU-bound jobs will spend most of their
execution time Execution in computer and software engineering is the process by which a computer or virtual machine interprets and acts on the instructions of a computer program. Each instruction of a program is a description of a particular action which must b ...
on actual computation ("number crunching") as opposed to e.g. communicating with and waiting for peripherals such as
network Network, networking and networked may refer to: Science and technology * Network theory, the study of graphs as a representation of relations between discrete objects * Network science, an academic field that studies complex networks Mathematics ...
or storage devices (which would make them
I/O bound In computer science, I/O bound refers to a condition in which the time it takes to complete a computation is determined principally by the period spent waiting for input/output operations to be completed, which can be juxtaposed with being CPU boun ...
instead). Such jobs can often benefit from
parallelization Parallel computing is a type of computation in which many calculations or processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. There are several different for ...
techniques such as multithreading if the underlying
algorithm In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
is amenable to it, allowing them to distribute their workload among multiple
CPU core A multi-core processor (MCP) is a microprocessor on a single integrated circuit (IC) with two or more separate central processing units (CPUs), called ''cores'' to emphasize their multiplicity (for example, ''dual-core'' or ''quad-core''). Ea ...
s and be limited by its multi-core rather than single-core performance.


As applied to computers

The concept of CPU-bounding was developed during early computers, when data paths between computer components were simpler, and it was possible to visually see one component working while another was idle. Example components were CPU, tape drives, hard disks, card-readers, and printers. Computers that predominantly used peripherals were characterized as
I/O bound In computer science, I/O bound refers to a condition in which the time it takes to complete a computation is determined principally by the period spent waiting for input/output operations to be completed, which can be juxtaposed with being CPU boun ...
. Establishing that a computer is frequently CPU-bound implies that upgrading the CPU or optimizing code will improve the overall computer performance. With the advent of multiple buses, parallel processing,
multiprogramming In computing, multitasking is the concurrent execution of multiple tasks (also known as processes) over a certain period of time. New tasks can interrupt already started ones before they finish, instead of waiting for them to end. As a result ...
, preemptive scheduling, advanced
graphics cards A graphics card (also called a video card, display card, graphics accelerator, graphics adapter, VGA card/VGA, video adapter, display adapter, or colloquially GPU) is a computer expansion card that generates a feed of graphics output to a displa ...
, advanced
sound cards A sound card (also known as an audio card) is an internal expansion card that provides input and output of audio signals to and from a computer under the control of computer programs. The term ''sound card'' is also applied to external audio i ...
and generally, more decentralized loads, it became less likely to identify one particular component as always being a
bottleneck Bottleneck may refer to: * the narrowed portion (neck) of a bottle Science and technology * Bottleneck (engineering), where the performance of an entire system is limited by a single component * Bottleneck (network), in a communication network * ...
. It is likely that a computer's bottleneck shifts rapidly between components. Furthermore, in modern computers it is possible to have 100% CPU utilization with minimal impact to another component. Finally, tasks required of modern computers often emphasize quite different components, so that resolving a bottleneck for one task may not affect the performance of another. For these reasons, upgrading a CPU does not always have a dramatic effect. The concept of being CPU-bound is now one of many factors considered in modern computing performance.


See also

*
I/O-bound In computer science, I/O bound refers to a condition in which the time it takes to complete a computation is determined principally by the period spent waiting for input/output operations to be completed, which can be juxtaposed with being CPU boun ...
* Memory-bound


References

{{cite book , last=Gill , first=P.S. , title=Operating Systems Concepts , publisher=Firewall Media , year=2006 , isbn=978-81-7008-913-1 , url=https://books.google.com/books?id=eQ0Z1JWI7AwC&pg=PA83 , access-date=2023-07-06 , page=83


External links


CPU bound description

Stackoverflow CPU bound terminology
Computer performance