Hi,
I'm working on a piece of scientific software that is very cpu-intensive (its proc bound), but it needs to write data to disk fairly often (i/o bound).
I'm adding parallelization to this (OpenMP) and I'm wondering what the best way to address the write-to-disk needs. There's no reason the simulation should wait on the HDD (which is what it's doing now).
I'm looking for a 'best practice' for this, and speed is what I care about most (these can be hugely long simulations).
Thanks ~Alex
First thoughts:
having a separate process do the actual writing to disk so the simulation has two processes: one is CPU-bound (simulation) and one is IO-bound (writing file). This sounds complicated.
Possibly a pipe/buffer? I'm kind of new to these, so maybe that could be a possible solution.