2

我最近开始学习 H2O AutoML。我想知道以下哪个选项效果更好。具有 6GB 内存的单个节点或由三个节点组成的集群,每个节点具有 2GB 内存。

  1. java -Xmx6g -jar h2o.jar -name MyCluster
  2. java -Xmx2g -jar h2o.jar & java -Xmx2g -jar h2o.jar & java -Xmx2g -jar h2o.jar &

如果单节点部署有缺点,您能推荐任何优化性能的方法吗?提前致谢!

4

2 回答 2

2

我的猜测是,由于上下文切换较少,第一种方法将提供更好的性能。我对 H2O 不太熟悉,但我猜他们每个内核启动一个线程。因此,如果您有 3 个 H2O 实例,则每个内核将获得 3 个线程,这将导致上下文切换数量增加,从而降低性能。

而且我很确定 H2O 可以处理大量内存。他们可以汇集创建的数组,因此对于实际数据应该不需要太多的垃圾收集。

于 2021-12-03T09:08:53.490 回答
0

在单个节点上运行 H2O 总是更好(如果可能),因为集群节点之间存在通信开销。模型将在单个节点上训练得更快。

于 2022-01-15T06:58:37.960 回答