作者:Willis Lang#1, Srinath Shankar*2, Jignesh M. Patel#3, Ajay Kalhan+4
#Computer Sciences Department, University of Wisconsin
*Microsoft Gray Systems Lab+ Microsoft Corp.
ICDE 2012, (精读)
作者是威斯康辛大学的博士,这篇文章是ICDE的最佳论文。这篇文章主要讲的是在现在云中DaaS(数据库即服务)的环境中,DaaS provider应该考虑租户对服务的性能要求,这篇文章中使用transaction per second(tps)作为metric,DaaS provider要针对特定的租户集合,从不同的服务器硬件集合中针对每种类型的服务器选择合适的个数,并且把租户调度到合适的服务器上,满足的目标是:每个租户的性能都要满足,同时整体的成本开销最小。
文中不同类型的硬件用SKU表示,租户的性能要求以SLO表示,这篇文章中总共提了3种SLO(100tps、10tps、1tps),但是文章实验部分只是认为整个系统中仅存有两种类型,而且假定每个租户的负载特征都是一样。文中仅有两种类型的SKU。每个租户的负载模型是基于TPC-C比例因子为10,TPC-C中的5种事务以存储过程的形式存在数据库端,tps仅是测量new-order的事务。
文中提出的解决框架如下,输入就是租户集合,每个租户所属等级,服务器硬件(SKU)集合,每类SKU价格已知,输出就是服务器供应策略和租户调度放置策略。
第一步:每类SKU上,测量放置多个租户对性能的影响,输出是每个SKU上放一定数量租户时,平均每个租户的性能参数值
第二步:每类SKU上,测量放置不同种类的租户对性能的影响,输出是每个SKU上放置一定数量的不同类型租户时,每个租户的性能值是否满足要求
第三步:把上述问题建模成一个最优化问题,目标函数是整体价格最小,约束条件分别是:覆盖全部租户,每个SKU上每类租户都满足SLO的要求。
文章只是给出了原始解,暴力破解去解这个问题。实验分二部分,第一部分是用实际案例说明这个问题是可解的,给出结果图;第二部分是与4个简单的策略进行比较,分别是:
想要说明针对不同场景,可以使用不同的替代简化策略,在cost和simplicity之间做出选择(因为最优策略需要的管理费用很高)。
总结:这篇文章仅仅是提出新的问题,给出了原始的解,在future work中也提到一些方向:副本和负载均衡的影响,改进前两步的benchmarking,考虑负载的变化等等。