Achieving high performance in many multi-server systems 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 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 performance 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 resources each. We also give a faster algorithm with the same approximation ratio and $O(n (\log mC)^2)$ time complexity. We then extend the problem to two more general settings. First, we consider threads with nonconcave utility functions, and give a 1/2 factor approximation algorithm. Next, we give an algorithm for threads using multiple types of resources, and show the algorithm achieves good empirical performance. We conduct extensive experiments to test the performance of our algorithms on threads with both synthetic and realistic utility functions, and find that they achieve over 92\% of the optimal utility on average. We also compare our algorithms with a number of practical heuristics, and find that our algorithms achieve up to 9 times higher total utility.


翻译:在许多多服务器系统中实现高性能需要找到一个良好的员工线条到服务器,并且有效地将每个服务器的资源分配到指定的线条上。 这个问题的指派和分配部分已经广泛研究过, 但基本上在文献中是分开的。 在本文中, 我们引入了指派和分配( AA) 问题, 试图同时找到指派和分配使线条总效用最大化的任务和分配。 将线条一起分配和分配可以大大提高总体效用, 而不是像以往那样单独执行步骤。 我们用一个公用事业功能来模拟每条线条线条线, 将它的性能作为指定资源的函数。 我们首先证明, AA 的问题是NP- 硬的。 我们然后提出一个2美元 (\ qrt{2}-1) > 0. 828$ 的调值比值算法, 以美元 + n( log mC) 2), 时间, 美元线条线条线条和 美元服务器, 以美元 美元 。 我们还用一个更高级的运算, 我们用两个近的精确比率进行计算, 和 将一个测试的运算的运算的运行 。

0
下载
关闭预览

相关内容

【WWW2021】合作记忆网络的个性化任务导向对话系统
专知会员服务
14+阅读 · 2021年2月17日
如何构建你的推荐系统?这份21页ppt教程为你讲解
专知会员服务
64+阅读 · 2021年2月12日
【DeepMind】强化学习教程,83页ppt
专知会员服务
153+阅读 · 2020年8月7日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
78+阅读 · 2020年7月26日
商业数据分析,39页ppt
专知会员服务
160+阅读 · 2020年6月2日
Fariz Darari简明《博弈论Game Theory》介绍,35页ppt
专知会员服务
110+阅读 · 2020年5月15日
分布式并行架构Ray介绍
CreateAMind
9+阅读 · 2019年8月9日
CCF推荐 | 国际会议信息10条
Call4Papers
8+阅读 · 2019年5月27日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
28+阅读 · 2019年5月18日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
无监督元学习表示学习
CreateAMind
27+阅读 · 2019年1月4日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
Arxiv
0+阅读 · 2021年7月31日
VIP会员
相关资讯
分布式并行架构Ray介绍
CreateAMind
9+阅读 · 2019年8月9日
CCF推荐 | 国际会议信息10条
Call4Papers
8+阅读 · 2019年5月27日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Transferring Knowledge across Learning Processes
CreateAMind
28+阅读 · 2019年5月18日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
无监督元学习表示学习
CreateAMind
27+阅读 · 2019年1月4日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
Top
微信扫码咨询专知VIP会员