云原生与弹性计算 / cloud-native-distributed-computing
Hard

分布式计算

Where is my data from?

云原生分布式

本题为开放题,无标准答案

分布式计算是指将一个计算任务分解成多个子任务,分配给多台计算机进行计算,最后将计算结果进行合并的计算模型。分布式计算系统具有高性能、高可用性、高扩展性等特点,广泛应用于云计算、大数据、容器化等场景。

本题继承 分布式存储 的场景

可可现在有一个大规模计算任务,这个任务可以简化成 N 个相互独立的小任务,每个小任务(记该任务为 task_i )可以描述为:

  • 从存储池中加载原始数据 data_i
  • 对原始数据进行计算 f(i) := data_i => result_i
  • 将计算结果 result_i 写回存储池中

为简化本题,我们假设每个 data_i 间相互独立,不考虑在一个数据集中存储多个任务的原始数据,且 f(i) 可以并行执行。

现在可可想在四个虚拟机上并行执行这个任务,每个虚拟机的计算能力相同(均为 64 线程)。每个节点到中心交换机的带宽为 10Gbps。每两个节点间仅能通过以太网进行连接。

请你给可可提供一个方案,能够尽可能多的利用现有的计算资源,在回答中简要说明你的思路,并列出所有涉及的软件方案的关键词。

出题人:可可