<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
 | Generated by Apache Maven Doxia at 2021-06-15
 | Rendered using Apache Maven Stylus Skin 1.5
-->
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Apache Hadoop Scheduler Load Simulator &#x2013; YARN Scheduler Load Simulator (SLS)</title>
    <style type="text/css" media="all">
      @import url("./css/maven-base.css");
      @import url("./css/maven-theme.css");
      @import url("./css/site.css");
    </style>
    <link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
        <meta name="Date-Revision-yyyymmdd" content="20210615" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
                </head>
  <body class="composite">
    <div id="banner">
                        <a href="http://hadoop.apache.org/" id="bannerLeft">
                                        <img src="http://hadoop.apache.org/images/hadoop-logo.jpg" alt="" />
                </a>
                              <a href="http://www.apache.org/" id="bannerRight">
                                        <img src="http://www.apache.org/images/asf_logo_wide.png" alt="" />
                </a>
            <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="breadcrumbs">
            
                                   <div class="xleft">
                          <a href="http://www.apache.org/" class="externalLink">Apache</a>
        &gt;
                  <a href="http://hadoop.apache.org/" class="externalLink">Hadoop</a>
        &gt;
                  <a href="index.html">Apache Hadoop Scheduler Load Simulator</a>
        &gt;
        YARN Scheduler Load Simulator (SLS)
        </div>
            <div class="xright">            <a href="http://wiki.apache.org/hadoop" class="externalLink">Wiki</a>
            |
                <a href="https://gitbox.apache.org/repos/asf/hadoop.git" class="externalLink">git</a>
              
                                   &nbsp;| Last Published: 2021-06-15
              &nbsp;| Version: 3.3.1
            </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
    <div id="leftColumn">
      <div id="navcolumn">
             
                                                   <h5>General</h5>
                  <ul>
                  <li class="none">
                  <a href="../index.html">Overview</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/SingleCluster.html">Single Node Setup</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/ClusterSetup.html">Cluster Setup</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/CommandsManual.html">Commands Reference</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/FileSystemShell.html">FileSystem Shell</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/Compatibility.html">Compatibility Specification</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/DownstreamDev.html">Downstream Developer's Guide</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/AdminCompatibilityGuide.html">Admin Compatibility Guide</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/InterfaceClassification.html">Interface Classification</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/filesystem/index.html">FileSystem Specification</a>
            </li>
          </ul>
                       <h5>Common</h5>
                  <ul>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/CLIMiniCluster.html">CLI Mini Cluster</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/FairCallQueue.html">Fair Call Queue</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/NativeLibraries.html">Native Libraries</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/Superusers.html">Proxy User</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/RackAwareness.html">Rack Awareness</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/SecureMode.html">Secure Mode</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/ServiceLevelAuth.html">Service Level Authorization</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/HttpAuthentication.html">HTTP Authentication</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/CredentialProviderAPI.html">Credential Provider API</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-kms/index.html">Hadoop KMS</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/Tracing.html">Tracing</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/UnixShellGuide.html">Unix Shell Guide</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/registry/index.html">Registry</a>
            </li>
          </ul>
                       <h5>HDFS</h5>
                  <ul>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/HdfsDesign.html">Architecture</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/HdfsUserGuide.html">User Guide</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/HDFSCommands.html">Commands Reference</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html">NameNode HA With QJM</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithNFS.html">NameNode HA With NFS</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/ObserverNameNode.html">Observer NameNode</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/Federation.html">Federation</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/ViewFs.html">ViewFs</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/ViewFsOverloadScheme.html">ViewFsOverloadScheme</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/HdfsSnapshots.html">Snapshots</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/HdfsEditsViewer.html">Edits Viewer</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/HdfsImageViewer.html">Image Viewer</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/HdfsPermissionsGuide.html">Permissions and HDFS</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/HdfsQuotaAdminGuide.html">Quotas and HDFS</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/LibHdfs.html">libhdfs (C API)</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/WebHDFS.html">WebHDFS (REST API)</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-hdfs-httpfs/index.html">HttpFS</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/ShortCircuitLocalReads.html">Short Circuit Local Reads</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/CentralizedCacheManagement.html">Centralized Cache Management</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/HdfsNfsGateway.html">NFS Gateway</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/HdfsRollingUpgrade.html">Rolling Upgrade</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/ExtendedAttributes.html">Extended Attributes</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/TransparentEncryption.html">Transparent Encryption</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/HdfsMultihoming.html">Multihoming</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html">Storage Policies</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/MemoryStorage.html">Memory Storage Support</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/SLGUserGuide.html">Synthetic Load Generator</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/HDFSErasureCoding.html">Erasure Coding</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/HDFSDiskbalancer.html">Disk Balancer</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/HdfsUpgradeDomain.html">Upgrade Domain</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/HdfsDataNodeAdminGuide.html">DataNode Admin</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs-rbf/HDFSRouterFederation.html">Router Federation</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/HdfsProvidedStorage.html">Provided Storage</a>
            </li>
          </ul>
                       <h5>MapReduce</h5>
                  <ul>
                  <li class="none">
                  <a href="../hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduceTutorial.html">Tutorial</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapredCommands.html">Commands Reference</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapReduce_Compatibility_Hadoop1_Hadoop2.html">Compatibility with 1.x</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-mapreduce-client/hadoop-mapreduce-client-core/EncryptedShuffle.html">Encrypted Shuffle</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-mapreduce-client/hadoop-mapreduce-client-core/PluggableShuffleAndPluggableSort.html">Pluggable Shuffle/Sort</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-mapreduce-client/hadoop-mapreduce-client-core/DistributedCacheDeploy.html">Distributed Cache Deploy</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-mapreduce-client/hadoop-mapreduce-client-core/SharedCacheSupport.html">Support for YARN Shared Cache</a>
            </li>
          </ul>
                       <h5>MapReduce REST APIs</h5>
                  <ul>
                  <li class="none">
                  <a href="../hadoop-mapreduce-client/hadoop-mapreduce-client-core/MapredAppMasterRest.html">MR Application Master</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-mapreduce-client/hadoop-mapreduce-client-hs/HistoryServerRest.html">MR History Server</a>
            </li>
          </ul>
                       <h5>YARN</h5>
                  <ul>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/YARN.html">Architecture</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/YarnCommands.html">Commands Reference</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/CapacityScheduler.html">Capacity Scheduler</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/FairScheduler.html">Fair Scheduler</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/ResourceManagerRestart.html">ResourceManager Restart</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/ResourceManagerHA.html">ResourceManager HA</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/ResourceModel.html">Resource Model</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/NodeLabel.html">Node Labels</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/NodeAttributes.html">Node Attributes</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/WebApplicationProxy.html">Web Application Proxy</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/TimelineServer.html">Timeline Server</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/TimelineServiceV2.html">Timeline Service V.2</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/WritingYarnApplications.html">Writing YARN Applications</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/YarnApplicationSecurity.html">YARN Application Security</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/NodeManager.html">NodeManager</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/DockerContainers.html">Running Applications in Docker Containers</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/RuncContainers.html">Running Applications in runC Containers</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/NodeManagerCgroups.html">Using CGroups</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/SecureContainer.html">Secure Containers</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/ReservationSystem.html">Reservation System</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/GracefulDecommission.html">Graceful Decommission</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/OpportunisticContainers.html">Opportunistic Containers</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/Federation.html">YARN Federation</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/SharedCache.html">Shared Cache</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/UsingGpus.html">Using GPU</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/UsingFPGA.html">Using FPGA</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/PlacementConstraints.html">Placement Constraints</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/YarnUI2.html">YARN UI2</a>
            </li>
          </ul>
                       <h5>YARN REST APIs</h5>
                  <ul>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/WebServicesIntro.html">Introduction</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html">Resource Manager</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/NodeManagerRest.html">Node Manager</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/TimelineServer.html#Timeline_Server_REST_API_v1">Timeline Server</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/TimelineServiceV2.html#Timeline_Service_v.2_REST_API">Timeline Service V.2</a>
            </li>
          </ul>
                       <h5>YARN Service</h5>
                  <ul>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/yarn-service/Overview.html">Overview</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/yarn-service/QuickStart.html">QuickStart</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/yarn-service/Concepts.html">Concepts</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/yarn-service/YarnServiceAPI.html">Yarn Service API</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/yarn-service/ServiceDiscovery.html">Service Discovery</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-site/yarn-service/SystemServices.html">System Services</a>
            </li>
          </ul>
                       <h5>Hadoop Compatible File Systems</h5>
                  <ul>
                  <li class="none">
                  <a href="../hadoop-aliyun/tools/hadoop-aliyun/index.html">Aliyun OSS</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-aws/tools/hadoop-aws/index.html">Amazon S3</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-azure/index.html">Azure Blob Storage</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-azure-datalake/index.html">Azure Data Lake Storage</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-openstack/index.html">OpenStack Swift</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-cos/cloud-storage/index.html">Tencent COS</a>
            </li>
          </ul>
                       <h5>Auth</h5>
                  <ul>
                  <li class="none">
                  <a href="../hadoop-auth/index.html">Overview</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-auth/Examples.html">Examples</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-auth/Configuration.html">Configuration</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-auth/BuildingIt.html">Building</a>
            </li>
          </ul>
                       <h5>Tools</h5>
                  <ul>
                  <li class="none">
                  <a href="../hadoop-streaming/HadoopStreaming.html">Hadoop Streaming</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-archives/HadoopArchives.html">Hadoop Archives</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-archive-logs/HadoopArchiveLogs.html">Hadoop Archive Logs</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-distcp/DistCp.html">DistCp</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-gridmix/GridMix.html">GridMix</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-rumen/Rumen.html">Rumen</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-resourceestimator/ResourceEstimator.html">Resource Estimator Service</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-sls/SchedulerLoadSimulator.html">Scheduler Load Simulator</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/Benchmarking.html">Hadoop Benchmarking</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-dynamometer/Dynamometer.html">Dynamometer</a>
            </li>
          </ul>
                       <h5>Reference</h5>
                  <ul>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/release/">Changelog and Release Notes</a>
            </li>
                  <li class="none">
                  <a href="../api/index.html">Java API docs</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/UnixShellAPI.html">Unix Shell API</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/Metrics.html">Metrics</a>
            </li>
          </ul>
                       <h5>Configuration</h5>
                  <ul>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/core-default.xml">core-default.xml</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs/hdfs-default.xml">hdfs-default.xml</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-hdfs-rbf/hdfs-rbf-default.xml">hdfs-rbf-default.xml</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml">mapred-default.xml</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-yarn/hadoop-yarn-common/yarn-default.xml">yarn-default.xml</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-kms/kms-default.html">kms-default.xml</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-hdfs-httpfs/httpfs-default.html">httpfs-default.xml</a>
            </li>
                  <li class="none">
                  <a href="../hadoop-project-dist/hadoop-common/DeprecatedProperties.html">Deprecated Properties</a>
            </li>
          </ul>
                                 <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
          <img alt="Built by Maven" src="./images/logos/maven-feather.png"/>
        </a>
                       
                               </div>
    </div>
    <div id="bodyColumn">
      <div id="contentBox">
        <!---
  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License. See accompanying LICENSE file.
-->
<h1>YARN Scheduler Load Simulator (SLS)</h1>
<ul>

<li><a href="#Yarn_Scheduler_Load_Simulator_SLS">YARN Scheduler Load Simulator (SLS)</a>
<ul>

<li><a href="#Overview">Overview</a>
<ul>

<li><a href="#Overview">Overview</a></li>
<li><a href="#Goals">Goals</a></li>
<li><a href="#Architecture">Architecture</a></li>
<li><a href="#Usecases">Usecases</a></li>
</ul>
</li>
<li><a href="#Usage">Usage</a>
<ul>

<li><a href="#Step_1:_Configure_Hadoop_and_the_simulator">Step 1: Configure Hadoop and the simulator</a></li>
<li><a href="#Step_2:_Run_the_simulator">Step 2: Run the simulator</a></li>
</ul>
</li>
<li><a href="#Metrics">Metrics</a>
<ul>

<li><a href="#Real-time_Tracking">Real-time Tracking</a></li>
<li><a href="#Offline_Analysis">Offline Analysis</a></li>
</ul>
</li>
<li><a href="#Synthetic_Load_Generator">Synthetic Load Generator</a></li>
<li><a href="#Appendix">Appendix</a>
<ul>

<li><a href="#Resources">Resources</a></li>
<li><a href="#SLS_JSON_input_file_format">SLS JSON input file format</a></li>
<li><a href="#SYNTH_JSON_input_file_format">SYNTH JSON input file format</a></li>
<li><a href="#Simulator_input_topology_file_format">Simulator input topology file format</a></li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="section">
<h2><a name="Overview"></a>Overview</h2>
<div class="section">
<h3><a name="Overview"></a>Overview</h3>
<p>The YARN scheduler is a fertile area of interest with different implementations, e.g., Fifo, Capacity and Fair schedulers. Meanwhile, several optimizations are also made to improve scheduler performance for different scenarios and workload. Each scheduler algorithm has its own set of features, and drives scheduling decisions by many factors, such as fairness, capacity guarantee, resource availability, etc. It is very important to evaluate a scheduler algorithm very well before we deploy in a production cluster. Unfortunately, currently it is non-trivial to evaluate a scheduler algorithm. Evaluating in a real cluster is always time and cost consuming, and it is also very hard to find a large-enough cluster. Hence, a simulator which can predict how well a scheduler algorithm for some specific workload would be quite useful.</p>
<p>The YARN Scheduler Load Simulator (SLS) is such a tool, which can simulate large-scale YARN clusters and application loads in a single machine.This simulator would be invaluable in furthering YARN by providing a tool for researchers and developers to prototype new scheduler features and predict their behavior and performance with reasonable amount of confidence, thereby aiding rapid innovation. o The simulator will exercise the real YARN <tt>ResourceManager</tt> removing the network factor by simulating <tt>NodeManagers</tt> and <tt>ApplicationMasters</tt> via handling and dispatching <tt>NM</tt>/<tt>AMs</tt> heartbeat events from within the same JVM. To keep tracking of scheduler behavior and performance, a scheduler wrapper will wrap the real scheduler.</p>
<p>The size of the cluster and the application load can be loaded from configuration files, which are generated from job history files directly by adopting <a href="../hadoop-rumen/Rumen.html">Apache Rumen</a>.</p>
<p>The simulator will produce real time metrics while executing, including:</p>
<ul>

<li>

<p>Resource usages for whole cluster and each queue, which can be utilized to configure cluster and queue&#x2019;s capacity.</p>
</li>
<li>

<p>The detailed application execution trace (recorded in relation to simulated time), which can be analyzed to understand/validate the scheduler behavior (individual jobs turn around time, throughput, fairness, capacity guarantee, etc.).</p>
</li>
<li>

<p>Several key metrics of scheduler algorithm, such as time cost of each scheduler operation (allocate, handle, etc.), which can be utilized by Hadoop developers to find the code spots and scalability limits.</p>
</li>
</ul></div>
<div class="section">
<h3><a name="Goals"></a>Goals</h3>
<ul>

<li>

<p>Exercise the scheduler at scale without a real cluster using real job traces.</p>
</li>
<li>

<p>Being able to simulate real workloads.</p>
</li>
</ul></div>
<div class="section">
<h3><a name="Architecture"></a>Architecture</h3>
<p>The following figure illustrates the implementation architecture of the simulator.</p>
<p><img src="images/sls_arch.png" alt="The architecture of the simulator" /></p>
<p>The simulator takes input of workload traces, or synthetic load distributions and generaters the cluster and applications information. For each NM and AM, the simulator builds a simulator to simulate their running. All NM/AM simulators run in a thread pool. The simulator reuses YARN Resource Manager, and builds a wrapper out of the scheduler. The Scheduler Wrapper can track the scheduler behaviors and generates several logs, which are the outputs of the simulator and can be further analyzed.</p></div>
<div class="section">
<h3><a name="Usecases"></a>Usecases</h3>
<ul>

<li>

<p>Engineering</p>
<ul>

<li>Verify correctness of scheduler algorithm under load</li>
<li>Cheap/practical way for finding code hotspots/critical-path.</li>
<li>Validate the impact of changes and new features.</li>
<li>Determine what drives the scheduler scalability limits.</li>
</ul>
</li>
<li>

<p>QA</p>
<ul>

<li>Validate scheduler behavior for &#x201c;large&#x201d; clusters and several workload profiles.</li>
</ul>
</li>
<li>

<p>Solutions/Sales.</p>
<ul>

<li>Sizing model for predefined/typical workloads.</li>
<li>Cluster sizing tool using real customer data (job traces).</li>
<li>Determine minimum SLAs under a particular workload.</li>
</ul>
</li>
</ul></div></div>
<div class="section">
<h2><a name="Usage"></a>Usage</h2>
<p>This section will show how to use the simulator. Here let <tt>$HADOOP_ROOT</tt> represent the Hadoop install directory. If you build Hadoop yourself, <tt>$HADOOP_ROOT</tt> is <tt>hadoop-dist/target/hadoop-$VERSION</tt>. The simulator is located at <tt>$HADOOP_ROOT/share/hadoop/tools/sls</tt>. The fold <tt>sls</tt> containers four directories: <tt>bin</tt>, <tt>html</tt>, <tt>sample-conf</tt>, and <tt>sample-data</tt></p>
<ul>

<li>

<p><tt>bin</tt>: contains running scripts for the simulator.</p>
</li>
<li>

<p><tt>html</tt>: Users can also reproduce those real-time tracking charts in offline mode. Just upload the <tt>realtimetrack.json</tt> to <tt>$HADOOP_ROOT/share/hadoop/tools/sls/html/showSimulationTrace.html</tt>. For browser security problem, need to put files <tt>realtimetrack.json</tt> and <tt>showSimulationTrace.html</tt> in the same directory.</p>
</li>
<li>

<p><tt>sample-conf</tt>: specifies the simulator configurations.</p>
</li>
<li>

<p><tt>sample-data</tt>: provides an example rumen trace, which can be used to generate inputs of the simulator.</p>
</li>
</ul>
<p>The following sections will describe how to use the simulator step by step. Before start, make sure that command <tt>hadoop</tt> is included in your <tt>$PATH</tt> environment parameter.</p>
<div class="section">
<h3><a name="Step_1:_Configure_Hadoop_and_the_simulator"></a>Step 1: Configure Hadoop and the simulator</h3>
<p>Before we start, make sure Hadoop and the simulator are configured well. All configuration files for Hadoop and the simulator should be placed in directory <tt>$HADOOP_ROOT/etc/hadoop</tt>, where the <tt>ResourceManager</tt> and YARN scheduler load their configurations. Directory <tt>$HADOOP_ROOT/share/hadoop/tools/sls/sample-conf/</tt> provides several example configurations, that can be used to start a demo.</p>
<p>For configuration of Hadoop and YARN scheduler, users can refer to Yarn&#x2019;s website (<a class="externalLink" href="http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/">http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/</a>).</p>
<p>For the simulator, it loads configuration information from file <tt>$HADOOP_ROOT/etc/hadoop/sls-runner.xml</tt>.</p>
<p>Here we illustrate each configuration parameter in <tt>sls-runner.xml</tt>. Note that <tt>$HADOOP_ROOT/share/hadoop/tools/sls/sample-conf/sls-runner.xml</tt> contains all the default values for these configuration parameters.</p>
<ul>

<li>

<p><tt>yarn.sls.runner.pool.size</tt></p>
<p>The simulator uses a thread pool to simulate the <tt>NM</tt> and <tt>AM</tt> running, and this parameter specifies the number of threads in the pool.</p>
</li>
<li>

<p><tt>yarn.sls.nm.memory.mb</tt></p>
<p>The total memory for each <tt>NMSimulator</tt>.</p>
</li>
<li>

<p><tt>yarn.sls.nm.vcores</tt></p>
<p>The total vCores for each <tt>NMSimulator</tt>.</p>
</li>
<li>

<p><tt>yarn.sls.nm.heartbeat.interval.ms</tt></p>
<p>The heartbeat interval for each <tt>NMSimulator</tt>.</p>
</li>
<li>

<p><tt>yarn.sls.am.heartbeat.interval.ms</tt></p>
<p>The heartbeat interval for each <tt>AMSimulator</tt>.</p>
</li>
<li>

<p><tt>yarn.sls.am.type.mapreduce</tt></p>
<p>The <tt>AMSimulator</tt> implementation for MapReduce-like applications. Users can specify implementations for other type of applications.</p>
</li>
<li>

<p><tt>yarn.sls.container.memory.mb</tt></p>
<p>The memory required for each container simulator.</p>
</li>
<li>

<p><tt>yarn.sls.container.vcores</tt></p>
<p>The vCores required for each container simulator.</p>
</li>
<li>

<p><tt>yarn.sls.runner.metrics.switch</tt></p>
<p>The simulator introduces <a class="externalLink" href="http://metrics.codahale.com/">Metrics</a> to measure the behaviors of critical components and operations. This field specifies whether we open (<tt>ON</tt>) or close (<tt>OFF</tt>) the Metrics running.</p>
</li>
<li>

<p><tt>yarn.sls.metrics.web.address.port</tt></p>
<p>The port used by simulator to provide real-time tracking. The default value is 10001.</p>
</li>
<li>

<p><tt>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo.FifoScheduler</tt></p>
<p>The implementation of scheduler metrics of Fifo Scheduler.</p>
</li>
<li>

<p><tt>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</tt></p>
<p>The implementation of scheduler metrics of Fair Scheduler.</p>
</li>
<li>

<p><tt>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</tt></p>
<p>The implementation of scheduler metrics of Capacity Scheduler.</p>
</li>
</ul></div>
<div class="section">
<h3><a name="Step_2:_Run_the_simulator"></a>Step 2: Run the simulator</h3>
<p>The simulator supports two types of input files: the rumen traces and its own input traces. The script to start the simulator is <tt>slsrun.sh</tt>.</p>

<div>
<div>
<pre class="source">$ cd $HADOOP_ROOT/share/hadoop/tools/sls
$ bin/slsrun.sh
  Usage: slsrun.sh &lt;OPTIONS&gt;
             --tracetype=&lt;SYNTH | SLS | RUMEN&gt;
             --tracelocation=&lt;FILE1,FILE2,...&gt;
             (deprecated --input-rumen=&lt;FILE1,FILE2,...&gt;  | --input-sls=&lt;FILE1,FILE2,...&gt;)
             --output-dir=&lt;SLS_SIMULATION_OUTPUT_DIRECTORY&gt;
             [--nodes=&lt;SLS_NODES_FILE&gt;]
             [--track-jobs=&lt;JOBID1,JOBID2,...&gt;]
             [--print-simulation]
</pre></div></div>

<ul>

<li>

<p><tt>--input-rumen</tt>: The input rumen trace files. Users can input multiple files, separated by comma. One example trace is provided in <tt>$HADOOP_ROOT/share/hadoop/tools/sls/sample-data/2jobs2min-rumen-jh.json</tt>. This is equivalent to <tt>--tracetype=RUMEN --tracelocation=&lt;path_to_trace&gt;</tt>.</p>
</li>
<li>

<p><tt>--input-sls</tt>: Simulator its own file format. The simulator also provides a tool to convert rumen traces to sls traces (<tt>rumen2sls.sh</tt>). Refer to appendix for an example of sls input json file. This is equivalent to <tt>--tracetype=SLS --tracelocation=&lt;path_to_trace&gt;</tt>.</p>
</li>
<li>

<p><tt>--tracetype</tt>: This is the new way to configure the trace generation and takes values RUMEN, SLS, or SYNTH, to trigger the three type of load generation</p>
</li>
<li>

<p><tt>--tracelocation</tt>: Path to the input file, matching the tracetype above.</p>
</li>
<li>

<p><tt>--output-dir</tt>: The output directory for generated running logs and metrics.</p>
</li>
<li>

<p><tt>--nodes</tt>: The cluster topology. By default, the simulator will use the topology fetched from the input json files. Users can specifies a new topology by setting this parameter. Refer to the appendix for the topology file format.</p>
</li>
<li>

<p><tt>--track-jobs</tt>: The particular jobs that will be tracked during simulator running, spearated by comma.</p>
</li>
<li>

<p><tt>--print-simulation</tt>: Whether to print out simulation information before simulator running, including number of nodes, applications, tasks, and information for each application.</p>
<p>In comparison to rumen format, here the sls format is much simpler and users can easily generate various workload. The simulator also provides a tool to convert rumen traces to sls traces.</p>

<div>
<div>
<pre class="source">$ bin/rumen2sls.sh
  --rumen-file=&lt;RUMEN_FILE&gt;
  --output-dir=&lt;SLS_OUTPUT_DIRECTORY&gt;
    [--output-prefix=&lt;SLS_FILE_PREFIX&gt;]
</pre></div></div>
</li>
<li>

<p><tt>--rumen-file</tt>: The rumen format file. One example trace is provided in directory <tt>sample-data</tt>.</p>
</li>
<li>

<p><tt>--output-dir</tt>: The output directory of generated simulation traces. Two files will be generated in this output directory, including one trace file including all job and task information, and another file showing the topology information.</p>
</li>
<li>

<p><tt>--output-prefix</tt>: The prefix of the generated files. The default value is &#x201c;sls&#x201d;, and the two generated files are <tt>sls-jobs.json</tt> and <tt>sls-nodes.json</tt>.</p>
</li>
</ul></div></div>
<div class="section">
<h2><a name="Metrics"></a>Metrics</h2>
<p>The YARN Scheduler Load Simulator has integrated <a class="externalLink" href="http://metrics.codahale.com/">Metrics</a> to measure the behaviors of critical components and operations, including running applications and containers, cluster available resources, scheduler operation timecost, et al. If the switch <tt>yarn.sls.runner.metrics.switch</tt> is set <tt>ON</tt>, <tt>Metrics</tt> will run and output it logs in <tt>--output-dir</tt> directory specified by users. Users can track these information during simulator running, and can also analyze these logs after running to evaluate the scheduler performance.</p>
<div class="section">
<h3><a name="Real-time_Tracking"></a>Real-time Tracking</h3>
<p>The simulator provides an interface for tracking its running in real-time. Users can go to <tt>http://host:port/simulate</tt> to track whole running, and <tt>http://host:port/track</tt> to track a particular job or queue. Here the <tt>host</tt> is the place when we run the simulator, and <tt>port</tt> is the value configured by <tt>yarn.sls.metrics.web.address.port</tt> (default value is 10001).</p>
<p>Here we&#x2019;ll illustrate each chart shown in the webpage.</p>
<p>The first figure describes the number of running applications and containers.</p>
<p><img src="images/sls_running_apps_containers.png" alt="Number of running applications/containers" /></p>
<p>The second figure describes the allocated and available resources (memory) in the cluster.</p>
<p><img src="images/sls_cluster_memory.png" alt="Cluster Resource (Memory)" /></p>
<p>The third figure describes the allocated resource for each queue. Here we have three queues: sls_queue_1, sls_queue_2, and sls_queue_3.The first two queues are configured with 25% share, while the last one has 50% share.</p>
<p><img src="images/sls_queue_allocated_memory.png" alt="Queue Allocated Resource (Memory)" /></p>
<p>The fourth figure describes the timecost for each scheduler operation.</p>
<p><img src="images/sls_scheduler_operation_timecost.png" alt="Scheduler Opertion Timecost" /></p>
<p>Finally, we measure the memory used by the simulator.</p>
<p><img src="images/sls_JVM.png" alt="JVM Memory" /></p>
<p>The simulator also provides an interface for tracking some particular jobs and queues. Go to <tt>http://&lt;Host&gt;:&lt;Port&gt;/track</tt> to get these information.</p>
<p>Here the first figure illustrates the resource usage information for queue <tt>SLS_Queue_1</tt>.</p>
<p><img src="images/sls_track_queue.png" alt="Tracking Queue " /></p>
<p>The second figure illustrates the resource usage information for job <tt>job_1369942127770_0653</tt>.</p>
<p><img src="images/sls_track_job.png" alt="Tracking Job " /></p></div>
<div class="section">
<h3><a name="Offline_Analysis"></a>Offline Analysis</h3>
<p>After the simulator finishes, all logs are saved in the output directory specified by <tt>--output-dir</tt> in <tt>$HADOOP_ROOT/share/hadoop/tools/sls/bin/slsrun.sh</tt>.</p>
<ul>

<li>

<p>File <tt>realtimetrack.json</tt>: records all real-time tracking logs every 1 second.</p>
</li>
<li>

<p>File <tt>jobruntime.csv</tt>: records all jobs&#x2019; start and end time in the simulator.</p>
</li>
<li>

<p>Folder <tt>metrics</tt>: logs generated by the Metrics.</p>
</li>
</ul>
<p>Users can also reproduce those real-time tracking charts in offline mode. Just upload the <tt>realtimetrack.json</tt> to <tt>$HADOOP_ROOT/share/hadoop/tools/sls/html/showSimulationTrace.html</tt>. For browser security problem, need to put files <tt>realtimetrack.json</tt> and <tt>showSimulationTrace.html</tt> in the same directory.</p></div></div>
<div class="section">
<h2><a name="Synthetic_Load_Generator"></a>Synthetic Load Generator</h2>
<p>The Synthetic Load Generator complements the extensive nature of SLS-native and RUMEN traces, by providing a distribution-driven generation of load. The load generator is organized as a JobStoryProducer (compatible with rumen, and thus gridmix for later integration). We seed the Random number generator so that results randomized but deterministic&#x2014;hence reproducible. We organize the jobs being generated around <i>/workloads/job_class</i> hierarchy, which allow to easily group jobs with similar behaviors and categorize them (e.g., jobs with long running containers, or maponly computations, etc..). The user can control average and standard deviations for many of the important parameters, such as number of mappers/reducers, duration of mapper/reducers, size (mem/cpu) of containers, chance of reservation, etc. We use weighted-random sampling (whenever we pick among a small number of options) or LogNormal distributions (to avoid negative values) when we pick from wide ranges of values&#x2014;see appendix on LogNormal distributions.</p>
<p>The SYNTH mode of SLS is very convenient to generate very large loads without the need for extensive input files. This allows to easily explore wide range of use cases (e.g., imagine simulating 100k jobs, and in different runs simply tune the average number of mappers, or average task duration), in an efficient and compact way.</p></div>
<div class="section">
<h2><a name="Resource_Type_in_SLS"></a>Resource Type in SLS</h2>
<p>This section talks about how to use resource type in SLS.</p></div>
<div class="section">
<h2><a name="Configure_Resource_Manager"></a>Configure Resource Manager</h2>
<p>This is the same to how to configure resource type for a real cluster. Configure item <tt>yarn.resource-types</tt> in yarn-site.xml as the following example does.</p>

<div>
<div>
<pre class="source"> &lt;property&gt;
   &lt;name&gt;yarn.resource-types&lt;/name&gt;
   &lt;value&gt;resource-type1, resource-type2&lt;/value&gt;
 &lt;/property&gt;
</pre></div></div>
</div>
<div class="section">
<h2><a name="Configure_Node_Manager"></a>Configure Node Manager</h2>
<p>Specify the size of resource in each node by adding relevant items into sls-runner.xml like the following example does. The values apply for every node in SLS. The default values for resources other than memory and vcores are 0.</p>

<div>
<div>
<pre class="source"> &lt;property&gt;
   &lt;name&gt;yarn.sls.nm.resource-type1&lt;/name&gt;
   &lt;value&gt;10&lt;/value&gt;
 &lt;/property&gt;
 &lt;property&gt;
   &lt;name&gt;yarn.sls.nm.resource-type2&lt;/name&gt;
   &lt;value&gt;10&lt;/value&gt;
 &lt;/property&gt;
</pre></div></div>
</div>
<div class="section">
<h2><a name="Specify_Resource_in_SLS_JSON_input"></a>Specify Resource in SLS JSON input</h2>
<p>Resource Type is supported in SLS JSON input format, but not in other two formats(SYNTH and RUMEN). To make it work in SLS JSON input format, you can specify resource sizes for both task containers and the AM container. Here is an example.</p>

<div>
<div>
<pre class="source">{
  &quot;job.start.ms&quot; : 0,
  &quot;am.memory-mb&quot;: 2048,
  &quot;am.vcores&quot;: 2,
  &quot;am.resource-type1&quot;: 2,
  &quot;am.resource-type2&quot;: 2,
  &quot;job.tasks&quot; : [ {
    &quot;container.duration.ms&quot;:  5000
    &quot;container.memory-mb&quot;: 1024,
    &quot;container.vcores&quot;: 1,
    &quot;container.resource-type1&quot;: 1,
    &quot;container.resource-type2&quot;: 1
  }
}
</pre></div></div>
</div>
<div class="section">
<h2><a name="Appendix"></a>Appendix</h2>
<div class="section">
<h3><a name="Resources"></a>Resources</h3>
<p><a class="externalLink" href="https://issues.apache.org/jira/browse/YARN-1021">YARN-1021</a> is the main JIRA that introduces YARN Scheduler Load Simulator to Hadoop YARN project. <a class="externalLink" href="https://issues.apache.org/jira/browse/YARN-6363">YARN-6363</a> is the main JIRA that introduces the Synthetic Load Generator to SLS.</p></div>
<div class="section">
<h3><a name="SLS_JSON_input_file_format"></a>SLS JSON input file format</h3>
<p>Here we provide an example format of the sls json file, which contains 2 jobs. The first job has 3 map tasks and the second one has 2 map tasks.</p>

<div>
<div>
<pre class="source">{
  &quot;num.nodes&quot;: 3,  // total number of nodes in the cluster
  &quot;num.racks&quot;: 1   // total number of racks in the cluster, it divides num.nodes into the racks evenly, optional, the default value is 1
}
{
  &quot;am.type&quot; : &quot;mapreduce&quot;, // type of AM, optional, the default value is &quot;mapreduce&quot;
  &quot;job.start.ms&quot; : 0,      // job start time
  &quot;job.end.ms&quot; : 95375,    // job finish time, optional, the default value is 0
  &quot;job.queue.name&quot; : &quot;sls_queue_1&quot;, // the queue job will be submitted to
  &quot;job.id&quot; : &quot;job_1&quot;,      // the job id used to track the job, optional. The default value, an zero-based integer increasing with number of jobs, is used if this is not specified or job.count &gt; 1
  &quot;job.user&quot; : &quot;default&quot;,  // user, optional, the default value is &quot;default&quot;
  &quot;job.count&quot; : 1,         // number of jobs, optional, the default value is 1
  &quot;job.tasks&quot; : [ {
    &quot;count&quot;: 1,    // number of tasks, optional, the default value is 1
    &quot;container.host&quot; : &quot;/default-rack/node1&quot;,  // host the container asks for
    &quot;container.start.ms&quot; : 6664,  // container start time, optional
    &quot;container.end.ms&quot; : 23707,   // container finish time, optional
    &quot;container.duration.ms&quot;:  50000, // duration of the container, optional if start and end time is specified
    &quot;container.priority&quot; : 20,    // priority of the container, optional, the default value is 20
    &quot;container.type&quot; : &quot;map&quot;      // type of the container, could be &quot;map&quot; or &quot;reduce&quot;, optional, the default value is &quot;map&quot;
  }, {
    &quot;container.host&quot; : &quot;/default-rack/node3&quot;,
    &quot;container.start.ms&quot; : 6665,
    &quot;container.end.ms&quot; : 21593,
    &quot;container.priority&quot; : 20,
    &quot;container.type&quot; : &quot;map&quot;
  }, {
    &quot;container.host&quot; : &quot;/default-rack/node2&quot;,
    &quot;container.start.ms&quot; : 68770,
    &quot;container.end.ms&quot; : 86613,
    &quot;container.priority&quot; : 20,
    &quot;container.type&quot; : &quot;map&quot;
  } ]
}
{
  &quot;am.type&quot; : &quot;mapreduce&quot;,
  &quot;job.start.ms&quot; : 105204,
  &quot;job.end.ms&quot; : 197256,
  &quot;job.queue.name&quot; : &quot;sls_queue_2&quot;,
  &quot;job.id&quot; : &quot;job_2&quot;,
  &quot;job.user&quot; : &quot;default&quot;,
  &quot;job.tasks&quot; : [ {
    &quot;container.host&quot; : &quot;/default-rack/node1&quot;,
    &quot;container.start.ms&quot; : 111822,
    &quot;container.end.ms&quot; : 133985,
    &quot;container.priority&quot; : 20,
    &quot;container.type&quot; : &quot;map&quot;
  }, {
    &quot;container.host&quot; : &quot;/default-rack/node2&quot;,
    &quot;container.start.ms&quot; : 111788,
    &quot;container.end.ms&quot; : 131377,
    &quot;container.priority&quot; : 20,
    &quot;container.type&quot; : &quot;map&quot;
  } ]
}
</pre></div></div>
</div>
<div class="section">
<h3><a name="SYNTH_JSON_input_file_format"></a>SYNTH JSON input file format</h3>
<p>Here we provide an example format of the synthetic generator json file. We use <i>(json-non-conforming)</i> inline comments to explain the use of each parameter.</p>

<div>
<div>
<pre class="source">{
  &quot;description&quot; : &quot;tiny jobs workload&quot;,    //description of the meaning of this collection of workloads
  &quot;num_nodes&quot; : 10,  //total nodes in the simulated cluster
  &quot;nodes_per_rack&quot; : 4, //number of nodes in each simulated rack
  &quot;num_jobs&quot; : 10, // total number of jobs being simulated
  &quot;rand_seed&quot; : 2, //the random seed used for deterministic randomized runs

  // a list of &#x201c;workloads&#x201d;, each of which has job classes, and temporal properties
  &quot;workloads&quot; : [
    {
      &quot;workload_name&quot; : &quot;tiny-test&quot;, // name of the workload
      &quot;workload_weight&quot;: 0.5,  // used for weighted random selection of which workload to sample from
      &quot;queue_name&quot; : &quot;sls_queue_1&quot;, //queue the job will be submitted to

    //different classes of jobs for this workload
       &quot;job_classes&quot; : [
        {
          &quot;class_name&quot; : &quot;class_1&quot;, //name of the class
          &quot;class_weight&quot; : 1.0, //used for weighted random selection of class within workload

          //nextr group controls average and standard deviation of a LogNormal distribution that
          //determines the number of mappers and reducers for thejob.
          &quot;mtasks_avg&quot; : 5,
          &quot;mtasks_stddev&quot; : 1,
          &quot;rtasks_avg&quot; : 5,
          &quot;rtasks_stddev&quot; : 1,

          //averge and stdev input param of LogNormal distribution controlling job duration
          &quot;dur_avg&quot; : 60,
          &quot;dur_stddev&quot; : 5,

          //averge and stdev input param of LogNormal distribution controlling mappers and reducers durations
          &quot;mtime_avg&quot; : 10,
          &quot;mtime_stddev&quot; : 2,
          &quot;rtime_avg&quot; : 20,
          &quot;rtime_stddev&quot; : 4,

          //averge and stdev input param of LogNormal distribution controlling memory and cores for map and reduce
          &quot;map_max_memory_avg&quot; : 1024,
          &quot;map_max_memory_stddev&quot; : 0.001,
          &quot;reduce_max_memory_avg&quot; : 2048,
          &quot;reduce_max_memory_stddev&quot; : 0.001,
          &quot;map_max_vcores_avg&quot; : 1,
          &quot;map_max_vcores_stddev&quot; : 0.001,
          &quot;reduce_max_vcores_avg&quot; : 2,
          &quot;reduce_max_vcores_stddev&quot; : 0.001,

          //probability of running this job with a reservation
          &quot;chance_of_reservation&quot; : 0.5,
          //input parameters of LogNormal distribution that determines the deadline slack (as a multiplier of job duration)
          &quot;deadline_factor_avg&quot; : 10.0,
          &quot;deadline_factor_stddev&quot; : 0.001,
        }
       ],
    // for each workload determines with what probability each time bucket is picked to choose the job starttime.
    // In the example below the jobs have twice as much chance to start in the first minute than in the second minute
    // of simulation, and then zero chance thereafter.
      &quot;time_distribution&quot; : [
        { &quot;time&quot; : 1, &quot;weight&quot; : 66 },
        { &quot;time&quot; : 60, &quot;weight&quot; : 33 },
        { &quot;time&quot; : 120, &quot;jobs&quot; : 0 }
     ]
    }
 ]
}
</pre></div></div>
</div>
<div class="section">
<h3><a name="Simulator_input_topology_file_format"></a>Simulator input topology file format</h3>
<p>Here is an example input topology file which has 3 nodes organized in 1 rack.</p>

<div>
<div>
<pre class="source">{
  &quot;rack&quot; : &quot;default-rack&quot;,
  &quot;nodes&quot; : [ {
    &quot;node&quot; : &quot;node1&quot;
  }, {
    &quot;node&quot; : &quot;node2&quot;
  }, {
    &quot;node&quot; : &quot;node3&quot;
  }]
}
</pre></div></div>
</div>
<div class="section">
<h3><a name="Notes_on_LogNormal_distribution:"></a>Notes on LogNormal distribution:</h3>
<p>LogNormal distributions represent well many of the parameters we see in practice (e.g., most jobs have a small number of mappers, but few might be very large, and few very small, but greater than zero. It is however worth noticing that it might be tricky to use, as the average is typically on the right side of the peak (most common value) of the distribution, because the distribution has a one-side tail.</p></div></div>
      </div>
    </div>
    <div class="clear">
      <hr/>
    </div>
    <div id="footer">
      <div class="xright">
        &#169;            2008-2021
              Apache Software Foundation
            
                          - <a href="http://maven.apache.org/privacy-policy.html">Privacy Policy</a>.
        Apache Maven, Maven, Apache, the Apache feather logo, and the Apache Maven project logos are trademarks of The Apache Software Foundation.
      </div>
      <div class="clear">
        <hr/>
      </div>
    </div>
  </body>
</html>
