论文部分内容阅读
近年来云计算技术的迅猛发展,为云平台用户提供了高度的灵活性以满足其实际的计算需求。许多中小型企业将其生产作业部署到各大云服务平台,如微软Azure,亚马逊云服务等。而在市场竞争的压力之下,云服务提供商不得不给用户提供更加吸引人的特性,同时控制其平台运营成本。为了合理地分配云平台的计算资源,云服务提供商不可避免地需要预测各类资源的潜在利用率变化情况。具体地,当预测到某个物理节点上的资源需求量可能增加时,云服务管理员可以及时准备更多的宿主机来满足可能增长的需求。同样地,当预测到本地物理资源的消耗呈现下降趋势,管理员可以停止分配新的物理主机而将那些欠负载的虚拟机迁移到其他物理节点上,这样空闲的物理主机可以被及时关闭从而避免资源浪费且提高资源使用寿命。CPU利用率作为各类计算资源中最为关键的指标之一,很大程度上影响云服务平台的整体开销。本文主要解决云平台CPU利用率预测问题。我们首先通过对微软Azure上虚拟机生产作业数据进行经验性分析,进而呈现出虚拟机内部一些重要的概念性特征,包括短期性(Short-term)、中期性(Medium-term)和长期性(Long-term)变化特征。其次,通过对虚拟机之间进行相关性分析,我们发现不同虚拟机之间也存在相似性(Similarity)。最后,我们提出一种称为时序组件网络(Temporal Component Network,TCopoNet)的神经网络方法,该方法通过可扩展的深层网络来构建这些关键的概念性特征。TCopoNet包含了三个基本的组建网络来捕获不同频率的特征,并通过全连接网络来建模这些深层特征之间的交互,其中组建网络可以由各类原始网络构成,如GRU、LSTM和残差网络等。我们通过大量的对比实验来验证模型的有效性。实验结果表明,TCopoNet在各种精度评价指标(包括平均平方误差、平均绝对误差和平均相对误差)之下始终优于基准方法。