My Project
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros
Classes | Functions | Variables
scheduling.h File Reference
#include "dfg.h"
#include "scheduling_cut.h"

Go to the source code of this file.

Classes

struct  to_schedule
 

Functions

void prepare_clone (struct dfg_msu *msu)
 Find an ID and clean up data structures for an MSU. More...
 
struct dfg_msuclone_msu (int msu_id)
 Clone a msu of given ID. More...
 
int unclone_msu (int msu_id)
 
int fix_all_route_ranges (struct dedos_dfg *dfg)
 
int schedule_msu (struct dfg_msu *msu, struct dfg_runtime *rt, struct dfg_msu **new_msus)
 Tries to place an MSU on a given runtime. More...
 
int place_on_runtime (struct dfg_runtime *rt, struct dfg_msu *msu)
 Find a core on which to spawn a new thread for an MSU. More...
 
int allocate (struct to_schedule *ts)
 
int init_scheduler (const char *policy)
 
struct dfg_threadfind_thread (struct dfg_msu *msu, struct dfg_runtime *runtime)
 
uint64_t compute_out_of_cut_bw (struct dfg_msu *msu, struct cut *c, const char *direction)
 
int greedy_policy (struct to_schedule *ts, struct dedos_dfg *dfg)
 
int set_edges (struct to_schedule *ts, struct dedos_dfg *dfg)
 
int set_msu_deadlines (struct to_schedule *ts, struct dedos_dfg *dfg)
 

Variables

int(* policy )(struct to_schedule *ts, struct dedos_dfg *dfg)
 

Function Documentation

int allocate ( struct to_schedule ts)
struct dfg_msu* clone_msu ( int  msu_id)

Clone a msu of given ID.

Parameters
msu_idid of the MSU to clone
Returns
0/-1 success/failure

Definition at line 619 of file scheduling.c.

uint64_t compute_out_of_cut_bw ( struct dfg_msu msu,
struct cut c,
const char *  direction 
)
struct dfg_thread* find_thread ( struct dfg_msu msu,
struct dfg_runtime runtime 
)
int fix_all_route_ranges ( struct dedos_dfg dfg)

Definition at line 179 of file scheduling.c.

int greedy_policy ( struct to_schedule ts,
struct dedos_dfg dfg 
)
int init_scheduler ( const char *  policy)
int place_on_runtime ( struct dfg_runtime rt,
struct dfg_msu msu 
)

Find a core on which to spawn a new thread for an MSU.

Parameters
dfg_runtimethe target runtime
structdfg_msu_msu: the target MSU
Returns
failure/success: -1/0

Definition at line 317 of file scheduling.c.

void prepare_clone ( struct dfg_msu msu)

Find an ID and clean up data structures for an MSU.

Parameters
dfg_msumsu: target MSU
Returns
none

Definition at line 260 of file scheduling.c.

int schedule_msu ( struct dfg_msu msu,
struct dfg_runtime rt,
struct dfg_msu **  new_msus 
)

Tries to place an MSU on a given runtime.

Will wire the MSU with all upstream and downstream MSU, enforcing locality constraints. Also, will spawn any missing dependency.

Parameters
structdfg_msu msu: the target MSU
structdfg_runtime: the target runtime
Returns
0/-1 success/failure

Definition at line 710 of file scheduling.c.

int set_edges ( struct to_schedule ts,
struct dedos_dfg dfg 
)
int set_msu_deadlines ( struct to_schedule ts,
struct dedos_dfg dfg 
)
int unclone_msu ( int  msu_id)

Definition at line 566 of file scheduling.c.

Variable Documentation

int(* policy)(struct to_schedule *ts, struct dedos_dfg *dfg)

Definition at line 39 of file scheduling.h.