This module implements function relative to reclustering This module is used by the kernel manager Reclustering is a functionality that enable the system to borrow some resources (free pages) of a cluster to another cluster.
More...
This module implements function relative to reclustering This module is used by the kernel manager Reclustering is a functionality that enable the system to borrow some resources (free pages) of a cluster to another cluster.
HEMPS VERSION - 8.0 - support for RT applications
Distribution: June 2016
Created by: Marcelo Ruaro - contact: marce.nosp@m.lo.r.nosp@m.uaro@.nosp@m.acad.nosp@m..pucr.nosp@m.s.br
Research group: GAPH-PUCRS - contact: ferna.nosp@m.ndo..nosp@m.morae.nosp@m.s@pu.nosp@m.crs.b.nosp@m.r
void fires_reclustering_protocol |
( |
| ) |
|
Fires a new round of the reclustering protocol. This function send the load request to the neighboors masters delimited by the reclustering.neighbors_level variable
handle reclustering packets incoming from kernel master. The kernel master kwnows that the packet is a reclustering related packet and calls this function passing the ServiceHeader pointer.
- Parameters
-
int is_reclustering_NOT_active |
( |
| ) |
|
|
inline |
Test if the reclustering is not active
- Returns
- 1 if is not active, 0 if is active
Searches for first application task not mapped yet, firing the reclustering
- Parameters
-
- Returns
- 1 - if the application have all its task mapped, 0 - if the reclustering was initiated
void reclustering_setup |
( |
int |
c_id | ) |
|
Setup a reclustering, called by kernel and configure the cluster ID and initializes some variables
- Parameters
-
void send_loan_proc_delivery |
( |
int |
master_address, |
|
|
int |
taskID, |
|
|
int |
proc, |
|
|
int |
hops |
|
) |
| |
Assembles and sends a LOAN_PROCESSOR_DELIVERY packet to the target of reclustering (requesting) master kernel
- Parameters
-
master_address | Requesting reclustering master address |
taskID | Task ID target of reclustering |
proc | Allocated processor |
hops | Number of hops from the target processor |
void send_loan_proc_release |
( |
int |
master_address, |
|
|
int |
release_proc, |
|
|
int |
taskID |
|
) |
| |
Assembles and sends a LOAN_PROCESSOR_RELEASE packet to the neighbor master kernel
- Parameters
-
master_address | Neighbor master address |
release_proc | Address of the released processor |
taskID | Task ID target of reclustering |
void send_loan_proc_request |
( |
int |
address, |
|
|
int |
taskID |
|
) |
| |
Assembles and sends a LOAN_PROCESSOR_REQUEST packet to the neighbor master kernel
- Parameters
-
address | Neighbor master address |
taskID | Task ID target of reclustering |
Current cluster ID.
Cluster ID index of array cluster_info - clusterID is the only extern global variable in in all software.