Partager l'article ! Le parallélisme avec Genio 7: I- But de cet article Le but premier de cet articl ...
I- But de cet article
Le but premier de cet article est de présenter le parallélisme avec l’outil ETL Genio 7. En particulier montrer qu’un process Genio 7 parallèle est généralement plus efficace que le process séquentiel équivalent, toutes choses égales par ailleurs.
Ainsi le but ici n’est pas d’analyser les performances du moteur Genio 7, encore moins de trouver une quelconque corrélation entre l’efficacité du moteur Genio 7 et le nombre de CPU. C’est pourqoui je n’utiliserai pas les deux métriques suivantes :
- L’accélération (relative et absolue)
- L’Efficacité
II- Méthodologie
La méthodologie ici est très simple. Elle utilise essentiellement la technique basée sur la mesure du système. Cela revient grosso modo à mesurer les temps d’exécution du process parallèle et du process séquentiel équivalent.
III- Le système
Je rappelle dans le tableau suivant quelques caractéristiques du système
IV Présentation des process
IV-1 Le process « parallèle »
Comme l’illustre la figure précédente, ce process est composé de quatre process tous très différents les uns des autres. En effet, parmi ces process, deux font une lecture écriture en mode « ForAll », un autre fait une lecture écriture en mode « ForEach » et le dernier quant à lui parcours une source de données et fait appel à une procédure stockée SQL Server.
Mode « ForEach » : C’est le « mode moteur », c’est le mode par défaut. Avec ce mode, le système ETL utilise alors les ressources du moteur ETL pour effectuer les transformations.
Mode « ForAll » : C’est ce que j’appelle le « mode Base de données ». Avec ce mode, le système ETL n’utilise pas les ressources du moteur ETL mais soumet le traitement des transformations au moteur de base de données.
Paramètre important à positionner pour chaque process fils
Dans la zone « Execution mode », l’option « Wait for the end of execution » doit impérativement être cochée pour tous les process fils. Cette action impose au process parent d’attendre l’execution de tous les process fils avant de passer la main.
IV-2 Le process « séquentiel »
Le process « séquentiel » comme son nom l’indique est un enchainement logique des modules de chaque process du process « parallèle » sus évoqué.
V- Mesure des temps d’exécution
Derniers Commentaires