Page 17 |
Save page Remove page | Previous | 17 of 243 | Next |
|
small (250x250 max)
medium (500x500 max)
Large (1000x1000 max)
Extra Large
large ( > 500x500)
Full Resolution
All (PDF)
|
This page
All
|
Matrix multiplication (column-wise partition) [14]. Consider a scenario where the goal is to compute the product A|B given two large matrices A 2 Fs×t and B 2 Fs×r. Here the input dataset is X = (A,B), and the computation task is g(A,B) = A|B. After partitioning the input matrices column-wise into m and n submatrices of equal sizes, denoted A0, ...,Am−1 and B0, ...,Bn−1, the final results are essentially the collection of all mn pair-wise submatrix-products A|i Bj ’s. If each worker can compute a single submatrix product of same sizes, i.e., f is the multiplication of two matrices of sizes F t m ×s and Fs× r n , an uncoded design using K = mn workers can be constructed by assigning the workers distinct (Ai,Bj)’s as inputs. Polynomial evaluation [20]. Another example is to evaluate multivariate polynomials on a dataset X = (X1, ...,XK). Explicitly, given a general polynomial f, the goal is to compute g(X) = (f(X1), ..., f(XK)). If each worker can compute a single evaluation, then an uncoded design using K workers can be obtained by assigning each worker i input Xi. … … Figure 1.1: An illustration of coded computation. A collection of workers aims to compute a function g given an input dataset, where each worker can return an evaluation of a function f with possibly coded data assignments. By carefully designing the coding functions (ci’s), the final results can be efficiently recovered after computation is applies on coded data, in the presence of stragglers while providing security and privacy against malicious and colluding workers. A coded computing design that uses N workers first encodes the dataset X using N encoding functions c1, ..., cN, then assign ci(X) to each worker i as the coded input (see Figure 1.1). In the presence of stragglers, the decoder waits for a subset of fastest workers until g(X) can be recovered given the returned results from the workers. We say a coded computing scheme achieves a recovery threshold of R if the master can correctly decode the final output given the computing results from any subset of R workers. This is an equivalent measure of the number of stragglers that can be 2
Object Description
Title | Coded computing: a transformative framework for resilient, secure, private, and communication efficient large scale distributed computing |
Author | Yu, Qian |
Author email | qyu880@usc.edu;qianyu0929@gmail.com |
Degree | Doctor of Philosophy |
Document type | Dissertation |
Degree program | Electrical Engineering |
School | Viterbi School of Engineering |
Date defended/completed | 2020-03-24 |
Date submitted | 2020-08-04 |
Date approved | 2020-08-05 |
Restricted until | 2020-08-05 |
Date published | 2020-08-05 |
Advisor (committee chair) | Avestimehr, Salman |
Advisor (committee member) |
Luo, HaiPeng Ortega, Antonio Soltanolkotabi, Mahdi |
Abstract | Modern computing applications often require handling massive amounts of data in a distributed setting, where significant issues on resiliency, security, or privacy could arise. This dissertation presents new computing designs and optimality proofs, that address these issues through coding and information-theoretic approaches. ❧ The first part of this thesis focuses on a standard setup, where the computation is carried out using a set of worker nodes, each can store and process a fraction of the input dataset. The goal is to find computation schemes for providing the optimal resiliency against stragglers given the computation task, the number of workers, and the functions computed by the workers. The resiliency is measured in terms of the recovery threshold, defined as the minimum number of workers to wait for in order to compute the final result. We propose optimal solutions for broad classes of computation tasks, from basic building blocks such as matrix multiplication (entangled polynomial codes), Fourier transform (coded FFT), and convolution (polynomial code), to general functions such as multivariate polynomial evaluation (Lagrange coded computing). We develop optimal computing strategies by introducing a general coding framework called “polynomial coded computing”, to exploit the algebraic structure of the computation task and create computation redundancy in a novel coded form across workers. Polynomial coded computing allows for order-wise improvements over the state of the arts and significantly generalizes classical coding-theoretic results to go beyond linear computations. The encoding and decoding process of polynomial coded computing designs can be mapped to polynomial evaluation and interpolation, which can be computed efficiently. ❧ Then we show that polynomial coded computing can be extended to provide unified frameworks that also enable security and privacy in the computation. We present the optimal designs for three important problems: distributed matrix multiplication, multivariate polynomial evaluation, and gradient-type computation. We prove their optimality by developing information-theoretic and linear-algebraic converse bounding techniques. ❧ Finally, we consider the problem of coding for communication reduction. In the context of distributed computation, we focus on a MapReduce-type framework, where the workers need to shuffle their intermediate results to finish the computation. We aim to understand how to optimally exploit extra computing power to reduce communication, i.e., to establish a fundamental tradeoff between computation and communication. We prove a lower bound on the needed communication load for general allocation of the task assignments, by introducing a novel information-theoretic converse bounding approach. The presented lower bound exactly matches the inverse-proportional coding gain achieved by coded distributed computing schemes, completely characterizing the optimal computation-communication tradeoff. The proposed converse bounding approach strictly improves conventional cut-set bounds and can be widely applied to prove exact optimally results for more general settings, as well as more classical communication problems. We also investigate a problem called coded caching, where a single server is connected to multiple users in a cache network through a shared bottleneck link. Each user has an isolated memory that can be used to prefetch content. Then the server needs to deliver users’ demands efficiently in a following delivery phase. We propose caching and delivery designs that improve the state-of-the-art schemes under both centralized and decentralized settings, for both peak and average communication rates. Moreover, by developing information-theoretic bounds, we prove the proposed designs are exactly optimal among all schemes that use uncoded prefetching, and optimal within a factor of 2.00884 among schemes with coded prefetching. |
Keyword | coding theory; information theory; distributed computing; security; privacy; matrix multiplication; caching |
Language | English |
Part of collection | University of Southern California dissertations and theses |
Publisher (of the original version) | University of Southern California |
Place of publication (of the original version) | Los Angeles, California |
Publisher (of the digital version) | University of Southern California. Libraries |
Provenance | Electronically uploaded by the author |
Type | texts |
Legacy record ID | usctheses-m |
Contributing entity | University of Southern California |
Rights | Yu, Qian |
Physical access | The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the author, as the original true and official version of the work, but does not grant the reader permission to use the work if the desired use is covered by copyright. It is the author, as rights holder, who must provide use permission if such use is covered by copyright. The original signature page accompanying the original submission of the work to the USC Libraries is retained by the USC Libraries and a copy of it may be obtained by authorized requesters contacting the repository e-mail address given. |
Repository name | University of Southern California Digital Library |
Repository address | USC Digital Library, University of Southern California, University Park Campus MC 7002, 106 University Village, Los Angeles, California 90089-7002, USA |
Repository email | cisadmin@lib.usc.edu |
Filename | etd-YuQian-8883.pdf |
Archival file | Volume13/etd-YuQian-8883.pdf |
Description
Title | Page 17 |
Full text | Matrix multiplication (column-wise partition) [14]. Consider a scenario where the goal is to compute the product A|B given two large matrices A 2 Fs×t and B 2 Fs×r. Here the input dataset is X = (A,B), and the computation task is g(A,B) = A|B. After partitioning the input matrices column-wise into m and n submatrices of equal sizes, denoted A0, ...,Am−1 and B0, ...,Bn−1, the final results are essentially the collection of all mn pair-wise submatrix-products A|i Bj ’s. If each worker can compute a single submatrix product of same sizes, i.e., f is the multiplication of two matrices of sizes F t m ×s and Fs× r n , an uncoded design using K = mn workers can be constructed by assigning the workers distinct (Ai,Bj)’s as inputs. Polynomial evaluation [20]. Another example is to evaluate multivariate polynomials on a dataset X = (X1, ...,XK). Explicitly, given a general polynomial f, the goal is to compute g(X) = (f(X1), ..., f(XK)). If each worker can compute a single evaluation, then an uncoded design using K workers can be obtained by assigning each worker i input Xi. … … Figure 1.1: An illustration of coded computation. A collection of workers aims to compute a function g given an input dataset, where each worker can return an evaluation of a function f with possibly coded data assignments. By carefully designing the coding functions (ci’s), the final results can be efficiently recovered after computation is applies on coded data, in the presence of stragglers while providing security and privacy against malicious and colluding workers. A coded computing design that uses N workers first encodes the dataset X using N encoding functions c1, ..., cN, then assign ci(X) to each worker i as the coded input (see Figure 1.1). In the presence of stragglers, the decoder waits for a subset of fastest workers until g(X) can be recovered given the returned results from the workers. We say a coded computing scheme achieves a recovery threshold of R if the master can correctly decode the final output given the computing results from any subset of R workers. This is an equivalent measure of the number of stragglers that can be 2 |