单节点集群中的h2o是执行并行处理还是仅在多节点集群中进行并行处理?

时间:2018-11-01 08:48:12

标签: java parallel-processing h2o

我们在AWS内部将h2o作为单节点集群运行

R is connected to the H2O cluster: 
    H2O cluster uptime:         5 seconds 217 milliseconds 
    H2O cluster timezone:       Etc/UTC 
    H2O data parsing timezone:  UTC 
    H2O cluster version:        3.17.0.4153 
    H2O cluster version age:    10 months and 4 days !!! 
    H2O cluster name:           h2o-8ba55ebb-7d49-41bd-b4e2-d7be45b5f53e 
    H2O cluster total nodes:    1 
    H2O cluster total memory:   22.20 GB 
    H2O cluster total cores:    8 
    H2O cluster allowed cores:  8 
    H2O cluster healthy:        TRUE 
    H2O Connection ip:          localhost 
    H2O Connection port:        54321 
    H2O Connection proxy:       NA 
    H2O Internal Security:      FALSE 
    H2O API Extensions:         XGBoost, Algos, AutoML, Core V3, Core V4 
    R Version:                  R version 3.4.3 (2017-11-30) 

然后使用nthreads -1从Java启动h2o:

java -ea -Xmx25g -jar /path/to/h2o.jar -name unique-cloud-name 
     -ip localhost -ice_root /tmp/h2o-tmp -nthreads -1

我们想知道h2o是否在单个节点集群中使用所有可用和允许的内核进行并行处理。 当我们在命令行中执行top -H时,我们确实会同时看到8个活动的Java进程,并且想知道它们是否来自h2o并正在帮助生成我们的模型。

enter image description here

1 个答案:

答案 0 :(得分:1)

是的,H2O将使用单个节点上的所有内核来训练一个模型。

nthreads允许您显式设置线程池大小,该线程池大小控制每个进程的并行度。