首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不同的机器上分配计算任务?

在不同的机器上分配计算任务?
EN

Server Fault用户
提问于 2012-03-27 07:37:35
回答 1查看 450关注 0票数 0

我正在寻找一种将计算作业(主要是栅格化工作)分配给网络上多台空闲机器的方法。服务器现在正在运行Debian 6。

需要完成的大部分工作是使用一些GhostScript呈现的标准命令行。由于渲染可能需要很长时间,只需一个CPU,我想把工作分成许多较小的部分,让空闲的机器在网络上帮助完成这项工作。

下面是一个粗略的工作流:

  1. 用户将一个大的PDF文件上传到web前端。
  2. PDF被分割成较小的部分或移动到SAN中,所有机器都可以访问SAN。所有较小的部分构成了一个“主要任务”,需要在用户看到任何结果之前完成。
  3. 为PDF文件的每一页安排一个作业,并将其放入“队列”。
  4. 空闲机器从队列中获取一个作业,并处理/呈现PDF文件的页面。
  5. 完成后,他们将生成的栅格数据放到SAN上,并标记作业完成。
  6. 一旦“主要任务”的所有作业都完成了,用户就会看到web前端上所有呈现的页面的概述。

我知道作业调度器,但是这对我来说是一个新的领域,我甚至不知道Google应该使用什么搜索术语。

所以,我希望有任何建议和建议。理想的做法是采用非集中式结构,以避免所有机器都出现单点故障。

EN

回答 1

Server Fault用户

发布于 2012-03-27 07:49:25

我不知道OpenSSI是否会帮你,但我立刻想到了。它将多个服务器合并成一个单一的系统映像,从管理员的角度来看,这只是一个服务器。把它看作是SMP服务器,但必须在一台服务器上有多个核心,而在多个服务器上。

OpenSSI可以自动将负载分散到集群中,并在负载最少的节点(或最快的节点)上运行新启动的进程。它还可以自动地将当前正在运行的进程从一个节点迁移到另一个节点,如果它认为这样做有益的话。当然,所有这些也可以通过命令行utils手动完成。

如果您不希望这样的内核级方法来解决您的问题,或者OpenSSI对您不起作用,那么就会有扭矩在应用程序级别执行此调度。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/373779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档