Routerless networks on chip (NoCs) were recently introduced as an alternative to traditional mesh-based scalable networks, promising improved performance and scalability with a large decrease in power and area usage by the elimination of routing on in-flight packets. Without mitigation, most network designs, including routerless, are susceptible to loss of...
Throughput-oriented processors, such as graphics processing units (GPUs), have been increasingly used to accelerate general purpose computing, including machine learning models that are being utilized in numerous disciplines. Thousands of concurrently running threads in a GPU demand a highly efficient memory subsystem for data supply in GPUs. In this dissertation,...
There are generally two types of multiview video:(1) 3D Multiview Video (“3D MVV” also called “2D plus delta” or “stereo” multi-view video): 3D MVV is widely deployed in cinemas and in the TV industry. 3D MVV typically entails capturing video of an object using two cameras with differing view angles...
A distributed system is a network of multiple autonomous computational nodes designed primarily for performance scalability and robustness. The performance of a distributed system depends critically on how tasks and resources are distributed among the nodes. Thus, a main thrust in distributed system research is to design schemes for distributing...
Peer-to-Peer (P2P) based distributed storage systems have gain much popularity in recent years. These systems rely greatly on the data redundancy to be robust under network dynamics, i.e., the dynamics of peer entering and departing the network. Hence, it is important to implement mechanisms for maintaining a certain level of...
Error correction codes (ECCs) have been widely used in communication systems and storage devices. Nowadays, the rapid development of integrated circuit technologies makes feasible the implementation of powerful ECCs such as turbo code and low-density parity-check (LDPC) code. However, these high-performance codes require complex decoding algorithms, resulting in large hardware...
Dynamic CMOS circuits are commonly used in high-performance memory arrays to implement wide-NOR logic functions for their read and search operations. This is because dynamic circuits have significantly higher speed and lower area compared to static circuits for performing similar operations. Register File (RF) arrays are located at the top...
Cryptographic devices leak timing and power consumption information that is easily measurable, radiation of various levels, and more. Such devices also have additional inputs, other than plaintext and keys, like voltage, which can be modified to force the device to produce certain faulty outputs that can be used to reveal...