Estoy trabajando en una pieza de software científico que es muy intensivo en CPU (su proc está vinculado), pero necesita escribir datos en el disco con bastante frecuencia (i/o obligado).Manera eficiente de guardar datos en el disco mientras se ejecuta una tarea de cálculo intensivo
Estoy agregando paralelización a esto (OpenMP) y me pregunto cuál es la mejor manera de abordar las necesidades de escritura en disco. No hay ninguna razón para que la simulación deba esperar en el HDD (que es lo que está haciendo ahora).
Estoy buscando una "mejor práctica" para esto, y la velocidad es lo que más me importa (estas pueden ser simulaciones muy largas).
Gracias ~ Alex
primeros pensamientos:
que tienen un proceso separado hacer la escritura real en el disco para la simulación tiene dos procesos: uno es vinculado a la CPU (simulación) y una es IO-bound (archivo de escritura). Esto suena complicado
¿Posiblemente una tubería/buffer? Soy algo nuevo en esto, así que tal vez esa podría ser una posible solución.
Creo que el tubo de 1 vía es el camino que seguiré en ese momento. No creo que me encuentre con el problema de bloquear demasiado; no se generan MUCHOS datos, solo quería separar los hilos. Si estuviera generando esa cantidad de datos, reconsideraría cuánto se debe mantener realmente. – machinaut