Amélioration des performances dans la version 4.3
Bonjour, Suite aux différentes améliorations récentes apporter concernant la résolution des lenteurs d'IsisFish, j'ai réalisé plusieurs test sur les différentes améliorations ce matin. Le test de références était la base de Loic (7D_V11) avec la règle taille min. Le temps global dans IsisFish 4.2 est de 1 heure 55 min sur mon PC en local (donc pas d'appels réseaux comme sur caparmor). Le temps obtenu au final sur la version 4.3 est de 5 min. Les résultats sont identiques. Les améliorations récemment réalisée ont été les suivantes: - mise à jour des librairies - mise en cache des appels d'équation (en particulier équation de croissance) - conservation des rejets sur un seul pas de temps - suppression des appel au système de fichier pour les équations - copie des matrices seulement si le contenu est modifié Les différents tests suivants ont consisté à désactiver les améliorations pour déterminer ce qui prenait le plus de temps: - avec lecture FS pour les équations : 5min20 - sans mise en cache de l’équation de croissance : 23min - copie systématique des matrices : 9min - sans conservation des rejets sur un seul pas de temps : 6min - avec lecture FS pour les équations ET sans mise en cache de l’équation de croissance : 33min - avec lecture FS pour les équations ET sans mise en cache de l’équation de croissance ET copie systèmatique des matrices : 53min Le seul point non retesté à été la mise à jour des librairies globales à l'application qui aurait sans doute augmenter encore le temps. Le plus gros problème était la lecture du disque dur dans le cas où les equations sont appelées énormément de fois pendant une simulation. Et toutes les améliorations cumulées diminuent énormément le temps. Il me reste un peu de travail car certaines améliorations ne sont que des tests et sont à implémenter proprement avant de faire une version de test mais qui pourrait arriver assez vite. Voilà. -- Éric Chatellier - www.codelutin.com - 02.40.50.29.28
Bonjour Merci Eric pour ces détails et cette bonne nouvelle. Peux-tu faire aussi les tests sur Caparmor avant que l'on crie victoire? Stephanie Le 14/04/2014 16:59, Eric Chatellier a écrit :
Bonjour,
Suite aux différentes améliorations récentes apporter concernant la résolution des lenteurs d'IsisFish, j'ai réalisé plusieurs test sur les différentes améliorations ce matin.
Le test de références était la base de Loic (7D_V11) avec la règle taille min. Le temps global dans IsisFish 4.2 est de 1 heure 55 min sur mon PC en local (donc pas d'appels réseaux comme sur caparmor).
Le temps obtenu au final sur la version 4.3 est de 5 min. Les résultats sont identiques.
Les améliorations récemment réalisée ont été les suivantes: - mise à jour des librairies - mise en cache des appels d'équation (en particulier équation de croissance) - conservation des rejets sur un seul pas de temps - suppression des appel au système de fichier pour les équations - copie des matrices seulement si le contenu est modifié
Les différents tests suivants ont consisté à désactiver les améliorations pour déterminer ce qui prenait le plus de temps: - avec lecture FS pour les équations : 5min20 - sans mise en cache de l’équation de croissance : 23min - copie systématique des matrices : 9min - sans conservation des rejets sur un seul pas de temps : 6min - avec lecture FS pour les équations ET sans mise en cache de l’équation de croissance : 33min - avec lecture FS pour les équations ET sans mise en cache de l’équation de croissance ET copie systèmatique des matrices : 53min
Le seul point non retesté à été la mise à jour des librairies globales à l'application qui aurait sans doute augmenter encore le temps.
Le plus gros problème était la lecture du disque dur dans le cas où les equations sont appelées énormément de fois pendant une simulation. Et toutes les améliorations cumulées diminuent énormément le temps.
Il me reste un peu de travail car certaines améliorations ne sont que des tests et sont à implémenter proprement avant de faire une version de test mais qui pourrait arriver assez vite.
Voilà.
-- ...................................................................... Stephanie MAHEVAS (Stephanie.Mahevas@ifremer.fr) IFREMER/EMH (Ecologie et Modèles pour l'Halieutique) Tel: (33) 2 40 37 41 81 Fax: (33) 2 40 37 40 75 o \ o / _ o __| \ / |__ o _ \ o / o /|\ | /\ ___\o \o | o/ o/__ /\ | /|\ / \ / \ | \ /) | ( \ /o\ / ) | (\ / | / \ / \ ......................................................................
Le 15/04/2014 08:43, Stephanie MAHEVAS a écrit :
Bonjour
Merci Eric pour ces détails et cette bonne nouvelle. Peux-tu faire aussi les tests sur Caparmor avant que l'on crie victoire? Je ce que je tentais de faire vendredi, mais j'ai manqué de temps. Il faut que je sois sur place pour le faire.
Je préfère finir les modifications en cours avant pour faire des tests complets. -- Éric Chatellier - www.codelutin.com - 02.40.50.29.28
Le 15/04/2014 09:34, Eric Chatellier a écrit :
Je ce que je tentais de faire vendredi, mais j'ai manqué de temps. Il faut que je sois sur place pour le faire.
Je préfère finir les modifications en cours avant pour faire des tests complets. Je passerai vendredi matin pour faire des tests caparmor.
-- Éric Chatellier - www.codelutin.com - 02.40.50.29.28
Le 14/04/2014 16:59, Eric Chatellier a écrit :
Bonjour,
Suite aux différentes améliorations récentes apporter concernant la résolution des lenteurs d'IsisFish, j'ai réalisé plusieurs test sur les différentes améliorations ce matin. Voilà aussi (en pièce jointes) un profiling des choses qui prennent du temps dans une simulation. Globalement c'est des petites choses, mais appeler plusieurs millions de fois ca commence à prendre du temps.
-- Éric Chatellier - www.codelutin.com - 02.40.50.29.28
Le 14/04/2014 16:59, Eric Chatellier a écrit :
- mise en cache des appels d'équation (en particulier équation de croissance) Pour les équations, c'est assez délicat à mettre en cache (calculer une seule fois l’équation) car les règles peuvent changer le contenu des équations. Donc pour l'instant, nous n'avons pas optimisé les appels d’équations.
Ce n'est pas vraiment un problème, sauf pour l’équation de croissance qui est appelée un très grand nombre de fois pour les régions structurées en longueurs. Cela explique également pourquoi les bases en longueurs sont plus lentes que les bases structurées en age. Nous réfléchissons encore à un solution pour optimiser au moins les appels à l’équation de croissance. Au final, le temps de simulation est remonté de 4 min à 9 min :( Mais nous avons trouvé depuis deux autres points de lenteurs: * Accès disque inutile pendant la simulation * Suppression de code lent inutile dans les entités qui ont ramenés le temps de simulation à 5min maintenant (toujours pour la même base de référence, celle de loic). -- Éric Chatellier - www.codelutin.com - 02.40.50.29.28
Le 17/04/2014 17:47, Eric Chatellier a écrit : > qui ont ramenés le temps de simulation à 5min maintenant (toujours pour la > même base de référence, celle de loic). Sur caparmor les temps sont de : - 8min 20 : avec ecriture des résultats sur le disque - 8min : sans ecriture des résultats sur disque (13 pas de temps en mémoire) C'est plus long, mais les temps ont quand même été réduit. Cela vient: * soit du lancement légerement différent : -Xmx2000M -XX:+UseSerialGC * soit de l'architecture de caparmor -- Éric Chatellier - www.codelutin.com - 02.40.50.29.28
participants (2)
-
Eric Chatellier -
Stephanie MAHEVAS