crown  1.0.0
pelib::crown Namespace Reference

Classes

class  CrownAllocation
class  CrownAllocationFastest
class  CrownBinary
class  CrownComposite
class  CrownCompositeAnnealing
class  CrownCompositeConsolidation
class  CrownConfig
class  CrownConfigBinary
class  CrownConfigOrgan
class  CrownConfigTaskgraph
class  CrownException
class  CrownILPIntegrated
class  CrownMapping
class  CrownMappingILP
class  CrownMappingILPBalanced
class  CrownMappingLTLG
class  CrownModular
class  CrownScaling
class  CrownScalingHeight
class  CrownScalingILP
class  CrownScheduler

Functions

Algebra neighbor_allocation (const Algebra &solution, float tasks, float cores)
Algebra neighbor_allocation_full (const Algebra &solution, float distance)
Algebra neighbor_allocation_tasks (const Algebra &solution, float distance)
Algebra neighbor_allocation_cores (const Algebra &solution, float distance)
Algebra neighbor_efficiency (const Algebra &solution, float distance)
float quality_simple (const Algebra &schedule)
float energy_static_dynamic_busy_idle_active (const Algebra &solution)
float quality_generic (const Algebra &schedule)
float quality_idle (const Algebra &schedule)
float quality_off (const Algebra &schedule)
Algebra annealing (const Algebra &initial, const Algebra &initial_best, float(*quality)(const Algebra &solution), Algebra(*neighbor)(const Algebra &solution, float distance), float temperature, float cooling, float final, int max_transform, int max_new_state, float distance)
float annealing_complexity (float temperature, float cooling, float final, int max_transform, int max_new_state, float distance)
Algebra crown_binary_simple (const Algebra &taskgraph, unsigned int precision)
Algebra crown_binary_idle (const Algebra &taskgraph, unsigned int precision)
Algebra crown_binary_off (const Algebra &taskgraph, unsigned int precision)
Algebra crown_binary (const Algebra &taskgraph, unsigned int precision)
Algebra crown_binary_annealing_allocation (const Algebra &initial, float temperature, float cooling, float final, int max_transform, int max_new_state, float distance)
Algebra crown_annealing_allocation_idle (const Algebra &initial, float temperature, float cooling, float final, int max_transform, int max_new_state, float distance)
Algebra crown_annealing_allocation_off (const Algebra &initial, float temperature, float cooling, float final, int max_transform, int max_new_state, float distance)
Algebra crown_annealing_allocation_simple (const Algebra &initial, float temperature, float cooling, float final, int max_transform, int max_new_state, float distance)
Algebra crown_binary_annealing_allocation_idle (const Algebra &initial, float temperature, float cooling, float final, int max_transform, int max_new_state, float distance)
Algebra crown_binary_annealing_allocation_off (const Algebra &initial, float temperature, float cooling, float final, int max_transform, int max_new_state, float distance)
Algebra crown_binary_annealing_allocation_simple (const Algebra &initial, float temperature, float cooling, float final, int max_transform, int max_new_state, float distance)
Algebra crown_binary_annealing_efficiency_simple (const Algebra &schedule, float temperature, float cooling, float final, int max_transform, int max_new_state, float distance)
Algebra crown_binary_annealing_efficiency_idle (const Algebra &schedule, float temperature, float cooling, float final, int max_transform, int max_new_state, float distance)
Algebra crown_binary_annealing_efficiency_off (const Algebra &schedule, float temperature, float cooling, float final, int max_transform, int max_new_state, float distance)
float crown_binary_complexity (const Algebra &schedule, unsigned int precision)

Variables

const long long int nsec_in_sec = 1000000000

Function Documentation

Algebra pelib::crown::annealing ( const Algebra &  initial,
const Algebra &  initial_best,
float(*)(const Algebra &solution)  quality,
Algebra(*)(const Algebra &solution, float distance)  neighbor,
float  temperature,
float  cooling,
float  final,
int  max_transform,
int  max_new_state,
float  distance 
)

Run simulating annealing and produce a copy of the initial solution and add the allocation vector wi

Definition at line 531 of file annealing.cpp.

float pelib::crown::annealing_complexity ( float  temperature,
float  cooling,
float  final,
int  max_transform,
int  max_new_state,
float  distance 
)

Returns time in the number of instruction as counter by a time complexity analysis, to run simulated annealing with the input problem and parameters

Definition at line 616 of file annealing.cpp.

Algebra pelib::crown::crown_annealing_allocation_idle ( const Algebra &  initial,
float  temperature,
float  cooling,
float  final,
int  max_transform,
int  max_new_state,
float  distance 
)

Definition at line 295 of file crown.cpp.

Algebra pelib::crown::crown_annealing_allocation_off ( const Algebra &  initial,
float  temperature,
float  cooling,
float  final,
int  max_transform,
int  max_new_state,
float  distance 
)

Definition at line 323 of file crown.cpp.

Algebra pelib::crown::crown_annealing_allocation_simple ( const Algebra &  initial,
float  temperature,
float  cooling,
float  final,
int  max_transform,
int  max_new_state,
float  distance 
)

Definition at line 351 of file crown.cpp.

Algebra pelib::crown::crown_binary ( const Algebra &  schedule,
unsigned int  precision 
)

Run binary search to compute allocation, using LTLG and Height heuristics for mapping and frequency scaling, respectively, and a generic energy model depending on scalars alpha, alpha-static, zeta and epsilon.

Definition at line 278 of file crown.cpp.

Algebra pelib::crown::crown_binary_annealing_allocation ( const Algebra &  initial,
float  temperature,
float  cooling,
float  final,
int  max_transform,
int  max_new_state,
float  distance 
)

Definition at line 284 of file crown.cpp.

Algebra pelib::crown::crown_binary_annealing_allocation_idle ( const Algebra &  initial,
float  temperature,
float  cooling,
float  final,
int  max_transform,
int  max_new_state,
float  distance 
)

Definition at line 380 of file crown.cpp.

Algebra pelib::crown::crown_binary_annealing_allocation_off ( const Algebra &  initial,
float  temperature,
float  cooling,
float  final,
int  max_transform,
int  max_new_state,
float  distance 
)

Definition at line 401 of file crown.cpp.

Algebra pelib::crown::crown_binary_annealing_allocation_simple ( const Algebra &  initial,
float  temperature,
float  cooling,
float  final,
int  max_transform,
int  max_new_state,
float  distance 
)

Definition at line 422 of file crown.cpp.

Algebra pelib::crown::crown_binary_annealing_efficiency_idle ( const Algebra &  schedule,
float  temperature,
float  cooling,
float  final,
int  max_transform,
int  max_new_state,
float  distance 
)

Definition at line 514 of file crown.cpp.

Algebra pelib::crown::crown_binary_annealing_efficiency_off ( const Algebra &  schedule,
float  temperature,
float  cooling,
float  final,
int  max_transform,
int  max_new_state,
float  distance 
)

Definition at line 546 of file crown.cpp.

Algebra pelib::crown::crown_binary_annealing_efficiency_simple ( const Algebra &  schedule,
float  temperature,
float  cooling,
float  final,
int  max_transform,
int  max_new_state,
float  distance 
)

Definition at line 482 of file crown.cpp.

float pelib::crown::crown_binary_complexity ( const Algebra &  schedule,
unsigned int  precision = 0 
)

Return the complexity in number of (virtual) instructions of binary search to compute an allocation for an input problem

Definition at line 578 of file crown.cpp.

Algebra pelib::crown::crown_binary_idle ( const Algebra &  taskgraph,
unsigned int  precision 
)

Definition at line 266 of file crown.cpp.

Algebra pelib::crown::crown_binary_off ( const Algebra &  taskgraph,
unsigned int  precision 
)

Definition at line 272 of file crown.cpp.

Algebra pelib::crown::crown_binary_simple ( const Algebra &  taskgraph,
unsigned int  precision 
)

Definition at line 260 of file crown.cpp.

Compute the energy consumption of a input schedule using a generic energy model parametrized with scalars alpha, alpha-static, zeta and epsilon

Definition at line 308 of file annealing.cpp.

Algebra pelib::crown::neighbor_allocation ( const Algebra &  solution,
float  tasks,
float  cores 
)

Compute a new allocation within the distance in number of task and number of cores allocated

Parameters:
taskProportion, between 0 and 1, of the number of tasks whose allocation can change. At least one task is selected for change.
coreProportion, between 0 and 1, of the maximal number of core that can be added or removed to tasks transformed. Each task transformed is added or removed at least one core.

Definition at line 60 of file annealing.cpp.

Algebra pelib::crown::neighbor_allocation_cores ( const Algebra &  solution,
float  distance 
)

Compute a neighbor solution where distance only influcen the number of core a task can be added or removed. Only one task is transformed.

Definition at line 201 of file annealing.cpp.

Algebra pelib::crown::neighbor_allocation_full ( const Algebra &  solution,
float  distance 
)

Compute a neighbor solution where distance influence both the number of tasks transformed and the number of cores a task can be added or removed.

Definition at line 189 of file annealing.cpp.

Algebra pelib::crown::neighbor_allocation_tasks ( const Algebra &  solution,
float  distance 
)

Compute a neighbor solution where distance only influence the number of tasks transformed. Their allocation can only change by one core.

Definition at line 195 of file annealing.cpp.

Algebra pelib::crown::neighbor_efficiency ( const Algebra &  solution,
float  distance 
)

Compute a neighbor allocation by influencing the minimal efficiency of tasks begin transformed.

Definition at line 207 of file annealing.cpp.

float pelib::crown::quality_generic ( const Algebra &  schedule)

Definition at line 458 of file annealing.cpp.

float pelib::crown::quality_idle ( const Algebra &  schedule)

Compute energy consumption of input schedule using an energy model taking the energy consumed by idle cores into account

Definition at line 511 of file annealing.cpp.

float pelib::crown::quality_off ( const Algebra &  schedule)

Compute energy consumption of input schedule using an energy model considering idle cores at shut down

Definition at line 517 of file annealing.cpp.

float pelib::crown::quality_simple ( const Algebra &  schedule)

Compute energy consumption of input schedule using a simple energy model

Definition at line 272 of file annealing.cpp.


Variable Documentation

const long long int pelib::crown::nsec_in_sec = 1000000000

Definition at line 57 of file crown.cpp.