wrench::BatchServiceProperty Class Reference

Configurable properties for a BatchService. More...

#include <BatchServiceProperty.h>

Inheritance diagram for wrench::BatchServiceProperty:
wrench::ComputeServiceProperty wrench::ServiceProperty

Static Public Attributes

static const std::string BATCH_QUEUE_ORDERING_ALGORITHM
 The batch queue ordering algorithm. Can be: More...
 
static const std::string BATCH_RJMS_DELAY
 Number of seconds that the Batch Scheduler adds to the runtime of each incoming job. This is something production batch systems do to avoid too aggressive job terminations. For instance, if a job says it wants to run for (at most) 60 seconds, the system will actually assume the job wants to run for (at most) 60 + 5 seconds.
 
static const std::string BATCH_SCHEDULING_ALGORITHM
 The batch scheduling algorithm. Can be: More...
 
static const std::string BATSCHED_CONTIGUOUS_ALLOCATION
 Controls Batsched node allocation policy. More...
 
static const std::string BATSCHED_LOGGING_MUTED
 Controls Batsched logging. More...
 
static const std::string HOST_SELECTION_ALGORITHM
 The host selection algorithm. Can be: More...
 
static const std::string OUTPUT_CSV_JOB_LOG
 Path to a to-be-generated Batsim-style CSV trace file (e.g. for b3atch schedule visualization purposes). More...
 
static const std::string SIMULATE_COMPUTATION_AS_SLEEP
 Simulate computation as just a sleep instead of an actual comput thread. This is for scalability reason, and only simulation-valid if one is sure that cores are space shared (i.e., only a single compute thread can ever run on a core at once). Since space-sharing at the core level is typically the case in batch-scheduled clusters, this is likely fine. Possible values are "false" (the default) or "true".
 
static const std::string SIMULATED_WORKLOAD_TRACE_FILE
 Path to a workload trace file to be replayed. The trace file can be be in the SWF format (see http://www.cs.huji.ac.il/labs/parallel/workload/swf.html), in which case it must have extension ".swf", or in the JSON format as used in the BATSIM project (see https://github.com/oar-team/batsim), in which case is must have the ".json" extension). The jobs in the trace whose node/host/processor/core requirements exceed the capacity of the batch service will simply be capped at that capacity. Job submission times in the trace files are relative to the BatchService's start time (i.e., all jobs in the trace files will be replayed no matter when the BatchService starts). Note that in the BATSIM JSON format, the trace does not contains requested vs. actual trace runtimes, and to all requested runtimes are 100% accurate.
 
static const std::string TASK_SELECTION_ALGORITHM
 The algorithm to pick which ready computational task (within a standard job executed by the batch service), in case multiple tasks are ready, should run first. This is typically not managed by a batch scheduler, but by some application-level script that executes a set of tasks within compute resources allocated by the batch scheduler. Possible values are: More...
 
static const std::string THREAD_STARTUP_OVERHEAD
 The overhead to start a thread execution, in seconds.
 
static const std::string USE_REAL_RUNTIMES_AS_REQUESTED_RUNTIMES
 Whether, when simulating a workload trace file, to use the actual runtimes as requested runtimes (i.e., simulating users who request exactly what they need) or not (i.e., simulating users who always overestimate what they need, which is typical in the real world): More...
 
- Static Public Attributes inherited from wrench::ComputeServiceProperty
static const std::string SUPPORTS_PILOT_JOBS
 Whether the compute service supports pilot jobs (true or false)
 
static const std::string SUPPORTS_STANDARD_JOBS
 Whether the compute service supports standard jobs (true or false)
 

Detailed Description

Configurable properties for a BatchService.

Member Data Documentation

◆ BATCH_QUEUE_ORDERING_ALGORITHM

const std::string wrench::BatchServiceProperty::BATCH_QUEUE_ORDERING_ALGORITHM
static

The batch queue ordering algorithm. Can be:

  • If ENABLE_BATSCHED is set to off / not set: ignored
  • If ENABLE_BATSCHED is set to on:
    • whatever queue ordering algorithm is supported by Batsched (by default: "fcfs")

◆ BATCH_SCHEDULING_ALGORITHM

const std::string wrench::BatchServiceProperty::BATCH_SCHEDULING_ALGORITHM
static

The batch scheduling algorithm. Can be:

  • If ENABLE_BATSCHED is set to off / not set:
    • "FCFS": First Come First Serve
  • If ENABLE_BATSCHED is set to on:
    • whatever scheduling algorithm is supported by Batsched (by default: "conservative_bf", other options include "easy_bf" and "easy_bf_fast")

◆ BATSCHED_CONTIGUOUS_ALLOCATION

const std::string wrench::BatchServiceProperty::BATSCHED_CONTIGUOUS_ALLOCATION
static

Controls Batsched node allocation policy.

  • If ENABLE_BATSCHED is set to off or not set: ignored
  • If ENABLE_BATSCHED is set to on:
    • "false": do not enforce contiguous nodes for allocations (default)
    • "true": enforce contiguous nodes for allocations (note that not all algorithms implemented by batsched support contiguous allocations, so this option may have no effect in some cases).

◆ BATSCHED_LOGGING_MUTED

const std::string wrench::BatchServiceProperty::BATSCHED_LOGGING_MUTED
static

Controls Batsched logging.

  • If ENABLE_BATSCHED is set to off or not set: ignored
  • If ENABLE_BATSCHED is set to on:
    • "true": do not show Batsched logging output on the terminal (default)
    • "false": show Batsched logging output on the terminal

◆ HOST_SELECTION_ALGORITHM

const std::string wrench::BatchServiceProperty::HOST_SELECTION_ALGORITHM
static

The host selection algorithm. Can be:

  • If ENABLE_BATSCHED is set to off or not set: ignored
  • If ENABLE_BATSCHED is set to on:
    • FIRSTFIT (default)
    • BESTFIT
    • ROUNDROBIN

◆ OUTPUT_CSV_JOB_LOG

const std::string wrench::BatchServiceProperty::OUTPUT_CSV_JOB_LOG
static

Path to a to-be-generated Batsim-style CSV trace file (e.g. for b3atch schedule visualization purposes).

  • If ENABLE_BATSCHED is set to off or not set: ignored
  • If ENABLE_BATSCHED is set to on: The trace file is generated in CVS format as follows: allocated_processors,consumed_energy,execution_time,finish_time,job_id,metadata, requested_number_of_processors,requested_time,starting_time,stretch,submission_time,success, turnaround_time,waiting_time,workload_name

◆ TASK_SELECTION_ALGORITHM

const std::string wrench::BatchServiceProperty::TASK_SELECTION_ALGORITHM
static

The algorithm to pick which ready computational task (within a standard job executed by the batch service), in case multiple tasks are ready, should run first. This is typically not managed by a batch scheduler, but by some application-level script that executes a set of tasks within compute resources allocated by the batch scheduler. Possible values are:

  • maximum_flops (default)
  • maximum_minimum_cores
  • minimum_top_level

◆ USE_REAL_RUNTIMES_AS_REQUESTED_RUNTIMES

const std::string wrench::BatchServiceProperty::USE_REAL_RUNTIMES_AS_REQUESTED_RUNTIMES
static

Whether, when simulating a workload trace file, to use the actual runtimes as requested runtimes (i.e., simulating users who request exactly what they need) or not (i.e., simulating users who always overestimate what they need, which is typical in the real world):

  • "true": use real runtimes as requested runtimes
  • "false": use requested times from the trace file

The documentation for this class was generated from the following file: