Information Technology Reference
In-Depth Information
Fig. 2.2
Multithread uncoupled model
Hence, the models proposed in [ 9 , 13 , 14 ] try to address these issues. The
Fixed-Frequency Uncoupled Model outlined in [ 13 ] features another update stage
that runs at a fixed frequency, besides the time-based one. Dalmau [ 8 ] presents a
similar model, although not naming it explicitly. These works describe the model
using
a
single-thread
approach.
Figure 2.4
illustrates
the
Fixed-Frequency
Uncoupled Model.
The model described in [ 9 ] presents just one update stage that runs at a fixed-
frequency, whose main objective is to attain reproducibility. Another interesting
model is the one used in the Microsoft XNA framework [ 14 ]. The XNA model has
an update stage that runs at a fixed frequency or freely, but not both. The user is able
to set a parameter that informs the XNA framework about which one to use. While
this is an old framework, modern engines still keep using the same approach. This is
especially relevant for simulators, since they typically use high profile machines.
Dealing with concurrent programming introduces another set of problems, such
as data sharing, data synchronization, and deadlocks. Also, as Gabb and Lake [ 11 ]
states, that not all tasks can be fully parallelized due to dependencies among them.
As examples, a dynamic simulation element cannot move until the complete logic
is computed, and visualization cannot be performed until the game state is
updated. Hence, serial tasks represent a bottleneck to parallelizing simulation
computation.
Monkkonen [ 12 ] presents models regarding multithread architectures that are
grouped into two categories: function parallel models and data parallel models. The
first category is devoted to models that present concurrent tasks, while the second
one tries to find data that can be processed entirely in parallel. The Synchronous
Function Parallel Model [ 12 ] proposes to allocate a thread to all tasks that are
(theoretically) independent of each other. For example, performing complex
physics simulation while calculating animation. Figure 2.5 illustrates this model.
Search WWH ::




Custom Search