我正在开发一个非常占用 cpu 的科学软件(它的 proc 绑定),但它需要经常将数据写入磁盘(i/o 绑定)。
我正在为此(OpenMP)添加并行化,我想知道解决写入磁盘需求的最佳方法是什么。模拟没有理由在 HDD 上等待(这就是它现在正在做的事情)。
我正在为此寻找“最佳实践”,而速度是我最关心的(这些可能是非常长的模拟)。
谢谢~亚历克斯
第一个想法:
有一个单独的进程实际写入磁盘,因此模拟有两个进程:一个是 CPU 密集型(模拟),一个是 IO 密集型(写入文件)。这听起来很复杂。
可能是管道/缓冲区?我对这些有点陌生,所以也许这可能是一个可能的解决方案。