Changes between Version 16 and Version 17 of Documentation/Howto/UseHiveForOptimization


Ignore:
Timestamp:
01/05/12 11:29:30 (8 years ago)
Author:
ascheibe
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentation/Howto/UseHiveForOptimization

    v16 v17  
    44Hive gives you the possibility to execute independent algorithms in parallel. It distributes those algorithms as jobs to a network of slaves which execute them and post back the results. Hive performs best if there is a large number of jobs which have long execution times. Also if limited memory is a issue on a local PC, Hive can be an advantage since it can decide to run the jobs only on machines with enough memory (like the blade server nodes).
    55
    6 The following steps are required to run a Hive Job with HeuristicLab 3.3.5:
     6The following steps are required to run a Hive Job with HeuristicLab 3.3.6:
    77
    8  1. Download the plugins for the Hive Job Manager Client (source:/branches/HeuristicLab.Hive-3.4/binaries/Plugins_Hive_HL_3.3.5.zip)
    9  1. Copy plugins to HeuristicLab directory (usually "C:\Program Files\!HeuristicLab 3.3\")
    10   * Notice that you also need to copy ''"!HeuristicLab 3.3.exe.config"'' and overwrite the existing one. This is no problem as long as you haven't made any modifications in the config file. If you have your own version of the config file see [wiki:UsersHowtosUseHiveForOptimization#Mergingconfigurationfiles Merging Configuration Files].
    118 1. Start HeuristicLab Optimizer
    129 1. Go to ''Services > Set Username / Password'' and enter your credentials
    13   * You need a user and proper privileges as ''Hive User'' on the server (which is services.heuristiclab.com). These privileges can be requested from S. Wagner.
     10  * You need a user and proper privileges as ''Hive User'' on the HEAL Hive server (which is services.heuristiclab.com). These privileges can be requested from S. Wagner if you are a research partner. If you are not a member of the HEAL research group or a research partner you can [[wiki:UsersHowtosSetupHiveServer| set up your own Hive server]].
    1411 1. Go to ''Services > Hive > Job Manager''. Now the list of your Hive Jobs is updated. The jobs are grouped into the owners of the experiments.
    1512 1. Click the plus symbol on top of the list to create a new ''Hive Job'' \\ [[Image(HiveExperiment.png, width=700)]] \\
    1613 1. Now you need to specify which job should be executed on the Hive. You can either
    17   * ... create a new job by clicking the ''"plus symbol"''.
     14  * ... create a new task by clicking the ''"plus symbol"''.
    1815  * ... move an existing experiment onto the view via drag and drop.
    1916 1. After having created or loaded an experiment you can click ''"Modify Optimizer"'' in the details view to modify it.
    2017 1. Each algorithm (also experiments and batch-runs) represent one job. \\ [[Image(JobConfiguration.png, width=800)]] \\
    2118 1. Important configurations are:
    22   * !CoresNeeded: (default: 1) Specifies how many cores will be reserved for this job on the executing machine. If you know the algorithm corresponding to this job will use multiple threads for computation, increase this number!
    23   * !MemoryNeeded: (default: 0) Specifies how much memory will be reserved for this job on the executing machine. It will only deployed on machines where the specified amount of memory is available.
     19  * Nr. of needed cores: (default: 1) Specifies how many cores will be reserved for this job on the executing machine. If you know the algorithm corresponding to this job will use multiple threads for computation, increase this number!
     20  * Memory needed: (default: 0) Specifies how much memory will be reserved for this job on the executing machine. It will only deployed on machines where the specified amount of memory is available.
    2421  * Priority: (default: 0) This number affects the scheduling of the jobs. Higher numbers will be executed earlier. It is recommended to rank jobs with long execution-times to be executed earlier to avoid waiting for them in the end.
    25   * !ComputeInParallel: This flag is only available for jobs and batch-runs.
     22  * Distribute child tasks: This flag is only available for experiments and batch-runs.
    2623   * Experiment: (default: true) If true, a job will be created for each child-optimizer. If false the whole experiment will be executed as one job.
    2724   * !BatchRun: (default: false) If true, a number of jobs will be created corresponding to the number of repetitions specified. If false the batch-run will be executed as one job.
     
    5552== Statistics ==
    5653To observe the current status and the workload there is a website which shows this information: http://services.heuristiclab.com/Hive-3.3/Status.aspx
    57 
    58 == Merging configuration files ==
    59 If you are building the trunk or your own HL-solution, the build-process will most likely overwrite ''"!HeuristicLab 3.3.exe.config"'' in the target folder. This will overwrite all the Hive-specific configuration. To avoid this, you can use the !ConfigMerger to merge the Hive-specific configurations in your own build-process:
    60 
    61  1. Download config for !HiveJobManager (source:/branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive/3.3/JobManagerOnly.config?format=txt)
    62  1. Copy the file to your own solution and rename it to ''"!HeuristicLab.Hive.config"''
    63  1. Open properties of the file in Visual Studio and select ''"Copy if newer"'' under ''"Copy to Output Directory"''.
    64  1. Add the following line to your ''"!MergeConfigs.cmd"'' (if you have one, otherwise specify directly in post-build events):
    65   * {{{ConfigMerger "%SolutionDir%\HeuristicLab\3.3\%Outdir%\HeuristicLab.Hive.config" "HeuristicLab 3.3.exe.config"}}}