paralléliser un traitement
Bonjour,
J'ai une demande et j'ai besoin de vos aides. En réalité, J'ai fichier XML "input.xml" de taille volumineux. Pour lire ce fichier, j'ai utilisé la fonction 'lire_fichier(nom de fichier)'.
Dans mon cas, je dois décomposer ce fichier xml en plusieurs fichiers XML selon des critères bien définis.
Supposons que N est le nombre de ces fichiers décomposés.
Je vais faire le même traitement X pour chacun de ces N fichiers
Voici une partie de code:
Code:
1 2 3 4 5 6 7 8 9 10
|
for(i=1;i <= N;i++)
{
sprintf(tmp,"input%d",i);
lire_fichier(tmp);
//le même traitement X
..........
............
} |
J'ai testé ce code sur ma machine alors ceci prendre beaucoup de temps.
Mon but est d'avoir le temps d'exécution le moins possible.
Est ce que c'est possible d'avoir un temps plus longue si on a travaille sur les N fichiers au lieu de travailler sur un seul fichier ou bien ceci dépend d'autres facteurs?
Dans mon cas, est ce que le mécanisme de parallélisme est possible ? c'est à dire on exécute chaque traitement sur une machine portant un fichier et donc on va utiliser N machines ?
C'est à dire on lance le traitement en même temps. Mais, ceci garantie que on va obtenir le résultat en un temps le moins possible ?
Que proposez vous ?
Merci.