Volcano

高性能任务调度引擎
授权协议 Apache
开发语言 Google Go
所属分类 程序开发、 作业/任务调度
软件类型 开源软件
地区 国产
投 递 者 宗鸿博
操作系统 Linux
开源组织 华为
适用人群 未知
 软件概览

Volcano 是基于 Kubernetes 的批处理系统,源自于华为云 AI 容器。Volcano 方便 AI、大数据、基因、渲染等诸多行业通用计算框架接入,提供高性能任务调度引擎,高性能异构芯片管理,高性能任务运行管理等能力。

整体架构

volcano

Volcano 提供一整套目前 K8S 在批量和弹性工作负载处理中缺失的机制,包括:

  1. 机器学习/深度学习
  2. 生物信息学/基因组学
  3. 其他“大数据”应用

这些类型的应用程序通常运行在Volcano集成的Tensorflow,Spark,PyTorch,MPI等通用域框架上。

Volcano为Kubernetes添加的机制和功能的一些例子:

  1. 作业管理的扩展和改进,如:
    1. Multi-pod 作业
    2. 生命周期管理扩展,包括挂起、恢复和重启
    3. 提升错误处理
    4. 作业的索引
    5. 任务依赖
  2. 调度扩展
    1. 联合调度
    2. 公平调度
    3. 队列调度
    4. 抢先和收回
    5. 预订和回填
    6. 基于拓扑逻辑的调度
  3. 运行时扩展
    1. 支持Singularity等专用容器运行时,具有GPU加速器扩展和增强的安全功能
  4. 其他
    1. 数据局部感知和智能调度
    2. 优化数据吞吐量,往返延迟等

Volcano建立在使用多个系统和平台大规模运行各种高性能工作负载的十五年经验之上,并结合了开源社区的最佳创意和实践。

  • Subject to certain rules, every module can transmit its messages at a time determined by itself. All modules are of equal status; in other words, none is either a master or a slave. Since one of Volca

  • 火山图是散点图的一种,它将统计测试中的统计显著性量度(如p value)和变化幅度相结合,从而能够帮助快速直观地识别那些变化幅度较大且具有统计学意义的数据点(基因等)。常应用于转录组研究,也能应用于基因组,蛋白质组,代谢组等统计数据。 所以关注火山图(其它类型图也是),先理解每个点是什么(点代表基因、样品、通路或其它的,这个认识可以来自于常识,更准确的是看作者的描述),然后看横轴代表什么、纵轴代表

  • This policy is formulated by the products and services provided by the company and its affiliates' website platforms and mobile terminals. This policy will help you understand the following: 1. How we

 相关资料
  • 简介 在过去,开发者必须在服务器上为每个任务生成单独的 Cron 项目。而令人头疼的是任务调度不受源代码控制,而且必须通过 SSH 连接到服务器上来增加 Cron 项目。 Laravel 的命令调度程序允许你在 Laravel 中对命令调度进行清晰流畅的定义。并且在使用调度程序时,只需要在服务器上增加一条 Cron 项目即可。调度是在 app/Console/Kernel.php 文件的 sche

  • 基本任务调度 方案1: 通过 @Cron 注解,这个需要依赖 cron4j 框架: //1分钟执行一次 @Cron("*/1 * * * *") public class MyTask implements Runnable { @Override public void run() { System.out.println("task running...");

  • 我正在开发一个登录网站的程序。它获得一些值,然后每135分钟左右在网站上进行一定的点击。值,“obtained_value”是从网站上读取的,每次点击程序都会递减一些值。我想运行程序,直到获得的值小于10。一旦发生这种情况,我想暂停程序直到达到目标时间并重新启动点击循环。我想在每次达到目标时间时都这样做。我在以下代码中实现了这个逻辑,但我的代码在达到目标时间后保持睡眠,而不是重新启动循环。我如何解

  • 每隔一段时间需要调度任务执行,也许你想注册一个任务在客户端完成连接5分钟后执行,一个常见的用例是发送一个消息“你还活着?”到远端通,如果远端没有反应,则可以关闭通道(连接)和释放资源。 本节介绍使用强大的 EventLoop 实现任务调度,还会简单介绍 Java API的任务调度,以方便和 Netty 比较加深理解。 使用普通的 Java API 调度任务 在 Java 中使用 JDK 提供的 S

  • imi v1.0.13 版本新增了一个 Swoole\Coroutine\Http\Server 实现的协程服务器。需要 Swoole 4.4+ 才可使用该特性。 该特性是可选的,不影响以前使用的服务器模式。 使用协程服务器特性,依靠 Linux 系统的端口重用机制,系统级的负载均衡,可以让你的多进程 Http 服务处理请求的能力得到提升。 使用 ab,本机->虚拟机(双核+2进程)压测Hello

  • 我使用spring调度器任务在固定间隔后调用类中的方法,如下所示 一旦调度程序触发init方法。init方法将使用线程池执行器来执行队列中的所有作业。 问题:执行init方法的初始线程是否会等待init方法中的所有处理(由executor service通过生成新线程来完成)完成? 调度器任务的池大小属性仅用于触发任务,而不是用于执行或处理被触发任务内部的逻辑。