0%

A multi-swarm based approach with cooperative learning strategy for composite SaaS placement

  • 场景:中心云端,没有涉及边缘云端
  • 问题描述:给定一个数据中心(云端)以及一个 SaaS 应用程序,将 SaaS 应用程序的不同组件放置在数据中心的不同服务器上,来达到性能最优(应用执行时间最小且服务水平保持在一个合理的等级)
  • 算法:regrouping algorithm 用于子种群中的服务器之间协作进化,cooperative learning strategy 用于不同子种群中的服务器之间交换信息,来达到放置最优。

A multi-swarm based approach with cooperative learning strategy for composite SaaS placement

Problem Formulation

  • 这篇论文是以 SaaS 作为服务放置中的应用服务。
  • SaaS 由多个组件构成,包括应用组件 application components 以及数据块 data chunks。
    • SaaS 应用程序和数据组件通常部署在云数据中心的虚拟机之上。一个服务器可以一次承载具有不同需求的多个组件。
  • 问题描述:给定一个数据中心(云端)以及一个 SaaS 应用程序,将 SaaS 应用程序的不同组件放置在数据中心的不同服务器上,来达到性能最优(应用执行时间最小且服务水平保持在一个合理的等级)
    • 数据中心(云端)包含一系列的计算及存储服务器。
      • n 个计算服务器用于表示第 i 个计算服务器的资源能力
        • 表示计算能力
        • 表示内存容量
        • 表示硬盘容量
        • 表示该服务器有几台虚拟机
      • m 个存储服务器。$ss_i =$ 表示第 i 个存储服务器的存储能力
      • 表示云中不同服务器之间的网络通信
    • SaaS 应用程序包含应用程序组件以及数据组件。
      • x 个应用程序组件用于表示第 i 个应用程序组件的需求
        • 表示所需的计算资源
        • 表示所需的内存资源
        • 表示所需的存储资源
        • 表示和其他组件之间读写的数据量
      • y 个数据组件。$dc_j =$ 用于表示第 j 个数据组件所需的存储空间
      • 表示 SaaS 应用程序组件之间的关系

Proposed Algorithm

  • 这篇论文所使用的粒子群算法,并不是让一个粒子代表一个放置策略,而是让一个粒子代表一个服务器(计算服务器或存储服务器),多个粒子组成子种群,然后不同子种群间的粒子可能会发生重组。
    • 所以这篇论文中的粒子群算法,是整个粒子群代表一个放置策略。
  • 某一个子种群就代表某一个组件(应用组件或者数据组件)所放置的服务器的集合。所以对于 n 个应用组件,有 n 个子种群,对于 m 个数据组件,有 m 个子种群。

regrouping algorithm

  • 不同子种群间的粒子有可能会发生重组。

    • 重组的依据是 cooperative learning strategy

fitness evaluation

  • 粒子群算法中,评估函数也是重要的部分,会直接影响到种群的进化方向,评估函数需要根据所要求的目标来进行设计。

    • 计算服务器的评估函数

      • 表示应用组件的内存要求,表示计算服务器的内存容量
      • 表示应用组件的计算要求,表示计算服务器的计算能力
      • 表示应用组件的存储要求,表示计算服务器的存储容量

      这里只是简单相加?没有进行归一化,也没有在每个指标之前加比例系数,看起来并不是很合理,因为其中某个因素的占比过大就会很大程度上影响最终的评估值。

    • 存储服务器的评估函数

      • 表示数据组件的存储要求,表示存储服务器的存储容量
      • 是要将数据传输给该存储服务器的计算服务器的数量
      • 指的是第 j 个服务器和第 k 个服务器之间的数据传输时间
    • 总的执行时间

  • 最终,总的放置策略的评估函数为

Experimental Results and Analysis

  • baseline:Genetic Algorithm、CPSO-SPP、a First Fit Decreasing (FFD) heuristic algorithm
  • 变量:服务器数量、SaaS 中组件的数量
---------------The End---------------