本题为开放题,无标准答案
分布式计算是指将一个计算任务分解成多个子任务,分配给多台计算机进行计算,最后将计算结果进行合并的计算模型。分布式计算系统具有高性能、高可用性、高扩展性等特点,广泛应用于云计算、大数据、容器化等场景。
本题继承 分布式存储 的场景
可可现在有一个大规模计算任务,这个任务可以简化成 N 个相互独立的小任务,每个小任务(记该任务为 task_i
)可以描述为:
- 从存储池中加载原始数据
data_i
- 对原始数据进行计算
f(i) := data_i => result_i
- 将计算结果
result_i
写回存储池中
为简化本题,我们假设每个 data_i
间相互独立,不考虑在一个数据集中存储多个任务的原始数据,且 f(i)
可以并行执行。
现在可可想在四个虚拟机上并行执行这个任务,每个虚拟机的计算能力相同(均为 64 线程)。每个节点到中心交换机的带宽为 10Gbps。每两个节点间仅能通过以太网进行连接。
请你给可可提供一个方案,能够尽可能多的利用现有的计算资源,在回答中简要说明你的思路,并列出所有涉及的软件方案的关键词。