A method and apparatus are provided for managing work granules being
executed in parallel. A task is evenly divided between a number of work
granules. The number of work granules falls between a threshold minimum
and a threshold maximum. The threshold minimum and maximum may be
configured to balance a variety of efficiency factors affected by the
number of work granules, including workload skew and overhead incurred in
managing larger number of work granules. Work granules are distributed to
processes on nodes according to which of the nodes, if any, may execute
the work granule efficiently. A variety of factors may used to determine
where a work granule may be performed efficiently, including whether data
accessed during the execution of a work granule may be locally accessed by
a node.
Une méthode et un appareil sont donnés pour les granules de gestion de travail étant exécutés en parallèle. Un charger est également divisé entre un certain nombre de granules de travail. Le nombre de granules de travail tombe entre un minimum de seuil et un maximum de seuil. Le minimum et le maximum de seuil peuvent être configurés pour équilibrer une variété de facteurs d'efficacité affectés par le nombre de granules de travail, y compris le biais de charge de travail et les frais généraux encourus dans le plus grand nombre de gestion de granules de travail. Des granules de travail sont distribués aux processus sur les noeuds selon lesquels des noeuds, le cas échéant, peuvent exécuter le granule de travail efficacement. Une variété de facteurs peut utilisé pour déterminer où un granule de travail peut être exécuté efficacement, incluant si des données consultées pendant l'exécution d'un granule de travail peuvent être localement consultées par un noeud.