3
我正在嘗試在3個不同的主機上建立一個包含120個進程的雪羣。這些AMD服務器每個都有48個核心。建設約第90個奴隸後,我得到這個錯誤:R snow可以創建的奴隸數量是否有限制?
cl = makeSOCKcluster(c(rep("localhost", 44), rep("host2", 46), rep("host3", 45)))
Error in socketConnection(port = port, server = TRUE, blocking = TRUE, :
all connections are in use
> traceback()
3: socketConnection(port = port, server = TRUE, blocking = TRUE,
open = "a+b")
2: newSOCKnode(names[[i]], options = options, rank = i)
1: makeSOCKcluster(c(rep("localhost", 44), rep("host2", 46),
rep("host3", 45)))
我檢查我的系統限制,並沒有看到任何問題:
# cat /proc/sys/fs/file-max
12897622
# grep "#define __FD_SETSIZE" /usr/include/*.h /usr/include/*/*.h
/usr/include/linux/posix_types.h:#define __FD_SETSIZE 1024
# ulimit -a |grep open
open files (-n) 65536
是否有流程雪的數量限制可以創建?
使用多核不允許他使用3臺主機。但他可以使用帶有雪的MPI羣集。 – 2013-05-09 12:51:36
@SteveWeston:好點。我沒有注意到多個主機... – 2013-05-09 12:53:30
另一種選擇是每個節點使用一個工人與雪,然後在每個工人上使用多核。這是更多的工作,但規模好得多。 – 2013-05-09 12:56:11