7 #ifndef CCTOOLS_CATEGORY_H
8 #define CCTOOLS_CATEGORY_H
64 struct hash_table *histograms;
69 int64_t completions_since_last_reset;
75 uint64_t average_task_time;
80 struct hash_table *mf_variables;
84 void category_specify_allocation_mode(
struct category *c,
int mode);
86 int category_enable_auto_resource(
struct category *c,
const char *resource_name,
int autolabel);
88 void category_specify_max_allocation(
struct category *c,
const struct rmsummary *s);
89 void category_specify_min_allocation(
struct category *c,
const struct rmsummary *s);
90 void category_specify_first_allocation_guess(
struct category *c,
const struct rmsummary *s);
92 struct category *category_create(
const char *name);
93 struct category *category_lookup_or_create(
struct hash_table *categories,
const char *name);
94 void category_delete(
struct hash_table *categories,
const char *name);
95 void categories_initialize(
struct hash_table *categories,
struct rmsummary *top,
const char *summaries_file);
98 int category_update_first_allocation(
struct category *c,
const struct rmsummary *max_worker);
100 int category_in_steady_state(
struct category *c);
If maximum values are specified for cores, memory, or disk (either a user-label or category-label) an...
Definition: category.h:36
Portable routines for high resolution timing.
category_mode_t
Valid modes for computing automatic resource allocations.
Definition: category.h:31
Same as FIRST, FIRST is deprecated.
Definition: category.h:22
Using max of category.
Definition: category.h:23
No valid resources could be found.
Definition: category.h:24
category_allocation_t
Valid states for the lifetime of automatic resource allocations for a single task.
Definition: category.h:20
As above, but maximizing throughput.
Definition: category.h:46
Statistics describing a work queue.
Definition: work_queue.h:219
Definition: rmsummary.h:28
As above, but tasks are tried with an automatically computed first-allocation to minimize resource wa...
Definition: category.h:44
A general purpose hash table.
Keep counts of doubles that fall in some given bucket size.
When monitoring is disabled, all tasks run as CATEGORY_ALLOCATION_MODE_FIXED.
Definition: category.h:35
Definition: category.h:50
No automatic allocation, or using first step value of the two-step policy.
Definition: category.h:21