Information Technology Reference
In-Depth Information
Algorithm 1 Partitioning strategy node-level, per agent, static .
Require: Set of agents A = {A 1 ,...,A m }
Require: Set of available threads T =
T 0 ,...,T nāˆ’ 1 }
Define partition as mapping from agents to threads: partition :
A ā†’
{
T
threadIndex = 0
for all agents A
āˆˆ A do
partition ( A ):= T threadIndex
threadIndex = (threadIndex + 1) mod n
end for
return partition
8.1.4 Partitioning strategy: node-level, per agent, dynamic
In contrast to the static partitioning strategy described above, a
dynamic partitioning strategy takes into account context information.
This may result in a better partitioning of a model and thus in
reduced runtime. The key question to be answered for such an
informed partitioning strategy is which measure should be used for
evaluating the quality of a partition. As indicated earlier the quality
of a partitioning is finally determined by the achieved overall speedup
of a simulation. Indirectly, the quality of a partition may be measured
very differently, e. g., distributing agents as uniformly as possible,
distributing agents based on a proximity measure, or even taking into
account past or future interaction between agents. Keeping in mind
that quadratic runtime (imposed by constraint evaluation) needs to
be dealt with, reducing the number of possibly interfering actions is
of high importance.
In dynamic partitioning strategies a partition is computed initially
and updated during a simulation. The decision when to update a
partition depends on the chosen partitioning strategy as well as on
the dynamics of the current simulation. Therefore, each dynamic
partitioning strategy has to define two functions:
 
Search WWH ::




Custom Search