串行IO与并行IO的效率比较

实验比较了MPI_File_read_at与C语言fread函数在不同条件下的读取效率。单进程下,fread受缓存影响速度更快;在并行读取大文件时,多进程读取速度显著慢于单进程,说明并行条件下数据读取速度受到较大影响。
摘要由CSDN通过智能技术生成
 

MPI_File_read_at函数与C语言中的fread函数,依次读取一个100M的文件,读取时间如下所示:

实验一

[zhangyang@mpi002 kmeans_exper]$ mpiexec -np 1 ./mpi_c_fspeed
There are 1500015 samples...
Start test mpi_file_read....
In mpi002 mpi_file_read takes 1.566990137100 seconds...
Start test fread....
In mpi002 fread takes 0.078104019165 seconds...    

实验二

[zhangyang@mpi002 kmeans_exper]$ mpiexec -np 1 ./mpi_c_fspeed
There are 1500000 samples...
Start test mpi_file_read....
In mpi002 mpi_file_read takes 1.315994024277 seconds...
Start test fread....
In mpi002 fread takes 1.259196043015 seconds...

 

两次实验具有不同的结果,原因是:

实验一:MPI_File_read_at与fread读取同一数据块,MPI先读,fread后读,因此,MPI花费的时间较多

fread花费的时间较短,主要是受到了缓存的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值