Cloud-based software has many advantages. When services are divided into many independent components, they are easier to update. Also, during peak demand, it is easier to scale cloud services (just hire more CPUs). Hence, many organizations are partitioning their monolithic enterprise applications into cloud-based microservices. Recently there has been much work using machine learning to simplify this partitioning task. Despite much research, no single partitioning method can be recommended as generally useful. More specifically, those prior solutions are "brittle"; i.e. if they work well for one kind of goal in one dataset, then they can be sub-optimal if applied to many datasets and multiple goals. In order to find a generally useful partitioning method, we propose DEEPLY. This new algorithm extends the CO-GCN deep learning partition generator with (a) a novel loss function and (b) some hyper-parameter optimization. As shown by our experiments, DEEPLY generally outperforms prior work (including CO-GCN, and others) across multiple datasets and goals. To the best of our knowledge, this is the first report in SE of such stable hyper-parameter optimization. To aid reuse of this work, DEEPLY is available on-line at https://bit.ly/2WhfFlB.
翻译:以云为基础的软件有许多优点。 当服务分为许多独立的部件时, 更便于更新。 此外, 在高峰需求期间, 扩大云服务比较容易( 只雇用更多的CPU ) 。 因此, 许多组织正在将其单体企业应用程序分割成基于云的微服务。 最近, 利用机器学习大量工作, 以简化这种分割任务。 尽管进行了大量研究, 无法推荐任何单一的分隔方法, 更具体地说, 这些先前的解决方案是“ bitle” ; 更具体地说, 这些先前的解决方案是“ brettle” ; 即, 如果在一个数据集中为某一种目标运作良好, 如果应用到许多数据集和多个目标, 那么它们也可以是亚最佳的。 为了找到一个普遍有用的分割方法, 我们建议 DEEEPLY LY。 这个新的算法扩展了CO- GCN 深层的学习分隔生成器, 以(a) 新的损失函数和(b) 某些超参数优化。 正如我们的实验所显示的那样, DEEEPLY 通常在多个数据集和目标上(包括CO- GCN 和其他) 。