OpenI-Octopus

集群管理工具和资源调度平台
授权协议 启智开源许可证
开发语言 Python Google Go JavaScript
所属分类 管理和监控、 DevOps/运维工具
软件类型 开源软件
地区 国产
投 递 者 楚志强
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

OpenI-Octopus是一个集群管理工具和资源调度平台,它结合了一些在大规模生产环境中表现良好的成熟设计,主要为提升学术研究效率,复现学术研究成果而量身打造。

特点

  • 基于Kubernetes开发资源调度平台,以镜像方式管理任务运行环境,一次配置随处可用;
  • 针对AI场景设计,AI场景的任务调度和任务启动有一定特殊性,如PS-Worker架构的分布式任务,需要至少满足两个角色的资源请求才能启动任务,否则即使启动任务也会造成资源浪费,而OpenI-Octopus针对类似场景做了很多设计和优化;
  • 插件式设计理念,以核心的业务流为基础,通过插件化的方式提供扩展性,不限制插件开发语言;
  • 易于部署,OpenI-Octopus支持helm方式的快速部署,同时支持服务的自定义部署;
  • 支持异构硬件,如GPU、NPU、FPGA等,由于采用OpenI-Octopus基于Kubernetes开发,可自定义不同异构硬件插件;
  • 支持多种深度学习框架,如 tensorflow、pytorch、paddlepaddle等,并通过镜像方式可方便的支持新增框架。

适用场景

  • 构建大规模AI计算平台;
  • 希望共享计算资源;
  • 希望在统一的环境下完成模型训练;
  • 希望使用集成的插件辅助模型训练,提升效率。

系统结构

 相关资料
  • 为了管理异构和不同配置的主机,为了便于Pod的运维管理,Kubernetes中提供了很多集群管理的配置和管理功能,通过namespace划分的空间,通过为node节点创建label和taint用于pod的调度等。

  • Mesos 项目是源自 UC Berkeley 的对集群资源进行抽象和管理的开源项目,类似于操作系统内核,用户可以使用它很容易地实现分布式应用的自动化调度。 同时,Mesos 自身也很好地结合和主持了 Docker 等相关容器技术,基于 Mesos 已有的大量应用框架,可以实现用户应用的快速上线。 本章将介绍 Mesos 项目的安装、使用、配置以及核心的原理知识。

  • 一、hadoop yarn 简介 Apache YARN (Yet Another Resource Negotiator) 是 hadoop 2.0 引入的集群资源管理系统。用户可以将各种服务框架部署在 YARN 上,由 YARN 进行统一地管理和资源分配。 二、YARN架构 1. ResourceManager ResourceManager 通常在独立的机器上以后台进程的形式运行,它是整个集

  • 多集群资源即统一管理集群的命名空间、角色、集群角色等资源并将其映射到多个集群中。 命名空间 命名空间用于逻辑上隔离Kubernetes集群中的资源。 角色 角色定义了对集群的指定命名空间下资源的权限。 集群角色 集群角色定义了对集群下资源的权限。 角色绑定 角色绑定定义了角色绑定和服务账户的绑定关系。 集群角色绑定 集群角色绑定定义了集群角色和服务账户的绑定关系。

  • Kubernetes作为一个容器编排调度引擎,资源调度是它的最基本也是最重要的功能,这一节中我们将着重讲解Kubernetes中是如何做资源调度的。 Kubernetes中有一个叫做kube-scheduler的组件,该组件就是专门监听kube-apiserver中是否有还未调度到node上的pod,再通过特定的算法为pod指定分派node运行。 Kubernetes中的众多资源类型,例如Depl

  • 主要内容:使用简介 Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。 支持的工具包括但不限于以下各项: Dokku Docker Compose Docker Machine Jen