IBM Streams 4.3.0

Définition du schéma de fusion par défaut au niveau instance ou domaine

Vous pouvez spécifier de quelle manière, par défaut, les opérateurs sont fusionnés au niveau du domaine et au niveau de l'instance. Un utilisateur peut, si besoin est, passer outre le schéma de fusion par défaut au moment de soumettre un travail. En revanche, s'il ne spécifie pas de schéma de fusion particulier lorsqu'il soumet son travail, c'est le schéma par défaut du domaine ou de l'instance qui est appliqué.

Pourquoi et quand exécuter cette tâche

Important : Pour utiliser ces schémas de fusion pour des applications compilées avec des versions antérieures à IBM® Streams version 4.2, vous devez recompiler vos applications avec IBM Streams version 4.2 ou ultérieure. Si vous ne les recompilez pas, leur comportement de fusion par défaut sera celui des versions antérieures à la version 4.2. (Les opérateurs seront fusionnés en utilisant le schéma legacy.)

Le schéma de fusion par défaut est spécifié en tant que propriété dynamique de l'instance ou du domaine, le qualificatif "dynamique" signifiant ici que la propriété prend effet sans qu'il soit nécessaire de redémarrer l'instance ou le domaine. Pour IBM Streams version 4.3.0, le schéma de fusion par défaut est automatic.

Vous pouvez fixer la valeur de la propriété fusionScheme en exécutant la commande streamtool setproperty.

La propriété fusionScheme détermine de quelle manière les opérateurs sont fusionnés dans des éléments de traitement au moment de la soumission. Vous pouvez la régler aux niveaux suivants :
  • Le niveau instance (instance.fusionScheme)
  • Le niveau domaine (domain.fusionScheme)
Si vous ne spécifiez pas la propriété fusionScheme au niveau instance, la valeur utilisée est celle qui est attribuée à la propriété fusionScheme au niveau domaine.

Les valeurs valides pour la propriété fusionScheme sont les suivantes :

automatic
Si vous spécifiez automatic comme schéma de fusion, IBM Streams détermine le nombre approprié d'éléments de traitement à affecter au travail.

Généralement, ce schéma de fusion produit un élément de traitement par ressource. Toutefois, IBM Streams peut modifier le nombre d'éléments de traitement produits pour éviter la création d'éléments de traitement contenant un très petit nombre d'opérateurs, ce qui peut avoir un impact négatif sur les performances.

manual
Si vous spécifiez manual comme schéma de fusion, vous pouvez indiquer vous-même le nombre d'éléments de traitement à affecter au travail en spécifiant une valeur pour le paramètre fusionTargetPeCount. Le nombre d'éléments de traitement effectivement utilisés pourra varier en fonction d'autres contraintes de configuration de travail, des spécifications de l'application et de la configuration de l'instance où vous prévoyez de déployer l'application. Par exemple, si vous indiquez un nombre élevé de contraintes d'exlocalisation sur une même partition, l'application obtenue pourra comporter plus d'éléments de traitement que prévu.
legacy
Si vous spécifiez legacy comme schéma de fusion, les opérateurs sont fusionnés comme ils l'étaient dans les versions antérieures à IBM Streams version 4.2. Généralement, chaque opérateur est fusionné dans un élément de traitement distinct si aucune autre configuration de placement n'est spécifiée dans le fichier bundle d'application.
Restriction : Le schéma de fusion que vous spécifiez est influencé par les contraintes de fusion spécifiées dans le fichier bundle d'application ainsi que par celles qui sont spécifiées au moment où le travail est soumis.

Exemple

Si vous voulez régler sur manual le schéma de fusion d'une instance, entrez la commande suivante :

streamtool setproperty -i monInstance instance.fusionScheme=manual

Notez que lorsque le schéma de fusion par défaut d'une instance est réglé sur manual, chaque application doit spécifier le paramètre fusionTargetPeCount au moment de la fusion.