This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Collaborative Coded Computation Offloading: An All-pay Auction Approach

Jer Shyuan Ng1,2, Wei Yang Bryan Lim1,2, Sahil Garg3, Zehui Xiong2,4,
Dusit Niyato4, Mohsen Guizani5, and Cyril Leung6,7
1Alibaba Group 2Alibaba-NTU JRI 3École de Technologie Supérieure 4SCSE, NTU, Singapore 5Qatar University 
6LILY Research Center, NTU, Singapore 7ECE, UBC, Canada
Abstract

As the amount of data collected for crowdsensing applications increases rapidly due to improved sensing capabilities and the increasing number of Internet of Things (IoT) devices, the cloud server is no longer able to handle the large-scale datasets individually. Given the improved computational capabilities of the edge devices, coded distributed computing has become a promising approach given that it allows computation tasks to be carried out in a distributed manner while mitigating straggler effects, which often account for the long overall completion times. Specifically, by using polynomial codes, computed results from only a subset of devices are needed to reconstruct the final result. However, there is no incentive for the edge devices to complete the computation tasks. In this paper, we present an all-pay auction to incentivize the edge devices to participate in the coded computation tasks. In this auction, the bids of the edge devices are represented by the allocation of their Central Processing Unit (CPU) power to the computation tasks. All edge devices submit their bids regardless of whether they win or lose in the auction. The all-pay auction is designed to maximize the utility of the cloud server by determining the reward allocation to the winners. Simulation results show that the edge devices are incentivized to allocate more CPU power when multiple rewards are offered instead of a single reward.

Index Terms:
Coded distributed computing, straggler effects mitigation, all-pay auction, Bayesian Nash equilibrium

I Introduction

The increasing sensing capabilities of Internet of Things (IoT) devices such as smart meters and smartphones, coupled with reliable wireless communication technologies, have enabled the development of crowdsensing applications, which leverage large-scale data for analysis. The IoT devices upload the data collected by the on-board sensors to the cloud server for analysis. Through deep learning techniques, the cloud server aims to build accurate decision-making models for smart city applications, such as estimation of road conditions [1], air quality monitoring [2] and tracking of medical conditions [3].

However, as the number of IoT devices increases rapidly, the cloud server may not be able to handle the ever-expanding datasets individually. Edge computing [4] has become a promising approach that extends cloud computing services to the edge of the networks. Specifically, by leveraging on the computational capabilities, e.g., Central Processing Unit (CPU) power, of the edge devices, e.g., base stations, the cloud server can offload its computation tasks to the edge devices. Instead of offloading the entire computation to a single edge device, the cloud server can divide the large datasets into smaller sets and distribute them to the edge devices for processing. This alleviates the bottleneck and single point of failure problems. Upon completing the allocated computation subtasks, the edge devices return the computed results to the cloud server for aggregation to reconstruct the final result.

To perform the distributed computation tasks efficiently, coded distributed computing [5] is being increasingly used to mitigate the straggler effects caused by factors such as imbalanced work allocation, contention of shared resources and network congestion [6, 7].

In this paper, we consider that a cloud server, i.e., master, aims to build a prediction model in which the training process involves a large number of matrix multiplication computations. Matrix multiplication is an important operation underlying many data analytics applications, e.g., machine learning, scientific computing and graph processing [8]. Due to a lack of computational capabilities and storage resources, the resource-constrained master employs edge devices, i.e., workers, to facilitate the distributed computation task. First, the master uses polynomial codes [8] to determine the algebraic structure of the encoded submatrices and distributes them to the workers. Then, the workers perform local computations based on their allocated datasets, and return the computed results to the master. The master reconstructs the final result by using fast polynomial interpolation algorithms such as the Reed-Solomon decoding algorithm [9].

However, there is no incentive for the workers to participate in or to complete their allocated distributed computation tasks. To design an appropriate incentive mechanism, it is important to consider the unique aspect of the coded distributed computing framework. Specifically, even though workers are allocated a subset of the entire dataset for computations, some of the workers may perform computations without any compensation if their computed results are not used. As such, we propose an all-pay auction to improve worker participation. In traditional auctions such as first-price and second-price auctions, only the winners of the auctions pay. In contrast, in all-pay auctions, regardless of whether the bidders win or lose, they are required to pay. In this all-pay auction, the bids of the workers are represented by the CPU power, i.e., the number of CPU cycles, allocated by the workers to complete the computation tasks. In other words, the larger the CPU power allocated, the higher the bid of the worker.

There are two advantages of an all-pay auction [10]. Firstly, it reduces the probability of non-completion of allocated tasks. This differs from traditional auctions in which the winners of the auctions can still choose not to complete their tasks and give up the reward that is promised by the auctioneer. As a result, the auctioneer needs to conduct another round of auction to meet its objectives. Secondly, it reduces the coordination cost between the auctioneer and the bidders. Specifically, in traditional auctions, the participants need to bid then contribute whereas in all-pay auctions, the bids of the participants are directly determined by their contributions. In other words, the participants do not need to bid explicitly in all-pay auctions.

II System Model

We consider a master-worker setup in a heterogeneous distributed computing network. The system model consists of a master, e.g., cloud server and a set ={1,,i,,I}\mathcal{I}=\{1,\ldots,i,\ldots,I\} of II workers, e.g., edge devices such as base stations, which have different computational capabilities. In crowdsensing, for example, the ubiquity of the IoT devices as well as their on-board sensing and processing capabilities are leveraged to collect data for many innovative crowdsensing applications, e.g., weather prediction, location-based recommendation and forensic analysis. Given the large amount of sensor data collected from different IoT devices, the master aims to perform training of the machine learning algorithm to complete a user-defined task. As the number of IoT devices that contribute to the crowdsensing task increases, so does the size of the dataset that the master needs to handle. However, the master may not have sufficient resources, i.e., computation power to handle the growing dataset. Instead, it may utilize the resources of the workers to collaboratively complete the distributed computation tasks.

One of the main challenges in performing distributed computation tasks is the straggler effects. Coding techniques such as polynomial codes [8] can be used to mitigate straggler effects by reducing the recovery threshold, i.e., the number of workers that need to submit their results for the master to reconstruct the final result. In order to perform distributed coded matrix multiplication computations, i.e., 𝐂=𝐀𝐁\mathbf{C}=\mathbf{A}^{\top}\mathbf{B} where 𝐀\mathbf{A} and 𝐁\mathbf{B} are input matrices, 𝐀𝔽qs×r\mathbf{A}\in\mathbb{F}_{q}^{s\times r} and 𝐁𝔽qs×t\mathbf{B}\in\mathbb{F}_{q}^{s\times t} for integers ss, rr, and tt and a sufficiently large finite field 𝔽q\mathbb{F}_{q}, there are four important steps:

  1. 1.

    Task Allocation: Given that all workers are able to store up to 1m\frac{1}{m} fraction of matrix 𝐀\mathbf{A} and 1n\frac{1}{n} fraction of matrix 𝐁\mathbf{B}, the master divides the input matrices into submatrices 𝐀~i=fi(𝐀)\mathbf{\tilde{A}}_{i}=f_{i}(\mathbf{A}) and 𝐁~i=gi(𝐁)\mathbf{\tilde{B}}_{i}=g_{i}(\mathbf{B}), i\forall i\in\mathcal{I}, where 𝐀~i𝔽qs×rm\mathbf{\tilde{A}}_{i}\in\mathbb{F}_{q}^{s\times\frac{r}{m}} and 𝐁~i𝔽qt×rn\mathbf{\tilde{B}}_{i}\in\mathbb{F}_{q}^{t\times\frac{r}{n}} respectively. Specifically, 𝐟\mathbf{f} and 𝐠\mathbf{g} represent the vectors of functions such that 𝐟=(f1,,fi,,fI)\mathbf{f}=(f_{1},\ldots,f_{i},\ldots,f_{I}) and 𝐠=(g1,,gi,,gI)\mathbf{g}=(g_{1},\ldots,g_{i},\ldots,g_{I}), respectively. Then, the master distributes the submatrices to the workers over the wireless channels for computations.

  2. 2.

    Local Computation: Each worker ii is allocated submatrices 𝐀~i\mathbf{\tilde{A}}_{i} and 𝐁~i\mathbf{\tilde{B}}_{i} by the master. Based on the allocated submatrices, the workers perform matrix multiplication, i.e., 𝐀~i𝐁~i\mathbf{\tilde{A}}_{i}^{\top}\mathbf{\tilde{B}}_{i}, i\forall i\in\mathcal{I}.

  3. 3.

    Wireless Transmission: Upon completion of the local computations, the workers transmit the computed results, i.e., 𝐂~i=𝐀~i𝐁~i\mathbf{\tilde{C}}_{i}=\mathbf{\tilde{A}}_{i}^{\top}\mathbf{\tilde{B}}_{i} to the master over the wireless communication channels.

  4. 4.

    Reconstruction of Final Result: By using polynomial codes, the master is able to reconstruct the final result upon receiving KK out of II computed results by using decoding functions. In other words, the master does not need to wait for all II workers to complete the computation task. Note that although there is no constraint on the decoding functions to be used with polynomial codes, a low-complexity decoding function ensures the efficiency of the overall matrix multiplication computations.

In our system model, we consider the computations for distributed matrix multiplication. However, there are other types of distributed computation problems, e.g., stochastic gradient descent, convolution and Fourier transform. The matrix multiplication may also involve more than two matrices. Our system model can be easily extended to solve the matrix multiplication of more than two matrices and different computation problems.

By using polynomial codes [8], the optimum recovery threshold that can be achieved where each worker is able to store up to 1m\frac{1}{m} of matrix 𝐀\mathbf{A} and 1n\frac{1}{n} of matrix 𝐁\mathbf{B} is defined as:

K=mn.K=mn. (1)

However, there is no incentive for the workers to be one of the KK workers to complete their local computations and return their computed results to the master. The workers may not want to participate in the distributed computation tasks or perform to the best of their abilities. For example, the workers may not allocate large CPU power for the coded distributed tasks, resulting in longer time needed to complete the computation tasks. In order to incentivize the workers to allocate more CPU power to complete the allocated computation tasks, we adopt an all-pay auction approach to determine the rewards to the workers while maximizing the utility of the master.

II-A Utility of the Master

Given that the master only needs the computed results from KK workers to reconstruct the final result, the master offers KK rewards, represented by the set 𝒦={1,,k,,K}\mathcal{K}=\{1,\ldots,k,\ldots,K\} where KIK\leq I. Specifically, there are KK rewards for which II workers compete. Since only KK rewards are offered, IKI-K workers do not receive any reward from the master, even though they perform the matrix multiplication computations given the allocated submatrices.

The size of reward kk is represented by MkM_{k}. The worker that allocates larger CPU power is offered larger reward. In particular, the worker that allocates the largest amount of CPU power receives a reward of M1M_{1}, the worker with the second largest allocation receives reward M2M_{2} and the worker with the kk-th largest allocation of CPU power is offered reward MkM_{k}. If two or more workers allocate the same amount of CPU power to perform the distributed computation tasks, ties will be randomly broken. In other words, if both workers are ranked kk, one is ranked kk and the other is ranked k+1k+1. Hence, without loss of generality, M1M2MK>0M_{1}\geq M_{2}\geq\cdots\geq M_{K}>0. The total amount of reward offered by the master is denoted by σ\sigma, i.e., σ=k=1KMk\sigma=\sum_{k=1}^{K}M_{k}. The aim of the master is to spend the entire fixed reward to maximize the CPU power allocated by the workers.

As such, the expected utility of the master, π\pi is expressed as follows:

π=𝔼[z1:I+z2:I++zK:Iσ],\pi=\mathbb{E}[z_{1:I}+z_{2:I}+\cdots+z_{K:I}-\sigma], (2)

where zk:Iz_{k:I} represents the order statistics of the worker’s CPU power allocation. Specifically, z1:Iz_{1:I} and zk:Iz_{k:I} denote the highest and kk-th highest CPU power allocation respectively among II workers.

II-B Utility of the Worker

To perform the local computations on the allocated submatrices, each worker ii consumes computational energy, eie_{i}, which is defined as:

ei=κai(zi)2,e_{i}=\kappa a_{i}(z_{i})^{2}, (3)

where κ\kappa is the effective switch coefficient that depends on the chip architecture [11], aia_{i} is the total number of CPU cycles required to complete the allocated computation subtask and ziz_{i} is the CPU power allocated by worker ii for the computation subtask. By using the polynomial codes, the computation task is evenly partitioned and distributed among all workers. As a result, the total number of CPU cycles that are needed to complete the allocated computation tasks is the same for all workers, i.e., ai=a,ia_{i}=a,\;\forall i\in\mathcal{I}. The unit cost of computational energy incurred by worker ii, i\forall i\in\mathcal{I} is denoted by θ\theta, where the unit cost of computational energy is the same for all workers.

Each worker ii has a valuation viv_{i} for the total reward σ\sigma. The workers’ valuations, viv_{i}, i\forall i\in\mathcal{I} are independently drawn from vi[v¯,v¯]v_{i}\in[\underline{v},\bar{v}] such that v¯\underline{v} and v¯\bar{v} are strictly positive based on F(v)F(v), where F(v)F(v) is the cumulative distribution function (CDF) of vv. The total cost of worker ii is represented by θei\theta e_{i}. As a result, the utility of worker ii for winning reward MkM_{k}, k𝒦\forall k\in\mathcal{K}, is expressed as:

αi={viMkθei,if worker i wins Mk reward,θei,otherwise.\alpha_{i}=\begin{cases}v_{i}M_{k}-\theta e_{i},&\text{if worker $i$ wins $M_{k}$ reward},\\ -\theta e_{i},&\text{otherwise}.\end{cases} (4)

III All-pay Auction

In this section, we present the design of an all-pay auction that incentivizes the workers to allocate more CPU power for the allocated computation subtasks. In this auction, the master is the auctioneer whereas the workers are the bidders. The bid of a worker is represented by the CPU power that it allocates for its computation subtasks. In this all-pay auction, all II workers, i.e., bidders, pay their bids regardless of whether they win or lose the auction.

Each worker ii knows its own valuation, viv_{i} but does not know the valuation of any other worker, iii^{\prime}\neq i. This establishes a one-dimensional incomplete information setting. In addition, if each worker has a different unit cost of computational energy which is only known to itself, we consider the two-dimensional incomplete information setting. The dimension of private information can be reduced following the procedure in [12]. In this work, we consider a one-dimensional incomplete information setting where the unit cost of computational energy is the same for all workers but the workers’ valuations are heterogeneous and private.

Given the utility of worker ii, αi\alpha_{i} in Equation (4), the objective of worker ii to maximize its expected utility, uiu_{i}, is defined as follows:

maxziui=vik=1KpikMkθκa(zi)2,\max_{z_{i}}u_{i}=v_{i}\sum_{k=1}^{K}p_{i}^{k}{M_{k}}-\theta\kappa a(z_{i})^{2}, (5)

where pikp_{i}^{k} is the winning probability of reward MkM_{k} by worker ii.

Although the worker does not know exactly the valuations of other workers, it knows the distribution of the other workers’ valuations based on past interactions, which is a common knowledge to all workers and the master. In our model, we consider that all the workers’ valuations are drawn from the same distribution, which constitutes a symmetric Bayesian game where the prior is the distribution of the workers’ valuations.

Definition 1.

[13] A pure-strategy Bayesian Nash equilibrium is a strategy profile 𝐳=(z1,,zi,,zI)\mathbf{z}^{*}=(z_{1}^{*},\ldots,z_{i}^{*},\ldots,z_{I}^{*}) that satisfies

ui(zi,𝐳i)ui(zi,𝐳i),i.u_{i}(z_{i}^{*},\mathbf{z}_{i^{\prime}}^{*})\geq u_{i}(z_{i},\mathbf{z}_{i^{\prime}}^{*}),\;\forall i\in\mathcal{I}.

The subscript ii^{\prime} represents the index of other workers other than worker ii. Specifically, 𝐳i=(z1,z2,,zi1,zi+1,,zI)\mathbf{z}_{i^{\prime}}^{*}=(z_{1}^{*},z_{2}^{*},\ldots,z_{i-1}^{*},z_{i+1}^{*},\ldots,z_{I}^{*}) represents the equilibrium CPU power allocations of all other workers other than CPU power allocation of worker ii. At Bayesian Nash equilibrium, given the belief of worker ii, i\forall i\in\mathcal{I} about the valuations and that the CPU powers allocated by other workers, ii^{\prime} where iii\neq i^{\prime} are at equilibrium, 𝐳i\mathbf{z}^{*}_{i^{\prime}}, worker ii aims to maximize its expected utility.

Proposition 1.

Under incomplete information setting, the all-pay auction admits a pure-strategy Bayesian Nash equilibrium that is strictly monotonic where the bid of a worker strictly increases in its valuation.

Proof.

The proof is omitted due to space constraints. ∎

Since the equilibrium CPU power allocation of worker ii, which is represented by ziz_{i}^{*}, is a strictly monotonically increasing function of its valuation viv_{i}^{*}, we express the equilibrium strategy of worker ii as a function represented by β()\beta(\cdot), i.e., zi=βi(vi)z_{i}^{*}=\beta_{i}(v_{i}). Given the strict monotonicity, the inverse function also exists where vi()=βi1()v_{i}(\cdot)=\beta_{i}^{-1}(\cdot) and it is an increasing function. Due to the incomplete information setting, the objective of worker ii to maximize its expected utility in Equation (5) can be expressed as follows:

maxziui=vik=1Kpik(zi,βi(vi))Mkc(β(vi)),\max_{z_{i}}u_{i}=v_{i}\sum_{k=1}^{K}p_{i}^{k}(z_{i},\beta_{i^{\prime}}(v_{i^{\prime}})){M_{k}}-c(\beta(v_{i})), (6)

where the cost of worker ii is represented by the function c()=θκa(β(vi))2c(\cdot)=\theta\kappa a(\beta(v_{i}))^{2}.

Since the workers are symmetric, i.e., the valuations of workers are drawn from the same distribution, the symmetric equilibrium strategy for each worker ii, i\forall i\in\mathcal{I} can be derived. We first assume that there are II rewards, where M1M2MK>MK+1=MK+2==MI=0M_{1}\geq M_{2}\geq\cdots\geq M_{K}>M_{K+1}=M_{K+2}=\cdots=M_{I}=0. The valuations of the workers, v1,,vi,,vIv_{1},\ldots,v_{i},\ldots,v_{I} are ranked and represented by its order statistics, which are expressed as v1:Iv2:IvI:Iv_{1:I}\geq v_{2:I}\geq\cdots\geq v_{I:I}. In particular, vk:Iv_{k:I} represents the kk-th highest valuation among the II valuations which are drawn from the common distribution F(v)F(v). Given the order statistics of the workers’ valuations, i\forall i\in\mathcal{I}, the corresponding cumulative distribution function and probability density function are represented by Fk:IF_{k:I} and fk:If_{k:I} respectively. Similarly, when dealing with the valuations of all workers, other than that of worker ii, the order statistic is represented by vk:I1v_{k:I-1}, which represents the kk-th highest valuation among the I1I-1 valuations. The corresponding cumulative distribution function and probability density function are represented by Fk:I1F_{k:I-1} and fk:I1f_{k:I-1} respectively.

Given that other workers ii^{\prime}, where iii^{\prime}\neq i, follow a symmetric, increasing and differentiable equilibrium strategy β()\beta(\cdot), worker ii will never choose to allocate a CPU power greater than the equilibrium strategy given the highest valuation. In other words, worker ii will never allocate zi>β(v¯)z_{i}>\beta(\bar{v}). Besides, the optimal strategy of the worker with lowest valuation v¯\underline{v} is not to allocate any CPU power. On one hand, when the number of rewards offered is smaller than the number of workers, i.e., K<IK<I, the worker with lowest valuation v¯\underline{v} will not win any reward. On the other hand, when the number of rewards offered is larger than or equal the number of workers, i.e., KIK\geq I, the worker with lowest valuation v¯\underline{v} will win a reward without allocating any CPU power. Hence, ui(v¯)=0u_{i}({\underline{v}})=0. With this, the expected utility of worker ii with valuation viv_{i} and CPU power allocation zi=β(vi)z_{i}=\beta(v_{i}) is expressed as follows:

ui=vik=1I[Fk:I1(vi)Fk1:I1(vi)]Mkc(β(vi)),u_{i}=v_{i}\sum_{k=1}^{I}[F_{k:I-1}(v_{i})-F_{k-1:I-1}(v_{i})]{M_{k}}-c(\beta(v_{i})), (7)

since Mk+1==MI1=MI=0M_{k+1}=\cdots=M_{I-1}=M_{I}=0, F0:I1(zi)0F_{0:I-1}(z_{i})\equiv 0 and FI:I1(zi)1F_{I:I-1}(z_{i})\equiv 1.

By differentiating Equation (7) with respect to the variable wiw_{i} and equating the result to zero, we obtain the following:

0=vik=1I[fk:I1(vi)fk1:I1(vi)]Mkc(β(vi))β(vi).0=v_{i}\sum_{k=1}^{I}[f_{k:I-1}(v_{i})-f_{k-1:I-1}(v_{i})]{M_{k}}-c^{\prime}(\beta(v_{i}))\beta^{\prime}(v_{i}). (8)

When maximized, the marginal value of the reward is equivalent to the marginal cost of the CPU power. Since we have the differentiated function c()c^{\prime}(\cdot), the function c()c(\cdot) can be found by using the integral of Equation (8). At equilibrium, when the expected utility of worker ii, i\forall i\in\mathcal{I}, is maximized, we have the following:

c(β(vi))=k=1IMkv¯vivi[fk:I1(vi)fk1:I1(vi)]𝑑vi=k=1I1(MkMk+1)v¯vivifk:I1(vi)𝑑vi.\begin{split}c(\beta(v_{i}))&=\sum_{k=1}^{I}M_{k}\int_{\underline{v}}^{v_{i}}v_{i}[f_{k:I-1}(v_{i})-f_{k-1:I-1}(v_{i})]dv_{i}\\ &=\sum_{k=1}^{I-1}(M_{k}-M_{k+1})\int_{\underline{v}}^{v_{i}}v_{i}f_{k:I-1}(v_{i})dv_{i}.\end{split} (9)

Thus the equilibrium strategy for worker ii with valuation viv_{i}, i\forall i\in\mathcal{I}, is expressed as:

zi=β(vi)=c1(k=1I1(MkMk+1)v¯vivifk:I1(vi)𝑑vi).z_{i}^{*}=\beta(v_{i})=c^{-1}\left(\sum_{k=1}^{I-1}(M_{k}-M_{k+1})\int_{\underline{v}}^{v_{i}}v_{i}f_{k:I-1}(v_{i})dv_{i}\right). (10)

Given the equilibrium strategy of worker ii, i\forall i\in\mathcal{I}, the master aims to maximize its expected utility, π\pi. By using the polynomial codes, the master is able to reconstruct the final result by using the computed results from KK workers. Since the master spends the fixed reward σ\sigma completely, the maximization problem in Equation (2) is equivalent to maximizing the allocation of CPU power, which is expressed as follows:

π=𝔼[β(v1:I)+β(v2:I)++β(vK:I)]=i=1Kv¯v¯β(v)𝑑Fi:I(v)=Kv¯v¯β(v)𝑑F(v)=Kv¯v¯c1(k=1I1(MkMk+1)v¯vvfk:I1(v)𝑑v)𝑑F(v)=Kv¯v¯c1(k=1IMkv¯vv[fk:I1(v)fk1:I1(v)dv])dF(v).\pi=\mathbb{E}[\beta(v_{1:I})+\beta(v_{2:I})+\cdots+\beta(v_{K:I})]\\ =\sum_{i=1}^{K}\int_{\underline{v}}^{\bar{v}}\beta(v)dF_{i:I}(v)\\ =K\int_{\underline{v}}^{\bar{v}}\beta(v)dF(v)\\ =K\int_{\underline{v}}^{\bar{v}}c^{-1}\left(\sum_{k=1}^{I-1}(M_{k}-M_{k+1})\int_{\underline{v}}^{v}vf_{k:I-1}(v)dv\right)dF(v)\\ =K\int_{\underline{v}}^{\bar{v}}c^{-1}(\sum_{k=1}^{I}M_{k}\int_{\underline{v}}^{v}v[f_{k:I-1}(v)\\ {-f_{k-1:I-1}(v)dv])dF(v)}. (11)

Since the equilibrium strategy of worker ii, i\forall i\in\mathcal{I}, is affected by the reward structure, the master needs to determine the structure of the rewards such that it maximizes the CPU power allocation of the workers, thereby maximizing its own utility, π\pi.

IV Reward Structure

Given that the master spends the total amount of the reward, σ\sigma, the design of the optimal reward sequence is important to maximize the CPU power allocation of the workers since the equilibrium strategies of the workers depend on the differences between consecutive rewards.

The master needs to first decide whether to allocate the total amount of reward, σ\sigma to only one winner, i.e., winner-take-all reward structure, or to split the reward into several smaller rewards.

Proposition 2.

Given that the cost functions are convex, it is not optimal to only offer one reward where M1=σM_{1}=\sigma and M2==MK==MI=0M_{2}=\cdots=M_{K}=\cdots=M_{I}=0 since πMk1πMk<0\frac{\partial\pi}{\partial M_{k-1}}-\frac{\partial\pi}{\partial M_{k}}<0, for k=2,,Ik=2,\ldots,I. In particular, if πM1πM2<0\frac{\partial\pi}{\partial M_{1}}-\frac{\partial\pi}{\partial M_{2}}<0, it is not optimal to only offer a reward.

Proof.

Following the procedure in [12], we show that it is not optimal to offer a single reward given the cost functions of the workers are convex. The details of the proof are omitted due to space constraints. ∎

Since the winner-take-all reward structure is not optimal, the master is better off offering multiple rewards. Given that KK rewards are offered, the master can consider several reward sequences such as (i) homogeneous reward sequence, (ii) arithmetic reward sequence and (iii) geometric reward sequence. Specifically, the reward sequence is expressed as follows:

  • Homogeneous reward sequence: Mk=Mk+1M_{k}=M_{k+1},

  • Arithmetic reward sequence: MkMk+1=γM_{k}-M_{k+1}=\gamma, γ>0\gamma>0,

  • Geometric reward sequence: Mk+1=ηMkM_{k+1}=\eta M_{k}, 0η10\leq\eta\leq 1,

where γ\gamma and η\eta are constants.

In the next section, we show the effects of different reward structures on the allocation of CPU powers by the workers.

V Simulation Results

In this section, we evaluate the all-pay auction mechanism. Table I summarizes the simulation parameters. With normalization, we consider the total amount of reward σ\sigma to be 11, i.e., σ=k=1KMk=1\sigma=\sum_{k=1}^{K}M_{k}=1. We also set m=n=2m=n=2 (see “Task Allocation” step in Section II).

TABLE I: Simulation Parameters.
Parameter Values
Unit cost of computational energy, θ\theta 1
Effective switch coefficient, κ\kappa [14] 102510^{-25}
Total number of CPU cycles required, aa 5×10125\times 10^{12}
Valuation of worker ii, viv_{i} U[0,1]\sim U[0,1]

V-A Monotonic Behaviour of Workers

In the simulations, we consider a uniform distribution of the workers’ valuation for the rewards, where vi[0,1]v_{i}\in[0,1] which are independently drawn from F(v)=vF(v)=v. From Figs. 2-5, it can be observed that the worker CPU power allocation increases monotonically with its valuation. Specifically, the higher the valuation of the workers for the rewards, the larger the amount of CPU power allocated for the computation subtasks. Since the workers are symmetric where their valuations are drawn from the same distribution, the workers with the same valuation contribute the same amount of CPU power.

Refer to caption
Figure 1: Only one reward is offered to the worker with the largest CPU power allocation.
Refer to caption
Figure 2: The difference between consecutive reward amounts is by a factor of 0.8, Mk+1=0.8MkM_{k+1}=0.8M_{k}.

V-B Winner-take-all

Based on the different reward structure adopted by the master, the workers allocate their CPU power accordingly. Figure 2 shows that when there are 5 workers and only one reward is offered to the worker that allocates the largest amount of CPU power, the worker with the highest valuation of 1, i.e., vi=1v_{i}=1, is only willing to contribute 0.710.71W of CPU power. However, when the master offers multiple rewards, the worker with the same valuation of 1 is willing to contribute as high as 2.382.38W, 2.422.42W and 2.152.15W as shown in Fig. 2, Fig. 5 and Fig. 5 respectively. With more rewards, the workers have higher chance of winning one of the rewards. Hence, to incentivize the workers to allocate for CPU power for the computation subtasks, the master is better off offering multiple rewards than a single reward.

V-C Multiple Rewards:

Refer to caption
Figure 3: The difference MkMk+1M_{k}-M_{k+1} between consecutive reward amounts is 0.05.
Refer to caption
Figure 4: The difference MkMk+1M_{k}-M_{k+1} between consecutive reward amounts is 0.1.
Refer to caption
Figure 5: Different number KK of rewards, the difference between the consecutive rewards is 0.05, I=10I=10.

Figure 2, Fig. 5 and Fig. 5 show the allocation of CPU power by the workers under arithmetic and geometric reward sequences. When the difference between the consecutive rewards is smaller, the workers are willing to allocate more CPU power. For example, when the difference between the consecutive rewards is 0.05, i.e., MkMk+1=0.05M_{k}-M_{k+1}=0.05, k=1,2,,K1k=1,2,\ldots,K-1, the worker with valuation of 1 allocates 8.78.7W when there are 15 workers competing for 4 rewards. However, under the same setting of 15 workers competing for 4 rewards, the worker with valuation of 1 is only willing to allocate 6.96.9W when the difference between the consecutive rewards is 0.1.

V-D Effects of Different System Parameters

Apart from the different reward structures, the workers also behave differently under different system parameter values, e.g., the number of workers and the number of rewards.

V-D1 More Workers

When there is only one reward that is offered to the worker that allocates the largest amount of CPU power, the workers allocate more CPU power when there are 5 workers than that of 15 workers. For example, in Fig. 2, the worker with a valuation of 0.80.8 allocates 0.450.45W when there are 5 workers but only allocates 0.080.08W when there are 15 workers. When there are more workers participating in the auction, the competition among the workers is stiffer and the probability of winning the reward decreases. As a result, the workers allocate a smaller amount of CPU power.

However, similar trends are only observed for workers with low valuations, e.g., vi=0.6v_{i}=0.6, when multiple rewards are offered. When the number of workers increases, the workers with low valuations reduce their allocation of CPU power for the computation subtasks. However, this is not observed for workers with high valuations, e.g., vi=0.9v_{i}=0.9. Figure 2, Fig. 5 and Fig. 5 show that the workers with high valuations allocate more CPU power when there are more workers competing for the multiple rewards offered by the master. Specifically, when the master offers 4 rewards with a difference of 0.05 between the consecutive rewards, the worker with a valuation of 0.90.9 allocates 2.162.16W when there are 5 workers but allocates 4.164.16W when there are 15 workers. When multiple rewards are offered, since it is possible for the workers to still win one of the remaining rewards even if they do not win the top reward, the workers are more willing to allocate their CPU power for the computation subtasks. Hence, the workers with high valuations allocate more CPU power to increase their chance of winning the top reward.

V-D2 More Rewards

When the number of workers participating in the all-pay auction is fixed, the workers allocate more CPU power when there are more rewards that are offered. It is seen from Fig. 5 that when there are 10 workers in the all-pay auction, the worker with a valuation of 0.80.8 allocates CPU power of 3.23.2W when 5 rewards are offered as compared to 1.31.3W and 2.52.5W when 3 and 4 rewards are offered respectively.

VI Conclusion

In this paper, we proposed an all-pay auction to incentivize workers to participate in the coded distributed computation tasks. Firstly, we use polynomial codes to determine the number of rewards to be offered in the all-pay auction. Then, the master determines the reward structure to maximize its utility given the strategies of the workers. For our future work, we can consider workers with valuations chosen from different probability distributions.

References

  • [1] F. Kalim, J. P. Jeong, and M. U. Ilyas, “CRATER: A Crowd Sensing Application to Estimate Road Conditions,” IEEE Access, vol. 4, pp. 8317–8326, 2016.
  • [2] J. Dutta, C. Chowdhury, S. Roy, A. I. Middya, and F. Gazi, “Towards Smart City: Sensing Air Quality in City Based on Opportunistic Crowd-Sensing,” in Proceedings of the 18th International Conference on Distributed Computing and Networking, ICDCN ’17, (New York, NY, USA), Association for Computing Machinery, 2017.
  • [3] S. Jovanović, M. Jovanović, T. Škorić, S. Jokić, B. Milovanović, K. Katzis, and D. Bajić, “A Mobile Crowd Sensing Application for Hypertensive Patients,” Sensors, vol. 19, no. 2, p. 400, 2019.
  • [4] W. Shi and S. Dustdar, “The Promise of Edge Computing,” Computer, vol. 49, no. 5, pp. 78–81, 2016.
  • [5] J. S. Ng, W. Y. B. Lim, N. C. Luong, Z. Xiong, A. Asheralieva, D. Niyato, C. Leung, and C. Miao, “A Survey of Coded Distributed Computing,” arXiv preprint arXiv:2008.09048, 2020.
  • [6] J. Dean and L. A. Barroso, “The Tail at Scale,” Commun. ACM, vol. 56, p. 74–80, Feb. 2013.
  • [7] G. Ananthanarayanan, S. Kandula, A. G. Greenberg, I. Stoica, Y. Lu, B. Saha, and E. Harris, “Reining in the Outliers in Map-Reduce Clusters using Mantri.,” in Osdi, p. 24, 2010.
  • [8] Q. Yu, M. Maddah-Ali, and S. Avestimehr, “Polynomial Codes: an Optimal Design for High-Dimensional Coded Matrix Multiplication,” in Advances in Neural Information Processing Systems 30 (I. Guyon, U. V. Luxburg, S. Bengio, H. Wallach, R. Fergus, S. Vishwanathan, and R. Garnett, eds.), pp. 4403–4413, Curran Associates, Inc., 2017.
  • [9] F. Didier, “Efficient Erasure Decoding of Reed-Solomon Codes,” arXiv preprint arXiv:0901.1886, 2009.
  • [10] T. Luo, S. K. Das, H. P. Tan, and L. Xia, “Incentive Mechanism Design for Crowdsourcing: An All-Pay Auction Approach,” ACM Trans. Intell. Syst. Technol., vol. 7, Feb. 2016.
  • [11] Y. Zhang, J. He, and S. Guo, “Energy-Efficient Dynamic Task Offloading for Energy Harvesting Mobile Cloud Computing,” in 2018 IEEE International Conference on Networking, Architecture and Storage (NAS), pp. 1–4, 2018.
  • [12] K. Yoon, “The Optimal Allocation of Prizes in Contests: An Auction Approach,” tech. rep., 2012.
  • [13] Tie Luo, S. S. Kanhere, S. K. Das, and Hwee-Pink Tan, “Optimal Prizes for All-Pay Contests in Heterogeneous Crowdsourcing,” in 2014 IEEE 11th International Conference on Mobile Ad Hoc and Sensor Systems, pp. 136–144, 2014.
  • [14] Y. Hao, M. Chen, L. Hu, M. S. Hossain, and A. Ghoneim, “Energy Efficient Task Caching and Offloading for Mobile Edge Computing,” IEEE Access, vol. 6, pp. 11365–11373, 2018.