Pipeline forwarding

Pipeline forwarding

"Pipeline forwarding" (PF) applies to packet forwarding in computer networks the basic concept of "pipelining", which has been widely and successfully used in computing — specifically, in the architecture of all major central processing units (CPUs) — and manufacturing — specifically in assembly lines of various industries starting from automotive to many others. Pipelining is known to be optimal independent of the specific instantiation. In particular, PF is optimal from various points of view:

# "High efficiency in utilization of network resources", which enables accommodating a larger amount of traffic on the network, thus lowering operation cost and being the foundation for accommodating the exponential growth of modern networks.
# "Low implementation complexity", which enables the realization of larger and more powerful networking systems at low cost, thus offering further support to network growth.
# "High scalability", which is an immediate consequence of the above two features.
# "Deterministic and predictable operation" with minimum delay and no packet loss even under full load condition, which is key in supporting the demanding requirements of the new and valuable services that are being deployed, or envisioned to be deployed, on modern networks, such as telephony, videoconferencing, virtual presence, video on demand, distributed gaming.

Operating Principles

As in other pipelining implementations, a "common time reference" (CTR) is needed to perform pipeline forwarding. In the context of global networks the CTR can be effectively realized by using UTC (coordinated universal time) that is globally available via GPS (global positioning system) or Galileo in the near future. For example the UTC second is divided into fixed duration "time frames", which are grouped into "time cycles" so that in each UTC second there is a predefined integer number of time cycles. Alternatively, or complementary, the CTR can be obtained through the network by means of synchronization protocols such as IEEE 1588.Packets are forwarded from node to node according to predefined schedules, as shown in the figure below, i.e., each node forwards packets of a certain flow during predefined time frames. The time cycles define the periodic re-occurrence of the various predefined schedules. The periodic scheduling within each node results in a periodic packet forwarding across the network, which is referred to as pipeline forwarding for the ordered, step-by-step fashion with which packets travel toward their destination.

Through a resource reservation procedure transmission capacity is booked for a flow on each link it traverses during the time frame (or time frames) predefined for its forwarding, thus setting up a synchronous virtual pipe (SVP). The capacity during each time frame can be is partially or totally reserved to one or more flows. Consequently, the time cycle provides the basis for a periodic repetition of the reservation that ensures enough transmission resources to be available on each link to forward the packets of each flow, which prevents delays due to resource contention and loss resulting to congestion.

Forwarding Options

As exemplified in the figure above, which depicts the journey of a packet from node A to node D along three pipeline forwarding switches, the "forwarding delay" may have different values for different nodes, due to different propagation delays on different links (e.g., Tab, Tbc, and Tcd), and different packet processing and switching times in heterogeneous nodes (e.g., Tbb and Tcc). Moreover, two variants of the basic pipeline forwarding operation are possible. When node n deploys "immediate forwarding" the forwarding delay has the same value for all the packets received by node n on input link i and it is the minimum necessary to accommodate the packet propagation, processing, and switching time. When implementing "non-immediate forwarding", node n may use different forwarding delays for different packets.

Two implementations of the pipeline forwarding were proposed: Time-Driven Switching (TDS) and Time-Driven Priority (TDP) and can be used to create an SVP sidelay in the Synchronous Future Internet.


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Pipeline-Architektur — Die Pipeline (auch Befehls Pipeline oder Prozessor Pipeline) bezeichnet bei Mikroprozessoren eine Art „Fließband“, mit dem die Abarbeitung der Maschinenbefehle in Teilaufgaben zerlegt wird, die für mehrere Befehle parallel durchgeführt werden.… …   Deutsch Wikipedia

  • Pipeline (Prozessor) — Die Pipeline (auch Befehls Pipeline oder Prozessor Pipeline) bezeichnet bei Mikroprozessoren eine Art „Fließband“, mit dem die Abarbeitung der Maschinenbefehle in Teilaufgaben zerlegt wird, die für mehrere Befehle parallel durchgeführt werden.… …   Deutsch Wikipedia

  • Classic RISC pipeline — In the history of computer hardware, some early reduced instruction set computer central processing units (RISC CPUs) used a very similar architectural solution, now called a classic RISC pipeline. Those CPUs were: MIPS, SPARC, Motorola 88000,… …   Wikipedia

  • Instruction pipeline — Pipelining redirects here. For HTTP pipelining, see HTTP pipelining. Basic five stage pipeline in a RISC machine (IF = Instruction Fetch, ID = Instruction Decode, EX = Execute, MEM = Memory access, WB = Register write back). In the fourth clock… …   Wikipedia

  • Befehls-Pipeline — Die Pipeline (auch Befehls Pipeline oder Prozessor Pipeline) bezeichnet bei Mikroprozessoren eine Art „Fließband“, mit dem die Abarbeitung der Maschinenbefehle in Teilaufgaben zerlegt wird, die für mehrere Befehle parallel durchgeführt werden.… …   Deutsch Wikipedia

  • Prozessor-Pipeline — Die Pipeline (auch Befehls Pipeline oder Prozessor Pipeline) bezeichnet bei Mikroprozessoren eine Art „Fließband“, mit dem die Abarbeitung der Maschinenbefehle in Teilaufgaben zerlegt wird, die für mehrere Befehle parallel durchgeführt werden.… …   Deutsch Wikipedia

  • Hazard (computer architecture) — Hazards are problems with the instruction pipeline in central processing unit (CPU) microarchitectures that potentially result in incorrect computation. There are typically three types of hazards: data hazards structural hazards control hazards… …   Wikipedia

  • Synchronous virtual pipe — When realizing pipeline forwarding a predefined schedule for forwarding a pre allocated amount of bytes during one or more time frames along a path of subsequent switches establishes a synchronous virtual pipe (SVP). The SVP capacity is… …   Wikipedia

  • Memory disambiguation — is a set of techniques employed by high performance out of order execution microprocessors that execute memory access instructions (loads and stores) out of program order. The mechanisms for performing memory disambiguation, implemented using… …   Wikipedia

  • Windows PowerShell — Screenshot of a sample PowerShell session …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”