Research Article

An Adaptive Message Passing MPSoC Framework

Algorithm 2

void improvement_service_routine()
int , ;
//Cycles through all NPU tasks
for ( ; ; ++)
//Deactivates policy for dead/newly instantiated tasks
if (tcb[ ].status != NEW && tcb[ ].status != DEAD)
//Cycles through all FIFOs
for ( ; .nb_socket; ++)
//Verifies if FIFO usage MAX_THRESHOLD
if (tcb[ ].fifo_in[ ].average > MAX_THRESHOLD)
//Triggers migration procedure if task
//is not already alone on the NPU
if ( )
request_task_migration(tcb[ ].task_ID);