首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

浅谈大数据资源管理层中的资源碎片(2)

浅谈大数据资源管理层中的资源碎片(2)

资源碎片的管理和再利用从以上的例举中,我们可以了解到,随着计算框架多样性的发展,资源管理框架则必须慢慢的实现和优化资源碎片的管理。对于资源碎片,我们一般会有两个方向需要研究,一是“去碎片”,换句话说就是减少碎片的产生或者优先产生可复用的碎片,二遍是碎片的管理和再利用。
这里我先简单的描述下整个方案的运行流程。
  •                     每一个 Workload Manager 会启动一个独立的 Resource Proxy。
  •                     当用户提交了一个 A 类型的任务时,Workload Manager 会通过自己的 Resource Proxy 向资源层的 Resource Manager 申请资源。Proxy 会维护管理申请到的资源。
  •                     当用户提交了另一个 A 类型的任务时,Workload Manager 会通过 Proxy 向 Resource Manager 申请新的资源。如果 RM 没有新的资源时,Proxy 会按照某一种策略平衡两个任务,尽量使得两个任务都有适当的资源运行。
  •                     如果 Proxy 中发生资源强占的行为,并且用户指定了不同的资源配比(例如第一个任务的 Task 需求 2 个 CPU 核和 3G 内存,第二个任务的 Task 需求 1 个 CPU 核和 2G 内存)。那么 Proxy 中就会产生资源碎片。
  •                     每个 Resource Proxy 会设置一个资源共享池,并且会将 Proxy 已经产生的碎片放到资源共享池中。
  •                     当用户提交一个 B 类型的任务时,并且 RM 没有空余的资源分配给 B 类型的任务时。RM 会同步所有 Resource Proxy 中资源池的信息,并且会拼接多个资源池中同个机器的碎片,进而将满足 B 类型任务需求的资源,分配给 B 任务。
  •                     当又有新的 A 类型任务提交到系统,并且 Proxy 剩余的资源碎片可以满足新的 A 类型任务时,Proxy 会重新要回该自己借出去的碎片资源。
以上便是整个资源碎片处理流程的简要描述,后面我将通过几个 Case 来详细描述该方案的工作过程。
Case 1,资源的分配流程(资源足够的时候)首先,每一种 Workload 都有独立的 Workload Manager,这一点类似于 Yarn 的 Application Master。并且每一个 Workload Manager 会启动一个 Resource Proxy(在 Workload Manager 内和外都可以)。当有任务提交时,Workload Manager 会通过 Proxy 向 RM 申请资源。当 RM 返回适当的资源给 Proxy 后,Proxy 会维护这些资源的信息。RM 则负责管理和维护整个集群资源的状态。具体流程可以参见如下的示意图
图 2. 资源分配的流程 1
返回列表