|
HeMPS
8.0
|
Defines structures Application, Task, and Dependence. More...
#include "../../include/kernel_pkg.h"

Go to the source code of this file.
Classes | |
| struct | Dependence |
| This structure stores the communication dependences of a given task This structure is fulfilled by the kernel master during the reception of a new application. Thus, the application repository keeps the dependence information for each task. More... | |
| struct | Task |
| This structure stores variables useful to manage a task from a manager kernel perspective Some of the values are loaded from repository others, changed at runtime. More... | |
| struct | Application |
| This structure store variables useful to the kernel master manage an application instance. More... | |
Macros | |
| #define | RUNNING 1 |
| Signals that the application have all its task mapped and the task already has been requested. | |
| #define | FREE 2 |
| Signals that all task of the application finishes. | |
| #define | WAITING_RECLUSTERING 3 |
| Signals that the application have at least one task waiting for reclustering. | |
| #define | READY_TO_LOAD 4 |
| Signals that the application have all its task mapped but the task not were requested yet. | |
| #define | REQUESTED 0 |
| Signals that the task has already requested to the global master. | |
| #define | ALLOCATED 1 |
| Signals that the task has successfully allocated into a processor. | |
| #define | TASK_RUNNING 2 |
| Signals that the task is running on the processor. | |
| #define | TERMINATED_TASK 3 |
| Signals that the task terminated its execution. | |
| #define | MIGRATING 4 |
| Signals that the task was set to be migrated on the slave kernel. | |
| #define | MAX_TASK_DEPENDECES 10 |
| Stores maximum number of dependences task that a task can have. | |
Functions | |
| Application * | get_application_ptr (int) |
| Application * | get_next_pending_app () |
| int | set_task_allocated (Application *, int) |
| void | set_task_terminated (Application *, int) |
| void | set_task_migrating (int) |
| void | set_task_migrated (int, int) |
| unsigned int | get_app_id_counter () |
| Application * | read_and_create_application (unsigned int, volatile unsigned int *) |
| void | remove_application (int) |
| void | initialize_applications () |
Defines structures Application, Task, and Dependence.
HEMPS VERSION - 8.0 - support for RT applications
Distribution: June 2016
Created by: Marcelo Ruaro - contact: marcelo.ruaro@acad.pucrs.br
Research group: GAPH-PUCRS - contact: fernando.moraes@pucrs.br
The Application structure is useful to the kernel_master to manage the applications' information. This structure is also composed of the substructures: Task and Dependece. Task stores the specific information of each applications's task Dependence stores the task communication dependence information.
| Application* get_application_ptr | ( | int | app_id | ) |
Receives and app ID and return the Application pointer for the required app ID. If not found, the kernel entering in a error situation
| app_id | ID of the application |
| Application* get_next_pending_app | ( | ) |
Get the oldest application waiting reclustering
| int set_task_allocated | ( | Application * | app, |
| int | task_id | ||
| ) |
Set a task status as allocated and verifies the number of allocated task for the application
| app | Application pointer of the task |
| task_id | ID of the allocated task |
| void set_task_migrated | ( | int | task_id, |
| int | new_proc | ||
| ) |
Set a task status as migrated
| app | Application pointer of the task |
| task_id | ID of the migrated task |
| void set_task_migrating | ( | int | task_id | ) |
Set a task status as migrating
| app | Application pointer of the task |
| task_id | ID of the migrating task |
| void set_task_terminated | ( | Application * | app, |
| int | task_id | ||
| ) |
Set a task status as terminated
| app | Application pointer of the task |
| task_id | ID of the terminated task |
1.8.11