Je travaille sur un logiciel scientifique très gourmand en ressources (son processus lié), mais il a besoin d'écrire des données sur disque assez souvent (i/o lié).Manière efficace de sauvegarder des données sur un disque pendant une tâche de calcul intensif
J'ajoute la parallélisation à cela (OpenMP) et je me demande quel est le meilleur moyen de répondre aux besoins d'écriture sur disque. Il n'y a aucune raison que la simulation devrait attendre sur le disque dur (ce qui est ce qu'il fait maintenant).
Je suis à la recherche d'une «meilleure pratique» pour cela, et la vitesse est ce qui me tient le plus à cœur (ces simulations peuvent être extrêmement longues).
Merci ~ Alex
pensées Première:
ayant un processus distinct faire de l'écriture réelle sur le disque de sorte que la simulation a deux processus: l'un est lié au processeur (simulation) et on est IO-lié (fichier d'écriture). Cela semble compliqué.
Peut-être un tuyau/tampon? Je suis un peu nouveau à ceux-ci, alors peut-être que cela pourrait être une solution possible.
Je pense que le tuyau unidirectionnel est la façon dont j'irai alors. Je ne pense pas que je vais rencontrer la question de bloquer trop mal; theres pas beaucoup de données générées, je voulais juste séparer les discussions. Si je produisais autant de données, je reconsidérerais ce qui doit vraiment être conservé. – machinaut