Consider a multi-cell mobile edge computing network, in which each user wishes to compute the product of a user-generated data matrix with a network-stored matrix. This is done through task offloading by means of input uploading, distributed computing at edge nodes (ENs), and output downloading. Task offloading may suffer long delay since servers at some ENs may be straggling due to random computation time, and wireless channels may experience severe fading and interference. This paper aims to investigate the interplay among upload, computation, and download latencies during the offloading process in the high signal-to-noise ratio regime from an information-theoretic perspective. A policy based on cascaded coded computing and on coordinated and cooperative interference management in uplink and downlink is proposed and proved to be approximately optimal for a sufficiently large upload time. By investing more time in uplink transmission, the policy creates data redundancy at the ENs, which can reduce the computation time, by enabling the use of coded computing, as well as the download time via transmitter cooperation. Moreover, the policy allows computation time to be traded for download time. Numerical examples demonstrate that the proposed policy can improve over existing schemes by significantly reducing the end-to-end execution time.
Coded matrix multiplication is a technique to enable straggler-resistant multiplication of large matrices in distributed computing systems. In this paper, we first present a conceptual framework to represent the division of work amongst processors in coded matrix multiplication as a cuboid partitioning problem. This framework allows us to unify existing methods and motivates new techniques. Building on this framework, we apply the idea of hierarchical coding (Ferdinand & Draper, 2018) to coded matrix multiplication. The hierarchical scheme we develop is able to exploit the work completed by al…
We study coded distributed matrix multiplication from an approximate recovery viewpoint. We consider a system of $P$ computation nodes where each node stores $1/m$ of each multiplicand via linear encoding. Our main result shows that the matrix product can be recovered with $ε$ relative error from any $m$ of the $P$ nodes for any $ε> 0$. We obtain this result through a careful specialization of MatDot codes -- a class of matrix multiplication codes previously developed in the context of exact recovery ($ε=0$). Since prior results showed that MatDot codes achieve the best exact recovery threshol…
In this paper, a transmission strategy of fountain codes over cooperative relay networks is proposed. When more than one relay nodes are available, we apply network coding to fountain-coded packets. By doing this, partial information is made available to the destination node about the upcoming message block. It is therefore able to reduce the required number of transmissions over erasure channels, hence increasing the effective throughput. Its application to wireless channels with Rayleigh fading and AWGN noise is also analysed, whereby the role of analogue network coding and optimal weight se…
Matrix multiplication is a fundamental building block for large scale computations arising in various applications, including machine learning. There has been significant recent interest in using coding to speed up distributed matrix multiplication, that are robust to stragglers (i.e., machines that may perform slower computations). In many scenarios, instead of exact computation, approximate matrix multiplication, i.e., allowing for a tolerable error is also sufficient. Such approximate schemes make use of randomization techniques to speed up the computation process. In this paper, we initiat…
Network coding and cooperative communication have received considerable attention from the research community recently in order to mitigate the adverse effects of fading in wireless transmissions and at the same time to achieve high throughput and better spectral efficiency. In this work, we analyze a network coding scheme for a cooperative communication setup with multiple sources and destinations. The proposed protocol achieves the full diversity order at the expense of a slightly reduced multiplexing rate compared to existing schemes in the literature. We show that our scheme outperforms co…
In this paper, novel cooperative automatic repeat request (ARQ) methods with network coding are proposed for two way relaying network. Upon a failed transmission of a packet, the network enters cooperation phase, where the retransmission of the packets is aided by the relay node. The proposed approach integrates network coding into cooperative ARQ, aiming to improve the network throughput by reducing the number of retransmissions. For successive retransmission, three different methods for choosing the retransmitting node are considered. The throughput of the methods are analyzed and compared. …
A majority of coded matrix-matrix computation literature has broadly focused in two directions: matrix partitioning for computing a single computation task and batch processing of multiple distinct computation tasks. While these works provide codes with good straggler resilience and fast decoding for their problem spaces, these codes would not be able to take advantage of the natural redundancy of re-using matrices across batch jobs. In this paper, we introduce the Variable Coded Distributed Batch Matrix Multiplication (VCDBMM) problem which tasks a distributed system to perform batch matrix m…
Cooperative computation is a promising approach for localized data processing at the edge, e.g. for Internet of Things (IoT). Cooperative computation advocates that computationally intensive tasks in a device could be divided into sub-tasks, and offloaded to other devices or servers in close proximity. However, exploiting the potential of cooperative computation is challenging mainly due to the heterogeneous and time-varying nature of edge devices. Coded computation, which advocates mixing data in sub-tasks by employing erasure codes and offloading these sub-tasks to other devices for computat…
Edge computing is emerging as a new paradigm to allow processing data near the edge of the network, where the data is typically generated and collected. This enables critical computations at the edge in applications such as Internet of Things (IoT), in which an increasing number of devices (sensors, cameras, health monitoring devices, etc.) collect data that needs to be processed through computationally intensive algorithms with stringent reliability, security and latency constraints. Our key tool is the theory of coded computation, which advocates mixing data in computationally intensive task…
Consider a connected network of n nodes that all wish to recover k desired packets. Each node begins with a subset of the desired packets and exchanges coded packets with its neighbors. This paper provides necessary and sufficient conditions which characterize the set of all transmission schemes that permit every node to ultimately learn (recover) all k packets. When the network satisfies certain regularity conditions and packets are randomly distributed, this paper provides tight concentration results on the number of transmissions required to achieve universal recovery. For the case of a ful…
Synchronization of relay nodes is an important and critical issue in exploiting cooperative diversity in wireless networks. In this paper, two asynchronous cooperative diversity schemes are proposed, namely, distributed delay diversity and asynchronous space-time coded cooperative diversity schemes. In terms of the overall diversity-multiplexing (DM) tradeoff function, we show that the proposed independent coding based distributed delay diversity and asynchronous space-time coded cooperative diversity schemes achieve the same performance as the synchronous space-time coded approach which requi…
Introducing cooperative coded caching into small cell networks is a promising approach to reducing traffic loads. By encoding content via maximum distance separable (MDS) codes, coded fragments can be collectively cached at small-cell base stations (SBSs) to enhance caching efficiency. However, content popularity is usually time-varying and unknown in practice. As a result, cache contents are anticipated to be intelligently updated by taking into account limited caching storage and interactive impacts among SBSs. In response to these challenges, we propose a multi-agent deep reinforcement lear…
An adaptive joint power allocation (JPA) and linear receiver design algorithm using the minimum bit error rate (MBER) criterion for a cooperative Multiple-Input Multiple-Output (MIMO) network is proposed. The system employs multiple relays with Distributed Space-Time Coding (DSTC) schemes and an Amplify-and-Forward (AF) strategy. It is designed according to a joint constrained optimization algorithm to determine the MBER power allocation parameters and the receive filter parameters for each transmitted symbol. The simulation results indicate that the proposed algorithm obtains performance gain…
In the paper "Finite-SNR Diversity-Multiplexing Tradeoff for Network Coded Cooperative OFDMA Systems', the authors adopt a recently proposed subcarrier allocation algorithm aiming at providing optimal frequency diversity to an OFDMA-based network with network-coded cooperation (NCC), where $P$ source nodes transmit independent information to a common destination with the help of $M$ relay nodes, in a frequency-selective channel with $L$ coherence blocks. However, the analysis of the so-called NCC-OFDMA scheme proposed in the aforementioned paper assumes that the subcarrier allocation algorithm…
One of the most common, but at the same time expensive operations in linear algebra, is multiplying two matrices $A$ and $B$. With the rapid development of machine learning and increases in data volume, performing fast matrix intensive multiplications has become a major hurdle. Two different approaches to overcoming this issue are, 1) to approximate the product; and 2) to perform the multiplication distributively. A \textit{$CR$-multiplication} is an approximation where columns and rows of $A$ and $B$ are respectively sampled with replacement. In the distributed setting, multiple workers perfo…
We evaluate the secrecy performance of a multiple access cooperative network where the destination node is wiretapped by a malicious and passive eavesdropper. We propose the application of the network coding technique as an alternative to increase the secrecy at the destination node, on the top of improving the error performance of the legitimate communication, already demonstrated in the literature. Network coding is leveraged by assuming that the legitime cooperative nodes are able to perform non-binary linear combinations of different frames before the transmission. Different scenarios with…
Coded distributed computing has been considered as a promising technique which makes large-scale systems robust to the "straggler" workers. Yet, practical system models for distributed computing have not been available that reflect the clustered or grouped structure of real-world computing servers. Neither the large variations in the computing power and bandwidth capabilities across different servers have been properly modeled. We suggest a group-based model to reflect practical conditions and develop an appropriate coding scheme for this model. The suggested code, called group code, employs p…
We evaluate the outage probability and the energy efficiency (EE) of a LoRa network when the end-devices (EDs) are capable of exchanging messages with a device-to-device (D2D) technology. Our proposal is to assess the performance of the network when operating under the concept of network-coded cooperation (NCC), where the EDs are capable of transmitting linear combinations of more than one frame (including frames of another ED), performed over a non-binary finite field. We consider both connection and collision probabilities when modelling the outage probability of an ED, as well as a realisti…
In this paper, a joint power allocation algorithm with minimum mean-squared error (MMSE) receiver for a cooperative Multiple-Input and Multiple-Output (MIMO) network which employs multiple relays and a Decode-and-Forward (DF) strategy is proposed. A Distributed Space-Time Coding (DSTC) scheme is applied in each relay node. We present a joint constrained optimization algorithm to determine the power allocation parameters and the MMSE receive filter parameter vectors for each transmitted symbol in each link, as well as the channel coefficients matrix. A Stochastic Gradient (SG) algorithm is deri…
We consider the "coded cooperative data exchange problem" for general graphs. In this problem, given a graph G=(V,E) representing clients in a broadcast network, each of which initially hold a (not necessarily disjoint) set of information packets; one wishes to design a communication scheme in which eventually all clients will hold all the packets of the network. Communication is performed in rounds, where in each round a single client broadcasts a single (possibly encoded) information packet to its neighbors in G. The objective is to design a broadcast scheme that satisfies all clients with t…
We study two problems of private matrix multiplication, over a distributed computing system consisting of a master node, and multiple servers that collectively store a family of public matrices using Maximum-Distance-Separable (MDS) codes. In the first problem of Private and Secure Matrix Multiplication (PSMM) from colluding servers, the master intends to compute the product of its confidential matrix $\mathbf{A}$ with a target matrix stored on the servers, without revealing any information about $\mathbf{A}$ and the index of target matrix to some colluding servers. In the second problem of Fu…
Coded distributed matrix multiplication (CDMM) schemes, such as MatDot codes, seek efficient ways to distribute matrix multiplication task(s) to a set of $N$ distributed servers so that the answers returned from any $R$ servers are sufficient to recover the desired product(s). For example, to compute the product of matrices ${\bf U, V}$, MatDot codes partition each matrix into $p>1$ sub-matrices to create smaller coded computation tasks that reduce the upload/storage at each server by $1/p$, such that ${\bf UV}$ can be recovered from the answers returned by any $R=2p-1$ servers. An important c…
In distributed computing systems slow working nodes, known as stragglers, can greatly extend finishing times. Coded computing is a technique that enables straggler-resistant computation. Most coded computing techniques presented to date provide robustness by ensuring that the time to finish depends only on a set of the fastest nodes. However, while stragglers do compute less work than non-stragglers, in real-world commercial cloud computing systems (e.g., Amazon's Elastic Compute Cloud (EC2)) the distinction is often a soft one. In this paper, we develop hierarchical coded computing that explo…
In this paper, we study the performance of network-coded cooperative diversity systems with practical communication constraints. More specifically, we investigate the interplay between diversity, coding, and multiplexing gain when the relay nodes do not act as dedicated repeaters, which only forward data packets transmitted by the sources, but they attempt to pursue their own interest by forwarding packets which contain a network-coded version of received and their own data. We provide a very accurate analysis of the Average Bit Error Probability (ABEP) for two network topologies with three an…
In this work, we consider a multiuser cooperative wireless network where the energy-constrained sources have independent information to transmit to a common destination, which is assumed to be externally powered and responsible for transferring energy wirelessly to the sources. The source nodes may cooperate, under either decode-and-forward or network coding-based protocols. Taking into account the fact that the energy harvested by the source nodes is a function of the fading realization of inter-user channels and user-destination channels, we obtain a closed-form approximation for the system …
We consider a coded cooperative data exchange problem with the goal of generating a secret key. Specifically, we investigate the number of public transmissions required for a set of clients to agree on a secret key with probability one, subject to the constraint that it remains private from an eavesdropper. Although the problems are closely related, we prove that secret key generation with fewest number of linear transmissions is NP-hard, while it is known that the analogous problem in traditional cooperative data exchange can be solved in polynomial time. In doing this, we completely characte…
The backhaul traffic is becoming a major concern in wireless and cellular networks (e.g., 4G-LTE and 5G) with the increasing demands for online video streaming. Caching the popular content in the cache memory of the network users (e.g., mobile devices) is an effective technique to reduce the traffic during the networks' peak time. However, due to the dynamic nature of these networks, users privacy settings, or energy limitations, some users may not be available or intend to participate during the caching procedures. In this paper, we propose caching schemes for device-to-device communication n…
In this paper, we study the problem of \emph{private and secure distributed matrix multiplication (PSDMM)}, where a user having a private matrix $A$ and $N$ non-colluding servers sharing a library of $L$ ($L>1$) matrices $B^{(0)}, B^{(1)},\ldots,B^{(L-1)}$, for which the user wishes to compute $AB^{(θ)}$ for some $θ\in [0, L)$ without revealing any information of the matrix $A$ to the servers, and keeping the index $θ$ private to the servers. Previous work is limited to the case that the shared library (\textit{i.e.,} the matrices $B^{(0)}, B^{(1)},\ldots,B^{(L-1)}$) is stored across the serve…
We provide novel coded computation strategies for distributed matrix-matrix products that outperform the recent "Polynomial code" constructions in recovery threshold, i.e., the required number of successful workers. When $m$-th fraction of each matrix can be stored in each worker node, Polynomial codes require $m^2$ successful workers, while our MatDot codes only require $2m-1$ successful workers, albeit at a higher communication cost from each worker to the fusion node. We also provide a systematic construction of MatDot codes. Further, we propose "PolyDot" coding that interpolates between Po…
The optimum off-line energy management scheme for multi-user multi-relay networks employing energy harvesting and wireless energy transfer is studied. Specifically, the users are capable of harvesting and transferring energy to each other over consecutive transmissions, though they have no fixed energy supplies. Meanwhile, network coding for the users' messages is conducted at the relays to enable cooperative transmission with source nodes in independent but not necessarily identically distributed (i.n.i.d.) Nakagami-$m$ fading channels. Therefore, a simultaneous two level cooperation, i.e., i…
This work studies the performance of a cooperative network which consists of two channel-coded sources, multiple relays, and one destination. Due to spectral efficiency constraint, we assume only one time slot is dedicated for relaying. Conventional network coding based cooperation (NCC) selects the best relay which uses network coding to serve two sources simultaneously. The performance in terms of bit error rate (BER) of NCC, however, is not available in the literature. In this paper, we first derive the closed-form expression for the BER of NCC and analytically show that NCC always achieves…
Edge computing is emerging as a new paradigm to allow processing data at the edge of the network, where data is typically generated and collected, by exploiting multiple devices at the edge collectively. However, exploiting the potential of edge computing is challenging mainly due to the heterogeneous and time-varying nature of edge devices. Coded computation, which advocates mixing data in sub-tasks by employing erasure codes and offloading these sub-tasks to other devices for computation, is recently gaining interest, thanks to its higher reliability, smaller delay, and lower communication c…
Coded distributed batch computation distributes a computation task, such as matrix multiplication, $N$-linear computation, or multivariate polynomial evaluation, across $S$ servers through a coding scheme, such that the response from any $R$ servers ($R$ is called the recovery threshold) is sufficient for the user to recover the desired computed value. Current approaches are based on either exclusively matrix-partitioning (Entangled Polynomial (EP) Codes for matrix multiplication), or exclusively batch processing (Lagrange Coded Computing (LCC)). We present three related classes of codes, base…
A transform that enables generator-matrix-based Reed-Solomon (RS) coded data to be recovered under interpolation-based list decoding is presented. The transform matrix needs to be computed only once and the transformation of an element from the output list to the desired RS coded data block incurs $k^{2}$ field multiplications, given a code of dimension $k$.
In this paper, we propose CodedSketch, as a distributed straggler-resistant scheme to compute an approximation of the multiplication of two massive matrices. The objective is to reduce the recovery threshold, defined as the total number of worker nodes that we need to wait for to be able to recover the final result. To exploit the fact that only an approximated result is required, in reducing the recovery threshold, some sorts of pre-compression are required. However, compression inherently involves some randomness that would lose the structure of the matrices. On the other hand, considering t…
We consider a large-scale matrix multiplication problem where the computation is carried out using a distributed system with a master node and multiple worker nodes, where each worker can store parts of the input matrices. We propose a computation strategy that leverages ideas from coding theory to design intermediate computations at the worker nodes, in order to efficiently deal with straggling workers. The proposed strategy, named as \emph{polynomial codes}, achieves the optimum recovery threshold, defined as the minimum number of workers that the master needs to wait for in order to compute…
We investigate the problem of privacy preserving distributed matrix multiplication in edge networks using multi-party computation (MPC). Coded multi-party computation (CMPC) is an emerging approach to reduce the required number of workers in MPC by employing coded computation. Existing CMPC approaches usually combine coded computation algorithms designed for efficient matrix multiplication with MPC. We show that this approach is not efficient. We design a novel CMPC algorithm; PolyDot coded MPC (PolyDot-CMPC) by using a recently proposed coded computation algorithm; PolyDot codes. We exploit "…
Coded caching is a promising technique to smooth out network traffic by storing part of the library content at the users' local caches. The seminal work on coded caching for single file retrieval by Maddah-Ali and Niesen (MAN) showed the existence of a global caching gain that scales with the total memory in the system, in addition to the known local caching gain in uncoded systems. This paper formulates a novel cache-aided matrix multiplication retrieval problem, relevant for data analytics and machine learning applications. In the considered problem, each cache-aided user requests the produc…
"Amplify and Forward" and "Decode and Forward" are the two main relaying functions that have been proposed since the advent of cooperative communication. "\textit{Soft} Decode and Forward" is a recently introduced relaying principle that is to combine the benefits of the classical two relaying algorithms. In this work, we thoroughly investigate \textit{soft} relaying algorithms when convolutional or turbo codes are applied. We study the error performance of two cooperative scenarios employing soft-relaying. A novel approach, the mutual information loss due to data processing, is proposed to an…
Coded computation is a method to mitigate "stragglers" in distributed computing systems through the use of error correction coding that has lately received significant attention. First used in vector-matrix multiplication, the range of application was later extended to include matrix-matrix multiplication, heterogeneous networks, convolution, and approximate computing. A drawback to previous results is they completely ignore work completed by stragglers. While stragglers are slower compute nodes, in many settings the amount of work completed by stragglers can be non-negligible. Thus, in this w…
In this paper, we introduce a game theoretic framework for studying the problem of minimizing the completion time of instantly decodable network coding (IDNC) for cooperative data exchange (CDE) in decentralized wireless network. In this configuration, clients cooperate with each other to recover the erased packets without a central controller. Game theory is employed herein as a tool for improving the distributed solution by overcoming the need for a central controller or additional signaling in the system. We model the session by self-interested players in a non-cooperative potential game. T…
Slow working nodes, known as stragglers, can greatly reduce the speed of distributed computation. Coded matrix multiplication is a recently introduced technique that enables straggler-resistant distributed multiplication of large matrices. A key property is that the finishing time depends only on the work completed by a set of the fastest workers, while the work done by the slowest workers is ignored completely. This paper is motivated by the observation that in real-world commercial cloud computing systems such as Amazon's Elastic Compute Cloud (EC2) the distinction between fast and slow node…
This paper has two contributions. First, we propose a novel coded matrix multiplication technique called Generalized PolyDot codes that advances on existing methods for coded matrix multiplication under storage and communication constraints. This technique uses "garbage alignment," i.e., aligning computations in coded computing that are not a part of the desired output. Generalized PolyDot codes bridge between Polynomial codes and MatDot codes, trading off between recovery threshold and communication costs. Second, we demonstrate that Generalized PolyDot can be used for training large Deep Neu…
In the area of basic and network coded cooperative communication, the expected end-to-end bit error rate (BER) values are frequently required to compare the proposed coding, relaying, and decoding techniques. Instead of obtaining these values via time consuming Monte Carlo simulations, deriving closed form expressions using approximations is crucial. In this work, the ultimate goal is to derive an approximate average BER expression for a network coded system. While reaching this goal, we firstly consider the cooperative systems' instantaneous BER values that are commonly composed of Q-function…
In this manuscript, we propose an alternating optimization framework to maximize the energy efficiency of a backscatter-enabled cooperative Non-orthogonal multiple access (NOMA) system by optimizing the transmit power of the source, power allocation coefficients (PAC), and power of the relay node under imperfect successive interference cancellation (SIC) decoding. A three-stage low-complexity energy-efficient alternating optimization algorithm is introduced which optimizes the transmit power, PAC, and relay power by considering the quality of service (QoS), power budget, and cooperation constr…
A secure multi-party batch matrix multiplication problem (SMBMM) is considered, where the goal is to allow a master to efficiently compute the pairwise products of two batches of massive matrices, by distributing the computation across S servers. Any X colluding servers gain no information about the input, and the master gains no additional information about the input beyond the product. A solution called Generalized Cross Subspace Alignment codes with Noise Alignment (GCSA-NA) is proposed in this work, based on cross-subspace alignment codes. The state of art solution to SMBMM is a coding sch…
Southeast University(东南大学);Purple Mountain Laboratories(紫金山实验室);Georgia Institute of Technology(佐治亚理工学院)
For ultra-dense networks with wireless backhaul, caching strategy at small base stations (SBSs), usually with limited storage, is critical to meet massive high data rate requests. Since the content popularity profile varies with time in an unknown way, we exploit reinforcement learning (RL) to design a cooperative caching strategy with maximum-distance separable (MDS) coding. We model the MDS coding based cooperative caching as a Markov decision process to capture the popularity dynamics and maximize the long-term expected cumulative traffic load served directly by the SBSs without accessing t…
We propose a novel application of coded computing to the problem of the nearest neighbor estimation using MatDot Codes [Fahim. et.al. 2017], that are known to be optimal for matrix multiplication in terms of recovery threshold under storage constraints. In approximate nearest neighbor algorithms, it is common to construct efficient in-memory indexes to improve query response time. One such strategy is Multiple Random Projection Trees (MRPT), which reduces the set of candidate points over which Euclidean distance calculations are performed. However, this may result in a high memory footprint an…
Coded distributed computing was recently introduced to mitigate the effect of stragglers on distributed computing. This paper combines ideas of approximate computing with coded computing to further accelerate computation. We propose successive approximation coding (SAC) techniques that realize a tradeoff between accuracy and speed, allowing the distributed computing system to produce approximations that increase in accuracy over time. If a sufficient number of compute nodes finish their tasks, SAC exactly recovers the desired computation. We theoretically provide design guidelines for our SAC …
We introduce a variation of coded computation that ensures data security and master's privacy against workers, which is referred to as private secure coded computation. In private secure coded computation, the master needs to compute a function of its own dataset and one of the datasets in a library exclusively shared by external workers. After recovering the desired function, the workers must not be able to know which dataset in the library was desired by the master or obtain any information about the master's own data. We propose a private secure coded computation scheme for matrix multiplic…
In this paper, we consider the application of Reed- Solomon (RS) channel coding for joint error correction and cooperative network coding on non-binary phase shift keying (PSK) modulated signals. The relay first decodes the RS channel coded messages received each in a time slot from all sources before applying network coding (NC) by the use of bit-level exclusive OR (XOR) operation. The network coded resulting message is then channel encoded before its transmission to the next relay or to the destination according to the network configuration. This scenario shows superior performance in compar…
Tensor operations, such as matrix multiplication, are central to large-scale machine learning applications. For user-driven tasks these operations can be carried out on a distributed computing platform with a master server at the user side and multiple workers in the cloud operating in parallel. For distributed platforms, it has been recently shown that coding over the input data matrices can reduce the computational delay, yielding a trade-off between recovery threshold and communication load. In this paper we impose an additional security constraint on the data matrices and assume that worke…