当前位置: X-MOL 学术arXiv.cs.DC › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Utility Optimal Thread Assignment and Resource Allocation in Distributed Systems
arXiv - CS - Distributed, Parallel, and Cluster Computing Pub Date : 2015-07-04 , DOI: arxiv-1507.01101
Pan Lai, Rui Fan, Xiao Zhang, Wei Zhang, Fang Liu

Achieving high performance in many distributed systems, such as a web hosting center or the cloud requires finding a good assignment of worker threads to servers and also effectively allocating each server's resources to its assigned threads. The assignment and allocation components of this problem have been studied extensively but largely separately in the literature. In this paper, we introduce the \emph{assign and allocate (AA)} problem, which seeks to simultaneously find an assignment and allocation that maximizes the total utility of the threads. Assigning and allocating the threads together can result in substantially better overall utility than performing the steps separately, as is traditionally done. We model each thread by a utility function giving its utility as a function of its assigned resources. We first prove that the AA problem is NP-hard. We then present a $2 (\sqrt{2}-1) > 0.828$ factor approximation algorithm for concave utility functions, which runs in $O(mn^2 + n (\log mC)^2)$ time for $n$ threads and $m$ servers with $C$ amount of resource each. We further present a faster algorithm with the same approximation ratio and lower time complexity of $O(n (\log mC)^2)$. We then extend our algorithms to solve AA problem with nonconcave utility functions and achieve an approximation ratio $\frac{1}{2}$. We conduct extensive experiments to test the performance of our algorithms on threads with both synthetic and realistic utility functions, and find that it achieves over 92\% of the optimal utility on average. We also compare our algorithm against several other assignment and allocation algorithms, and find that it achieves up to 9 times better total utility.

中文翻译:

分布式系统中的实用优化线程分配和资源分配

在许多分布式系统(例如 Web 托管中心或云)中实现高性能需要找到工作线程到服务器的良好分配,并有效地将每个服务器的资源分配给其分配的线程。这个问题的分配和分配组件已经被广泛研究,但在文献中大部分是分开的。在本文中,我们介绍了 \emph{assign and allocation (AA)} 问题,该问题旨在同时找到最大化线程总效用的分配和分配。与传统上单独执行步骤相比,一起分配和分配线程可以产生明显更好的整体效用。我们通过效用函数对每个线程进行建模,将其效用作为其分配资源的函数。我们首先证明 AA 问题是 NP-hard 问题。然后,我们提出了一个 $2 (\sqrt{2}-1) > 0.828$ 因子逼近算法用于凹效用函数,该算法在 $O(mn^2 + n (\log mC)^2)$ 时间内运行 $n$线程和 $m$ 服务器,每个服务器都有 $C$ 的资源量。我们进一步提出了一种更快的算法,具有相同的近似比和 $O(n (\log mC)^2)$ 的较低时间复杂度。然后,我们扩展我们的算法以解决具有非凹效用函数的 AA 问题,并获得近似比率 $\frac{1}{2}$。我们进行了大量的实验来测试我们的算法在具有合成和现实效用函数的线程上的性能,并发现它平均实现了超过 92% 的最佳效用。我们还将我们的算法与其他几种分配和分配算法进行了比较,
更新日期:2020-03-20
down
wechat
bug