# A Design for an Internet Router with a Digital Optical Data Plane
## 6 Optical Packet Multiplexing
Our output multiplexer consists of two sets of delay lines--one fixed followed by one switched--of the same length (Figure 16, left) [23; 29; 30]. The fixed delay provides access to the headers of a batch of incoming packets, one line from each of the input demultiplexers. While in this _lookahead_ region, packet headers are sent to an electronic control that determines which packets to slow down and which to drop. The control configures the SDLs in the _shift_ region, and the packets are time-shifted to avoid contention. Each input line is allocated its own _lookahead_ and _shift_ regions, which together form a linear delay, so packets from a given input are never reordered. The resulting set of shifted packets is combined passively onto the output link. Figure 16, right, shows this behavior for a set of incoming packets while in the _lookahead_ region (top) and after being aligned in the _shift_ region (bottom). We call this the 'Tetris' switch, named after the popular video game, because it is similar to the packing of blocks in the game when viewed horizontally [29]. Figure 15: Electronic queues (**left**, as in VOQ) use random-access storage, in which incoming packets are “parked” until removed (e.g., by a valet). Optical queues (**right**) can only slow down to avoid collisions, more like highway merging. Batch processing of sets of contending packets in the _lookahead_ region enables our approach to support a variety of prioritization algorithms, which \"pack\" the output port similar to classical bin packing algorithms. This prioritization also supports different types of packet quality-of-service (QoS), in which header priority tags or other properties (address, destination, protocol type) can determine which packets are shifted first, which should be dropped or not dropped, and which can wait for available capacity (e.g., network control messages, traffic that exceeds assigned capacity, packets assigned to guaranteed or reserved flows, and background capacity, respectively). For our measurements, we use a default algorithm in which packets are scheduled in the order they arrive, attempting to retain their relative arrival order. We measured the effectiveness of this configuration in a 32 \(\times\) 32 switch using simulations based on traffic properties closer to the Internet edge, where we believe packet switching will have the most significant impact [23]. Such traffic is more bursty (Pareto) and thus more likely to benefit from statistical multiplexing gains. We measured the effective throughput of the switch under a variety of loads from 10% to 100%, using _lookahead_ and _shift_ buffer regions of varying sizes from 1500 bytes to 15,000 bytes, equivalent to 1-10 large IP packets. We assume the _lookahead_ and _shift_ region buffer sizes match, largely to simplify the number of variables considered. Our results at 100% load are shown in Figure 17, both as absolute measures (left) and relative to VOQ iSLIP (right). We compared two electronic VOQ algorithms: iSLIP [25] and PIM [26], forward-shift, backward-shift, and no queuing (unbuffered). In backward shift (inspired by an architecture developed at the National Institute of Information and Communications Technology (NICT) [31]), the SDL default is to select the fast path and packets are slowed down (take the longer path) when desired. In our proposed forward shift, the SDL default path is to select the slow path and packets are effectively sped-up (take the shorter path) when desired [29; 30]. The results demonstrate that optical SDLs can achieve up to 95% of the efficiency of electronic VOQ with buffers as short as 6000 bytes (the equivalent of four large IP packets) [23]; this result agrees with the new understanding that efficient Internet routing can be achieved with a comparatively small amount of buffering, rather than the conventional wisdom of a full round-trip bandwidth-delay product's worth [32].