# On-Chip Networks (Synthesis Lectures on Computer Architecture)

It is a resource for both understanding on-chip network basics and for providing an overview of state of the-art research in on-chip networks. We believe that an overview that teaches both fundamental concepts and highlights state-of-the-art designs will be of great value to both graduate students and industry engineers.

## On-Chip Networks

While not an exhaustive text, we hope to illuminate fundamental concepts for the reader as well as identify trends and gaps in on-chip network research. With the rapid advances in this field, we felt it was timely to update and review the state of the art in this second edition. We introduce two new chapters at the end of the book. We have updated the latest research of the past years throughout the book and also expanded our coverage of fundamental concepts to include several research ideas that have now made their way into products and, in our opinion, should be textbook concepts that all on-chip network practitioners should know.

For example, these fundamental concepts include message passing, multicast routing, and bubble flow control schemes. Rogers Sr. She completed her Ph.

Her research interests include multi- and many-core architectures, on-chip networks, cache coherence protocols, memory systems, and approximate computing. She was awarded an Alfred P. More information about this seller Contact this seller. Book Description Morgan and Claypool Publishers, New Book. Shipped from UK.

Established seller since Seller Inventory CE New copy - Usually dispatched within 2 working days. Seller Inventory B Condition: Brand New.

## On-Chip Networks | Synthesis Lectures on Computer Architecture

In Stock. Seller Inventory zk Never used!. Seller Inventory P The most important result, as far as scalable quantum computing is concerned, is the Threshold Theorem [4], which says that an arbitrarily reliable quantum gate can be implemented using only imperfect gates, provided the imperfect gates have failure probability below a certain threshold value.

This remarkable result is achieved by: 1 using quantum error-correction codes, 2 performing all computations on encoded data, 3 using fault tolerant procedures, and 4 recursively encoding until the desired reliability is obtained. A successful architecture must be carefully designed to minimize the overhead of recursive error correction and be able to accommodate some of the most efficient error correcting codes.

Our assumption is that other types of noise that cannot be described as a random unitary operator are dealt with through different quantum control protocols used in the construction of the physical qubits themselves. Provided that the error operator acts non-trivially on t 58 4. The detail that we provide for quantum error correction is there to underscore the reasons why error correction is the defining application for quantum architectures; however, if the reader is already familiar with the concept, they may continue reading with Section 4.

In practice, errors are not always completely uncorrelated; however, any correlations can be minimized through underlying control protocols. In quantum computation, the evolution of a quantum system can be modeled in a similar manner. Noise described by the Pauli matrices is known as depolarizing noise. All error correcting codes correct depolarizing noise, and, in general, devices can be engineered such that the dominant noise channel is the depolarizing channel.

Most error correcting protocols rely on the fact that the weight of the n-bit Pauli operators is small, and that the occurrence of highly correlated errors that affect more than one qubit at each step is very rare. However, it is very unlikely that the technologies will allow the complete elimination of correlated errors. The Kane technology [], for example, stores qubits in the electronic spins of Phosphorous atoms embedded in Silicon. Qubit interactions are controlled via metallic control structures built on the surface of the Silicon substrate.

To perform a two-qubit operation, the electron which stores the qubit from one atom is transferred to the other atom. Along the transfer process, the charge fields generated by the control structures interact with the qubit states stored in the data electrons, and, in reality, this fact poses the biggest challenge for physically realizing reliable quantum operations using the Kane technology. An error on a single qubit happens when a failure occurs during the execution of an operation on that qubit. A failure of the two-qubit cnot gate can introduce two errors in a quantum circuit, one on the control qubit and one on the target qubit.

This means that an error on qubit qi will not result in an error on qubit qj unless the two qubits are explicitly entangled in the quantum circuit. The single-qubit T gate is the only exception to the above, which introduces an error that can be written as a superposition of the X and Z gates.

Similarly, qubits that move undergo movement noise introduced by the channel and not memory noise. As mentioned earlier, errors are not completely uncorrelated. Initially, the state of a quantum computer is prepared such that it is as independent of the environment as the implementation technology will allow. As the computer state becomes entangled with its surroundings, the amount of entanglement governs how strong the error correlations are between single qubits in the quantum computer.

- The Epic History of Biology.
- Bestselling Series!
- Duplicate citations!
- Description.
- Teaching Culture in Introductory Foreign Language Textbooks;
- Download On Chip Networks Synthesis Lectures On Computer Architecture 2009;

In addition, the application of a logic gate on a qubit also causes an unknown error operator to be applied on the state of the environment β thus the noise at each timestep is shared between the computer system and the environment. The qubit states in the ion-trap technology for example, are affected by phase changes due to the fluctuating global electric and magnetic fields on the ion-trap chip.

An example of non-stochastic errors in the computer are small rotations in each of the qubits, introduced by the classical control mechanisms at each gate. These rotations can be a constant change in the phase or a random rotation at each gate. As system designers, we must make the assumption that coherent non-stochastic errors will eventually add up to sufficiently large rotations, which can be discretized into a superposition of the Pauli operators as assumed in the incoherent noise model.

Errors are detected using error-detecting codes, which are employed in classical computation in the transferring of information packets through noisy channels, Arithmetic Logic Units ALU , and in memory systems. If error detecting codes are computationally inexpensive enough and the classical transmission channel introduces sufficiently small number of errors, then it may be cheaper to retransmit the information packet upon the detection of an error rather than calculating the exact error location. In general, an error detecting code C is defined by two parameters n and k, where n is the number of bits used to encode a piece of information and k is the minimum bits necessary to represent the information C is denoted as an [[n, k]] error detecting code.

There are many ways to construct parity check codes. One simple way is to count the number of times the bit 1 appears in the original n-bit binary message string. A single error on any of the original bits will change the parity of the example codeword from even to odd note that two errors will not be detected. Note that the parity check code supports the detection of any odd number of errors.

The code provides no information at all about the actual location of any error that has occurred. After the error occurs on the first bit, the syndrome bits s1, s2 are set by measuring the parity between bits 1,2 and 2,3. The correction operation is just a N OT gate on the bit where the error has occurred. If an error occurs causing one of the bits to be flipped, a majority vote is taken to determine the location of the error the three-bit repetition code is an [[3, 1]] code able to correct, at most, one error in any of the codewords. The error correction procedure is illustrated in Figure 4.

The majority vote is taken by simultaneously measuring the parity we. The syndromes 1, 1 and 0, 1 indicate that the error is in the second and third bits, respectively. Clearly, the 3-bit repetition code cannot help us if more than one error occurs. In fact, two errors will cause the error correction to correct the wrong bit, introducing an error in our computation.

To detect and correct two errors, majority vote for a 5-bit repetition code can be used we. For a quantum error correcting code, a little more is needed. A logical qubit state is encoded into the state of a number of physical qubits, which are not replicated, but are entangled with one another. In addition, we need to worry about sign errors due to the phase-flip Z operator. Because 4. The state the three qubits are in after the Hadamard gates allows the correction of a phase-flip Z error on any of the three qubits if we compare the signs between qubits q1, q4 and q4, q7.

The method for extracting the syndrome of a bit-flip error in any of the three qubits within each group of three is identical to the classical 3-bit repetition code. The correction step is then performed by applying an X gate on the flipped qubit. The phase-flip Z errors are detected and corrected on any one of the 9 qubits by comparing the signs of the three blocks. If a phase-flip error occurs, for example, on qubit q6, then the sign of 64 4.

A 3-qubit state is prepared initially that allows for the detection and correction of Z errors. Each of the three qubits is encoded with the quantum 3-bit repetition code to protect against bit-flip errors using 6 additional qubits. Curiously, we can apply the correction on any one of the three qubits in the middle block q4, q5, or q6 , and the sign will be flipped to the original state.

## On-Chip Networks, Second Edition

The 9-qubit code is guaranteed to correct any one X or Z error in any of the 9 qubits in the state. It will not correct more than one Z error, but it may correct some higher weight X errors.

- First-order Representations of Linear Systems?
- Risk, Vulnerability and Everyday Life (The New Sociology).
- Li-Shiuan Peh - Google Scholar Citations.
- Krishna Publishes On-Chip Networks Textbook;

The 9-qubit code is just one example of an error correcting code and is perhaps the simplest truly quantum error correcting code that is capable of correcting both bit-flip and phase-flip errors. Many more quantum error correcting codes are known, where in general a quantum error code C encodes k qubits into the state of n lower-level qubits and can correct errors on up to t qubits.

The 9-qubit Shor code can be thought of as a [[9, 1, 3]] code, whose distance d 4. A code that corrects any combination of 2 errors in its encoded codewords will have distance equal to 5.

### Special order items

It is not enough, however, to simply store error-free quantum information, we must also have a way to reliably process it for the duration of the algorithm. Von Neummann [] proposed that a classical computer with noisy gates can be made more reliable by performing each gate a number of times and accepting the majority of agreeing gates as the correct gate function. This would require the creation of multiple copies of the data to be sent through the same gate-type, something that cannot be done in quantum computation. The solution is to perform operations on states encoded states.

Operations need to be performed fault-tolerantly where more errors are not introduced than it is possible to correct. The data will be lost if more than one uncorrectable errors occur, but if we never decode, higher errors occur with exponentially smaller probability see Equation 4. A logical gate U is constructed from a number of physical gates such that the function of U on an arbitrary logical qubit state is the same as the function of a corresponding physical gate U on functionally the same arbitrary physical qubit state.

Thus, using the 9-qubit encoding described in this section, the logical bit-flip operator X is implemented by applying a Z gate on qubits q3, q6 and q9. Unfortunately, the implementation of other logical gates is not as straightforward with the 9-qubit code.

Therefore, it is important to consider the universal gate implementation circuitry when choosing an error correcting code for a given application. During computation, each logical gate may be followed by a syndrome extraction procedure which would correct any errors X, Z, or both that have occurred during the sequence of operations that implement the gate. This means that errors are continuous and, in principle, it should take an infinite number of resources to determine the exact error that has occurred a single qubit may any combination of bit-flip X errors, phase-flip Z errors, and bit-flip and phase-flip Y errors.

Thus, we must indirectly measure the qubit such that its quantum information is not destroyed. Even if an implementation technology becomes extremely reliable, it may not be possible to generate fewer than 1 error for every operations [] for ion-traps, for example.

### On-Chip Networks (Synthesis Lectures on Computer Architecture)

In addition, quantum data is entangled. This means that quantum error correcting codes must prevent decoherence not only at higher than classical error rates, but must also be designed to limit the effects of entanglement on how errors propagate through the error correcting circuits after each underlying operation.

Section 4.