7 #ifndef CCTOOLS_CATEGORY_H
8 #define CCTOOLS_CATEGORY_H
48 CATEGORY_ALLOCATION_MODE_MAX_THROUGHPUT
66 struct itable *histograms;
71 int64_t completions_since_last_reset;
77 uint64_t average_task_time;
82 struct hash_table *mf_variables;
86 void category_specify_allocation_mode(
struct category *c,
int mode);
88 int category_enable_auto_resource(
struct category *c,
const char *resource_name,
int autolabel);
90 void category_specify_max_allocation(
struct category *c,
const struct rmsummary *s);
91 void category_specify_min_allocation(
struct category *c,
const struct rmsummary *s);
92 void category_specify_first_allocation_guess(
struct category *c,
const struct rmsummary *s);
94 struct category *category_create(
const char *name);
95 struct category *category_lookup_or_create(
struct hash_table *categories,
const char *name);
96 void category_delete(
struct hash_table *categories,
const char *name);
97 void categories_initialize(
struct hash_table *categories,
struct rmsummary *top,
const char *summaries_file);
100 int category_update_first_allocation(
struct category *c,
const struct rmsummary *max_worker);
102 int category_in_steady_state(
struct category *c);
As above, but tasks are first tried with an automatically computed allocation to minimize resource wa...
Definition: category.h:44
Portable routines for high resolution timing.
category_mode_t
Valid modes for computing automatic resource allocations.
Definition: category.h:32
Same as FIRST, FIRST is deprecated.
Definition: category.h:23
Using max of category.
Definition: category.h:24
No valid resources could be found.
Definition: category.h:25
category_allocation_t
Valid states for the lifetime of automatic resource allocations for a single task.
Definition: category.h:21
Statistics describing a work queue.
Definition: work_queue.h:219
Definition: rmsummary.h:26
As above, but maximizing throughput.
Definition: category.h:46
A general purpose hash table.
Keep counts of doubles that fall in some given bucket size.
An integer-indexed hash table.
When monitoring is disabled, all tasks run as WORK_QUEUE_ALLOCATION_MODE_FIXED.
Definition: category.h:36
Definition: category.h:52
No automatic allocation, or using first step value of the two-step policy.
Definition: category.h:22