Skip to content

A repository about HuaWei Software Challenge. (Including code, doc, etc.)

License

Notifications You must be signed in to change notification settings

StevenAZy/2021HWSoftwareChallenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

2021HWSoftwareChallenge

A repository about HuaWei Software Challenge. (Including code, doc, etc.)

V1.1

在 baseline 的基础上,改进每日购买服务器的数量。方案如下:

  1. 记录当天 add 请求中虚拟机配置需求最大的 Core 和 Memory,和 add 请求的数量 num。
  2. 购买 num/2 台服务器,每台服务器的需求恰好大于等于最大 Core 和 Memory 的需求。 结果: 总成本:9760608560;迁移次数:0;耗时:1.353

V1.2

重新考虑一边部署一边买,对于今天新买的服务器,需要编号。

  1. 每次先检查已有服务器,优先部署已有的服务器;
  2. 若无法部署已有服务器,则找到最适合的服务器类型,并购买一台。

对于新购买的服务器需要进行编号。 结果: 总成本:2921036874;迁移次数:0;耗时:7.405

V1.3

改动:

  1. 对服务器进行重排序,按照性价比升序排序;

问题:

  1. 如果根据请求顺序部署,会出现某个需求很大的虚拟机无法部署。

解决方案:

  1. 尝试了每天请求的虚拟机按照 核数 + 内存 的方式,降序排序,依然存在问题;
  2. 针对每个虚拟机,遍历整个服务器列表,找到一个服务器节点的核数、内存大小与当前虚拟机的核数、内存大小的 差距 最小。其中,差距计算如下:
$$gap = lambda * abs(vm.core - server.node.core) + (1 - lambda) * abs(vm.memory - server.node.memory)$$

报错:

服务器或虚拟机信息错误,服务器 ID 不存在
发生错误的服务器ID为134,你输出的操作为('add', ' vmPCXA5', 264022204)

v1.4

在1.3的基础上,设置了步长 step。如果连续 stepgap 的值未发生变化,则终止;

About

A repository about HuaWei Software Challenge. (Including code, doc, etc.)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages