Browse Source

添加docs 文档

liuyuqi-dellpc 5 years ago
parent
commit
73e1eff39a
4 changed files with 289 additions and 0 deletions
  1. BIN
      docs/images/clip_image002.png
  2. 93 0
      docs/大赛背景和时间.md
  3. 165 0
      docs/数据描述.md
  4. 31 0
      docs/赛题介绍.md

BIN
docs/images/clip_image002.png


+ 93 - 0
docs/大赛背景和时间.md

@@ -0,0 +1,93 @@
+**阿里巴巴全球调度算法大赛**
+
+阿里巴巴全球调度算法大赛是由阿里巴巴集团发起,阿里系统软件、阿里云天池、机器智能技术联合主办的全球性调度算法大赛。大赛将邀请来自海内外顶尖算法工程师、高校学者、学生共同探讨、研究如何更优雅地运用运筹调度算法解决资源调度问题。
+
+随着集群规模的不断扩大,资源利用率即使是1%的提升,也能给基础设施的成本带来非常显著的节约。同时,数据中心的资源利用率提升还将进一步促进数据中心节能,考虑到数据中心的规模和数量,这些节约会为社会带来显著的效益。
+
+活动将分初赛、复赛、决赛三阶段进行,其中初赛和复赛在阿里云天池算法平台线上举行,决赛将邀请前6名团队至杭州阿里巴巴总部现场答辩,并于2018年杭州云栖大会进行冠亚季军颁奖。
+
+**重要时间**
+
+·2018年6月7日:报名与初赛启动,结果提交开启
+
+·2018年7月5日10:00 UTC+8:初赛评测启动,此后每日上午10点评测与排行榜更新一次
+
+·2018年8月14日10:00 UTC+8:报名与初赛截止,排行榜TOP 100进入复赛
+
+·2018年8月15日:赛题与数据更新,复赛启动
+
+·2018年8月19日:进入复赛选手完成实名认证,否则取消复赛资格,实名认证指南:[http://t.cn/R3pWEuJ](http://t.cn/R3pWEuJ)
+
+·2018年8月20日10:00 UTC+8:复赛评测启动,此后每日上午10点评测与排行榜更新一次
+
+·2018年9月7日10:00 UTC+8:复赛截止,排行榜TOP 10提交报告审核
+
+·2018年9月10日10:00 UTC+8:报告提交截止
+
+·2018年9月:决赛答辩与颁奖具体安排另行通知
+
+**参赛资格**
+
+1.大赛面向全社会开放,阿里巴巴集团赛题组相关人员禁止参赛。
+
+2.大赛以个人或1-3人组队形式报名参赛。
+
+3.任何作弊行为会被取消参赛资格,包括:虚假信息报名,使用外部数据,同一选手注册多账号参赛等。
+
+**报名(2018年6月7日至2018年8月14日)**
+
+1.报名时间:2018年6月7日至2018年8月14日。2018年8月14日上午10:00截止报名和组队变更。
+
+2.报名要求:报名1-3人组队参赛,确保报名信息准确有效,否则会被取消参赛资格及激励。
+
+3.报名方式:用阿里云账号登录天池官网,完成个人信息注册,即可报名参赛。国际用户报名流程指南:[http://t.cn/R1IGN5t](http://t.cn/R1IGN5t)
+
+**初赛(2018年6月7日至2018年8月14日)**
+
+1.报名成功后,参赛队伍通过天池平台下载数据,本地调试算法。2018年7月5日起可以在线提交结果。若参赛队伍在一天内多次提交结果,新结果版本将覆盖旧版本。参赛地点不限。
+
+2.自2018年7月5日至2018年8月14日,系统每天进行一次评测和排名,评测开始时间为北京时间每日上午10:00,按照评测指标从高到低进行排序更新排行榜;排行榜将选择参赛队伍在本阶段的历史最优成绩进行排名展示。
+
+3.初赛截止时间是2018年8月14日10:00 UTC+8,初赛成绩排名前100名的参赛队伍将进入复赛。
+
+**复赛(2018年8月15日至2018年9月7日)**
+
+1.进入复赛的每位选手请务必于2018年8月19日前完成实名认证,否则取消复赛资格,实名认证指南:[http://t.cn/R3pWEuJ](http://t.cn/R3pWEuJ?spm=5176.100067.444.2.1bfa30d6v7Wr1f)
+
+2.复赛参赛队伍通过天池平台下载数据,本地调试算法。2018年8月20日起可以在线提交结果。若参赛队伍在一天内多次提交结果,新结果版本将覆盖旧版本。参赛地点不限。
+
+3.自2018年8月20日至2018年9月7日,系统每天进行一次评测和排名,评测开始时间为北京时间每日上午10:00,按照评测指标从高到低进行排序更新排行榜;排行榜将选择参赛队伍在本阶段的历史最优成绩进行排名展示。
+
+4.复赛截止时间是2018年9月7日10:00 UTC+8,复赛排行榜前10名的参赛队伍将进入决赛。
+
+**决赛(2018年9月)**
+
+1.复赛排行榜前10名的队伍需在2018年9月10日10:00 UTC+8前提交参赛报告,报告包括开发工具介绍、算法原理、源代码、队伍介绍等,具体要求另行通知。
+
+2.大赛组委会根据线上成绩排名及报告审核,选取前6名队伍邀请至杭州阿里巴巴总部进行现场答辩,角逐最终名次,并根据现场表现评选出一位个人MVP选手。冠亚季军队伍及MVP选手将于2018年杭州云栖大会进行颁奖。
+
+**奖项设置**
+
+**现金奖励**
+
+·冠军:1支队伍,奖金¥30000RMB,奖杯及荣誉证书
+
+·亚军:2支队伍,每支队伍奖金¥18000RMB,奖杯及荣誉证书
+
+·季军:3支队伍,每支队伍奖金¥8000RMB,奖杯及荣誉证书
+
+·Demo Day MVP:1人,¥2000RMB,奖杯及荣誉证书
+
+**差旅奖励**
+
+·组委会提供前6名队伍¥8000RMB每支队伍决赛差旅补贴,将于2018杭州云栖大会调度会场接受重量级嘉宾颁奖。
+
+·最终冠亚军队伍(前3名)将受邀参加2018年下半年美国黑客马拉松活动,组委会提供¥20000RMB每支队伍差旅补贴。
+
+
+
+**联系我们**
+
+如您有任何疑问,欢迎通过天池技术圈论坛进行交流。
+
+关注“阿里系统软件技术”微信公众号给我们留言,也可以通过发送邮件至alibabass@service.alibaba.com联系我们(在联系我们之前,请确认您的问题是否已经在答疑中出现)。

+ 165 - 0
docs/数据描述.md

@@ -0,0 +1,165 @@
+### 1.2数据描述
+
+问题一共包含四份数据表:instance\_deploy.csv, app\_resources.csv, machine\_resources.csv, app\_interference.csv
+
+·instance\_deploy.csv
+
+o实例id
+
+o实例所属应用
+
+o实例所属宿主机:
+
+§注:当前未分配的实例,实例所属宿主机列为空
+
+·app\_resources.csv
+
+o应用id
+
+ocpu分时占用曲线(每个点由< \| >隔开)
+
+omem分时占用曲线(每个点由< \| >隔开)
+
+odisk申请量(标量)
+
+oP
+
+oM
+
+oPM
+
+·machine\_resources.csv
+
+o宿主机id
+
+ocpu规格
+
+omem规格
+
+odisk规格
+
+oP上限
+
+oM上限
+
+oPM上限
+
+·app\_interference.csv
+
+o应用id1
+
+o应用id2
+
+o最大部署量
+
+### 1.3结果提交
+
+#### 1.3.1格式(初赛)
+
+提交的结果是一系列对应用实例进行分配或迁移的决策动作,顺序由第一行开始,到最后一行,格式为:
+
+<实例ID>, <目标宿主机ID>
+
+<实例ID>, <目标宿主机ID>
+
+<实例ID>, <目标宿主机ID>
+
+<实例ID>, <目标宿主机ID>
+
+... ...
+
+·**要求**
+
+o最终所有实例都要部署到宿主机中
+
+o不能出现无效的实例id或宿主机id
+
+o请保存为submit\_<YYMMDD\_hhmmss>.csv。<YYMMDD\_hhmmss>是结果生成时的时间戳,这是我们建议的结果命名方式
+
+1.3.2执行与评分(初赛)
+
+·**可执行性**
+
+o决策动作会按文件从上到下的顺序串行执行,若遇到不可执行的操作,评价程序会中断,并直接开始评价当前状态的得分
+
+### ·**评分**
+
+o根据执行完提交结果的最终状态,计算成本分数_total\_cost\_score_
+
+![](images/clip_image002.png "屏幕快照 2018-06-11 下午3.04.22.png")
+
+
+#### 1.3.3对方案的评测
+
+·初赛成绩以提交结果的评分为准
+
+·复赛阶段会要求排名前10的队伍提交代码与文档,进行方案评测。同时参考提交结果的评分及方案,进入决赛,角逐冠军
+
+·方案评测的细节,会于复赛前公布,基本会遵循以下原则:
+
+o求解时间短\(例如1小时以内,具体要求复赛确定\)
+
+o鼓励策略性模型\(可以快速输出部分决策,但效果是前提\)
+
+o鼓励创新性
+
+o鼓励灵活性
+
+#### 1.3.4推荐的复赛提交格式(暂定)
+
+在第二阶段比赛(复赛)接近尾声时,我们会要求排行榜排名前10的队伍提交针对复赛题目的计算出迁移方案的代码,进行线下评测。迁移方案和线下评测的标准会在“评价标准”中说明,如果参赛队伍不能提供代码、或者提交代码与结果不匹配,相应的排行榜成绩无效。
+
+下面是对提交代码的要求,建议参赛选手按照这个要求组织自己的代码,方便在取得好成绩以后进行提交(代码结构见注1)。
+
+·数据文件夹data/\*.csv
+
+o选手无需提交数据文件,我们会把初赛复赛用到的所有原始文件(与官网上的文件和文件名一致)放到data文件夹下,选手生成的中间文件也放入该文件夹。注意的是,初始的时候data文件夹会被清空,并只放入原始文件
+
+·代码文件夹code/\*.py(也可以用其他语言编写)
+
+o读入文件的路径尽量使用相对路径,比如../data/XX.csv
+
+o要有main.py或者main.ipynb去运行所有代码得到最后结果(或其它编程语言的main),并将结果保存到submit文件夹
+
+·结果输出文件夹submit/\*.csv
+
+o存储提交的csv文件
+
+o提交文件名称submit\_Ymd\_HMS.csv\(e.g.submit\_20180203\_040506.csv\)
+
+·代码的随机
+
+o对于用到随机数的步骤,设定随机数。如果未设置随机数导致结果有随机性,将进行多轮运行取平均的方式,如果随机的误差大于提交结果与答案间的误差将被取消决赛资格。由于代码会运行多次,为避免覆盖结果文件,请选手将每次生成的结果文件以时间方式命名,如注2所示
+
+注1:提交文件夹结构
+
+·project
+
+·\|--README.md
+
+·\|--data
+
+·\|--code
+
+·\|-- main.py or main.ipynb or <其它语言代码>
+
+·\|--submit
+
+·\|-- submit\_20180203\_040506.csv
+
+注2:提交文件文件名代码
+```angular2html
+# python for example
+import datetime
+data.to\_csv\(\("../submit/submit\_"+datetime.datetime.now\(\).strftime\('%Y%m%d\_%H%M%S'\) + ".csv"\), header=None, index=False\)
+
+```
+### 1.4你可以用这份数据设计其它算法
+
+下面的要求不是比赛的一部分,但同样是数据中心资源调度关心的目标。爱好者可以根据这份数据设计以下面需求之一为目的的调度算法。我们十分欢迎您与我们交流您的想法!
+
+1.同样是上述数据和问题,设计在线调度算法。所谓在线调度算法,是待调度的任务顺序地被调度器调度,而调度器不知道待调度任务序列中靠后的任务的信息。实践中,在线算法只能接近,但很难达到离线算法的效果。
+
+2.让算法更robustness。实际环境中,大量数据为建模预估产生的模型化数据,例如赛题中的cpu, mem分时占用曲线,如何在预估数据存在偏差的前提进行问题求解,或者如何在已知决策模型的前提下调整预估方法,也是充满挑战的问题。
+
+3.其它任何你能想到的使用这份数据可以设计的问题和算法。如果你对这个有兴趣,我们相信你会对我们第二阶段的比赛更加有兴趣,请保持关注并一定参加我们的正式比赛!

+ 31 - 0
docs/赛题介绍.md

@@ -0,0 +1,31 @@
+# 阿里巴巴全球调度算法大赛
+
+在百万级的宿主机规模环境下,资源调度/管理系统显得愈发重要,如何在保证数据中心业务运行性能的同时,提高资源利用率,降低基础设施的成本是我们要考虑的核心问题。
+
+此次赛题来自阿里巴巴生产环境中的一个子场景,并做了相应的简化。优秀的解决方案会对我们解决这个场景以及其它场景下的问题带来极大的启发。我们期待优秀的你和你的团队能够投入进来!
+
+_重要更新:赛题在6月11日有一次更新(赛题描述和数据),旧版的赛题已经彻底下线,请所有参赛同学以你当前看到的版本赛题为准,7月初开始的评测工作将以目前版本为准。由此给各位选手带来的不便,深感歉意。但我们相信,目前这个版本的赛题无论对于初学者还是资深的研究者,都是很有趣的。_
+
+## 1赛题描述
+
+共约6K台宿主机(machine),包含了若干种型号,约68K个任务实例(instance),其中一部分已经部署在宿主机上,还有一部分没有被部署。
+
+要求: 设计调度算法,在满足要求约束的前提下,通过将全部未被调度的任务实例调度到宿主机上以及腾挪部分已经部署的实例的方式,得到最优的部署方案。最优部署方案指实际使用宿主机数目尽可能少,且宿主机负荷不能过高。请参考“执行与评分(初赛)”部分来获得更多关于最优部署方案的说明。
+
+在解释数据格式、约束条件之前,为防止概念混淆,先给出几个定义,全文出现的概念以此定义为准。
+
+实例(instance):一个实例是可以被调度到一个机器上的对象,在实际生产中,一个实例可以是一个docker容器
+
+应用分组(App):一个应用分组包括很多实例(instance)。属于同一个App下的所有实例,具备相同的约束条件。一个实例能且只能属于一个应用分组
+
+机器(Machine):机器是集群中的服务器,一个实例被可以被调度到一个机器上
+
+### 1.1约束描述
+
+任务实例到宿主机的分配,需要满足下列约束:
+
+·每个实例都标明了CPU、memory、disk此3个维度的资源需求,其中CPU、memory以分时占用曲线的形式给出,在任意时刻,任意一个宿主机A上,所有部署在宿主机A上的实例的任意资源都不能超过宿主机A的该资源容量
+
+·另外还有P、M、PM三类资源,定义了应用实例的重要程度,任意一台宿主机上的部署数目不能超过该类型宿主机能够容纳的重要应用数目上限
+
+·混部集群时刻处于复杂的干扰环境中,所以我们需要满足一些规避干扰约束,一条规避干扰约束被描述为<APP\_A, APP\_B, k>,代表若一台宿主机上存在APP\_A类型的实例,则最多能部署k个APP\_B类型的实例。注意,k可能为0。APP\_A和APP\_B也可能代表同一个APP(e.g. <APP\_A, APP\_A, k>),代表同一台机器上最多可以部署的该APP的实例的数目