You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by tu...@apache.org on 2013/09/27 22:23:21 UTC

svn commit: r1527059 [1/9] - in /hadoop/common/trunk: hadoop-assemblies/src/main/resources/assemblies/ hadoop-project/ hadoop-project/src/site/ hadoop-tools/ hadoop-tools/hadoop-openstack/ hadoop-tools/hadoop-sls/ hadoop-tools/hadoop-sls/dev-support/ h...

Author: tucu
Date: Fri Sep 27 20:23:19 2013
New Revision: 1527059

URL: http://svn.apache.org/r1527059
Log:
YARN-1021. Yarn Scheduler Load Simulator. (ywskycn via tucu)

Added:
    hadoop/common/trunk/hadoop-assemblies/src/main/resources/assemblies/hadoop-sls.xml
    hadoop/common/trunk/hadoop-tools/hadoop-sls/   (with props)
    hadoop/common/trunk/hadoop-tools/hadoop-sls/README
    hadoop/common/trunk/hadoop-tools/hadoop-sls/dev-support/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/dev-support/findbugs-exclude.xml
    hadoop/common/trunk/hadoop-tools/hadoop-sls/pom.xml
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/assemblies/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/assemblies/sls.xml
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/bin/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/bin/rumen2sls.sh
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/bin/slsrun.sh
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/data/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/data/2jobs2min-rumen-jh.json
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/html/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/html/css/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/html/css/bootstrap-responsive.min.css
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/html/css/bootstrap.min.css
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/html/js/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/html/js/thirdparty/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/html/js/thirdparty/bootstrap.min.js
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/html/js/thirdparty/d3-LICENSE
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/html/js/thirdparty/d3.v3.js
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/html/js/thirdparty/jquery.js
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/html/showSimulationTrace.html
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/html/simulate.html.template
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/html/simulate.info.html.template
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/html/track.html.template
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/RumenToSLSConverter.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/SLSRunner.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/appmaster/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/appmaster/AMSimulator.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/appmaster/MRAMSimulator.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/conf/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/conf/SLSConfiguration.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/nodemanager/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/nodemanager/NMSimulator.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/nodemanager/NodeInfo.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/CapacitySchedulerMetrics.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/ContainerSimulator.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/FairSchedulerMetrics.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/FifoSchedulerMetrics.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/NodeUpdateSchedulerEventWrapper.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/RMNodeWrapper.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/ResourceSchedulerWrapper.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/SchedulerMetrics.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/scheduler/TaskRunner.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/utils/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/utils/SLSUtils.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/web/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/java/org/apache/hadoop/yarn/sls/web/SLSWebApp.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/sample-conf/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/sample-conf/capacity-scheduler.xml
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/sample-conf/fair-scheduler-allocation.xml
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/sample-conf/fair-scheduler.xml
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/sample-conf/log4j.properties
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/sample-conf/sls-runner.xml
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/sample-conf/yarn-site.xml
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/site/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/site/apt/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/site/apt/SchedulerLoadSimulator.apt.vm
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/site/resources/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/site/resources/css/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/site/resources/css/site.css
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/site/resources/images/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/site/resources/images/sls_JVM.png   (with props)
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/site/resources/images/sls_arch.png   (with props)
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/site/resources/images/sls_cluster_memory.png   (with props)
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/site/resources/images/sls_cluster_vcores.png   (with props)
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/site/resources/images/sls_queue_allocated_memory.png   (with props)
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/site/resources/images/sls_queue_allocated_vcores.png   (with props)
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/site/resources/images/sls_running_apps_containers.png   (with props)
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/site/resources/images/sls_scheduler_operation_timecost.png   (with props)
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/site/resources/images/sls_track_job.png   (with props)
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/site/resources/images/sls_track_queue.png   (with props)
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/java/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/java/org/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/java/org/apache/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/TestSLSRunner.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/scheduler/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/scheduler/TestTaskRunner.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/utils/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/utils/TestSLSUtils.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/web/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/web/TestSLSWebApp.java
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/resources/
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/resources/fair-scheduler-allocation.xml
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/resources/fair-scheduler.xml
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/resources/simulate.html.template
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/resources/simulate.info.html.template
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/resources/sls-runner.xml
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/resources/track.html.template
    hadoop/common/trunk/hadoop-tools/hadoop-sls/src/test/resources/yarn-site.xml
Modified:
    hadoop/common/trunk/hadoop-assemblies/src/main/resources/assemblies/hadoop-tools.xml
    hadoop/common/trunk/hadoop-project/pom.xml
    hadoop/common/trunk/hadoop-project/src/site/site.xml
    hadoop/common/trunk/hadoop-tools/hadoop-openstack/   (props changed)
    hadoop/common/trunk/hadoop-tools/hadoop-tools-dist/pom.xml
    hadoop/common/trunk/hadoop-tools/pom.xml

Added: hadoop/common/trunk/hadoop-assemblies/src/main/resources/assemblies/hadoop-sls.xml
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-assemblies/src/main/resources/assemblies/hadoop-sls.xml?rev=1527059&view=auto
==============================================================================
--- hadoop/common/trunk/hadoop-assemblies/src/main/resources/assemblies/hadoop-sls.xml (added)
+++ hadoop/common/trunk/hadoop-assemblies/src/main/resources/assemblies/hadoop-sls.xml Fri Sep 27 20:23:19 2013
@@ -0,0 +1,45 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you 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.
+-->
+<assembly>
+  <id>hadoop-sls</id>
+  <formats>
+    <format>dir</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+
+  <fileSets>
+    <fileSet>
+      <directory>${basedir}/src/main/bin</directory>
+      <outputDirectory>sls/bin</outputDirectory>
+      <fileMode>0755</fileMode>
+    </fileSet>
+    <fileSet>
+      <directory>${basedir}/src/main/html</directory>
+      <outputDirectory>sls/html</outputDirectory>
+    </fileSet>
+    <fileSet>
+      <directory>${basedir}/src/main/sample-conf</directory>
+      <outputDirectory>sls/sample-conf</outputDirectory>
+    </fileSet>
+    <fileSet>
+      <directory>${basedir}/src/main/data</directory>
+      <outputDirectory>sls/sample-data</outputDirectory>
+    </fileSet>
+  </fileSets>
+
+</assembly>

Modified: hadoop/common/trunk/hadoop-assemblies/src/main/resources/assemblies/hadoop-tools.xml
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-assemblies/src/main/resources/assemblies/hadoop-tools.xml?rev=1527059&r1=1527058&r2=1527059&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-assemblies/src/main/resources/assemblies/hadoop-tools.xml (original)
+++ hadoop/common/trunk/hadoop-assemblies/src/main/resources/assemblies/hadoop-tools.xml Fri Sep 27 20:23:19 2013
@@ -93,6 +93,17 @@
         <include>*-sources.jar</include>
       </includes>
     </fileSet>
+    <fileSet>
+      <directory>../hadoop-sls/target</directory>
+      <outputDirectory>/share/hadoop/${hadoop.component}/sources</outputDirectory>
+      <includes>
+        <include>*-sources.jar</include>
+      </includes>
+    </fileSet>
+    <fileSet>
+      <directory>../hadoop-sls/target/hadoop-sls-${project.version}/sls</directory>
+      <outputDirectory>/share/hadoop/${hadoop.component}/sls</outputDirectory>
+    </fileSet>
   </fileSets>
   <dependencySets>
     <dependencySet>

Modified: hadoop/common/trunk/hadoop-project/pom.xml
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-project/pom.xml?rev=1527059&r1=1527058&r2=1527059&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-project/pom.xml (original)
+++ hadoop/common/trunk/hadoop-project/pom.xml Fri Sep 27 20:23:19 2013
@@ -730,6 +730,16 @@
         <artifactId>hsqldb</artifactId>
         <version>2.0.0</version>
       </dependency>
+      <dependency>
+        <groupId>com.codahale.metrics</groupId>
+        <artifactId>metrics-core</artifactId>
+        <version>3.0.0</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.hadoop</groupId>
+        <artifactId>hadoop-sls</artifactId>
+        <version>${project.version}</version>
+      </dependency>
     </dependencies>
   </dependencyManagement>
 

Modified: hadoop/common/trunk/hadoop-project/src/site/site.xml
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-project/src/site/site.xml?rev=1527059&r1=1527058&r2=1527059&view=diff
==============================================================================
--- hadoop/common/trunk/hadoop-project/src/site/site.xml (original)
+++ hadoop/common/trunk/hadoop-project/src/site/site.xml Fri Sep 27 20:23:19 2013
@@ -95,6 +95,7 @@
       <item name="Fair Scheduler" href="hadoop-yarn/hadoop-yarn-site/FairScheduler.html"/>
       <item name="Web Application Proxy" href="hadoop-yarn/hadoop-yarn-site/WebApplicationProxy.html"/>
       <item name="YARN Commands" href="hadoop-yarn/hadoop-yarn-site/YarnCommands.html"/>
+      <item name="Scheduler Load Simulator" href="hadoop-sls/SchedulerLoadSimulator.html"/>
     </menu>
 
     <menu name="YARN REST APIs" inherit="top">

Propchange: hadoop/common/trunk/hadoop-tools/hadoop-openstack/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Sep 27 20:23:19 2013
@@ -0,0 +1 @@
+target

Propchange: hadoop/common/trunk/hadoop-tools/hadoop-sls/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Fri Sep 27 20:23:19 2013
@@ -0,0 +1 @@
+target

Added: hadoop/common/trunk/hadoop-tools/hadoop-sls/README
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-tools/hadoop-sls/README?rev=1527059&view=auto
==============================================================================
--- hadoop/common/trunk/hadoop-tools/hadoop-sls/README (added)
+++ hadoop/common/trunk/hadoop-tools/hadoop-sls/README Fri Sep 27 20:23:19 2013
@@ -0,0 +1,12 @@
+Yarn Scheduler Load Simulator (SLS)
+
+SLS is a stress and performance harness for the Yarn Resource Manager Scheduler
+that exercises the scheduler implementation simulating the cluster size and the
+applications load without having to have a cluster nor applications.
+
+SLS runs a regular RM without RPC endpoints and uses a NodeManager and
+Application Manager simulators to send and receive events simulating cluster
+and application load behavior.
+
+The size of the cluster and the application load is scripted in a configuration
+file.

Added: hadoop/common/trunk/hadoop-tools/hadoop-sls/dev-support/findbugs-exclude.xml
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-tools/hadoop-sls/dev-support/findbugs-exclude.xml?rev=1527059&view=auto
==============================================================================
--- hadoop/common/trunk/hadoop-tools/hadoop-sls/dev-support/findbugs-exclude.xml (added)
+++ hadoop/common/trunk/hadoop-tools/hadoop-sls/dev-support/findbugs-exclude.xml Fri Sep 27 20:23:19 2013
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You 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.
+-->
+<FindBugsFilter>
+
+ <!-- Ignore comparedTo, equals warnings -->
+  <Match>
+    <Class name="org.apache.hadoop.yarn.sls.scheduler.ContainerSimulator" />
+    <Bug pattern="EQ_COMPARETO_USE_OBJECT_EQUALS" />
+  </Match>
+
+</FindBugsFilter>

Added: hadoop/common/trunk/hadoop-tools/hadoop-sls/pom.xml
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-tools/hadoop-sls/pom.xml?rev=1527059&view=auto
==============================================================================
--- hadoop/common/trunk/hadoop-tools/hadoop-sls/pom.xml (added)
+++ hadoop/common/trunk/hadoop-tools/hadoop-sls/pom.xml Fri Sep 27 20:23:19 2013
@@ -0,0 +1,184 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.hadoop</groupId>
+    <artifactId>hadoop-project</artifactId>
+    <version>3.0.0-SNAPSHOT</version>
+    <relativePath>../../hadoop-project</relativePath>
+  </parent>
+  <groupId>org.apache.hadoop</groupId>
+  <artifactId>hadoop-sls</artifactId>
+  <version>3.0.0-SNAPSHOT</version>
+  <description>Apache Hadoop Scheduler Load Simulator</description>
+  <name>Apache Hadoop Scheduler Load Simulator</name>
+  <packaging>jar</packaging>
+
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-client</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-minicluster</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-rumen</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.codahale.metrics</groupId>
+      <artifactId>metrics-core</artifactId>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.mortbay.jetty</groupId>
+      <artifactId>jetty</artifactId>
+      <scope>provided</scope>
+      <exclusions>
+        <exclusion>
+          <groupId>org.mortbay.jetty</groupId>
+          <artifactId>servlet-api</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.mortbay.jetty</groupId>
+      <artifactId>jetty-util</artifactId>
+      <scope>provided</scope>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-source-plugin</artifactId>
+        <configuration>
+          <attach>true</attach>
+        </configuration>
+        <executions>
+          <execution>
+            <goals>
+              <goal>jar</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>findbugs-maven-plugin</artifactId>
+        <configuration>
+          <findbugsXmlOutput>true</findbugsXmlOutput>
+          <xmlOutput>true</xmlOutput>
+          <excludeFilterFile>${basedir}/dev-support/findbugs-exclude.xml</excludeFilterFile>
+          <effort>Max</effort>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.rat</groupId>
+        <artifactId>apache-rat-plugin</artifactId>
+        <configuration>
+          <excludes>
+            <exclude>src/main/data/2jobs2min-rumen-jh.json</exclude>
+            <exclude>src/main/html/js/thirdparty/jquery.js</exclude>
+            <exclude>src/main/html/js/thirdparty/d3-LICENSE</exclude>
+            <exclude>src/main/html/js/thirdparty/d3.v3.js</exclude>
+            <exclude>src/main/html/simulate.html.template</exclude>
+            <exclude>src/main/html/simulate.info.html.template</exclude>
+            <exclude>src/main/html/track.html.template</exclude>
+            <exclude>src/test/resources/simulate.html.template</exclude>
+            <exclude>src/test/resources/simulate.info.html.template</exclude>
+            <exclude>src/test/resources/track.html.template</exclude>
+          </excludes>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <profiles>
+    <profile>
+      <id>docs</id>
+      <activation>
+        <activeByDefault>false</activeByDefault>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-site-plugin</artifactId>
+            <executions>
+              <execution>
+                <phase>package</phase>
+                <goals>
+                  <goal>site</goal>
+                </goals>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <profile>
+      <id>dist</id>
+      <activation>
+        <activeByDefault>false</activeByDefault>
+      </activation>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-assembly-plugin</artifactId>
+            <dependencies>
+              <dependency>
+                <groupId>org.apache.hadoop</groupId>
+                <artifactId>hadoop-assemblies</artifactId>
+                <version>${project.version}</version>
+              </dependency>
+            </dependencies>
+            <executions>
+              <execution>
+                <id>dist</id>
+                <phase>prepare-package</phase>
+                <goals>
+                  <goal>single</goal>
+                </goals>
+                <configuration>
+                  <appendAssemblyId>false</appendAssemblyId>
+                  <attach>false</attach>
+                  <finalName>${project.artifactId}-${project.version}</finalName>
+                  <descriptorRefs>
+                    <descriptorRef>hadoop-sls</descriptorRef>
+                  </descriptorRefs>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+  </profiles>
+</project>

Added: hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/assemblies/sls.xml
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/assemblies/sls.xml?rev=1527059&view=auto
==============================================================================
--- hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/assemblies/sls.xml (added)
+++ hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/assemblies/sls.xml Fri Sep 27 20:23:19 2013
@@ -0,0 +1,55 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you 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.
+-->
+<assembly>
+  <id>sls</id>
+  <formats>
+    <format>dir</format>
+    <format>tar.gz</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+
+  <fileSets>
+    <fileSet>
+      <directory>${basedir}/src/main/bin</directory>
+      <outputDirectory>bin</outputDirectory>
+      <fileMode>0755</fileMode>
+    </fileSet>
+    <fileSet>
+      <directory>${basedir}/src/main/data</directory>
+      <outputDirectory>sample-data</outputDirectory>
+    </fileSet>
+    <fileSet>
+      <directory>${basedir}/src/main/html</directory>
+      <outputDirectory>html</outputDirectory>
+    </fileSet>
+    <fileSet>
+      <directory>${basedir}/src/main/sample-conf</directory>
+      <outputDirectory>sample-conf</outputDirectory>
+    </fileSet>
+  </fileSets>
+
+  <dependencySets>
+    <dependencySet>
+      <outputDirectory>/lib</outputDirectory>
+      <unpack>false</unpack>
+      <scope>compile</scope>
+      <useProjectArtifact>true</useProjectArtifact>
+    </dependencySet>
+  </dependencySets>
+
+</assembly>

Added: hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/bin/rumen2sls.sh
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/bin/rumen2sls.sh?rev=1527059&view=auto
==============================================================================
--- hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/bin/rumen2sls.sh (added)
+++ hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/bin/rumen2sls.sh Fri Sep 27 20:23:19 2013
@@ -0,0 +1,106 @@
+#!/bin/bash
+#
+#  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.
+#
+
+###############################################################################
+printUsage() {
+  echo "Usage: rumen2sls.sh <OPTIONS>"
+  echo "                 --rumen-file=<RUMEN_FILE>"
+  echo "                 --output-dir=<SLS_OUTPUT_DIR>"
+  echo "                 [--output-prefix=<PREFIX>] (default is sls)"
+  echo
+}
+###############################################################################
+parseArgs() {
+  for i in $*
+  do
+    case $i in
+    --rumen-file=*)
+      rumenfile=${i#*=}
+      ;;
+    --output-dir=*)
+      outputdir=${i#*=}
+      ;;
+    --output-prefix=*)
+      outputprefix=${i#*=}
+      ;;
+    *)
+      echo "Invalid option"
+      echo
+      printUsage
+      exit 1
+      ;;
+    esac
+  done
+  if [[ "${rumenfile}" == "" || "${outputdir}" == "" ]] ; then
+    echo "Both --rumen-file ${rumenfile} and --output-dir \
+          ${outputfdir} must be specified"
+    echo
+    printUsage
+    exit 1
+  fi
+}
+###############################################################################
+calculateBasedir() {
+  # resolve links - $0 may be a softlink
+  PRG="${1}"
+
+  while [ -h "${PRG}" ]; do
+    ls=`ls -ld "${PRG}"`
+    link=`expr "$ls" : '.*-> \(.*\)$'`
+    if expr "$link" : '/.*' > /dev/null; then
+      PRG="$link"
+    else
+      PRG=`dirname "${PRG}"`/"$link"
+    fi
+  done
+
+  BASEDIR=`dirname ${PRG}`
+  BASEDIR=`cd ${BASEDIR}/..;pwd`
+}
+###############################################################################
+calculateClasspath() {
+  HADOOP_BASE=`which hadoop`
+  HADOOP_BASE=`dirname $HADOOP_BASE`
+  DEFAULT_LIBEXEC_DIR=${HADOOP_BASE}/../libexec
+  HADOOP_LIBEXEC_DIR=${HADOOP_LIBEXEC_DIR:-$DEFAULT_LIBEXEC_DIR}
+  . $HADOOP_LIBEXEC_DIR/hadoop-config.sh
+  export HADOOP_CLASSPATH="${HADOOP_CLASSPATH}:${TOOL_PATH}"
+}
+###############################################################################
+runSLSGenerator() {
+  if [[ "${outputprefix}" == "" ]] ; then
+    outputprefix="sls"
+  fi
+
+  slsJobs=${outputdir}/${outputprefix}-jobs.json
+  slsNodes=${outputdir}/${outputprefix}-nodes.json
+
+  args="-input ${rumenfile} -outputJobs ${slsJobs}";
+  args="${args} -outputNodes ${slsNodes}";
+
+  hadoop org.apache.hadoop.yarn.sls.RumenToSLSConverter ${args}
+}
+###############################################################################
+
+calculateBasedir $0
+calculateClasspath
+parseArgs "$@"
+runSLSGenerator
+
+echo
+echo "SLS simulation files available at: ${outputdir}"
+echo
+
+exit 0
\ No newline at end of file

Added: hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/bin/slsrun.sh
URL: http://svn.apache.org/viewvc/hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/bin/slsrun.sh?rev=1527059&view=auto
==============================================================================
--- hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/bin/slsrun.sh (added)
+++ hadoop/common/trunk/hadoop-tools/hadoop-sls/src/main/bin/slsrun.sh Fri Sep 27 20:23:19 2013
@@ -0,0 +1,112 @@
+#!/bin/bash
+#
+#  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.
+#
+
+###############################################################################
+printUsage() {
+  echo "Usage: slsrun.sh <OPTIONS>"
+  echo "                 --input-rumen|--input-sls=<FILE1,FILE2,...>"
+  echo "                 --output-dir=<SLS_SIMULATION_OUTPUT_DIRECTORY>"
+  echo "                 [--nodes=<SLS_NODES_FILE>]"
+  echo "                 [--track-jobs=<JOBID1,JOBID2,...>]"
+  echo "                 [--print-simulation]"
+  echo                  
+}
+###############################################################################
+parseArgs() {
+  for i in $*
+  do
+    case $i in
+    --input-rumen=*)
+      inputrumen=${i#*=}
+      ;;
+    --input-sls=*)
+      inputsls=${i#*=}
+      ;;
+    --output-dir=*)
+      outputdir=${i#*=}
+      ;;
+    --nodes=*)
+      nodes=${i#*=}
+      ;;
+    --track-jobs=*)
+      trackjobs=${i#*=}
+      ;;
+    --print-simulation)
+      printsimulation="true"
+      ;;
+    *)
+      echo "Invalid option"
+      echo
+      printUsage
+      exit 1
+      ;;
+    esac
+  done
+
+  if [[ "${inputrumen}" == "" && "${inputsls}" == "" ]] ; then
+    echo "Either --input-rumen or --input-sls must be specified"
+    echo
+    printUsage
+    exit 1
+  fi
+
+  if [[ "${outputdir}" == "" ]] ; then
+    echo "The output directory --output-dir must be specified"
+    echo
+    printUsage
+    exit 1
+  fi
+}
+
+###############################################################################
+calculateClasspath() {
+  HADOOP_BASE=`which hadoop`
+  HADOOP_BASE=`dirname $HADOOP_BASE`
+  DEFAULT_LIBEXEC_DIR=${HADOOP_BASE}/../libexec
+  HADOOP_LIBEXEC_DIR=${HADOOP_LIBEXEC_DIR:-$DEFAULT_LIBEXEC_DIR}
+  . $HADOOP_LIBEXEC_DIR/hadoop-config.sh
+  export HADOOP_CLASSPATH="${HADOOP_CLASSPATH}:${TOOL_PATH}:html"
+}
+###############################################################################
+runSimulation() {
+  if [[ "${inputsls}" == "" ]] ; then
+    args="-inputrumen ${inputrumen}"
+  else
+    args="-inputsls ${inputsls}"
+  fi
+
+  args="${args} -output ${outputdir}"
+
+  if [[ "${nodes}" != "" ]] ; then
+    args="${args} -nodes ${nodes}"
+  fi
+  
+  if [[ "${trackjobs}" != "" ]] ; then
+    args="${args} -trackjobs ${trackjobs}"
+  fi
+  
+  if [[ "${printsimulation}" == "true" ]] ; then
+    args="${args} -printsimulation"
+  fi
+
+  hadoop org.apache.hadoop.yarn.sls.SLSRunner ${args}
+}
+###############################################################################
+
+calculateClasspath
+parseArgs "$@"
+runSimulation
+
+exit 0