我有一个在集群中运行的程序实例,该程序基本上使用h5py执行数值计算,读取和写入数字数组到 HDF5 文件。
当我尝试在群集中的不同计算节点中运行我的代码的多个实例时,所有正在运行的脚本都会崩溃。报告的错误是
KeyError:'无法获取链接信息(错误符号表节点签名)'
幸存的脚本继续运行没有问题。我在与HDF5通信的所有函数中使用了 with 语句,以确保在 I / O 操作完成后文件正确关闭。
有人可以解释一下这个错误是什么意思吗?
答案 0 :(得分:0)
根据Andrew Collete的书 Python和HDF5 ,
multiprocessing是Python最新的内置模块,它支持基本的基于fork()的并行处理。主要限制是您的并行进程无法共享单个HDF5文件,即使该文件是以只读方式打开的。这是HDF5库的限制.....
除此之外,基于MPI的Parallel HDF5是迄今为止最好的方式。 MPI是HDF5库支持的并行性的官方“风格”。您可以拥有无限数量的进程,所有进程都共享相同的打开HDF5文件。