[A类,建模]Performance Modeling and Workflow Scheduling of Microservice-Based Applications in Clouds

Performance Modeling and Workflow Scheduling of Microservice-Based Applications in Clouds

IEEE Transactions on Parallel and Distributed Systems,2019, CCF A类

第一眼看上去差点被摘要吓到,完全是我的想法的加强升级版。读完之后想了一下,好像跟我的方向也没什么太大关系。

本文要解决的问题是所谓的MAWS-BC问题,全称Microservice-based Application Workflow Scheduling problem for minimum end-to-end delay under a user-specified Budget Constraint。这个问题更多和工作流相关而不是和调度算法或者资源估计相关。

2 Related Work

本文的相关工作写得不错,其中的Performance Modeling and Prediction这里有很多论文我可能需要去看一下。从它写的相关工作可以看到,它引用的很多相关工作都是做execution time,也就是和本文相关的内容。

对于Microservice Architecture的一些内容也不错,我入门微服务也比较短,对于其中的一些基础知识也不太清楚,比如service compositions我也只是明白个大概。其中很多文章都出自microservices.io这个网站,我觉得我有空应该多去阅读一下。

3 A System Overview

大概介绍了本文的建模对象,即一个泛用的工作流系统(见图3)。这个系统有一个统一的输入队列(消息队列),有一个业务层处理器,有一个事务层处理器(连接DB),并且使用多线程即使回复。

4 Performance Modeling and Prediction of a microservice

对Section 3提到的整体系统进行建模。这个模型其实还是挺泛用的,但就是太泛用了才让我感觉到不够实用,这种级别的建模注定无法落地于实际,我还是比较喜欢黑盒模型。

回到原文,作者对process time(下简称PT)进行了建模。PT说是处理时间,实际指的是请求从用户端产生服务端收到到从服务端发回的时间(就是服务端处理一个请求的总时间)

P T = f 1 ( R ) + f 2 ( C ) + f 3 ( D ) + γ PT=f_1(R)+f_2(C)+f_3(D)+\gamma PT=f1(R)+f2(C)+f3(D)+γ

  • f 1 ( R ) f_1(R) f1(R)指的是请求缓存时间(request caching time),即一个请求在输入队列中等待的时间,可以用排队论来建模。
  • f 2 ( C ) f_2(C) f2(C)指的是处理时间(processing time),在文中指在business processing中处理的时间。在本文认为业务工作流的处理时间与输入参数的数量呈正相关,因此用输入参数的大小来估算处理时间的长度。
  • f 3 ( D ) f_3(D) f3(D)指事务处理时间(transaction processing time)。本文认为IO事务的时间=逻辑IO时间(CPU调用请求)+DB的IO时间

4.2 Microservice Performance Prediction

作者将特征分为四个部分,即硬件特征、请求特征、业务特征和数据库特征(见Table 1)。目标是使用这些特征来估计微服务组件的执行时间。

5 Analytical models and problem formulation

使用了三层模型,见原图Fig.5.

  • Application Model,使用工作流方式进行描述的DAG,每个结点为一个function,每个function由microservice组成。
  • System Model,构建了具体实现是,每个function对应的microservice是如何被部署在VM中的。VM之间是全连接的。
  • Performance Model,构建模型的最终目的是为了调整微服务,达到minimum end to end delay(MED)的目的。为此,需要明确每一个组件的execution time和monetary cost。

后面就没什么好说的了,它缩小端到端时延的方式就是缩小关键路径的时延,找到合适的微服务来实现功能,至少我的理解是这样的。这是一个服务选择的问题,还是个NP-hard的问题,因此用的是启发式算法。

7 Implementation and experimental results

结果说实话挺一般的。ROC曲线倒是画的不错,Fig7可以参考一下。但是结果真的是……我第一次看到响应时间是按ns来计算的,换算成秒的MSE能有10+,这误差也太大了吧。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值