Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Sommaire
stylenone

Génération des OF en mode parallèle

La parallélisation ne s’applique que pour les programmes qui génèrent des OF, en mode fichier GtfPlanet que dans le cas ou le nombre de ligne d’OF est supérieur à 8.

...

  • Génération des OF à l’affaire

  • Génération des OF à la commande

Instance de pilotage et instances de génération des OF

Le programme de génération des OF ggppfab100 est appelé en mode tunnel OF_Creation_Reel_Fichier. Cette instance sert à lancer et piloter les instances qui vont générer les OF - C’est l’instance de pilotage.
L’instance de pilotage va lire le contenu du fichier GtfPlan et transférer son contenu dans la table temporaire TmpBl en indiquant, pour chaque ligne OF, le numéro de l’instance qui devra générer l'OF.

...

Lorsque la dernière instance de génération des OF se termine, l’instance de pilotage reprend la main et traite le contenu de TmpBl pour alimenter le fichier GtfTmp.
L’instance de pilotage se termine pour rendre la main au programme appelant.

Nombre d’instances de générations d’OF lancés

Le nombre d’instance d’instances est calculé par la fonction OF_Moteur_X12_Caluler_NoInstanceMaxà partir du nombre de ligne d’OF à généré.

La limite est fixée à 5 instances.
Au delà on constate une dégradation des performanceperformances.

Nb OF

Nombre d’instances du programme ggppfab100

>= 20

5

>= 16 et < 20

4

>=12 et < 16

3

>=8 et < 12

2

< 8

1

Equilibrage de charge des instances de programme

L’instance de pilotage doit attendre que toutes les instances de génération des OF se terminent.
La durée totale du traitement correspond donc à la durée de l'instance de génération des OF la plus longue.

Instance du programme

Nombre de ligne d’OF

Durée

#1

6

62 secondes

#2

6

45 secondes

#3

6

183 secondes

#4

6

52 secondes

#5

5

33 secondes

Dans ce cas l’exemple ci-dessus, la durée totale de génération des OF du fichier GtfPlan correspond à l’instance #3 soit 183 secondes

On ne peut donc pas faire un équilibrage en se basant uniquement sur le nombre de ligne d’OF.

Chaque OF est plus ou moins complexe, en fonction de ses données techniques. Un OF qui produit plusieurs sous-OF et qui possède de nombreux composants ou séquences, nécessitera une durée de génération plus importante.

On va donc utiliser une mécanique de métriques OF pour répartir la charge sur chaque instance de génération d’OF en se basant sur les données techniques de l’OF.

Métriques OF

On a vu précédemment que la composition des données techniques influençait la durée de génération d’un OF.

...

  • une entête d’OF produit une commande interne + une ligne sur la commande interne

  • un composant produit une ligne sur la commande interne

  • une séquence produit des données de jalonnement

  • les ressources et outillages sont négligeables sur le durée du traitement

 

Pour chaque données techniques donnée technique, un programme va permettre de calculer et stocker une métrique MetricCoutTraitement dans la table NOMMETRIC

...

D’après la formule on a bien Métrique OF = 3 x 1,5 + 8 x 1 + 12 x 0.5 = 19

...

Equilibrage de charge des instances de génération d’OF à partir des métriques OF

Pilotage_OF_Creation_par_GtfPlan est la fonction qui transfère le contenu du fichier GtfPlan dans la table temporaire TmpBl

Elle calcule le nombre d’instances nécessaires (voir https://divalto.atlassian.net/wiki/spaces/RDI/pages/edit-v2/11576803336#Nombre-d%E2%80%99instances-de-g%C3%A9n%C3%A9rations-d%E2%80%99OF-lanc%C3%A9s) et affecte chaque ligne d’OF à 1 l’une des 5 x instances calculées en fonction du nombre d’OF à générer, en fonction de la valeur de sa métrique OF.

La fonction affecte toujours l’OF a l’instance qui est toujours la moins chargée.

Etude de cas

...

Le mode d'équilibrage est assez basique, mais d’après les tests réalisés il s’avère suffisant.

Désactiver la parallélisation sur un programme

Il est possible d’utiliser le nouveau moteur 10.12, sans avoir recourt au lancement simultané de plusieurs instances du programme de génération des OF.

...