繁体   English   中英

DIY HPC 集群以运行 Jupyter/Python 笔记本

[英]DIY HPC cluster to run Jupyter/Python notebooks

我最近将我的 Python / Jupyter 工作从 macbook 迁移到翻新的第 8 代 HP 机架式服务器(192GB DDR3 2 x 8C Xeon E5-2600),我以 400 美元的价格从亚马逊下车。 额外的 CPU 内核极大地提高了拟合模型的速度,特别是对于我经常使用的决策树集成。 我现在正在考虑购买那个时代(2010 年代中期早期)的额外服务器(双路或四路英特尔至强 E5、E7 v1/v2)并将它们连接成我公寓中的小型 HPC 集群。 这是我需要帮助决定的内容:

  1. 这是一个坏主意吗? 我是否最好购买 GPU(如 gtx 1080)。 我不愿意 go GPU 路线的原因是我倾向于依赖 sklearn 很多(这几乎是我唯一知道和使用的东西)。 据我了解,model 在 GPU 上的训练目前还不是 sklearn 生态系统的一部分。 我所有的代码都是用 numpy/pandas/sklearn 编写的。 因此,将存在陡峭的学习曲线和向后兼容性问题。 我错了吗?

  2. 假设 (1) 为真,并且 CPU 在短期内对我来说确实更好。 如何构建集群并在其上运行 Jupyter 笔记本。 是否像购买额外的服务器一样简单。 将其中一台服务器指定为头节点。 通过以太网连接服务器。 在两台机器上安装 Centos / Rocks。 并使用 IPython Parallel (?) 启动 Jupyter 服务器。

  3. 假设 (2) 为真,或至少部分为真。 我还需要获得哪些其他硬件/软件? 我需要以太网交换机吗? 或者如果我只连接两台机器,就不需要它了? 或者我是否需要至少三台机器来利用额外的 CPU 内核,因此需要一个交换机? 我需要安装 Centos / Rocks 吗? 或者软件层是否有更好、更现代的替代方案。 就上下文而言,现在我在 HP 服务器上使用 openSUSE,在操作系统和网络方面我几乎是个新手。

  4. 我的硬件应该有多均匀? 我可以在机器上混合和匹配不同频率的 CPU 和 memory 吗? 例如,一台机器有 1600 MHz DDR3 memory,另一台机器有 1333 MHz DDR3? 还是使用 2.9 GHz E5-2600v1 和 2.6 GHz E5-2600v2 CPU?

  5. 我应该担心权力吗? 即我可以安全地将三台机架式服务器插入我公寓的同一个电源板上吗? 如果我插入吹风机,我知道有一个插座,灯 go 熄灭。 所以我可能应该避免那个:) 说真的,我如何在负载下运行 2-3 台多 CPU 机器并避免使断路器跳闸?

谢谢你。

  1. Nvidia 的rapids.ai在 GPU 上实现了相当多的 sklearn。 这是否是您使用的部分,只有您可以说。

  2. 众所周知,使用 Jupiter notebook 进行生产是错误的。

  3. 除非延迟是一个严重的问题,否则您不需要交换机,它很少是。

  4. 完全无关。

  5. 对于您正在考虑的那种旧硬件,您将有非常高的电费。 但更糟糕的是,由于您将拥有许多不太新的机器,因此某些组件在任何给定时间发生故障的可能性都很高,因此除非您寻求计算机维护的未来,否则这不是一个好主意。 一个更好的主意是:在你的 macbook/现有集群上开发你的想法,然后租用一个 AWS Spot 实例(或两个或三个)几天。 更便宜,没有麻烦,没有大惊小怪。 一切正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM