HOME

TheInfoList



OR:

Fast path is a term used 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, ...
to describe a path with shorter
instruction path length In computer performance, the instruction path length is the number of machine code instructions required to execute a section of a computer program. The total path length for the entire program could be deemed a measure of the algorithm's perfor ...
through a program compared to the normal path. For a fast path to be effective it must handle the most commonly occurring tasks more efficiently than the normal path, leaving the latter to handle uncommon cases, corner cases, error handling, and other anomalies. Fast paths are a form of
optimization Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criteria, from some set of available alternatives. It is generally divided into two subfiel ...
.How to Choose the Best Router Switching Path for Your Network
/ref> For example dedicated packet routing hardware used to build computer networks will often take care of the most common kinds of packets in hardware, with other kinds passed to the "slow path", usually implemented by software running on the control processor. For example, packets with special control information, packets with errors, or packets directed at the device itself instead of being routed elsewhere would be passed to the slow path. The slow path is more flexible, and can handle any kind of packet. Even in pure software, specific implementations have been developed that leverage the concept of a fast path to maximize the performance of packet processing. In these implementations, the networking stack is split into two layers and the lower layer processes the majority of incoming packets outside the
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...
(OS) environment without incurring any of the OS overheads that degrade overall performance. Only those rare packets that require complex processing are forwarded to the OS networking stack, which performs the necessary management, signaling and control functions. Some hardware
RAID RAID (; redundant array of inexpensive disks or redundant array of independent disks) is a data storage virtualization technology that combines multiple physical Computer data storage, data storage components into one or more logical units for th ...
controllers implement a "fast path" for write-through access which bypasses the controller's cache in certain situations. This tends to increase IOPS, particularly for solid-state drives. For a fast path to be beneficial, it must process the majority of operations. This is because the "fast path or slow path" test itself slows down the slow path. One common way to perform a denial-of-service attack is to flood a device with packets which require use of the slow path.


See also

* Control plane * Data plane *
Self-modifying code In computer science, self-modifying code (SMC or SMoC) is source code, code that alters its own instruction (computer science), instructions while it is execution (computing), executing – usually to reduce the instruction path length and imp ...


References

Software optimization {{comp-sci-stub