IO transactions within a computer system have evolved along with other system components (i.e., CPU, memory, video) from programmed IO (PIO). In current mainstream systems (spanning from HPC to mobile) the IO transactions are CPU-centric descriptor-based DMA transactions. The key benefit is that slower IO devices can DMA write system...
Traditional approaches to streaming H.264 video over a network typically rely on a single method of transport (i.e., reliable or unreliable) and/or use static values for parameters that can have a significant negative impact on the perceptual quality of the received video. This dissertation presents a dynamic method for wireless...
Modern sensor network applications are often implemented wirelessly in order to lessen installation costs and reduce deployment times. Unfortunately, these wireless sensor network (WSN) nodes must often rely on batteries or energy harvesting techniques in order to sustain their operation and supply the power needed to maintain communication within the...
Energy consumption has become a great deal for cloud service providers due to financial as well as environmental concerns. Studies show that cloud servers operate, most of the time, at only between 10% and 50% of their maximal utilizations. These same studies also show that servers that are kept ON...
Tree-like patterns are ubiquitous in nature. Botanical trees, river networks, and blood systems are the most well-known examples of complex hierarchical systems met in observations. Interestingly, many of such systems exhibit statistical self-similarity. There are two main types of self-similarity: Horton self-similarity and Tokunaga self-similarity. Although there is an increased...
In this work, we study network coding technique, its relation to random matrices, and their applications to communication systems. The dissertation consists of three main contributions. First, we propose efficient algorithms for data synchronization via a broadcast channel using random network coding. Second, we study the resiliency of network coding...
In networked control systems (NCS) information or packets usually flow from a
sensor or a set of sensors to a remotely located controller. Then the controller
processes the received information and sends a series of control commands to the
actuators through a communication network which could be either wireless or...
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...
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...
Markov Decision Process (MDP) is a well-known framework for devising the optimal decision making strategies under uncertainty. Typically, the decision maker assumes a stationary environment which is characterized by a time-invariant transition probability matrix. However, in many real-world scenarios, this assumption is not justified, thus the optimal strategy might not...