Split Run Settings
Contents
1. Introduction
Split Execution provides the option to split models by Planning Horizon, Chronological Horizon, Samples, and Outage Pattern. When the Horizon is split, the dialog prompts for the number of divisions and a units option. The duration of the Horizon will be converted to the specified unit and then divided by the number of divisions. Each division is executed separately, allowing for parallel processing, and the results are combined into a single Solution file when all of the processes are complete, as though it had been run as one process.
Split Run options from the Execution Window2. Execution Settings
The most appropriate method for splitting a model depends on the model itself. It is important to consider the pros and cons of each splitting method. Splitting by horizon can at points, such as horizon start and end dates, provide a "less optimal" solution due to the loss of continuity. Splitting by sample or outage pattern however, has no side effects when compared to the traditional method of execution.
When splitting horizon, a model is usually easiest to split when it uses chronological step sizes of a single day, and with Year Ends and Week Begins both set to automatic. It is also best to choose the number of divisions and units such that they divide the horizon evenly.
When splitting a model which has both samples and outage patterns by either samples or outage patterns, it is important to be aware of the total number of simulated and reported samples will be. For example, a model with 4 samples and 10 outage patters which is split by samples by two divisions will require a total of 20 unique simulations.
Planning Horizon
This method of splitting divides the Planning horizon, which in turn will synchronize and split the chronological horizon to the same size as the planning horizon split. Splitting by Planning Horizon does support the use of look-ahead in the horizon settings, but only look-ahead of whole days. Please note that when using Look-ahead the overall length of both the chronological and non-chronological solutions will be less than the horizon settings as data for the final look ahead period is not recorded.
Chronological Horizon
This method of splitting will only divide the chronological horizon, meaning each segment will run the full planning horizon, then its own portion of the chronological horizon. Splitting by chronological horizon does support the use of look-ahead.
Sample
In theory, each sample represents a unique simulation. Splitting by samples will therefore execute batches of samples.
Outage Patterns
Splitting by outage patterns is much like splitting by samples, but instead PLEXOS will execute batches of outage patterns.
3. Execution Methods
Execute in Parallel
A parallel run will execute as many splits as Concurrent Processes, in parallel. The number of concurrent processes is limited by the number specified in the dialog. Simulations which must be run in excess of this number are queued to run as the initial processes complete so that no more than the specified number are concurrently executing. PLEXOS will only consume (check-out) a single license, regardless of the number of "split" simulations specified.
Execute Sequential
A sequential execution executes one model at a time (identical to setting concurrent processes to 1). Sequential execution can sometimes be beneficial over parallel execution, for example when using an OpenPLEXOS assembly which requires models to run in order, or when computer resource limitations require one model to be run at a time.
Execute in Connect
This method will use the current PLEXOS Connect settings to execute the splits, whether that be a single client or multiple.
PLEXOSLauncher
When using either "execute in parallel" or "execute sequential", control will be passed to PLEXOSLauncher which handles the splitting, queuing and execution of split run models. PLEXOSLauncher can also be used on its own in the command line to execute split runs. Below is the standard help output which details how to use it in the command line.
Usage: PLEXOSLauncher [OPTIONS] [filenames] OPTIONS: -h, --help Extended help. -f, --config-file <file> Expects one filename to a configuration file. -x, --export-config <file> Export parameters as a configuration file. -m, --model <modelname> If specified once, applies to all databases; else specify in parallel with filename list. -p, --project <modelname> If specified once, applies to all databases; else specify in parallel with filename list. -o, --output-dir <dir> Solution output directory. If specified once, applies to all databases; else specify in parallel with filename list. -n, --auto-close Execution windows will close upon completion (default: wait for user acknowledgement). -t, --termination Termination prevention (blocks Ctrl+C on Execution windows.) -c, --process-count <#> Maximum concurrent processes. -e, --engine-path <file> Specify the location of PLEXOS64.exe. (Default is path of PLEXOSLauncher.) -w, --no-execute Do not execute any databases. (Intended for generating split databases without also executing them.) -d, --delete Delete databases (Designed for use on temporary copies. Be careful not to use this flag on your main copy.) -s, --split <args> Split filename(s) based on args. See extended help. -z, --no-stitch Applies to split run. Skips the solution stitching phase. -u, --stitch-target <file> Target filename for stitched solution. -j, --consecutive Use consecutive joining for solution stitching. -l, --login Connection String (SQL Server format: see https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring.aspx) Split Argument Format Samples: S,<divisions> Outages: O,<divisions> Planning Horizon: P,<divisions>,<step-type> <step-type>: 1 = Day 2 = Week 3 = Month 4 = Year Chronological Horizon: C,<divisions>,<step-type> <step-type>: -1 = Second 0 = Minute 1 = Hour 2 = Day 3 = Week 4 = Month