【发布时间】:2012-02-13 22:37:52
【问题描述】:
问题是n个进程同时读取一个大小约为20GB的文件。文件在每一行包含一个字符串,并且字符串的长度可能相同也可能不同。字符串长度最多为 10 个字节。
我有一个包含 16 个节点的集群。每个节点都是单处理器,有 6GB RAM。我正在使用 MPI 编写并行代码。
对这个大文件进行分区以便利用所有资源的有效方法是什么?
注意:对分区的限制是将文件作为固定行数的块读取。 假设文件包含 1600 行(例如 1600 个字符串)。那么第一个进程应该从第 1 行读取到第 100 行,第二个进程应该从第 101 行读取到第 200 行,依此类推......
我认为一个文件一次不能被多个进程读取,因为我们只有一个文件处理程序指向某个地方只有一个字符串。那么其他进程如何从不同的块中并行读取呢?
【问题讨论】:
标签: algorithm parallel-processing mpi