并行制造的最佳硬件/软件解决方案?

并行制造的最佳硬件/软件解决方案?

我们有一个基于 Linux 的构建系统,其中一个构建由许多不同的嵌入式目标组成(相应地启用了不同的驱动程序和功能集),每个构建都使用另一个单独的主源树构建。

我们不想尝试将基于 make 的系统转换为更适合多进程的系统,而是想找到同时为所有这些目标启动构建的最佳方法。我不确定的是如何获得最佳性能。

我考虑过以下可能的解决方案:

  • 大量个人构建机器。缺点:大量共享代码副本,或使用(缓慢的)共享驱动器。需要维护更多系统。
  • 数量较少的多处理器计算机(可能是双四核),具有快速条带化 RAID 本地存储。缺点:我不确定它将如何扩展。似乎容量会成为瓶颈,但我不知道 Linux 现在处理 SMP 的效果如何。
  • 类似的 SMP 机器,但带有运行 VMware 的虚拟机管理程序或 Solaris 10。这很愚蠢吗?还是会提供一些调度优势?缺点:没有解决存储瓶颈问题。

我打算坐下来尝试这些可能性,但我想检查一下我是否遗漏了什么。谢谢!

答案1

您正在运行make -j和创建并行作业吗?Sun 对此有一份很好的指南。

虚拟机管理程序的想法有点愚蠢。您需要速度和 I/O 性能,而一台 VMware 服务器会剥夺您的这些性能。您可能希望设置尽可能多的核心和磁盘。这将是您构建系统的两个真正限制因素。

有什么原因导致您不能以串行方式运行它们,而只能并行运行?选择最简单的路线,而不是最容易的路线。

供将来参考:一份很好的清单可供选择的方案。

答案2

虚拟化并使用模板,一个代码库,很多选项 - 大胜利:)

答案3

您可以虚拟化并使用高速磁盘或使用固态存储。不过固态存储的成本可能是一个限制因素。此外,固态存储的数据容量也存在限制。

在这种情况下,最好使用快速系统和良好的虚拟化软件。这很简单,而且成本低廉。

相关内容