The ROme OpTimistic Simulator  2.0.0
A General-Purpose Multithreaded Parallel/Distributed Simulation Platform
stf.h File Reference

O(n) scheduling algorithm. More...

#include <core/core.h>
#include <scheduler/process.h>
+ Include dependency graph for stf.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

struct lp_structsmallest_timestamp_first (void)
 O(n) scheduler. More...
 

Detailed Description

O(n) scheduling algorithm.

This module implements the O(n) scheduler based on the Lowest-Timestamp First policy.

Each worker thread has its own pool of LPs to check, thanks to the temporary binding which is computed in binding.c

This file is part of ROOT-Sim (ROme OpTimistic Simulator).

ROOT-Sim is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; only version 3 of the License applies.

ROOT-Sim is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with ROOT-Sim; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Author
Francesco Quaglia
Alessandro Pellegrini
Roberto Vitali

Definition in file stf.h.

Function Documentation

struct lp_struct* smallest_timestamp_first ( void  )

O(n) scheduler.

This function implements the smallest timestamp first algorithm. This function is executed by every worker thread independently. Data separation is ensured by relying on the temporary LP binding.

Returns
a pointer to the lp_struct of the LP to be activated.

Definition at line 53 of file stf.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function: