diff --git a/taskvine/src/manager/vine_manager.c b/taskvine/src/manager/vine_manager.c index ba0cf0d8b0..abe13c34e8 100644 --- a/taskvine/src/manager/vine_manager.c +++ b/taskvine/src/manager/vine_manager.c @@ -3928,6 +3928,8 @@ struct vine_manager *vine_ssl_create(int port, const char *key, const char *cert // peer transfers enabled by default q->peer_transfers_enabled = 1; + q->task_groups_enabled = 0; + q->load_from_shared_fs_enabled = 0; q->file_source_max_transfers = VINE_FILE_SOURCE_MAX_TRANSFERS; @@ -4618,8 +4620,10 @@ int vine_submit(struct vine_manager *q, struct vine_task *t) /* Ensure category structure is created. */ vine_category_lookup_or_create(q, t->category); - /* Attemp to group this task based on temp dependencies. */ - vine_task_groups_assign_task(q, t); + /* Attempt to group this task based on temp dependencies. */ + if(q->task_groups_enabled) { + vine_task_groups_assign_task(q, t); + } change_task_state(q, t, VINE_TASK_READY); @@ -5575,6 +5579,9 @@ int vine_tune(struct vine_manager *q, const char *name, double value) } else if (!strcmp(name, "update-interval")) { q->update_interval = MAX(1, (int)value); + } else if (!strcmp(name, "task-groups")) { + q->task_groups_enabled = MIN(1, (int)value); + } else if (!strcmp(name, "resource-management-interval")) { q->resource_management_interval = MAX(1, (int)value); diff --git a/taskvine/src/manager/vine_manager.h b/taskvine/src/manager/vine_manager.h index 6e5f85343e..db263f6b10 100644 --- a/taskvine/src/manager/vine_manager.h +++ b/taskvine/src/manager/vine_manager.h @@ -177,6 +177,9 @@ struct vine_manager { int file_source_max_transfers; int worker_source_max_transfers; + /* Task Groups Configuration */ + int task_groups_enabled; + /* Various performance knobs that can be tuned. */ int short_timeout; /* Timeout in seconds to send/recv a brief message from worker */ int long_timeout; /* Timeout if in the middle of an incomplete message. */