Information Technology Reference
In-Depth Information
class corresponds to tasks that run on the GPU, and the CPU Multithread task class
correspond to task that can be distributed among CPUs cores. The Presentation
Task and subclasses are responsible for presenting information to the user, which
can be visual (Render Task) or audio (Sound Task).
The Network Check is implemented as a task that runs on the CPU. There is
only one instance of this class in the application. This class checks the available
computers for task processing and keeps track of the available bandwidth of the
connection to each computer.
With this class the distribution task manager can know, without previous
knowledge, the network connection speed to several computers. Using this
information, the automatic distribution class is able to better distribute the task
between the computers.
This class is always executed at the beginning of the simulation if the real-time
loop model is automatic. In the case of the loop used in the simulation is a
deterministic one, this class is not executed.
The Hardware Check is implemented as a task that runs on the CPU. There is
only one instance of this class in the application. This class checks the available
hardware and keeps track of the configuration of each computer, i.e., the number of
CPU cores and GPUs (with their capabilities) available in the system.
With
this
class
the
automatic
task
manager
can
know, without
previous
knowledge, the available hardware for the end user computer.
This class is always executed at the beginning of the simulation if the real-time
loop model is automatic. In the case of the loop used in the simulation is a
deterministic one, this class is not executed.
The Task Manager (TM) is the core component of the proposed architecture. It
is responsible for instancing, managing, synchronizing, and finalizing task threads.
Each thread is responsible for tasks that run either on the CPU or on the GPU or on
the network. In order to configure the execution of the tasks, each task has control
variables described as follows:
• THREADID: the id of the thread that the task is going to use. When the TM
creates a new thread, it creates a THREADID for the thread and it assigns the
same id to every task that executes in that thread;
• UNIQUEID: the unique id of the task. It is used to identify the tasks;
• TASKTYPE: the task type. The following types are available: input, update,
presentation, and manage;
• DEPENDENCY: a list of the tasks (ids) that this task depends on to execute.
With that information, the TM creates the task and configures how the task is
going to execute. A task manager can also hold another task manager, so it can use
it to manage some distinct group of tasks. An example of this case is the automatic
update tasks and the distribution task.
The Task Manager acts as a server and the tasks act as its clients, as every time
a task ends, it sends a message to the Task Manager. The Task manager then
checks which task it should execute in the thread.
Search WWH ::




Custom Search