Skip to content
Malte Splietker edited this page Nov 23, 2015 · 1 revision

This page describes some of the configuration options of netSLS in more detail.

It is possible to run netSLS on hosts separate from the MaxiNet hosts, thus enabling easier development and better load balancing. Especially SLS may run on a different host than the Network Emulator.

SLS

All SLS related configuration files are stored under sls/hadoop/etc/hadoop. The following subsections provide an overview of the parameters most interesting for users of netSLS.

sls-runner.xml

  • Simulation
    • yarn.sls.runner.pool.size [Default: 100]
      Number of threads for simulating nodes and Application Masters. Note that this parameter does not affect the size of simulation scenarios, but merely the degree of parallelism of the simulation.
  • Nodes configuration
    This sections configures the resources available on every node. This, in combination with the containers configuration, has direct impact on the number of parallel Hadoop tasks run on every simulated node.
    • yarn.sls.nm.memory.mb [Default: 10240]
      Memory size of the simulated nodes.
    • yarn.sls.nm.vcores [Default: 10]
      Number of CPU cores ot the simulated nodes.
  • Containers configuration
    A container is the minimum unit of allocation in Hadoop. An Application Master requests containers on the nodes to perform computations.
    • yarn.sls.container.memory.mb [Default: 1024]
      Memory size of one container.
    • yarn.sls.container.vcores [Default: 1]
      Number of CPU cores in one container.
  • Network Emulator configuration
    • yarn.sls.networkemulator.enabled [Default: true]
      Enables or disables the network emulator. If disabled netSLS does no network emulation at all, thus behaving like plain SLS.
    • yarn.sls.networkemulator.zmq.url [Default: tcp://localhost:5500]
      URL of the zmq publisher. The host should be the same as in the RPC url. The port depends on the configuration of netSLS.
    • yarn.sls.networkemulator.rpc.url [Default: http://localhost:5501]
      URL of the netSLS RPC server. The host should be the same as in the ZMQ url. The port depends on the configuration of netSLS.

yarn-site.xml

  • yarn.resourcemanager.scheduler.class [Default: org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler]
    Select the job scheduler used by SLS.

fair-scheduler.xml, capacity-scheduler.xml

These files are used to configure the different job schedulers. Read the documentation on fair scheduler and capacity scheduler for details.

Network Emulator

The host running the Network Emulator has three parts the need to be configured appropriately.

network_emulator.cfg

This file configures the Network Emulator application itself. The default configuration and parameter documentation can be found in the file network_emulator/network_emulator.cfg. If there are no port conflicts on your system, the should be no need to modify this file.
Ensure that the PublisherPort(5500) and RPCServerPort(5501) are matching the ports used in the sls-runner.xml

MaxiNet Access

The Network Emulator is a MaxiNet application and therefore requires the configuration of the MaxiNet cluster. Copy the MaxiNet.cfg file from any of the MaxiNet hosts (/etc/MaxiNet.cfg) to network_emulator/MaxiNet.cfg.

SSH

The Network Emulator needs to run commands on all MaxiNet workers to track the progress of transmissions. Therefore it requires password-less access to all MaxiNet workers.
For every worker place the following entry in ~/.ssh/config (substitute worker_hostname, maxinet_user and a.b.c.d appropriately).

Host worker_hostname
  User maxinet_user
  HostName a.b.c.d

After that copy the ssh key to every MaxiNet worker:

ssh-copy-id worker_hostname
Clone this wiki locally