位图/openGL图像处理服务器的硬件建议?

位图/openGL图像处理服务器的硬件建议?

我正在尝试构建一个处理服务器,用于处理位图处理以及色度键控图像和 Photoshop 自动化的 OpenGL 渲染。我在这里和 Google 上搜索的结果出奇地少,而且看到没有用于位图或图像处理的标签,我认为这是一个专门的应用程序。

位图处理非常耗费 CPU,而色度键控和 Photoshop 则耗费 GPU。我怀疑这是否是过度优化,因为我们公司每天批量处理数千张图像(目前在单个工作站上),任何节省处理时间和工作站停机时间的做法都是有益的。

有人有使用这种类型的处理服务器的经验吗?构建这样的服务器时需要特别考虑什么吗?还是我想太多了?

对于位图处理,我们使用 C# 类System.Drawing.ImagingSystem.Drawing.Drawing2DGDI+ 库。我们使用 运行这个多线程System.Threading。对于色度键控,我们使用 Primatte,它是 openGL,但我不知道它还使用哪些其他库。

答案1

不久前,我管理过一个类似的服务器集群(双成员集群),我的基本方法是 ~ CPU bottleneck... max out processor speed and core count。它也是在高端服务器上,拥有大量 RAM、高容量 SSD(用于快速访问处理过程中临时存储在其中的图像)和多个 1Gbit NIC,同样是为了最大限度地提高性能,从而提高处理图像的吞吐量。

效果非常好,而且由于业务关键型功能的工作量很大,MBA 和其他高层很乐意额外投资约 25,000 美元购买硬件,让一切顺利运行。至少有一次我向他们介绍了我的建议的好处。是的,我认为你想多了,至少有点。 首先“只需”使用强大的硬件来解决问题。 如果这不能提供所需的性能,那么您就需要担心优化代码和检查流程中的瓶颈。

在我开始创建和“推销”我的建议的基本过程之前,让我先指出一句 SA 格言:

It's better to over-engineer than under-engineer.

  • (在这个特定的例子中,宁可指定“过多”的服务器,也不要指定“过少”的服务器。)

我想说的是,你的情况听起来与我的情况非常相似,并建议采取类似的方法。我想下面的内容都不是严格意义上的“系统管理”,所以你可能可以在这里停止阅读,但它们都密切相关,如果你不能有效地向业务部门推销你的建议,系统管理和架构就是地狱……如果你能,你可以称自己为系统工程师/架构师,并要求为基本上相同的工作支付更多的钱,因为你有能力用简单的数字来表达你的想法,让“迟钝的孩子”(高管和 MBA)理解。

我的过程:

  1. 进行基本的基准测试并使用简单的预测来大致了解所需的性能。
    • 创建一个估算,并帮助我选择要获取的硬件(一般意义上),我会提出 3 个规格。
      • 我认为最低限度是可行的(如果我的数字有点偏差,这实际上是最低限度 +~15%,以便给我一个缓冲/安全裕度)
      • A合理的最大/“最佳”可能配置
      • 中间值,介于两者之间。
    • 根据业务优先级(省钱?最大化系统输出/性能?一些妥协?),我会推荐其中一个,另外两个包括选项应该工作,如果我的建议由于某种原因没有被接受。
  2. 我会列出每个解决方案的成本,并做一个基本的,定量尽可能地进行成本/收益分析。从我过去的案例来看,这是一个产生收入的业务流程,因此这很简单~we made $[x] from this last year, on [y] images processed, for a profit of $[z]/image processed, or $[i]/day. 然后我将硬件成本转换为类似的单位- $[x] total CapEx, or $[z]/image processed or $[i]/day。(当存在不同的未来“预测”时,对“预测的”未来数字执行相同的操作。)
  3. 一旦你计算了成本,就可以开始计算或列出收益。使用这些美元数字和成本比较来指导你的决定(并提倡你的最终建议)确实很有帮助,而且根据我的经验,通常可以证明在可能利用率较低的硬件上多花点钱是合理的。
    • 在我提到的例子中,$25,000我建议的费用比最初建议的费用“多”buy a single mid-range server and slap our image processing stuff on that了约$70 a day,并且<10 cents an image processed……我们做到了很多10 cents比我们处理的每个图像都要多。
  4. 为了确保他们采纳我过度设计的冗余集群建议(这样我会更容易地支持和管理),我列出了服务器上计算资源不足的成本——容量不足可能造成的收入损失、在工作站上“手动”执行的每小时成本(several hundred dollars an hour),并添加了定性收益(supportabilityease of management等)和成本(reputation damageangry clients等)作为锦上添花。然后再次指出,我推荐的解决方案仅花费$70 a day

无论如何,这比我预期的要长得多,而且技术性更低......但我希望你觉得它有用。

相关内容