<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://hcl.ucd.ie/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kiril</id>
		<title>HCL - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://hcl.ucd.ie/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kiril"/>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php/Special:Contributions/Kiril"/>
		<updated>2026-04-16T19:02:32Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.27.1</generator>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=BitTorrent_(B._Cohen%27s_version)&amp;diff=776</id>
		<title>BitTorrent (B. Cohen's version)</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=BitTorrent_(B._Cohen%27s_version)&amp;diff=776"/>
				<updated>2012-09-14T12:27:39Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The modified bittorrent tarball is currently under the MPIBlib repository:&lt;br /&gt;
&lt;br /&gt;
svn co https://hcl.ucd.ie/repos/CPM/trunk/MPIBlib/tests/bittorrent/bittorrent.tar.gz&lt;br /&gt;
&lt;br /&gt;
* Extract this under your home directory&lt;br /&gt;
** You might need&lt;br /&gt;
  mv $HOME/lib/python $HOME/lib/python2.6&lt;br /&gt;
&lt;br /&gt;
* export following variables to tweak the way Python paths are searched:&lt;br /&gt;
  export PYTHONPATH=/usr/lib/python2.6/:&amp;lt;local-installation-path-of-Python-libs&amp;gt;&lt;br /&gt;
* Modify logfile path in /home/kdichev/lib/python2.6/BitTorrent/StorageWrapper.py and create according directory structure&lt;br /&gt;
* Create a file of any size consisting of &amp;quot;s&amp;quot; characters only.&lt;br /&gt;
* Create torrent file: &lt;br /&gt;
  btmakemetafile myfile.ext http://&amp;lt;frontend on G5K&amp;gt;:6969/announce&lt;br /&gt;
* Stick the torrent file into $HOME/public at the frontend.&lt;br /&gt;
** It is then available from within G5K under http://public.lille.grid5000.fr/~kdichev/{torrent file}&lt;br /&gt;
* Start the tracker on the frontend:&lt;br /&gt;
  bttrack --port 6969 --dfile dstate&lt;br /&gt;
* Book nodes interactively:&lt;br /&gt;
  qsub -I -lnodes=...&lt;br /&gt;
* Start one client that has the full copy&lt;br /&gt;
  ssh &amp;lt;one-node&amp;gt; btdownloadheadless --url http://public.lille.grid5000.fr/~kdichev/{torrent file} &amp;amp;&lt;br /&gt;
&lt;br /&gt;
* On all other nodes, launch the client at the same time:&lt;br /&gt;
script-per-process.sh&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  cd /tmp ;  btdownloadheadless --display_interval 100 --url http://public.lille.grid5000.fr/~kdichev/{torrent file}&lt;br /&gt;
run.sh&lt;br /&gt;
  mpirun -n 14 --machinefile hostfile  $PWD/script-per-process.sh&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=OpenMPI&amp;diff=657</id>
		<title>OpenMPI</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=OpenMPI&amp;diff=657"/>
				<updated>2011-12-15T15:10:55Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* PERUSE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.open-mpi.org/faq/&lt;br /&gt;
&lt;br /&gt;
== MCA parameter files ==&lt;br /&gt;
If you want to permanently use some MCA parameter settings, you can create a file $HOME/.openmpi/mca-params.conf, e.g.:&lt;br /&gt;
&lt;br /&gt;
 cat $HOME/.openmpi/mca-params.conf&lt;br /&gt;
 btl_tcp_if_exclude = lo,eth1&lt;br /&gt;
&lt;br /&gt;
== Running applications on Multiprocessors/Multicores ==&lt;br /&gt;
Process can be bound to specific sockets and cores on nodes by choosing right options of mpirun.&lt;br /&gt;
* [http://www.open-mpi.org/doc/v1.4/man1/mpirun.1.php#sect9 Process binding]&lt;br /&gt;
* [http://www.open-mpi.org/doc/v1.4/man1/mpirun.1.php#sect10 Rankfiles]&lt;br /&gt;
&lt;br /&gt;
== Debugging applications on Multiprocessors/Multicores ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.open-mpi.org/faq/?category=debugging#serial-debuggers Serial Debugger (Gdb)]&lt;br /&gt;
** 1. Attach to individual MPI processes after they are running.&amp;lt;br /&amp;gt;  For example, launch your MPI application as normal with mpirun. Then login to the node(s) where your application is running and use the --pid option to gdb to attach to your application.&lt;br /&gt;
** 2. Use mpirun to launch xterms (or equivalent) with serial debuggers.&lt;br /&gt;
      shell$ mpirun -np 4 xterm -e gdb my_mpi_application&lt;br /&gt;
&lt;br /&gt;
* [http://www.open-mpi.org/faq/?category=debugging#parallel-debuggers Parallel Debugers]&lt;br /&gt;
** [http://www.open-mpi.org/faq/?category=running#run-with-tv TotalView]&lt;br /&gt;
** [http://www.open-mpi.org/faq/?category=running#run-with-ddt DDT]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PERUSE ==&lt;br /&gt;
[[Media:current_peruse_spec.pdf|PERUSE Specification]]&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=OpenMPI&amp;diff=656</id>
		<title>OpenMPI</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=OpenMPI&amp;diff=656"/>
				<updated>2011-12-15T15:09:40Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* PERUSE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.open-mpi.org/faq/&lt;br /&gt;
&lt;br /&gt;
== MCA parameter files ==&lt;br /&gt;
If you want to permanently use some MCA parameter settings, you can create a file $HOME/.openmpi/mca-params.conf, e.g.:&lt;br /&gt;
&lt;br /&gt;
 cat $HOME/.openmpi/mca-params.conf&lt;br /&gt;
 btl_tcp_if_exclude = lo,eth1&lt;br /&gt;
&lt;br /&gt;
== Running applications on Multiprocessors/Multicores ==&lt;br /&gt;
Process can be bound to specific sockets and cores on nodes by choosing right options of mpirun.&lt;br /&gt;
* [http://www.open-mpi.org/doc/v1.4/man1/mpirun.1.php#sect9 Process binding]&lt;br /&gt;
* [http://www.open-mpi.org/doc/v1.4/man1/mpirun.1.php#sect10 Rankfiles]&lt;br /&gt;
&lt;br /&gt;
== Debugging applications on Multiprocessors/Multicores ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.open-mpi.org/faq/?category=debugging#serial-debuggers Serial Debugger (Gdb)]&lt;br /&gt;
** 1. Attach to individual MPI processes after they are running.&amp;lt;br /&amp;gt;  For example, launch your MPI application as normal with mpirun. Then login to the node(s) where your application is running and use the --pid option to gdb to attach to your application.&lt;br /&gt;
** 2. Use mpirun to launch xterms (or equivalent) with serial debuggers.&lt;br /&gt;
      shell$ mpirun -np 4 xterm -e gdb my_mpi_application&lt;br /&gt;
&lt;br /&gt;
* [http://www.open-mpi.org/faq/?category=debugging#parallel-debuggers Parallel Debugers]&lt;br /&gt;
** [http://www.open-mpi.org/faq/?category=running#run-with-tv TotalView]&lt;br /&gt;
** [http://www.open-mpi.org/faq/?category=running#run-with-ddt DDT]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PERUSE ==&lt;br /&gt;
[[Media:current_peruse_spec.pdf]]&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=File:Current_peruse_spec.pdf&amp;diff=655</id>
		<title>File:Current peruse spec.pdf</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=File:Current_peruse_spec.pdf&amp;diff=655"/>
				<updated>2011-12-15T15:08:06Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: PERUSE specification&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PERUSE specification&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=OpenMPI&amp;diff=654</id>
		<title>OpenMPI</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=OpenMPI&amp;diff=654"/>
				<updated>2011-12-15T15:07:08Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.open-mpi.org/faq/&lt;br /&gt;
&lt;br /&gt;
== MCA parameter files ==&lt;br /&gt;
If you want to permanently use some MCA parameter settings, you can create a file $HOME/.openmpi/mca-params.conf, e.g.:&lt;br /&gt;
&lt;br /&gt;
 cat $HOME/.openmpi/mca-params.conf&lt;br /&gt;
 btl_tcp_if_exclude = lo,eth1&lt;br /&gt;
&lt;br /&gt;
== Running applications on Multiprocessors/Multicores ==&lt;br /&gt;
Process can be bound to specific sockets and cores on nodes by choosing right options of mpirun.&lt;br /&gt;
* [http://www.open-mpi.org/doc/v1.4/man1/mpirun.1.php#sect9 Process binding]&lt;br /&gt;
* [http://www.open-mpi.org/doc/v1.4/man1/mpirun.1.php#sect10 Rankfiles]&lt;br /&gt;
&lt;br /&gt;
== Debugging applications on Multiprocessors/Multicores ==&lt;br /&gt;
&lt;br /&gt;
* [http://www.open-mpi.org/faq/?category=debugging#serial-debuggers Serial Debugger (Gdb)]&lt;br /&gt;
** 1. Attach to individual MPI processes after they are running.&amp;lt;br /&amp;gt;  For example, launch your MPI application as normal with mpirun. Then login to the node(s) where your application is running and use the --pid option to gdb to attach to your application.&lt;br /&gt;
** 2. Use mpirun to launch xterms (or equivalent) with serial debuggers.&lt;br /&gt;
      shell$ mpirun -np 4 xterm -e gdb my_mpi_application&lt;br /&gt;
&lt;br /&gt;
* [http://www.open-mpi.org/faq/?category=debugging#parallel-debuggers Parallel Debugers]&lt;br /&gt;
** [http://www.open-mpi.org/faq/?category=running#run-with-tv TotalView]&lt;br /&gt;
** [http://www.open-mpi.org/faq/?category=running#run-with-ddt DDT]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== PERUSE ==&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=BitTorrent_(B._Cohen%27s_version)&amp;diff=653</id>
		<title>BitTorrent (B. Cohen's version)</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=BitTorrent_(B._Cohen%27s_version)&amp;diff=653"/>
				<updated>2011-12-13T12:27:57Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The modified bittorrent tarball is currently under the MPIBlib repository:&lt;br /&gt;
&lt;br /&gt;
svn co https://hcl.ucd.ie/repos/CPM/trunk/MPIBlib/tests/bittorrent/bittorrent.tar.gz&lt;br /&gt;
&lt;br /&gt;
* Extract this under your home directory&lt;br /&gt;
** You might need&lt;br /&gt;
  mv $HOME/lib/python $HOME/lib/python2.6&lt;br /&gt;
&lt;br /&gt;
* export following variables to tweak the way Python paths are searched:&lt;br /&gt;
  export PYTHONHOME=$HOME&lt;br /&gt;
  export PYTHONPATH=/usr/lib/python2.6/&lt;br /&gt;
* Modify logfile path in /home/kdichev/lib/python2.6/BitTorrent/StorageWrapper.py and create according directory structure&lt;br /&gt;
* Create a file of any size consisting of &amp;quot;s&amp;quot; characters only.&lt;br /&gt;
* Create torrent file: &lt;br /&gt;
  btmakemetafile myfile.ext http://&amp;lt;frontend on G5K&amp;gt;:6969/announce&lt;br /&gt;
* Stick the torrent file into $HOME/public at the frontend.&lt;br /&gt;
** It is then available from within G5K under http://public.lille.grid5000.fr/~kdichev/{torrent file}&lt;br /&gt;
* Start the tracker on the frontend:&lt;br /&gt;
  bttrack --port 6969 --dfile dstate&lt;br /&gt;
* Book nodes interactively:&lt;br /&gt;
  qsub -I -lnodes=...&lt;br /&gt;
* Start one client that has the full copy&lt;br /&gt;
  ssh &amp;lt;one-node&amp;gt; btdownloadheadless --url http://public.lille.grid5000.fr/~kdichev/{torrent file} &amp;amp;&lt;br /&gt;
&lt;br /&gt;
* On all other nodes, launch the client at the same time:&lt;br /&gt;
script-per-process.sh&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  cd /tmp ;  btdownloadheadless --display_interval 100 --url http://public.lille.grid5000.fr/~kdichev/{torrent file}&lt;br /&gt;
run.sh&lt;br /&gt;
  mpirun -n 14 --machinefile hostfile  $PWD/script-per-process.sh&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=BitTorrent_(B._Cohen%27s_version)&amp;diff=652</id>
		<title>BitTorrent (B. Cohen's version)</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=BitTorrent_(B._Cohen%27s_version)&amp;diff=652"/>
				<updated>2011-12-13T12:27:21Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The modified bittorrent tarball is currently under the MPIBlib repository:&lt;br /&gt;
&lt;br /&gt;
svn co https://hcl.ucd.ie/repos/CPM/trunk/MPIBlib/tests/bittorrent/bittorrent.tar.gz&lt;br /&gt;
&lt;br /&gt;
* Extract this under your home directory&lt;br /&gt;
** You might need&lt;br /&gt;
  mv $HOME/lib/python $HOME/lib/python2.6&lt;br /&gt;
&lt;br /&gt;
* export following variables to tweak the way Python paths are searched:&lt;br /&gt;
  export PYTHONHOME=$HOME&lt;br /&gt;
  export PYTHONPATH=/usr/lib/python2.6/&lt;br /&gt;
* Modify logfile path in /home/kdichev/lib/python2.6/BitTorrent/StorageWrapper.py&lt;br /&gt;
* Create a file of any size consisting of &amp;quot;s&amp;quot; characters only.&lt;br /&gt;
* Create torrent file: &lt;br /&gt;
  btmakemetafile myfile.ext http://&amp;lt;frontend on G5K&amp;gt;:6969/announce&lt;br /&gt;
* Stick the torrent file into $HOME/public at the frontend.&lt;br /&gt;
** It is then available from within G5K under http://public.lille.grid5000.fr/~kdichev/{torrent file}&lt;br /&gt;
* Start the tracker on the frontend:&lt;br /&gt;
  bttrack --port 6969 --dfile dstate&lt;br /&gt;
* Book nodes interactively:&lt;br /&gt;
  qsub -I -lnodes=...&lt;br /&gt;
* Start one client that has the full copy&lt;br /&gt;
  ssh &amp;lt;one-node&amp;gt; btdownloadheadless --url http://public.lille.grid5000.fr/~kdichev/{torrent file} &amp;amp;&lt;br /&gt;
&lt;br /&gt;
* On all other nodes, launch the client at the same time:&lt;br /&gt;
script-per-process.sh&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  cd /tmp ;  btdownloadheadless --display_interval 100 --url http://public.lille.grid5000.fr/~kdichev/{torrent file}&lt;br /&gt;
run.sh&lt;br /&gt;
  mpirun -n 14 --machinefile hostfile  $PWD/script-per-process.sh&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=BitTorrent_(B._Cohen%27s_version)&amp;diff=651</id>
		<title>BitTorrent (B. Cohen's version)</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=BitTorrent_(B._Cohen%27s_version)&amp;diff=651"/>
				<updated>2011-12-13T12:27:12Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The modified bittorrent tarball is currently under the MPIBlib repository:&lt;br /&gt;
&lt;br /&gt;
svn co https://hcl.ucd.ie/repos/CPM/trunk/MPIBlib/tests/bittorrent/bittorrent.tar.gz&lt;br /&gt;
&lt;br /&gt;
* Extract this under your home directory&lt;br /&gt;
** You might need&lt;br /&gt;
  mv $HOME/lib/python $HOME/lib/python2.6&lt;br /&gt;
&lt;br /&gt;
* export following variables to tweak the way Python paths are searched:&lt;br /&gt;
  export PYTHONHOME=$HOME&lt;br /&gt;
  export PYTHONPATH=/usr/lib/python2.6/&lt;br /&gt;
* modify logfile path in /home/kdichev/lib/python2.6/BitTorrent/StorageWrapper.py&lt;br /&gt;
* Create a file of any size consisting of &amp;quot;s&amp;quot; characters only.&lt;br /&gt;
* Create torrent file: &lt;br /&gt;
  btmakemetafile myfile.ext http://&amp;lt;frontend on G5K&amp;gt;:6969/announce&lt;br /&gt;
* Stick the torrent file into $HOME/public at the frontend.&lt;br /&gt;
** It is then available from within G5K under http://public.lille.grid5000.fr/~kdichev/{torrent file}&lt;br /&gt;
* Start the tracker on the frontend:&lt;br /&gt;
  bttrack --port 6969 --dfile dstate&lt;br /&gt;
* Book nodes interactively:&lt;br /&gt;
  qsub -I -lnodes=...&lt;br /&gt;
* Start one client that has the full copy&lt;br /&gt;
  ssh &amp;lt;one-node&amp;gt; btdownloadheadless --url http://public.lille.grid5000.fr/~kdichev/{torrent file} &amp;amp;&lt;br /&gt;
&lt;br /&gt;
* On all other nodes, launch the client at the same time:&lt;br /&gt;
script-per-process.sh&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  cd /tmp ;  btdownloadheadless --display_interval 100 --url http://public.lille.grid5000.fr/~kdichev/{torrent file}&lt;br /&gt;
run.sh&lt;br /&gt;
  mpirun -n 14 --machinefile hostfile  $PWD/script-per-process.sh&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=BitTorrent_(B._Cohen%27s_version)&amp;diff=650</id>
		<title>BitTorrent (B. Cohen's version)</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=BitTorrent_(B._Cohen%27s_version)&amp;diff=650"/>
				<updated>2011-12-13T12:06:35Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The modified bittorrent tarball is currently under the MPIBlib repository:&lt;br /&gt;
&lt;br /&gt;
svn co https://hcl.ucd.ie/repos/CPM/trunk/MPIBlib/tests/bittorrent/bittorrent.tar.gz&lt;br /&gt;
&lt;br /&gt;
* Extract this under your home directory&lt;br /&gt;
** You might need&lt;br /&gt;
  mv $HOME/lib/python $HOME/lib/python2.6&lt;br /&gt;
&lt;br /&gt;
* export following variables to tweak the way Python paths are searched:&lt;br /&gt;
  export PYTHONHOME=$HOME&lt;br /&gt;
  export PYTHONPATH=/usr/lib/python2.6/&lt;br /&gt;
&lt;br /&gt;
* Create a file of any size consisting of &amp;quot;s&amp;quot; characters only.&lt;br /&gt;
* Create torrent file: &lt;br /&gt;
  btmakemetafile myfile.ext http://&amp;lt;frontend on G5K&amp;gt;:6969/announce&lt;br /&gt;
* Stick the torrent file into $HOME/public at the frontend.&lt;br /&gt;
** It is then available from within G5K under http://public.lille.grid5000.fr/~kdichev/{torrent file}&lt;br /&gt;
* Start the tracker on the frontend:&lt;br /&gt;
  bttrack --port 6969 --dfile dstate&lt;br /&gt;
* Book nodes interactively:&lt;br /&gt;
  qsub -I -lnodes=...&lt;br /&gt;
* Start one client that has the full copy&lt;br /&gt;
  ssh &amp;lt;one-node&amp;gt; btdownloadheadless --url http://public.lille.grid5000.fr/~kdichev/{torrent file} &amp;amp;&lt;br /&gt;
&lt;br /&gt;
* On all other nodes, launch the client at the same time:&lt;br /&gt;
script-per-process.sh&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  cd /tmp ;  btdownloadheadless --display_interval 100 --url http://public.lille.grid5000.fr/~kdichev/{torrent file}&lt;br /&gt;
run.sh&lt;br /&gt;
  mpirun -n 14 --machinefile hostfile  $PWD/script-per-process.sh&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=BitTorrent_(B._Cohen%27s_version)&amp;diff=649</id>
		<title>BitTorrent (B. Cohen's version)</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=BitTorrent_(B._Cohen%27s_version)&amp;diff=649"/>
				<updated>2011-12-13T12:05:45Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The modified bittorrent tarball is currently under the MPIBlib repository:&lt;br /&gt;
&lt;br /&gt;
svn co https://hcl.ucd.ie/repos/CPM/trunk/MPIBlib/tests/bittorrent/bittorrent.tar.gz&lt;br /&gt;
&lt;br /&gt;
* Extract this under your home directory&lt;br /&gt;
* export following variables to tweak the way Python paths are searched:&lt;br /&gt;
  export PYTHONHOME=$HOME&lt;br /&gt;
  export PYTHONPATH=/usr/lib&lt;br /&gt;
&lt;br /&gt;
* Create a file of any size consisting of &amp;quot;s&amp;quot; characters only.&lt;br /&gt;
* Create torrent file: &lt;br /&gt;
  btmakemetafile myfile.ext http://&amp;lt;frontend on G5K&amp;gt;:6969/announce&lt;br /&gt;
* Stick the torrent file into $HOME/public at the frontend.&lt;br /&gt;
** It is then available from within G5K under http://public.lille.grid5000.fr/~kdichev/{torrent file}&lt;br /&gt;
* Start the tracker on the frontend:&lt;br /&gt;
  bttrack --port 6969 --dfile dstate&lt;br /&gt;
* Book nodes interactively:&lt;br /&gt;
  qsub -I -lnodes=...&lt;br /&gt;
* Start one client that has the full copy&lt;br /&gt;
  ssh &amp;lt;one-node&amp;gt; btdownloadheadless --url http://public.lille.grid5000.fr/~kdichev/{torrent file} &amp;amp;&lt;br /&gt;
&lt;br /&gt;
* On all other nodes, launch the client at the same time:&lt;br /&gt;
script-per-process.sh&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  cd /tmp ;  btdownloadheadless --display_interval 100 --url http://public.lille.grid5000.fr/~kdichev/{torrent file}&lt;br /&gt;
run.sh&lt;br /&gt;
  mpirun -n 14 --machinefile hostfile  $PWD/script-per-process.sh&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=BitTorrent_(B._Cohen%27s_version)&amp;diff=648</id>
		<title>BitTorrent (B. Cohen's version)</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=BitTorrent_(B._Cohen%27s_version)&amp;diff=648"/>
				<updated>2011-12-13T11:50:36Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The modified bittorrent tarball is currently under the MPIBlib repository:&lt;br /&gt;
&lt;br /&gt;
svn co https://hcl.ucd.ie/repos/CPM/trunk/MPIBlib/tests/bittorrent/bittorrent.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Create a file of any size consisting of &amp;quot;s&amp;quot; characters only.&lt;br /&gt;
* Create torrent file: &lt;br /&gt;
  btmakemetafile myfile.ext http://&amp;lt;frontend on G5K&amp;gt;:6969/announce&lt;br /&gt;
* Stick the torrent file into $HOME/public at the frontend.&lt;br /&gt;
** It is then available from within G5K under http://public.lille.grid5000.fr/~kdichev/{torrent file}&lt;br /&gt;
* Start the tracker on the frontend:&lt;br /&gt;
  bttrack --port 6969 --dfile dstate&lt;br /&gt;
* Book nodes interactively:&lt;br /&gt;
  qsub -I -lnodes=...&lt;br /&gt;
* Start one client that has the full copy&lt;br /&gt;
  ssh &amp;lt;one-node&amp;gt; btdownloadheadless --url http://public.lille.grid5000.fr/~kdichev/{torrent file} &amp;amp;&lt;br /&gt;
&lt;br /&gt;
* On all other nodes, launch the client at the same time:&lt;br /&gt;
script-per-process.sh&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  cd /tmp ;  btdownloadheadless --display_interval 100 --url http://public.lille.grid5000.fr/~kdichev/{torrent file}&lt;br /&gt;
run.sh&lt;br /&gt;
  mpirun -n 14 --machinefile hostfile  $PWD/script-per-process.sh&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=BitTorrent_(B._Cohen%27s_version)&amp;diff=647</id>
		<title>BitTorrent (B. Cohen's version)</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=BitTorrent_(B._Cohen%27s_version)&amp;diff=647"/>
				<updated>2011-12-13T11:49:45Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The modified bittorrent tarball is currently under the MPIBlib repository:&lt;br /&gt;
&lt;br /&gt;
svn co https://hcl.ucd.ie/repos/CPM/trunk/MPIBlib/tests/bittorrent/bittorrent.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Create a file of any size consisting of &amp;quot;s&amp;quot; characters only.&lt;br /&gt;
* Create torrent file: &lt;br /&gt;
  btmakemetafile myfile.ext http://&amp;lt;frontend on G5K&amp;gt;:6969/announce&lt;br /&gt;
* Stick the torrent file into $HOME/public at the frontend.&lt;br /&gt;
** It is then available from within G5K under http://public.lille.grid5000.fr/~kdichev/{torrent file}&lt;br /&gt;
* Start the tracker on the frontend:&lt;br /&gt;
  bttrack --port 6969 --dfile dstate&lt;br /&gt;
* Book nodes interactively:&lt;br /&gt;
  qsub -I -lnodes=...&lt;br /&gt;
* Start one client that has the full copy, on all other nodes, launch the client at the same time:&lt;br /&gt;
&lt;br /&gt;
script-per-process.sh&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
  cd /tmp ;  btdownloadheadless --display_interval 100 --url http://public.lille.grid5000.fr/~kdichev/{torrent file}&lt;br /&gt;
&lt;br /&gt;
run.sh&lt;br /&gt;
  ssh &amp;lt;one-node&amp;gt; btdownloadheadless --url http://public.lille.grid5000.fr/~kdichev/{torrent file} &amp;amp;&lt;br /&gt;
  mpirun -n 14 --machinefile hostfile  $PWD/script-per-process.sh&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=BitTorrent_(B._Cohen%27s_version)&amp;diff=646</id>
		<title>BitTorrent (B. Cohen's version)</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=BitTorrent_(B._Cohen%27s_version)&amp;diff=646"/>
				<updated>2011-12-13T11:44:56Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The modified bittorrent tarball is currently under the MPIBlib repository:&lt;br /&gt;
&lt;br /&gt;
svn co https://hcl.ucd.ie/repos/CPM/trunk/MPIBlib/tests/bittorrent/bittorrent.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Create a file of any size consisting of &amp;quot;s&amp;quot; characters only.&lt;br /&gt;
* Create torrent file: &lt;br /&gt;
  btmakemetafile myfile.ext http://&amp;lt;frontend on G5K&amp;gt;:6969/announce&lt;br /&gt;
* Stick the torrent file into $HOME/public at the frontend.&lt;br /&gt;
** It is then available from within G5K under http://public.lille.grid5000.fr/~kdichev/{torrent file}&lt;br /&gt;
* Start the tracker on the frontend:&lt;br /&gt;
  bttrack --port 6969 --dfile dstate&lt;br /&gt;
* Book nodes interactively:&lt;br /&gt;
  qsub -I -lnodes=...&lt;br /&gt;
* Start one client that has the full copy:&lt;br /&gt;
  btdownloadheadless.py --url http://my.server/myfile.torrent --saveas myfile.ext&lt;br /&gt;
* On all other nodes, launch the client at the same time:&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=BitTorrent_(B._Cohen%27s_version)&amp;diff=645</id>
		<title>BitTorrent (B. Cohen's version)</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=BitTorrent_(B._Cohen%27s_version)&amp;diff=645"/>
				<updated>2011-12-13T11:42:45Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: Created page with &amp;quot;The modified bittorrent tarball is currently under the MPIBlib repository:  svn co https://hcl.ucd.ie/repos/CPM/trunk/MPIBlib/tests/bittorrent/bittorrent.tar.gz   * Create a file…&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The modified bittorrent tarball is currently under the MPIBlib repository:&lt;br /&gt;
&lt;br /&gt;
svn co https://hcl.ucd.ie/repos/CPM/trunk/MPIBlib/tests/bittorrent/bittorrent.tar.gz&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Create a file of any size consisting of &amp;quot;s&amp;quot; characters only.&lt;br /&gt;
* Create torrent file: &lt;br /&gt;
  btmakemetafile myfile.ext http://&amp;lt;frontend on G5K&amp;gt;:6969/announce&lt;br /&gt;
* Stick the torrent file into $HOME/public at the frontend.&lt;br /&gt;
** It is then available from within G5K under http://public.lille.grid5000.fr/~kdichev/{torrent file}&lt;br /&gt;
* Start the tracker on the frontend:&lt;br /&gt;
  bttrack --port 6969 --dfile dstate&lt;br /&gt;
* Start one client that has the full copy:&lt;br /&gt;
  btdownloadheadless.py --url http://my.server/myfile.torrent --saveas myfile.ext&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=Main_Page&amp;diff=644</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=Main_Page&amp;diff=644"/>
				<updated>2011-12-13T11:23:44Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Libraries */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This site is set up for sharing ideas, findings and experience in heterogeneous computing. Please, log in and create new or edit existing pages. How to format wiki-pages read [[Help:Editing|here]].&lt;br /&gt;
&lt;br /&gt;
== HCL software for heterogeneous computing ==&lt;br /&gt;
* Extensions for [[MPI]]: [http://hcl.ucd.ie/project/mpC mpC] [http://hcl.ucd.ie/project/HeteroMPI HeteroMPI] [http://hcl.ucd.ie/project/libELC libELC]&lt;br /&gt;
* Extensions for [[GridRPC]]: [http://hcl.ucd.ie/project/SmartGridSolve SmartGridSolve] [http://hcl.ucd.ie/project/NI-Connect NI-Connect]&lt;br /&gt;
* Computation benchmarking, modeling, dynamic load balancing: [http://hcl.ucd.ie/project/fupermod FuPerMod] [http://hcl.ucd.ie/project/pmm PMM]&lt;br /&gt;
* Communication benchmarking, modeling, optimization: [http://hcl.ucd.ie/project/cpm CPM] [http://hcl.ucd.ie/project/mpiblib MPIBlib]&lt;br /&gt;
&lt;br /&gt;
== Heterogeneous mathematical software ==&lt;br /&gt;
* [http://hcl.ucd.ie/project/HeteroScaLAPACK HeteroScaLAPACK]&lt;br /&gt;
* [http://hcl.ucd.ie/project/Hydropad Hydropad]&lt;br /&gt;
&lt;br /&gt;
== Operating systems == &lt;br /&gt;
* [[Linux]]&lt;br /&gt;
* [[Windows]]&lt;br /&gt;
&lt;br /&gt;
== Development tools ==&lt;br /&gt;
* [[C/C++]], [[Python]], [[UML]]&lt;br /&gt;
* [[Autotools]]&lt;br /&gt;
* [[GDB]], [[OProfile]], [[Valgrind]]&lt;br /&gt;
* [[Doxygen]]&lt;br /&gt;
* [[ChangeLog]], [[Subversion]]&lt;br /&gt;
* [[Eclipse]]&lt;br /&gt;
&lt;br /&gt;
== [[Libraries]] ==&lt;br /&gt;
* [[GNU C Library]]&lt;br /&gt;
* [[MPI]]&lt;br /&gt;
* [[STL]], [[Boost]]&lt;br /&gt;
* [[GSL]]&lt;br /&gt;
* [[BLAS LAPACK ScaLAPACK]]&lt;br /&gt;
* [[NLOPT]]&lt;br /&gt;
* [[BitTorrent (B. Cohen's version)]]&lt;br /&gt;
&lt;br /&gt;
== Data processing ==&lt;br /&gt;
* [[gnuplot]]&lt;br /&gt;
* [[Graphviz]]&lt;br /&gt;
* [[Octave]], [[R]]&lt;br /&gt;
* [[G3DViewer]]&lt;br /&gt;
&lt;br /&gt;
== Paper &amp;amp; Presentation Tools ==&lt;br /&gt;
* [[Dia]]&lt;br /&gt;
* [[LaTeX]]&lt;br /&gt;
* [[JabRef]]&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
* [[HCL cluster]]&lt;br /&gt;
* [[Other UCD Resources]]&lt;br /&gt;
* [[UTK multicores + GPU]]&lt;br /&gt;
* [[Grid5000]]&lt;br /&gt;
&lt;br /&gt;
[[SSH|How to connect to cluster via SSH]]&lt;br /&gt;
&lt;br /&gt;
[[hwloc|How to find information about the hardware]]&lt;br /&gt;
&lt;br /&gt;
== Mathematics ==&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Confidence_interval Confidence interval (Statistics)], [http://en.wikipedia.org/wiki/Student's_t-distribution Student's t-distribution] (implemented in [[GSL]])&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Linear_regression Linear regression] (implemented in [[GSL]])&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Binomial_tree#Binomial_tree Binomial tree] (use [[Graphviz]] to visualize trees)&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Spline_interpolation Spline interpolation], [http://en.wikipedia.org/wiki/B-spline Spline approximation] (implemented in [[GSL]])&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=560</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=560"/>
				<updated>2011-01-27T16:46:38Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Better than automatically saying &amp;quot;yes&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Passwordless SSH ==&lt;br /&gt;
To set up passwordless SSH, there are three main things to do:&lt;br /&gt;
* generate a pair of public/private keys on your local computer&lt;br /&gt;
* copy the public key from the source computer to the target computer's authorized_keys file&lt;br /&gt;
* check the permissions. &lt;br /&gt;
&lt;br /&gt;
You can repeat that transitively for &amp;quot;A-&amp;gt;B-&amp;gt;C&amp;quot;. You can use the initial pair of keys everywhere.&lt;br /&gt;
&lt;br /&gt;
See here for details:&lt;br /&gt;
&lt;br /&gt;
http://www.stearns.org/doc/ssh-techniques.current.html&lt;br /&gt;
&lt;br /&gt;
== Automatically saying &amp;quot;yes&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
This expect script automates typing &amp;quot;yes&amp;quot; when asked by SSH if a host should be added to known_hosts &lt;br /&gt;
 &lt;br /&gt;
 #!/usr/bin/expect -f&lt;br /&gt;
 set arg1 [lindex $argv 0]&lt;br /&gt;
 set timeout 2&lt;br /&gt;
 spawn ssh  $arg1&lt;br /&gt;
 expect &amp;quot;yes/no&amp;quot;  {&lt;br /&gt;
 send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 send &amp;quot;exit\n&amp;quot;&lt;br /&gt;
 send &amp;quot;\r&amp;quot;          &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can include it in a bash script to iterate over all nodes doing this:&lt;br /&gt;
&lt;br /&gt;
 for i in `uniq hostfile` ; do&lt;br /&gt;
 ./say-yes.exp $i&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
== Better than automatically saying &amp;quot;yes&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Remark: It turns out there is a more ellegant way to do this task: using a tool called ''ssh-keyscan''.&lt;br /&gt;
&lt;br /&gt;
== Making a cascade of SSH connections easy ==&lt;br /&gt;
Here is a very convenient way to set up the access to any machine directly instead of doing a cascade of SSH calls. If you can not directly access e.g. the machine &amp;quot;heterogeneous&amp;quot;, but you can log into &amp;quot;csserver&amp;quot; and then to &amp;quot;heterogeneous&amp;quot;, you can put this into your .ssh/config file :&lt;br /&gt;
 Host csserver&lt;br /&gt;
   User kdichev&lt;br /&gt;
   Hostname csserver.ucd.ie&lt;br /&gt;
 Host heterogeneous&lt;br /&gt;
   User kiril&lt;br /&gt;
   Hostname heterogeneous.ucd.ie&lt;br /&gt;
   ProxyCommand ssh -qax csserver nc %h %p&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since the installation of a new PBS system, you can not directly log into a hclXX node. You can do&lt;br /&gt;
 ssh heterogeneous instead and use &amp;quot;qsub&amp;quot; [[HCL_cluster#Access_and_Security]]&lt;br /&gt;
&lt;br /&gt;
== X11 forwarding ==&lt;br /&gt;
&amp;lt;code lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -X hostname&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
or add the following line to your .ssh/ssh_config file&lt;br /&gt;
 ForwardX11 yes&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=559</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=559"/>
				<updated>2011-01-27T16:45:39Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Automatically saying &amp;quot;yes&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Passwordless SSH ==&lt;br /&gt;
To set up passwordless SSH, there are three main things to do:&lt;br /&gt;
* generate a pair of public/private keys on your local computer&lt;br /&gt;
* copy the public key from the source computer to the target computer's authorized_keys file&lt;br /&gt;
* check the permissions. &lt;br /&gt;
&lt;br /&gt;
You can repeat that transitively for &amp;quot;A-&amp;gt;B-&amp;gt;C&amp;quot;. You can use the initial pair of keys everywhere.&lt;br /&gt;
&lt;br /&gt;
See here for details:&lt;br /&gt;
&lt;br /&gt;
http://www.stearns.org/doc/ssh-techniques.current.html&lt;br /&gt;
&lt;br /&gt;
== Automatically saying &amp;quot;yes&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
This expect script automates typing &amp;quot;yes&amp;quot; when asked by SSH if a host should be added to known_hosts &lt;br /&gt;
 &lt;br /&gt;
 #!/usr/bin/expect -f&lt;br /&gt;
 set arg1 [lindex $argv 0]&lt;br /&gt;
 set timeout 2&lt;br /&gt;
 spawn ssh  $arg1&lt;br /&gt;
 expect &amp;quot;yes/no&amp;quot;  {&lt;br /&gt;
 send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 send &amp;quot;exit\n&amp;quot;&lt;br /&gt;
 send &amp;quot;\r&amp;quot;          &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can include it in a bash script to iterate over all nodes doing this:&lt;br /&gt;
&lt;br /&gt;
 for i in `uniq hostfile` ; do&lt;br /&gt;
 ./say-yes.exp $i&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
== Better than automatically saying &amp;quot;yes&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
Remark: It turns out there is a more ellegant way to do this task: using a tool called ''ssh-add''.&lt;br /&gt;
&lt;br /&gt;
== Making a cascade of SSH connections easy ==&lt;br /&gt;
Here is a very convenient way to set up the access to any machine directly instead of doing a cascade of SSH calls. If you can not directly access e.g. the machine &amp;quot;heterogeneous&amp;quot;, but you can log into &amp;quot;csserver&amp;quot; and then to &amp;quot;heterogeneous&amp;quot;, you can put this into your .ssh/config file :&lt;br /&gt;
 Host csserver&lt;br /&gt;
   User kdichev&lt;br /&gt;
   Hostname csserver.ucd.ie&lt;br /&gt;
 Host heterogeneous&lt;br /&gt;
   User kiril&lt;br /&gt;
   Hostname heterogeneous.ucd.ie&lt;br /&gt;
   ProxyCommand ssh -qax csserver nc %h %p&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since the installation of a new PBS system, you can not directly log into a hclXX node. You can do&lt;br /&gt;
 ssh heterogeneous instead and use &amp;quot;qsub&amp;quot; [[HCL_cluster#Access_and_Security]]&lt;br /&gt;
&lt;br /&gt;
== X11 forwarding ==&lt;br /&gt;
&amp;lt;code lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -X hostname&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
or add the following line to your .ssh/ssh_config file&lt;br /&gt;
 ForwardX11 yes&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=HCL_Cluster_Network&amp;diff=558</id>
		<title>HCL Cluster Network</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=HCL_Cluster_Network&amp;diff=558"/>
				<updated>2011-01-27T13:23:20Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Switch Management&amp;lt;/strong&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;The cluster is connected via two Cisco Catalyst 3560G switches. &lt;br /&gt;
  The ingress bandwidth on any physical port can be configured to any value between &lt;br /&gt;
  8kb/s and 1Gb/s. The switches are connected to each other via a gigabit sfp &lt;br /&gt;
  cable.&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p align=&amp;quot;left&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;As the &amp;lt;a href=&amp;quot;Specs.html&amp;quot;&amp;gt;Cluster Specifications&amp;lt;/a&amp;gt; &lt;br /&gt;
  show, each node has two Network Interfaces, each with its own IP Address. Each &lt;br /&gt;
  eth0 is connected to switch 1, and each eth1 is connected to switch 2. Which &lt;br /&gt;
  topology you wish to use will determine which IP address you should use when &lt;br /&gt;
  referring to each machine. &amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Switch Access&amp;lt;/strong&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;The switches can be accessed through telnet from any machine &lt;br /&gt;
  on the cluster network. Type&amp;lt;br&amp;gt;&lt;br /&gt;
  telnet 192.168.21.252 for switch1 or telnet 192.168.21.253 for switch2, and &lt;br /&gt;
  the switch should prompt for a password. For the password, email brett becker.&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Node Configuration&amp;lt;/strong&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
Here[http://www.linuxfoundation.org/collaborate/workgroups/networking/netem] is an excellent description how to introduce packet delays for outgoing traffic, which is a way to control latency.&lt;br /&gt;
&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Switch Configuration&amp;lt;/strong&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
  For example, we will demonstrate how to limit the bandwidth of the connection &lt;br /&gt;
  between hcl01 and hcl02 to 100Mbps:&amp;lt;br&amp;gt;&lt;br /&gt;
  -----------------------------------&amp;lt;br&amp;gt;&lt;br /&gt;
  hcl02 $&amp;amp;gt; telnet 192.168.21.252&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Trying 192.168.21.252...&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Connected to 192.168.21.252 (192.168.21.252).&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Escape character is '^]'.&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;User Access Verification&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;Password: &amp;amp;lt;enter password&amp;amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1&amp;amp;gt;enable&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Password: &amp;amp;lt;enter password&amp;amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1#configure terminal&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Enter configuration commands, one per line. End with CNTL/Z.&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config)#policy-map example&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config-pmap)#class ipclass1&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config-pmap-c)#police 100000000 800000 exceed-action drop&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config-pmap-c)#exit&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config-pmap)#exit&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config)#interface gigabitEthernet0/3&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config-if)#service-policy input example&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config-if)#exit&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config)#interface gigabitEthernet0/4&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config-if)#service-policy input example&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config-if)#exit&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1#show policy-map&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Policy Map example&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Class ipclass1&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;police 100000000 800000 exceed-action drop&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1#exit&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Connection closed by foreign host.&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;hcl02 $&amp;amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
  ----------------------------------------&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;In the above example, we telnet to the switch and enter the &lt;br /&gt;
  password. We then type &amp;amp;#8220;enable&amp;amp;#8221; and enter the password again. Then &lt;br /&gt;
  we type &amp;amp;#8220;configure terminal&amp;amp;#8221; to bring us into config mode. We then &lt;br /&gt;
  create a new policy-map named &amp;amp;#8220;example&amp;amp;#8221; We bind this policy-map &lt;br /&gt;
  to class &amp;amp;#8220;ipclass1&amp;amp;#8221;. ipclass1 is a class that incorporates all ports &lt;br /&gt;
  on the switch. PLEASE DO NOT REMOVE THIS CLASS! We then enter the key statement &lt;br /&gt;
  police 100000000 800000 exceed-action drop. This tells the switch that this &lt;br /&gt;
  policy-map is to limit the bandwidth to 100Mbps, with a bucket burst of 80000, &lt;br /&gt;
  and if the rate is exceeded packets are to be dropped. We then exit policy-map &lt;br /&gt;
  configuration and enter interface gigabitEthernet0/3. This is the port that &lt;br /&gt;
  is connected to hcl03. We then attach the policy-map &amp;amp;#8220;example&amp;amp;#8221; to &lt;br /&gt;
  this interface. We then do the same for port gigabitEthernet0/4 which is connected &lt;br /&gt;
  to hcl04. The policy-map is then viewed using the show command to ensure that &lt;br /&gt;
  it is correct. &amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;This example demonstrates an important fact about the cluster. &lt;br /&gt;
  hcl01&amp;amp;#8217;s eth0 (192.168.21.3) is connected to port gigabitEthernet0/1 on &lt;br /&gt;
  switch1. Similarly, hclx&amp;amp;#8217;s eth0 (192.168.21.x+2) is connected to gigabitEthernet0.x &lt;br /&gt;
  on switch1.&amp;lt;br&amp;gt;&lt;br /&gt;
  Further, hcl01&amp;amp;#8217;s eth1 (192.168.21.103) is connected to gigabitEthernet0/1 &lt;br /&gt;
  on switch2. Similarly, hclx&amp;amp;#8217;s eth1 (192.168.21.100+x+2) is connected to &lt;br /&gt;
  gigabitEthernet0/x on switch2. &amp;lt;br&amp;gt;&lt;br /&gt;
  The table below shows this comprehensively. &amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;table width=&amp;quot;53%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Machine&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td width=&amp;quot;23%&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;IP Address&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td width=&amp;quot;26%&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Switch1 Port&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td width=&amp;quot;31%&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Switch2 Port&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl01&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.3&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl01_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.103&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl02&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.4&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/2&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl02_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.104&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/2&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl03&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.5&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/3&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl03_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;div align=&amp;quot;left&amp;quot;&amp;gt;192.168.21.105&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/3&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl04&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.6&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/4&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl04_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.106&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/4&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl05&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.7&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/5&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl05_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.107&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/5&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl06&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.8&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/6&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl06_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.108&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/6&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl07&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.9&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/7&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl07_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.109&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/7&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl08&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.10&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/8&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl08_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.110&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/8&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl09&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.11&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/9&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl09_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.111&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/9&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl10&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.12&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/10&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl10_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.112&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/10&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl11&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.13&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/11&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl11_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.113&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/11&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl12&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.14&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/12&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl12_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.114&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/12&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl13&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.15&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/13&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl13_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.115&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/13&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl14&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.16&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/14&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl14_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.116&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/14&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl15&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.17&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/15&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl15_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.117&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/15&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl16&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.18&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/16&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl16_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.118&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/16&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;Limiting the bandwidth between the two switches is similar to &lt;br /&gt;
  the above example, but on switch1, Interface gigabitEthernet0/25 should be assigned &lt;br /&gt;
  the desired policy-map. Then on switch2, the same should be done. &amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Simulating Two Clusters&amp;lt;/strong&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;If you want to simulate two clusters with the cluster, the following &lt;br /&gt;
  example should be considered.&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;Say we want Cluster A to be comprised of hcl01 and hcl02, and &lt;br /&gt;
  Cluster B, to comprised of hcl03 and hcl04. We want hcl01 and hcl02 to &amp;amp;#8220;talk&amp;amp;#8221; &lt;br /&gt;
  to each other at 10Mbps, and hcl03 and hcl04 to &amp;amp;#8220;talk&amp;amp;#8221; at 1Gbps. &lt;br /&gt;
  Additionally, we want to restrict the link between Clusters A and B to a bandwidth &lt;br /&gt;
  of 250Mbps. &amp;lt;br&amp;gt;&lt;br /&gt;
  To accomplish this we perform the following steps:&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;1.) Log onto hcl01 and make sure that eth0 is active and eth1 &lt;br /&gt;
  is not. This means that the machine is connected to switch1.&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;2.) Do the same for hcl02 &amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;3.) Log onto switch1, and create a policy-map to limit the bandwidth &lt;br /&gt;
  to 10Mbps (10000000bps). Attach this policy-map to gigabitEthernet0/1 and gigabitEthernet0/2. &lt;br /&gt;
  &amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;4.) Log onto hcl03 and perform the following steps:&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt; hcl03 $&amp;amp;gt; /sbin/ifconfig &amp;lt;br&amp;gt;&lt;br /&gt;
  This will list the active network devices. If the user before you cleaned up &lt;br /&gt;
  after him/her self, only &amp;amp;#8220;lo&amp;amp;#8221; (the loopback interface) and &amp;amp;#8220;eth0&amp;amp;#8221; &lt;br /&gt;
  should be listed. &amp;lt;br&amp;gt;&lt;br /&gt;
  hcl03 $&amp;amp;gt; /sbin/ifup eth1 (debian command is sudo /sbin/ifup eth1)&amp;lt;br&amp;gt;&lt;br /&gt;
  hcl03 $&amp;amp;gt; /sbin/ifdown eth0 (debian command is sudo /sbin/ifdown eth0)&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;This connects hcl03 to switch2, as eth1 is connected to switch2. &lt;br /&gt;
  Then hcl03 is disconnected from switch1, as eth0 is connected to switch1. MAKE &lt;br /&gt;
  SURE YOU ALWAYS BRING ONE INTERFACE UP BEFORE YOU BRING ANOTHER DOWN. OTHERWISE &lt;br /&gt;
  THE MACHINE WILL BE ISOLATED WITH NO ACTIVE NETWORK DEVICES. To see what devices &lt;br /&gt;
  are currently active, use the /sbin/ifconfig command. &amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;5.) The same should be done for hcl04. &amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;6.) Since we want these machines to talk at 1Gbps, we should &lt;br /&gt;
  log onto switch2 and make sure that there are no policy-maps existing. &amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;7.) Log onto switch1 and create a new policy-map, limit it to &lt;br /&gt;
  250000000bps and attach it to gigabitEthernet0/25. Do the same for switch2.&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;Done!&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;The following example shows how to delete a policy-map. YOU &lt;br /&gt;
  SHOULD ALWAYS REMEMBER TO DELETE YOUR POLICY-MAPS WHEN YOUR JOBS ARE DONE SO &lt;br /&gt;
  OTHER USER&amp;amp;#8217;S JOBS DON&amp;amp;#8217;T GET MESSED UP! &amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;--------------------------------------------------------------&amp;lt;br&amp;gt;&lt;br /&gt;
  hcl0x $&amp;amp;gt; telnet 192.168.21.252&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Trying 192.168.21.252...&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Connected to 192.168.21.252 (192.168.21.252).&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Escape character is '^]'.&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;User Access Verification&amp;lt;br&amp;gt;&lt;br /&gt;
  Password: &amp;amp;lt;enter password&amp;amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1&amp;amp;gt;enable&amp;lt;br&amp;gt;&lt;br /&gt;
  Password:&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1#show policy-map&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Policy Map example&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Class ipclass1&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;police 100000000 800000 exceed-action drop&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1#config t&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Enter configuration commands, one per line. End with CNTL/Z.&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config)#no policy-map example&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config)#exit&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1#show policy-map&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1#exit&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Connection closed by foreign host.&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;hcl0x $&amp;amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
  ---------------------------------------------------------------&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=HCL_Cluster_Network&amp;diff=557</id>
		<title>HCL Cluster Network</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=HCL_Cluster_Network&amp;diff=557"/>
				<updated>2011-01-27T13:21:34Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Switch Management&amp;lt;/strong&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;The cluster is connected via two Cisco Catalyst 3560G switches. &lt;br /&gt;
  The ingress bandwidth on any physical port can be configured to any value between &lt;br /&gt;
  8kb/s and 1Gb/s. The switches are connected to each other via a gigabit sfp &lt;br /&gt;
  cable.&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p align=&amp;quot;left&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;As the &amp;lt;a href=&amp;quot;Specs.html&amp;quot;&amp;gt;Cluster Specifications&amp;lt;/a&amp;gt; &lt;br /&gt;
  show, each node has two Network Interfaces, each with its own IP Address. Each &lt;br /&gt;
  eth0 is connected to switch 1, and each eth1 is connected to switch 2. Which &lt;br /&gt;
  topology you wish to use will determine which IP address you should use when &lt;br /&gt;
  referring to each machine. &amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Switch Access&amp;lt;/strong&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;The switches can be accessed through telnet from any machine &lt;br /&gt;
  on the cluster network. Type&amp;lt;br&amp;gt;&lt;br /&gt;
  telnet 192.168.21.252 for switch1 or telnet 192.168.21.253 for switch2, and &lt;br /&gt;
  the switch should prompt for a password. For the password, email brett becker.&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Node Configuration&amp;lt;/strong&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;&lt;br /&gt;
Here[http://www.linuxfoundation.org/collaborate/workgroups/networking/netem] is an excellent description how to introduce packet delays for outgoing traffic, which is a way to control latency.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Switch Configuration&amp;lt;/strong&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
  For example, we will demonstrate how to limit the bandwidth of the connection &lt;br /&gt;
  between hcl01 and hcl02 to 100Mbps:&amp;lt;br&amp;gt;&lt;br /&gt;
  -----------------------------------&amp;lt;br&amp;gt;&lt;br /&gt;
  hcl02 $&amp;amp;gt; telnet 192.168.21.252&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Trying 192.168.21.252...&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Connected to 192.168.21.252 (192.168.21.252).&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Escape character is '^]'.&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;User Access Verification&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;Password: &amp;amp;lt;enter password&amp;amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1&amp;amp;gt;enable&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Password: &amp;amp;lt;enter password&amp;amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1#configure terminal&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Enter configuration commands, one per line. End with CNTL/Z.&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config)#policy-map example&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config-pmap)#class ipclass1&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config-pmap-c)#police 100000000 800000 exceed-action drop&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config-pmap-c)#exit&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config-pmap)#exit&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config)#interface gigabitEthernet0/3&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config-if)#service-policy input example&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config-if)#exit&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config)#interface gigabitEthernet0/4&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config-if)#service-policy input example&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config-if)#exit&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1#show policy-map&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Policy Map example&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Class ipclass1&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;police 100000000 800000 exceed-action drop&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1#exit&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Connection closed by foreign host.&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;hcl02 $&amp;amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
  ----------------------------------------&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;In the above example, we telnet to the switch and enter the &lt;br /&gt;
  password. We then type &amp;amp;#8220;enable&amp;amp;#8221; and enter the password again. Then &lt;br /&gt;
  we type &amp;amp;#8220;configure terminal&amp;amp;#8221; to bring us into config mode. We then &lt;br /&gt;
  create a new policy-map named &amp;amp;#8220;example&amp;amp;#8221; We bind this policy-map &lt;br /&gt;
  to class &amp;amp;#8220;ipclass1&amp;amp;#8221;. ipclass1 is a class that incorporates all ports &lt;br /&gt;
  on the switch. PLEASE DO NOT REMOVE THIS CLASS! We then enter the key statement &lt;br /&gt;
  police 100000000 800000 exceed-action drop. This tells the switch that this &lt;br /&gt;
  policy-map is to limit the bandwidth to 100Mbps, with a bucket burst of 80000, &lt;br /&gt;
  and if the rate is exceeded packets are to be dropped. We then exit policy-map &lt;br /&gt;
  configuration and enter interface gigabitEthernet0/3. This is the port that &lt;br /&gt;
  is connected to hcl03. We then attach the policy-map &amp;amp;#8220;example&amp;amp;#8221; to &lt;br /&gt;
  this interface. We then do the same for port gigabitEthernet0/4 which is connected &lt;br /&gt;
  to hcl04. The policy-map is then viewed using the show command to ensure that &lt;br /&gt;
  it is correct. &amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;This example demonstrates an important fact about the cluster. &lt;br /&gt;
  hcl01&amp;amp;#8217;s eth0 (192.168.21.3) is connected to port gigabitEthernet0/1 on &lt;br /&gt;
  switch1. Similarly, hclx&amp;amp;#8217;s eth0 (192.168.21.x+2) is connected to gigabitEthernet0.x &lt;br /&gt;
  on switch1.&amp;lt;br&amp;gt;&lt;br /&gt;
  Further, hcl01&amp;amp;#8217;s eth1 (192.168.21.103) is connected to gigabitEthernet0/1 &lt;br /&gt;
  on switch2. Similarly, hclx&amp;amp;#8217;s eth1 (192.168.21.100+x+2) is connected to &lt;br /&gt;
  gigabitEthernet0/x on switch2. &amp;lt;br&amp;gt;&lt;br /&gt;
  The table below shows this comprehensively. &amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=&amp;quot;center&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;table width=&amp;quot;53%&amp;quot; border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td width=&amp;quot;20%&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Machine&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td width=&amp;quot;23%&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;IP Address&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td width=&amp;quot;26%&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Switch1 Port&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td width=&amp;quot;31%&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Switch2 Port&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl01&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.3&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl01_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.103&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/1&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl02&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.4&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/2&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl02_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.104&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/2&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl03&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.5&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/3&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl03_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;&amp;lt;div align=&amp;quot;left&amp;quot;&amp;gt;192.168.21.105&amp;lt;/div&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/3&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl04&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.6&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/4&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl04_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.106&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/4&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl05&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.7&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/5&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl05_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.107&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/5&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl06&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.8&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/6&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl06_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.108&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/6&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl07&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.9&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/7&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl07_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.109&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/7&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl08&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.10&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/8&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl08_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.110&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/8&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl09&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.11&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/9&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl09_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.111&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/9&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl10&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.12&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/10&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl10_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.112&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/10&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl11&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.13&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/11&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl11_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.113&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/11&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl12&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.14&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/12&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl12_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.114&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/12&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl13&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.15&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/13&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl13_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.115&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/13&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl14&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.16&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/14&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl14_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.116&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/14&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl15&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.17&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/15&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl15_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.117&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/15&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl16&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.18&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/16&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt; &lt;br /&gt;
      &amp;lt;td&amp;gt;hcl16_eth1&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;192.168.21.118&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;N/A&amp;lt;/td&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt;gigabitEthernet0/16&amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
  &amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;Limiting the bandwidth between the two switches is similar to &lt;br /&gt;
  the above example, but on switch1, Interface gigabitEthernet0/25 should be assigned &lt;br /&gt;
  the desired policy-map. Then on switch2, the same should be done. &amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;amp;nbsp;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p align=&amp;quot;center&amp;quot;&amp;gt;&amp;lt;font size=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;Simulating Two Clusters&amp;lt;/strong&amp;gt;&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;If you want to simulate two clusters with the cluster, the following &lt;br /&gt;
  example should be considered.&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;Say we want Cluster A to be comprised of hcl01 and hcl02, and &lt;br /&gt;
  Cluster B, to comprised of hcl03 and hcl04. We want hcl01 and hcl02 to &amp;amp;#8220;talk&amp;amp;#8221; &lt;br /&gt;
  to each other at 10Mbps, and hcl03 and hcl04 to &amp;amp;#8220;talk&amp;amp;#8221; at 1Gbps. &lt;br /&gt;
  Additionally, we want to restrict the link between Clusters A and B to a bandwidth &lt;br /&gt;
  of 250Mbps. &amp;lt;br&amp;gt;&lt;br /&gt;
  To accomplish this we perform the following steps:&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;1.) Log onto hcl01 and make sure that eth0 is active and eth1 &lt;br /&gt;
  is not. This means that the machine is connected to switch1.&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;2.) Do the same for hcl02 &amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;3.) Log onto switch1, and create a policy-map to limit the bandwidth &lt;br /&gt;
  to 10Mbps (10000000bps). Attach this policy-map to gigabitEthernet0/1 and gigabitEthernet0/2. &lt;br /&gt;
  &amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;4.) Log onto hcl03 and perform the following steps:&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt; hcl03 $&amp;amp;gt; /sbin/ifconfig &amp;lt;br&amp;gt;&lt;br /&gt;
  This will list the active network devices. If the user before you cleaned up &lt;br /&gt;
  after him/her self, only &amp;amp;#8220;lo&amp;amp;#8221; (the loopback interface) and &amp;amp;#8220;eth0&amp;amp;#8221; &lt;br /&gt;
  should be listed. &amp;lt;br&amp;gt;&lt;br /&gt;
  hcl03 $&amp;amp;gt; /sbin/ifup eth1 (debian command is sudo /sbin/ifup eth1)&amp;lt;br&amp;gt;&lt;br /&gt;
  hcl03 $&amp;amp;gt; /sbin/ifdown eth0 (debian command is sudo /sbin/ifdown eth0)&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;This connects hcl03 to switch2, as eth1 is connected to switch2. &lt;br /&gt;
  Then hcl03 is disconnected from switch1, as eth0 is connected to switch1. MAKE &lt;br /&gt;
  SURE YOU ALWAYS BRING ONE INTERFACE UP BEFORE YOU BRING ANOTHER DOWN. OTHERWISE &lt;br /&gt;
  THE MACHINE WILL BE ISOLATED WITH NO ACTIVE NETWORK DEVICES. To see what devices &lt;br /&gt;
  are currently active, use the /sbin/ifconfig command. &amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;5.) The same should be done for hcl04. &amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;6.) Since we want these machines to talk at 1Gbps, we should &lt;br /&gt;
  log onto switch2 and make sure that there are no policy-maps existing. &amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;7.) Log onto switch1 and create a new policy-map, limit it to &lt;br /&gt;
  250000000bps and attach it to gigabitEthernet0/25. Do the same for switch2.&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;Done!&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;The following example shows how to delete a policy-map. YOU &lt;br /&gt;
  SHOULD ALWAYS REMEMBER TO DELETE YOUR POLICY-MAPS WHEN YOUR JOBS ARE DONE SO &lt;br /&gt;
  OTHER USER&amp;amp;#8217;S JOBS DON&amp;amp;#8217;T GET MESSED UP! &amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;--------------------------------------------------------------&amp;lt;br&amp;gt;&lt;br /&gt;
  hcl0x $&amp;amp;gt; telnet 192.168.21.252&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Trying 192.168.21.252...&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Connected to 192.168.21.252 (192.168.21.252).&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Escape character is '^]'.&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;User Access Verification&amp;lt;br&amp;gt;&lt;br /&gt;
  Password: &amp;amp;lt;enter password&amp;amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1&amp;amp;gt;enable&amp;lt;br&amp;gt;&lt;br /&gt;
  Password:&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1#show policy-map&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Policy Map example&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Class ipclass1&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;police 100000000 800000 exceed-action drop&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1#config t&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Enter configuration commands, one per line. End with CNTL/Z.&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config)#no policy-map example&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1(config)#exit&amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1#show policy-map&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;lt;br&amp;gt;&lt;br /&gt;
  hclswitch1#exit&amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Connection closed by foreign host.&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;font size=&amp;quot;4&amp;quot;&amp;gt;hcl0x $&amp;amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
  ---------------------------------------------------------------&amp;lt;/font&amp;gt;&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=CPM&amp;diff=478</id>
		<title>CPM</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=CPM&amp;diff=478"/>
				<updated>2010-09-02T11:25:28Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: New page: ToDo for CPM:  * implement Traeff minimum/maximum decision making * implement mapping of processes based on sorting so that in a reserved set of resources, process X always refers to the e...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ToDo for CPM:&lt;br /&gt;
&lt;br /&gt;
* implement Traeff minimum/maximum decision making&lt;br /&gt;
* implement mapping of processes based on sorting so that in a reserved set of resources, process X always refers to the exact same node Y&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=OpenMPI&amp;diff=444</id>
		<title>OpenMPI</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=OpenMPI&amp;diff=444"/>
				<updated>2010-06-30T22:32:13Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* MCA parameter files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.open-mpi.org/faq/&lt;br /&gt;
&lt;br /&gt;
== MCA parameter files ==&lt;br /&gt;
If you want to permanently use some MCA parameter settings, you can create a file $HOME/.openmpi/mca-params.conf, e.g.:&lt;br /&gt;
&lt;br /&gt;
 cat $HOME/.openmpi/mca-params.conf&lt;br /&gt;
 btl_tcp_if_exclude = lo,eth1&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=HCL_cluster&amp;diff=443</id>
		<title>HCL cluster</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=HCL_cluster&amp;diff=443"/>
				<updated>2010-06-30T22:28:59Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Some networking issues on HCL cluster (unsolved) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://hcl.ucd.ie/Hardware&lt;br /&gt;
&lt;br /&gt;
==General Information==&lt;br /&gt;
[[Image:network.jpg|right|thumbnail||Layout of the Cluster]]&lt;br /&gt;
The hcl cluster is heterogeneous in computing hardware &amp;amp; network ability.&lt;br /&gt;
&lt;br /&gt;
Nodes are from Dell, IBM, and HP, with Celeron, Pentium 4, Xeon, and AMD processors ranging in speeds from 1.8 to 3.6Ghz. Accordingly architectures and parameters such as Front Side Bus, Cache, and Main Memory all vary.&lt;br /&gt;
&lt;br /&gt;
Operating System used is Debian “squeeze” with Linux kernel 2.6.32.&lt;br /&gt;
&lt;br /&gt;
The network hardware consists of two Cisco 24+4 port Gigabit switches. Each node has two Gigabit ethernet ports - each eth0 is connected to the first switch, and each eth1 is connected to the second switch. The switches are also connected to each other. The bandwidth of each port can be configured to meet any value between 8Kb/s and 1Gb/s. This allows testing on a very large number of network topologies, As the bandwidth on the link connecting the two switches can also be configured, the cluster can actually act as two separate clusters connected via one link.&lt;br /&gt;
&lt;br /&gt;
The diagram below shows a schematic of the cluster.&lt;br /&gt;
&lt;br /&gt;
== Detailed Cluster Specification ==&lt;br /&gt;
A table of hardware configuration is available here: [[Cluster Specification]]&lt;br /&gt;
== Cluster Administration ==&lt;br /&gt;
===Useful Tools===&lt;br /&gt;
&amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; on &amp;lt;code&amp;gt;heterogeneous.ucd.ie&amp;lt;/code&amp;gt; has a number of [http://expect.nist.gov/ Expect] scripts to automate administration on the cluster (in &amp;lt;code&amp;gt;/root/scripts&amp;lt;/code&amp;gt;). &amp;lt;code&amp;gt;root_ssh&amp;lt;/code&amp;gt; will automatically log into a host, provide the root password and either return a shell to the user or execute a command that is passed as a second argument. Command syntax is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
# root_ssh&lt;br /&gt;
usage: root_ssh [user@]&amp;lt;host&amp;gt; [command]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example usage, to login and execute a command on each node in the cluster (note the file &amp;lt;code&amp;gt;/etc/dsh/machines.list&amp;lt;/code&amp;gt; contains the hostnames of all compute nodes of the cluster):&lt;br /&gt;
 # for i in `cat /etc/dsh/machines.list`; do root_ssh $i ps ax \| grep pbs; done&lt;br /&gt;
&lt;br /&gt;
The above is sequential. To run parallel jobs, for example: &amp;lt;code&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get -y upgrade&amp;lt;/code&amp;gt;, try the following trick with [http://www.gnu.org/software/screen/ screen]:&lt;br /&gt;
 # for i in `cat /etc/dsh/machines.list`; do screen -L -d -m root_ssh $i apt-get update \&amp;amp;\&amp;amp; apt-get -y upgrade'; done&lt;br /&gt;
You can check the screenlog.* files for errors and delete them when you are happy. Sometimes all logs are sent to screenlog.0, not sure why.&lt;br /&gt;
&lt;br /&gt;
== Software packages available on HCL Cluster 2.0 ==&lt;br /&gt;
&lt;br /&gt;
Wit a fresh installation of operating systems on HCL Cluster the follow list of packages are avalible:&lt;br /&gt;
* autoconf&lt;br /&gt;
* automake&lt;br /&gt;
* fftw2&lt;br /&gt;
* git&lt;br /&gt;
* gfortran&lt;br /&gt;
* gnuplot&lt;br /&gt;
* libtool&lt;br /&gt;
* netperf&lt;br /&gt;
* octave3.2&lt;br /&gt;
* qhull&lt;br /&gt;
* subversion&lt;br /&gt;
* valgrind&lt;br /&gt;
* gsl-dev&lt;br /&gt;
* vim&lt;br /&gt;
* python&lt;br /&gt;
* mc&lt;br /&gt;
* openmpi-bin &lt;br /&gt;
* openmpi-dev&lt;br /&gt;
* evince&lt;br /&gt;
* libboost-graph-dev&lt;br /&gt;
* libboost-serialization-dev&lt;br /&gt;
* r-cran-strucchange&lt;br /&gt;
* graphviz&lt;br /&gt;
* doxygen&lt;br /&gt;
&lt;br /&gt;
[[new hcl node install &amp;amp; configuration log]]&lt;br /&gt;
&lt;br /&gt;
[[new heterogeneous.ucd.ie install log]]&lt;br /&gt;
&lt;br /&gt;
== Access and Security ==&lt;br /&gt;
All access and security for the cluster is handled by the gateway machine (heterogeneous.ucd.ie). This machine is not considered a compute node and should not be used as such. The only new incoming connections allowed are ssh, other incoming packets such as http that are responding to requests from inside the cluster (established or related) are also allowed. Incoming ssh packets are only accepted if they are originating from designated IP addresses. These IP's must be registered ucd IP's. csserver.ucd.ie is allowed, as is hclgate.ucd.ie, on which all users have accounts. Thus to gain access to the cluster you can ssh from csserver, hclgate or other allowed machines to heterogeneous. From there you can ssh to any of the nodes (hcl01-hcl16).&lt;br /&gt;
&lt;br /&gt;
Access from outside the UCD network is only allowed once you have gained entry to a server that allows outside connections (such as csserver.ucd.ie)&lt;br /&gt;
&lt;br /&gt;
== Some networking issues on HCL cluster (unsolved) ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;/sbin/route&amp;quot; should give:&lt;br /&gt;
&lt;br /&gt;
 Kernel IP routing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 239.2.11.72     *               255.255.255.255 UH    0      0        0 eth0&lt;br /&gt;
 heterogeneous.u *               255.255.255.255 UH    0      0        0 eth0&lt;br /&gt;
 192.168.21.0    *               255.255.255.0   U     0      0        0 eth1&lt;br /&gt;
 192.168.20.0    *               255.255.255.0   U     0      0        0 eth0&lt;br /&gt;
 192.168.20.0    *               255.255.254.0   U     0      0        0 eth0&lt;br /&gt;
 192.168.20.0    *               255.255.254.0   U     0      0        0 eth1&lt;br /&gt;
 default         heterogeneous.u 0.0.0.0         UG    0      0        0 eth0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For reasons unclear, sometimes many machines miss the entry:&lt;br /&gt;
&lt;br /&gt;
 192.168.21.0    *               255.255.255.0   U     0      0        0 eth1&lt;br /&gt;
&lt;br /&gt;
For Open MPI, this leads to inability to do a system sockets &amp;quot;connect&amp;quot; call to any 192.*.21.* address (hangup).&lt;br /&gt;
For this case, you can &lt;br /&gt;
&lt;br /&gt;
* switch off eth1 (see also [http://hcl.ucd.ie/wiki/index.php/OpenMPI] ):&lt;br /&gt;
&lt;br /&gt;
 mpirun --mca btl_tcp_if_exclude lo,eth1  ...&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
*  you can restore the above table on all nodes by running &amp;quot;sh /etc/network/if-up.d/00routes&amp;quot; as root&lt;br /&gt;
&lt;br /&gt;
It is not yet clear why without this entry the connection to the &amp;quot;21&amp;quot; addresses can't be connected. We expect that in this case following rule should be matched (because of the mask):&lt;br /&gt;
 192.168.20.0    *               255.255.254.0   U     0      0        0 eth0&lt;br /&gt;
&lt;br /&gt;
The packets leave over the eth0 network interface then and should go over switch1 to switch2 and eth1 interface of the corresponding node&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* If one attempts a ping from one node A, via its eth0 interface, to the address of another node's (B) eth1 interface, the following is observed:&lt;br /&gt;
** outgoing ping packets appear only on the eth0 interface of the first node A.&lt;br /&gt;
** incoming ping packets appear only on eth1 interface of the second node B.&lt;br /&gt;
** outgoing ping response packets appear on the eth0 interface of the second node B, never on the eth1 interface despite pinging the eth1 address specifically.&lt;br /&gt;
What explains this? With the routing tables as they are above, or in the damaged case, the ping may arrive to the correct interface, but the response from B is routed to A-eth0 via B-eth0. Further, after a number of ping packets have been sent in sequence (50 to 100), pings from A, though the -i eth0 switch is specified, begin to appear on both A-eth0 and A-eth1. This behaviour is unexpected, but does not effect the return path of the ping response packet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In order to get a symmetric behaviour, where a packet leaves A-eth0, travels via the switch bridge to B-eth1 and returns back from B-eth1 to A-eth0, one must ensure the routing table of B contains no eth0 entries.&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=OpenMPI&amp;diff=442</id>
		<title>OpenMPI</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=OpenMPI&amp;diff=442"/>
				<updated>2010-06-30T22:26:14Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* MCA parameter files */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.open-mpi.org/faq/&lt;br /&gt;
&lt;br /&gt;
== MCA parameter files ==&lt;br /&gt;
If you want to permanently use some MCA parameter settings, you can create a file $HOME/.openmpi/mca-params.conf, e.g.:&lt;br /&gt;
&lt;br /&gt;
For example :&lt;br /&gt;
&lt;br /&gt;
 cat $HOME/.openmpi/mca-params.conf&lt;br /&gt;
 btl_tcp_if_exclude = lo,eth1&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=OpenMPI&amp;diff=441</id>
		<title>OpenMPI</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=OpenMPI&amp;diff=441"/>
				<updated>2010-06-30T22:25:51Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.open-mpi.org/faq/&lt;br /&gt;
&lt;br /&gt;
== MCA parameter files ==&lt;br /&gt;
If you want to permanently use some MCA parameter settings, you can create a file $HOME/.openmpi/mca-params.conf .&lt;br /&gt;
&lt;br /&gt;
For example :&lt;br /&gt;
&lt;br /&gt;
 cat $HOME/.openmpi/mca-params.conf&lt;br /&gt;
 btl_tcp_if_exclude = lo,eth1&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=438</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=438"/>
				<updated>2010-06-26T00:54:27Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Automatically saying &amp;quot;yes&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Passwordless SSH ==&lt;br /&gt;
To set up passwordless SSH, there are three main things to do:&lt;br /&gt;
* generate a pair of public/private keys on your local computer&lt;br /&gt;
* copy the public key from the source computer to the target computer's authorized_keys file&lt;br /&gt;
* check the permissions. &lt;br /&gt;
&lt;br /&gt;
You can repeat that transitively for &amp;quot;A-&amp;gt;B-&amp;gt;C&amp;quot;. You can use the initial pair of keys everywhere.&lt;br /&gt;
&lt;br /&gt;
See here for details:&lt;br /&gt;
&lt;br /&gt;
http://www.stearns.org/doc/ssh-techniques.current.html&lt;br /&gt;
&lt;br /&gt;
== Automatically saying &amp;quot;yes&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
This expect script automates typing &amp;quot;yes&amp;quot; when asked by SSH if a host should be added to known_hosts &lt;br /&gt;
 &lt;br /&gt;
 #!/usr/bin/expect -f&lt;br /&gt;
 set arg1 [lindex $argv 0]&lt;br /&gt;
 set timeout 2&lt;br /&gt;
 spawn ssh  $arg1&lt;br /&gt;
 expect &amp;quot;yes/no&amp;quot;  {&lt;br /&gt;
 send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 send &amp;quot;exit\n&amp;quot;&lt;br /&gt;
 send &amp;quot;\r&amp;quot;          &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can include it in a bash script to iterate over all nodes doing this:&lt;br /&gt;
&lt;br /&gt;
 for i in `uniq hostfile` ; do&lt;br /&gt;
 ./say-yes.exp $i&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
== Making a cascade of SSH connections easy ==&lt;br /&gt;
Here is a very convenient way to set up the access to any machine directly instead of doing a cascade of SSH calls. If you can not directly access e.g. the machine &amp;quot;heterogeneous&amp;quot;, but you can log into &amp;quot;csserver&amp;quot; and then to &amp;quot;heterogeneous&amp;quot;, you can put this into your .ssh/config file :&lt;br /&gt;
 Host csserver&lt;br /&gt;
   User kdichev&lt;br /&gt;
   Hostname csserver.ucd.ie&lt;br /&gt;
 Host heterogeneous&lt;br /&gt;
   User kiril&lt;br /&gt;
   Hostname heterogeneous.ucd.ie&lt;br /&gt;
   ProxyCommand ssh -qax csserver nc %h %p&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since the installation of a new PBS system, you can not directly log into a hclXX node. You can do&lt;br /&gt;
 ssh heterogeneous&lt;br /&gt;
instead and use &amp;quot;qsub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== X11 forwarding ==&lt;br /&gt;
&amp;lt;code lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -X hostname&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=437</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=437"/>
				<updated>2010-06-26T00:51:34Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Automatically saying &amp;quot;yes&amp;quot; (NOT WORKING PROPERLY) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Passwordless SSH ==&lt;br /&gt;
To set up passwordless SSH, there are three main things to do:&lt;br /&gt;
* generate a pair of public/private keys on your local computer&lt;br /&gt;
* copy the public key from the source computer to the target computer's authorized_keys file&lt;br /&gt;
* check the permissions. &lt;br /&gt;
&lt;br /&gt;
You can repeat that transitively for &amp;quot;A-&amp;gt;B-&amp;gt;C&amp;quot;. You can use the initial pair of keys everywhere.&lt;br /&gt;
&lt;br /&gt;
See here for details:&lt;br /&gt;
&lt;br /&gt;
http://www.stearns.org/doc/ssh-techniques.current.html&lt;br /&gt;
&lt;br /&gt;
== Automatically saying &amp;quot;yes&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
This expect script automates typing &amp;quot;yes&amp;quot; when asked by SSH if a host should be added to known_hosts &lt;br /&gt;
 &lt;br /&gt;
 #!/usr/bin/expect -f&lt;br /&gt;
 set arg1 [lindex $argv 0]&lt;br /&gt;
 set timeout 2&lt;br /&gt;
 spawn ssh  $arg1&lt;br /&gt;
 expect &amp;quot;yes/no&amp;quot;  {&lt;br /&gt;
 send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
 send &amp;quot;exit\n&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 send &amp;quot;exit\n&amp;quot;&lt;br /&gt;
 send &amp;quot;\r&amp;quot;          &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can include it in a bash script to iterate over all nodes doing this:&lt;br /&gt;
&lt;br /&gt;
 for i in `uniq hostfile` ; do&lt;br /&gt;
 ./say-yes.exp $i&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
== Making a cascade of SSH connections easy ==&lt;br /&gt;
Here is a very convenient way to set up the access to any machine directly instead of doing a cascade of SSH calls. If you can not directly access e.g. the machine &amp;quot;heterogeneous&amp;quot;, but you can log into &amp;quot;csserver&amp;quot; and then to &amp;quot;heterogeneous&amp;quot;, you can put this into your .ssh/config file :&lt;br /&gt;
 Host csserver&lt;br /&gt;
   User kdichev&lt;br /&gt;
   Hostname csserver.ucd.ie&lt;br /&gt;
 Host heterogeneous&lt;br /&gt;
   User kiril&lt;br /&gt;
   Hostname heterogeneous.ucd.ie&lt;br /&gt;
   ProxyCommand ssh -qax csserver nc %h %p&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since the installation of a new PBS system, you can not directly log into a hclXX node. You can do&lt;br /&gt;
 ssh heterogeneous&lt;br /&gt;
instead and use &amp;quot;qsub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== X11 forwarding ==&lt;br /&gt;
&amp;lt;code lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -X hostname&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=436</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=436"/>
				<updated>2010-06-26T00:51:20Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Automatically saying &amp;quot;yes&amp;quot; (NOT WORKING PROPERLY) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Passwordless SSH ==&lt;br /&gt;
To set up passwordless SSH, there are three main things to do:&lt;br /&gt;
* generate a pair of public/private keys on your local computer&lt;br /&gt;
* copy the public key from the source computer to the target computer's authorized_keys file&lt;br /&gt;
* check the permissions. &lt;br /&gt;
&lt;br /&gt;
You can repeat that transitively for &amp;quot;A-&amp;gt;B-&amp;gt;C&amp;quot;. You can use the initial pair of keys everywhere.&lt;br /&gt;
&lt;br /&gt;
See here for details:&lt;br /&gt;
&lt;br /&gt;
http://www.stearns.org/doc/ssh-techniques.current.html&lt;br /&gt;
&lt;br /&gt;
== Automatically saying &amp;quot;yes&amp;quot; (NOT WORKING PROPERLY) ==&lt;br /&gt;
&lt;br /&gt;
This expect script automates typing &amp;quot;yes&amp;quot; when asked by SSH if a host should be added to known_hosts &lt;br /&gt;
 &lt;br /&gt;
 #!/usr/bin/expect -f&lt;br /&gt;
 set arg1 [lindex $argv 0]&lt;br /&gt;
 set timeout 2&lt;br /&gt;
 spawn ssh  $arg1&lt;br /&gt;
 expect &amp;quot;yes/no&amp;quot;  {&lt;br /&gt;
 send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
 send &amp;quot;exit\n&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 send &amp;quot;exit\n&amp;quot;&lt;br /&gt;
 send &amp;quot;\r&amp;quot;          &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can include it in a bash script to iterate over all nodes doing this:&lt;br /&gt;
&lt;br /&gt;
 for i in `uniq hostfile` ; do&lt;br /&gt;
 ./say-yes.exp $i&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
== Making a cascade of SSH connections easy ==&lt;br /&gt;
Here is a very convenient way to set up the access to any machine directly instead of doing a cascade of SSH calls. If you can not directly access e.g. the machine &amp;quot;heterogeneous&amp;quot;, but you can log into &amp;quot;csserver&amp;quot; and then to &amp;quot;heterogeneous&amp;quot;, you can put this into your .ssh/config file :&lt;br /&gt;
 Host csserver&lt;br /&gt;
   User kdichev&lt;br /&gt;
   Hostname csserver.ucd.ie&lt;br /&gt;
 Host heterogeneous&lt;br /&gt;
   User kiril&lt;br /&gt;
   Hostname heterogeneous.ucd.ie&lt;br /&gt;
   ProxyCommand ssh -qax csserver nc %h %p&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since the installation of a new PBS system, you can not directly log into a hclXX node. You can do&lt;br /&gt;
 ssh heterogeneous&lt;br /&gt;
instead and use &amp;quot;qsub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== X11 forwarding ==&lt;br /&gt;
&amp;lt;code lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -X hostname&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=435</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=435"/>
				<updated>2010-06-26T00:49:24Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Automatically saying &amp;quot;yes&amp;quot; (NOT WORKING PROPERLY) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Passwordless SSH ==&lt;br /&gt;
To set up passwordless SSH, there are three main things to do:&lt;br /&gt;
* generate a pair of public/private keys on your local computer&lt;br /&gt;
* copy the public key from the source computer to the target computer's authorized_keys file&lt;br /&gt;
* check the permissions. &lt;br /&gt;
&lt;br /&gt;
You can repeat that transitively for &amp;quot;A-&amp;gt;B-&amp;gt;C&amp;quot;. You can use the initial pair of keys everywhere.&lt;br /&gt;
&lt;br /&gt;
See here for details:&lt;br /&gt;
&lt;br /&gt;
http://www.stearns.org/doc/ssh-techniques.current.html&lt;br /&gt;
&lt;br /&gt;
== Automatically saying &amp;quot;yes&amp;quot; (NOT WORKING PROPERLY) ==&lt;br /&gt;
&lt;br /&gt;
This expect script automates typing &amp;quot;yes&amp;quot; when asked by SSH if a host should be added to known_hosts &lt;br /&gt;
 &lt;br /&gt;
 #!/usr/bin/expect -f&lt;br /&gt;
 set arg1 [lindex $argv 0]&lt;br /&gt;
 set timeout 2&lt;br /&gt;
 spawn ssh  $arg1&lt;br /&gt;
 expect &amp;quot;yes/no&amp;quot;  {&lt;br /&gt;
 send &amp;quot;yes\n&amp;quot;&lt;br /&gt;
 send &amp;quot;exit\n&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 send &amp;quot;exit\n&amp;quot;&lt;br /&gt;
 send &amp;quot;\r&amp;quot;          &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can include it in a bash script to iterate over all nodes doing this:&lt;br /&gt;
&lt;br /&gt;
 cat yes-everywhere.sh&lt;br /&gt;
 for i in `uniq hostfile` ; do&lt;br /&gt;
 ./say-yes.exp $i&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
== Making a cascade of SSH connections easy ==&lt;br /&gt;
Here is a very convenient way to set up the access to any machine directly instead of doing a cascade of SSH calls. If you can not directly access e.g. the machine &amp;quot;heterogeneous&amp;quot;, but you can log into &amp;quot;csserver&amp;quot; and then to &amp;quot;heterogeneous&amp;quot;, you can put this into your .ssh/config file :&lt;br /&gt;
 Host csserver&lt;br /&gt;
   User kdichev&lt;br /&gt;
   Hostname csserver.ucd.ie&lt;br /&gt;
 Host heterogeneous&lt;br /&gt;
   User kiril&lt;br /&gt;
   Hostname heterogeneous.ucd.ie&lt;br /&gt;
   ProxyCommand ssh -qax csserver nc %h %p&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since the installation of a new PBS system, you can not directly log into a hclXX node. You can do&lt;br /&gt;
 ssh heterogeneous&lt;br /&gt;
instead and use &amp;quot;qsub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== X11 forwarding ==&lt;br /&gt;
&amp;lt;code lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -X hostname&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=434</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=434"/>
				<updated>2010-06-25T22:52:40Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Automatically saying &amp;quot;yes&amp;quot; (NOT WORKING PROPERLY */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Passwordless SSH ==&lt;br /&gt;
To set up passwordless SSH, there are three main things to do:&lt;br /&gt;
* generate a pair of public/private keys on your local computer&lt;br /&gt;
* copy the public key from the source computer to the target computer's authorized_keys file&lt;br /&gt;
* check the permissions. &lt;br /&gt;
&lt;br /&gt;
You can repeat that transitively for &amp;quot;A-&amp;gt;B-&amp;gt;C&amp;quot;. You can use the initial pair of keys everywhere.&lt;br /&gt;
&lt;br /&gt;
See here for details:&lt;br /&gt;
&lt;br /&gt;
http://www.stearns.org/doc/ssh-techniques.current.html&lt;br /&gt;
&lt;br /&gt;
== Automatically saying &amp;quot;yes&amp;quot; (NOT WORKING PROPERLY) ==&lt;br /&gt;
&lt;br /&gt;
This expect script automates typing &amp;quot;yes&amp;quot; when asked by SSH if a host should be added to known_hosts &lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/expect -f&lt;br /&gt;
 set arg1 [lindex $argv 0]&lt;br /&gt;
 spawn ssh  $arg1&lt;br /&gt;
 expect &amp;quot;yes&amp;quot;&lt;br /&gt;
 send &amp;quot;yes\r&amp;quot;&lt;br /&gt;
 send &amp;quot;exit\r&amp;quot;&lt;br /&gt;
 expect eof&lt;br /&gt;
 &lt;br /&gt;
You can include it in a bash script to iterate over all nodes doing this:&lt;br /&gt;
&lt;br /&gt;
 cat yes-everywhere.sh&lt;br /&gt;
 for i in `cat hostfile` ; do&lt;br /&gt;
 ./say-yes.exp $i&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
== Making a cascade of SSH connections easy ==&lt;br /&gt;
Here is a very convenient way to set up the access to any machine directly instead of doing a cascade of SSH calls. If you can not directly access e.g. the machine &amp;quot;heterogeneous&amp;quot;, but you can log into &amp;quot;csserver&amp;quot; and then to &amp;quot;heterogeneous&amp;quot;, you can put this into your .ssh/config file :&lt;br /&gt;
 Host csserver&lt;br /&gt;
   User kdichev&lt;br /&gt;
   Hostname csserver.ucd.ie&lt;br /&gt;
 Host heterogeneous&lt;br /&gt;
   User kiril&lt;br /&gt;
   Hostname heterogeneous.ucd.ie&lt;br /&gt;
   ProxyCommand ssh -qax csserver nc %h %p&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since the installation of a new PBS system, you can not directly log into a hclXX node. You can do&lt;br /&gt;
 ssh heterogeneous&lt;br /&gt;
instead and use &amp;quot;qsub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== X11 forwarding ==&lt;br /&gt;
&amp;lt;code lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -X hostname&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=433</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=433"/>
				<updated>2010-06-25T22:52:24Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Automatically saying &amp;quot;yes&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Passwordless SSH ==&lt;br /&gt;
To set up passwordless SSH, there are three main things to do:&lt;br /&gt;
* generate a pair of public/private keys on your local computer&lt;br /&gt;
* copy the public key from the source computer to the target computer's authorized_keys file&lt;br /&gt;
* check the permissions. &lt;br /&gt;
&lt;br /&gt;
You can repeat that transitively for &amp;quot;A-&amp;gt;B-&amp;gt;C&amp;quot;. You can use the initial pair of keys everywhere.&lt;br /&gt;
&lt;br /&gt;
See here for details:&lt;br /&gt;
&lt;br /&gt;
http://www.stearns.org/doc/ssh-techniques.current.html&lt;br /&gt;
&lt;br /&gt;
== Automatically saying &amp;quot;yes&amp;quot; (NOT WORKING PROPERLY ==&lt;br /&gt;
&lt;br /&gt;
This expect script automates typing &amp;quot;yes&amp;quot; when asked by SSH if a host should be added to known_hosts &lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/expect -f&lt;br /&gt;
 set arg1 [lindex $argv 0]&lt;br /&gt;
 spawn ssh  $arg1&lt;br /&gt;
 expect &amp;quot;yes&amp;quot;&lt;br /&gt;
 send &amp;quot;yes\r&amp;quot;&lt;br /&gt;
 send &amp;quot;exit\r&amp;quot;&lt;br /&gt;
 expect eof&lt;br /&gt;
 &lt;br /&gt;
You can include it in a bash script to iterate over all nodes doing this:&lt;br /&gt;
&lt;br /&gt;
 cat yes-everywhere.sh&lt;br /&gt;
 for i in `cat hostfile` ; do&lt;br /&gt;
 ./say-yes.exp $i&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
== Making a cascade of SSH connections easy ==&lt;br /&gt;
Here is a very convenient way to set up the access to any machine directly instead of doing a cascade of SSH calls. If you can not directly access e.g. the machine &amp;quot;heterogeneous&amp;quot;, but you can log into &amp;quot;csserver&amp;quot; and then to &amp;quot;heterogeneous&amp;quot;, you can put this into your .ssh/config file :&lt;br /&gt;
 Host csserver&lt;br /&gt;
   User kdichev&lt;br /&gt;
   Hostname csserver.ucd.ie&lt;br /&gt;
 Host heterogeneous&lt;br /&gt;
   User kiril&lt;br /&gt;
   Hostname heterogeneous.ucd.ie&lt;br /&gt;
   ProxyCommand ssh -qax csserver nc %h %p&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since the installation of a new PBS system, you can not directly log into a hclXX node. You can do&lt;br /&gt;
 ssh heterogeneous&lt;br /&gt;
instead and use &amp;quot;qsub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== X11 forwarding ==&lt;br /&gt;
&amp;lt;code lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -X hostname&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=432</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=432"/>
				<updated>2010-06-25T22:47:53Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Automatically saying &amp;quot;yes&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Passwordless SSH ==&lt;br /&gt;
To set up passwordless SSH, there are three main things to do:&lt;br /&gt;
* generate a pair of public/private keys on your local computer&lt;br /&gt;
* copy the public key from the source computer to the target computer's authorized_keys file&lt;br /&gt;
* check the permissions. &lt;br /&gt;
&lt;br /&gt;
You can repeat that transitively for &amp;quot;A-&amp;gt;B-&amp;gt;C&amp;quot;. You can use the initial pair of keys everywhere.&lt;br /&gt;
&lt;br /&gt;
See here for details:&lt;br /&gt;
&lt;br /&gt;
http://www.stearns.org/doc/ssh-techniques.current.html&lt;br /&gt;
&lt;br /&gt;
== Automatically saying &amp;quot;yes&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
This expect script automates typing &amp;quot;yes&amp;quot; when asked by SSH if a host should be added to known_hosts &lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/expect -f&lt;br /&gt;
 set arg1 [lindex $argv 0]&lt;br /&gt;
 spawn ssh  $arg1&lt;br /&gt;
 expect &amp;quot;yes&amp;quot;&lt;br /&gt;
 send &amp;quot;yes\r&amp;quot;&lt;br /&gt;
 send &amp;quot;exit\r&amp;quot;&lt;br /&gt;
 expect eof&lt;br /&gt;
 &lt;br /&gt;
You can include it in a bash script to iterate over all nodes doing this:&lt;br /&gt;
&lt;br /&gt;
 cat yes-everywhere.sh&lt;br /&gt;
 for i in `cat hostfile` ; do&lt;br /&gt;
 ./say-yes.exp $i&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
== Making a cascade of SSH connections easy ==&lt;br /&gt;
Here is a very convenient way to set up the access to any machine directly instead of doing a cascade of SSH calls. If you can not directly access e.g. the machine &amp;quot;heterogeneous&amp;quot;, but you can log into &amp;quot;csserver&amp;quot; and then to &amp;quot;heterogeneous&amp;quot;, you can put this into your .ssh/config file :&lt;br /&gt;
 Host csserver&lt;br /&gt;
   User kdichev&lt;br /&gt;
   Hostname csserver.ucd.ie&lt;br /&gt;
 Host heterogeneous&lt;br /&gt;
   User kiril&lt;br /&gt;
   Hostname heterogeneous.ucd.ie&lt;br /&gt;
   ProxyCommand ssh -qax csserver nc %h %p&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since the installation of a new PBS system, you can not directly log into a hclXX node. You can do&lt;br /&gt;
 ssh heterogeneous&lt;br /&gt;
instead and use &amp;quot;qsub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== X11 forwarding ==&lt;br /&gt;
&amp;lt;code lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -X hostname&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=431</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=431"/>
				<updated>2010-06-25T22:47:01Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Automatically saying &amp;quot;yes&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Passwordless SSH ==&lt;br /&gt;
To set up passwordless SSH, there are three main things to do:&lt;br /&gt;
* generate a pair of public/private keys on your local computer&lt;br /&gt;
* copy the public key from the source computer to the target computer's authorized_keys file&lt;br /&gt;
* check the permissions. &lt;br /&gt;
&lt;br /&gt;
You can repeat that transitively for &amp;quot;A-&amp;gt;B-&amp;gt;C&amp;quot;. You can use the initial pair of keys everywhere.&lt;br /&gt;
&lt;br /&gt;
See here for details:&lt;br /&gt;
&lt;br /&gt;
http://www.stearns.org/doc/ssh-techniques.current.html&lt;br /&gt;
&lt;br /&gt;
== Automatically saying &amp;quot;yes&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
This expect script automates typing &amp;quot;yes&amp;quot; when asked by SSH if a host should be added to known_hosts &lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/expect -f&lt;br /&gt;
 set arg1 [lindex $argv 0]&lt;br /&gt;
 spawn ssh  $arg1&lt;br /&gt;
 expect &amp;quot;yes&amp;quot;&lt;br /&gt;
 send &amp;quot;yes\r&amp;quot;&lt;br /&gt;
 send &amp;quot;exit\r&amp;quot;&lt;br /&gt;
 expect eof&lt;br /&gt;
 &lt;br /&gt;
You can include it in a bash script to iterate over all nodes doing this:&lt;br /&gt;
&lt;br /&gt;
 cat yes-everywhere.sh&lt;br /&gt;
 for i in `cat hostfile` ; do&lt;br /&gt;
 ./say-yes.exp $i&lt;br /&gt;
 done&lt;br /&gt;
~                                                                               &lt;br /&gt;
~&lt;br /&gt;
&lt;br /&gt;
== Making a cascade of SSH connections easy ==&lt;br /&gt;
Here is a very convenient way to set up the access to any machine directly instead of doing a cascade of SSH calls. If you can not directly access e.g. the machine &amp;quot;heterogeneous&amp;quot;, but you can log into &amp;quot;csserver&amp;quot; and then to &amp;quot;heterogeneous&amp;quot;, you can put this into your .ssh/config file :&lt;br /&gt;
 Host csserver&lt;br /&gt;
   User kdichev&lt;br /&gt;
   Hostname csserver.ucd.ie&lt;br /&gt;
 Host heterogeneous&lt;br /&gt;
   User kiril&lt;br /&gt;
   Hostname heterogeneous.ucd.ie&lt;br /&gt;
   ProxyCommand ssh -qax csserver nc %h %p&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since the installation of a new PBS system, you can not directly log into a hclXX node. You can do&lt;br /&gt;
 ssh heterogeneous&lt;br /&gt;
instead and use &amp;quot;qsub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== X11 forwarding ==&lt;br /&gt;
&amp;lt;code lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -X hostname&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=430</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=430"/>
				<updated>2010-06-25T22:46:03Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Automate the inclusion of hostname to &amp;quot;known_host&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Passwordless SSH ==&lt;br /&gt;
To set up passwordless SSH, there are three main things to do:&lt;br /&gt;
* generate a pair of public/private keys on your local computer&lt;br /&gt;
* copy the public key from the source computer to the target computer's authorized_keys file&lt;br /&gt;
* check the permissions. &lt;br /&gt;
&lt;br /&gt;
You can repeat that transitively for &amp;quot;A-&amp;gt;B-&amp;gt;C&amp;quot;. You can use the initial pair of keys everywhere.&lt;br /&gt;
&lt;br /&gt;
See here for details:&lt;br /&gt;
&lt;br /&gt;
http://www.stearns.org/doc/ssh-techniques.current.html&lt;br /&gt;
&lt;br /&gt;
== Automatically saying &amp;quot;yes&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
This expect script says &amp;quot;yes&amp;quot; when asked if &lt;br /&gt;
&lt;br /&gt;
 #!/usr/bin/expect -f&lt;br /&gt;
 set arg1 [lindex $argv 0]&lt;br /&gt;
 spawn ssh  $arg1&lt;br /&gt;
 expect &amp;quot;yes&amp;quot;&lt;br /&gt;
 send &amp;quot;yes\r&amp;quot;&lt;br /&gt;
 send &amp;quot;exit\r&amp;quot;&lt;br /&gt;
 expect eof&lt;br /&gt;
 &lt;br /&gt;
You can include it in a bash script to iterate over all nodes doing this:&lt;br /&gt;
&lt;br /&gt;
 cat yes-everywhere.sh&lt;br /&gt;
 for i in `cat hostfile` ; do&lt;br /&gt;
 ./say-yes.exp $i&lt;br /&gt;
 done&lt;br /&gt;
~                                                                               &lt;br /&gt;
~&lt;br /&gt;
&lt;br /&gt;
== Making a cascade of SSH connections easy ==&lt;br /&gt;
Here is a very convenient way to set up the access to any machine directly instead of doing a cascade of SSH calls. If you can not directly access e.g. the machine &amp;quot;heterogeneous&amp;quot;, but you can log into &amp;quot;csserver&amp;quot; and then to &amp;quot;heterogeneous&amp;quot;, you can put this into your .ssh/config file :&lt;br /&gt;
 Host csserver&lt;br /&gt;
   User kdichev&lt;br /&gt;
   Hostname csserver.ucd.ie&lt;br /&gt;
 Host heterogeneous&lt;br /&gt;
   User kiril&lt;br /&gt;
   Hostname heterogeneous.ucd.ie&lt;br /&gt;
   ProxyCommand ssh -qax csserver nc %h %p&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since the installation of a new PBS system, you can not directly log into a hclXX node. You can do&lt;br /&gt;
 ssh heterogeneous&lt;br /&gt;
instead and use &amp;quot;qsub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== X11 forwarding ==&lt;br /&gt;
&amp;lt;code lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -X hostname&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=429</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=429"/>
				<updated>2010-06-25T22:40:07Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Passwordless SSH */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Passwordless SSH ==&lt;br /&gt;
To set up passwordless SSH, there are three main things to do:&lt;br /&gt;
* generate a pair of public/private keys on your local computer&lt;br /&gt;
* copy the public key from the source computer to the target computer's authorized_keys file&lt;br /&gt;
* check the permissions. &lt;br /&gt;
&lt;br /&gt;
You can repeat that transitively for &amp;quot;A-&amp;gt;B-&amp;gt;C&amp;quot;. You can use the initial pair of keys everywhere.&lt;br /&gt;
&lt;br /&gt;
See here for details:&lt;br /&gt;
&lt;br /&gt;
http://www.stearns.org/doc/ssh-techniques.current.html&lt;br /&gt;
&lt;br /&gt;
== Automate the inclusion of hostname to &amp;quot;known_host&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
== Making a cascade of SSH connections easy ==&lt;br /&gt;
Here is a very convenient way to set up the access to any machine directly instead of doing a cascade of SSH calls. If you can not directly access e.g. the machine &amp;quot;heterogeneous&amp;quot;, but you can log into &amp;quot;csserver&amp;quot; and then to &amp;quot;heterogeneous&amp;quot;, you can put this into your .ssh/config file :&lt;br /&gt;
 Host csserver&lt;br /&gt;
   User kdichev&lt;br /&gt;
   Hostname csserver.ucd.ie&lt;br /&gt;
 Host heterogeneous&lt;br /&gt;
   User kiril&lt;br /&gt;
   Hostname heterogeneous.ucd.ie&lt;br /&gt;
   ProxyCommand ssh -qax csserver nc %h %p&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since the installation of a new PBS system, you can not directly log into a hclXX node. You can do&lt;br /&gt;
 ssh heterogeneous&lt;br /&gt;
instead and use &amp;quot;qsub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== X11 forwarding ==&lt;br /&gt;
&amp;lt;code lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -X hostname&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=Grid5000&amp;diff=428</id>
		<title>Grid5000</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=Grid5000&amp;diff=428"/>
				<updated>2010-06-22T16:25:33Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Compilation and running jobs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://www.grid5000.fr/mediawiki/index.php/Grid5000:Home&lt;br /&gt;
&lt;br /&gt;
== Login, job submission, deployment of image ==&lt;br /&gt;
* Select sites and clusters for experiments, using information on the [https://www.grid5000.fr/mediawiki/index.php/Grid5000:Network#Grid.275000_Sites Grid5000 network] and the [https://www.grid5000.fr/mediawiki/index.php/Status Status page]&lt;br /&gt;
* Access is provided via access nodes '''access.SITE.grid5000.fr''' marked [https://www.grid5000.fr/mediawiki/index.php/External_access here] as ''accessible from '''everywhere''' via ssh with '''keyboard-interactive''' authentication method''. As soon as you are on one of the sites, you can directly ssh frontend node of any other site:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
access_$ ssh frontend.SITE2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* There is no access to Internet from computing nodes (external IPs should be registered on proxy), therefore, download/update your stuff at the access nodes. Several revision control clients are available.&lt;br /&gt;
* Each site has a separate NFS, therefore, to run an application on several sites at once, you need to copy it '''scp, sftp, rsync''' between access or frontend nodes.&lt;br /&gt;
* Jobs are run from the frondend nodes, using a [http://en.wikipedia.org/wiki/OpenPBS PBS]-like system [https://www.grid5000.fr/mediawiki/index.php/Cluster_experiment-OAR2 OAR]. Basic commands:&lt;br /&gt;
** '''oarstat''' - queue status&lt;br /&gt;
** '''oarsub''' - job submission&lt;br /&gt;
** '''oardel''' - job removal&lt;br /&gt;
Interactive job on deployed images:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fontend_$ oarsub -I -t deploy -l [/cluster=N/]nodes=N,walltime=HH[:MM[:SS]] [-p 'PROPERTY=&amp;quot;VALUE&amp;quot;']&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Batch job on installed images:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fontend_$ oarsub BATCH_FILE -t allow_classic_ssh -l [/cluster=N/]nodes=N,walltime=HH[:MM[:SS]] [-p 'PROPERTY=&amp;quot;VALUE&amp;quot;']&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* The image to deploy can be created and loaded with help of a [http://wiki.systemimager.org/index.php/Main_Page Systemimager]-like system [https://www.grid5000.fr/mediawiki/index.php/Deploy_environment-OAR2 Kadeploy]. Creating: [https://www.grid5000.fr/mediawiki/index.php/Deploy_environment-OAR2#Tune_an_environment_to_build_another_one:_customize_authentification_parameters described here]&lt;br /&gt;
Loading:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fontend_$ kadeploy3 -a PATH_TO_PRIVATE_IMAGE_DESC -f $OAR_FILE_NODES  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
A Linux distribution lenny-x64-nfs-2.1 with mc, subversion, autotools, doxygen, MPICH2, GSL, Boost, R, gnuplot, graphviz, X11, evince is available at Orsay /home/nancy/alastovetsky/grid5000.&lt;br /&gt;
&lt;br /&gt;
== Compiling and running MPI applications ==&lt;br /&gt;
* Compilation should be done on one of the reserved nodes (e.g. ssh `head -n 1 $OAR_NODEFILE`)&lt;br /&gt;
* Running MPI applications is described [https://www.grid5000.fr/mediawiki/index.php/Run_MPI_On_Grid%275000 here]&lt;br /&gt;
** mpirun/mpiexec should be run from one of the reserved nodes (e.g. ssh `head -n 1 $OAR_NODEFILE`)&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=Grid5000&amp;diff=427</id>
		<title>Grid5000</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=Grid5000&amp;diff=427"/>
				<updated>2010-06-22T16:24:54Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Login, job submission, deployment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://www.grid5000.fr/mediawiki/index.php/Grid5000:Home&lt;br /&gt;
&lt;br /&gt;
== Login, job submission, deployment of image ==&lt;br /&gt;
* Select sites and clusters for experiments, using information on the [https://www.grid5000.fr/mediawiki/index.php/Grid5000:Network#Grid.275000_Sites Grid5000 network] and the [https://www.grid5000.fr/mediawiki/index.php/Status Status page]&lt;br /&gt;
* Access is provided via access nodes '''access.SITE.grid5000.fr''' marked [https://www.grid5000.fr/mediawiki/index.php/External_access here] as ''accessible from '''everywhere''' via ssh with '''keyboard-interactive''' authentication method''. As soon as you are on one of the sites, you can directly ssh frontend node of any other site:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
access_$ ssh frontend.SITE2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* There is no access to Internet from computing nodes (external IPs should be registered on proxy), therefore, download/update your stuff at the access nodes. Several revision control clients are available.&lt;br /&gt;
* Each site has a separate NFS, therefore, to run an application on several sites at once, you need to copy it '''scp, sftp, rsync''' between access or frontend nodes.&lt;br /&gt;
* Jobs are run from the frondend nodes, using a [http://en.wikipedia.org/wiki/OpenPBS PBS]-like system [https://www.grid5000.fr/mediawiki/index.php/Cluster_experiment-OAR2 OAR]. Basic commands:&lt;br /&gt;
** '''oarstat''' - queue status&lt;br /&gt;
** '''oarsub''' - job submission&lt;br /&gt;
** '''oardel''' - job removal&lt;br /&gt;
Interactive job on deployed images:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fontend_$ oarsub -I -t deploy -l [/cluster=N/]nodes=N,walltime=HH[:MM[:SS]] [-p 'PROPERTY=&amp;quot;VALUE&amp;quot;']&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Batch job on installed images:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fontend_$ oarsub BATCH_FILE -t allow_classic_ssh -l [/cluster=N/]nodes=N,walltime=HH[:MM[:SS]] [-p 'PROPERTY=&amp;quot;VALUE&amp;quot;']&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* The image to deploy can be created and loaded with help of a [http://wiki.systemimager.org/index.php/Main_Page Systemimager]-like system [https://www.grid5000.fr/mediawiki/index.php/Deploy_environment-OAR2 Kadeploy]. Creating: [https://www.grid5000.fr/mediawiki/index.php/Deploy_environment-OAR2#Tune_an_environment_to_build_another_one:_customize_authentification_parameters described here]&lt;br /&gt;
Loading:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fontend_$ kadeploy3 -a PATH_TO_PRIVATE_IMAGE_DESC -f $OAR_FILE_NODES  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
A Linux distribution lenny-x64-nfs-2.1 with mc, subversion, autotools, doxygen, MPICH2, GSL, Boost, R, gnuplot, graphviz, X11, evince is available at Orsay /home/nancy/alastovetsky/grid5000.&lt;br /&gt;
&lt;br /&gt;
== Compilation and running jobs ==&lt;br /&gt;
* Compilation should be done on one of the reserved nodes (e.g. ssh `head -n 1 $OAR_NODEFILE`)&lt;br /&gt;
* Running MPI applications is described [https://www.grid5000.fr/mediawiki/index.php/Run_MPI_On_Grid%275000 here]&lt;br /&gt;
** mpirun/mpiexec should be run from one of the reserved nodes (e.g. ssh `head -n 1 $OAR_NODEFILE`)&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=Grid5000&amp;diff=426</id>
		<title>Grid5000</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=Grid5000&amp;diff=426"/>
				<updated>2010-06-22T16:24:26Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://www.grid5000.fr/mediawiki/index.php/Grid5000:Home&lt;br /&gt;
&lt;br /&gt;
== Login, job submission, deployment ==&lt;br /&gt;
* Select sites and clusters for experiments, using information on the [https://www.grid5000.fr/mediawiki/index.php/Grid5000:Network#Grid.275000_Sites Grid5000 network] and the [https://www.grid5000.fr/mediawiki/index.php/Status Status page]&lt;br /&gt;
* Access is provided via access nodes '''access.SITE.grid5000.fr''' marked [https://www.grid5000.fr/mediawiki/index.php/External_access here] as ''accessible from '''everywhere''' via ssh with '''keyboard-interactive''' authentication method''. As soon as you are on one of the sites, you can directly ssh frontend node of any other site:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
access_$ ssh frontend.SITE2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* There is no access to Internet from computing nodes (external IPs should be registered on proxy), therefore, download/update your stuff at the access nodes. Several revision control clients are available.&lt;br /&gt;
* Each site has a separate NFS, therefore, to run an application on several sites at once, you need to copy it '''scp, sftp, rsync''' between access or frontend nodes.&lt;br /&gt;
* Jobs are run from the frondend nodes, using a [http://en.wikipedia.org/wiki/OpenPBS PBS]-like system [https://www.grid5000.fr/mediawiki/index.php/Cluster_experiment-OAR2 OAR]. Basic commands:&lt;br /&gt;
** '''oarstat''' - queue status&lt;br /&gt;
** '''oarsub''' - job submission&lt;br /&gt;
** '''oardel''' - job removal&lt;br /&gt;
Interactive job on deployed images:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fontend_$ oarsub -I -t deploy -l [/cluster=N/]nodes=N,walltime=HH[:MM[:SS]] [-p 'PROPERTY=&amp;quot;VALUE&amp;quot;']&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Batch job on installed images:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fontend_$ oarsub BATCH_FILE -t allow_classic_ssh -l [/cluster=N/]nodes=N,walltime=HH[:MM[:SS]] [-p 'PROPERTY=&amp;quot;VALUE&amp;quot;']&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* The image to deploy can be created and loaded with help of a [http://wiki.systemimager.org/index.php/Main_Page Systemimager]-like system [https://www.grid5000.fr/mediawiki/index.php/Deploy_environment-OAR2 Kadeploy]. Creating: [https://www.grid5000.fr/mediawiki/index.php/Deploy_environment-OAR2#Tune_an_environment_to_build_another_one:_customize_authentification_parameters described here]&lt;br /&gt;
Loading:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fontend_$ kadeploy3 -a PATH_TO_PRIVATE_IMAGE_DESC -f $OAR_FILE_NODES  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
A Linux distribution lenny-x64-nfs-2.1 with mc, subversion, autotools, doxygen, MPICH2, GSL, Boost, R, gnuplot, graphviz, X11, evince is available at Orsay /home/nancy/alastovetsky/grid5000.&lt;br /&gt;
== Compilation and running jobs ==&lt;br /&gt;
* Compilation should be done on one of the reserved nodes (e.g. ssh `head -n 1 $OAR_NODEFILE`)&lt;br /&gt;
* Running MPI applications is described [https://www.grid5000.fr/mediawiki/index.php/Run_MPI_On_Grid%275000 here]&lt;br /&gt;
** mpirun/mpiexec should be run from one of the reserved nodes (e.g. ssh `head -n 1 $OAR_NODEFILE`)&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=MPICH2&amp;diff=425</id>
		<title>MPICH2</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=MPICH2&amp;diff=425"/>
				<updated>2010-06-22T15:29:52Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Settings for MPICH2 daemon:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ echo &amp;quot;MPD_SECRETWORD=XXX&amp;quot; &amp;gt; ~/.mpd.conf&lt;br /&gt;
$ chmod 600 ~/.mpd.conf&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Script for running application:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
NODES=`uniq &amp;lt; $OAR_NODEFILE | wc -l | tr -d ' '`&lt;br /&gt;
NPROCS=`wc -l &amp;lt; $OAR_NODEFILE | tr -d ' '`&lt;br /&gt;
mpdboot --rsh=ssh --totalnum=$NODES --file=$OAR_NODEFILE&lt;br /&gt;
sleep 1&lt;br /&gt;
mpirun -n $NPROCS path_to_executable&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In MPICH2, you normally don't need to specify -machinefile explicitly for Grid5000 (OAR machinefiles are automatically read)&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=Grid5000&amp;diff=424</id>
		<title>Grid5000</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=Grid5000&amp;diff=424"/>
				<updated>2010-06-22T15:14:19Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://www.grid5000.fr/mediawiki/index.php/Grid5000:Home&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
* Select sites and clusters for experiments, using information on the [https://www.grid5000.fr/mediawiki/index.php/Grid5000:Network#Grid.275000_Sites Grid5000 network] and the [https://www.grid5000.fr/mediawiki/index.php/Status Status page]&lt;br /&gt;
* Access is provided via access nodes '''access.SITE.grid5000.fr''' marked [https://www.grid5000.fr/mediawiki/index.php/External_access here] as ''accessible from '''everywhere''' via ssh with '''keyboard-interactive''' authentication method''. As soon as you are on one of the sites, you can directly ssh frontend node of any other site:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
access_$ ssh frontend.SITE2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* There is no access to Internet from computing nodes (external IPs should be registered on proxy), therefore, download/update your stuff at the access nodes. Several revision control clients are available.&lt;br /&gt;
* Each site has a separate NFS, therefore, to run an application on several sites at once, you need to copy it '''scp, sftp, rsync''' between access or frontend nodes.&lt;br /&gt;
* Jobs are run from the frondend nodes, using a [http://en.wikipedia.org/wiki/OpenPBS PBS]-like system [https://www.grid5000.fr/mediawiki/index.php/Cluster_experiment-OAR2 OAR]. Basic commands:&lt;br /&gt;
** '''oarstat''' - queue status&lt;br /&gt;
** '''oarsub''' - job submission&lt;br /&gt;
** '''oardel''' - job removal&lt;br /&gt;
Interactive job on deployed images:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fontend_$ oarsub -I -t deploy -l [/cluster=N/]nodes=N,walltime=HH[:MM[:SS]] [-p 'PROPERTY=&amp;quot;VALUE&amp;quot;']&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Batch job on installed images:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fontend_$ oarsub BATCH_FILE -t allow_classic_ssh -l [/cluster=N/]nodes=N,walltime=HH[:MM[:SS]] [-p 'PROPERTY=&amp;quot;VALUE&amp;quot;']&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* The image to deploy can be created and loaded with help of a [http://wiki.systemimager.org/index.php/Main_Page Systemimager]-like system [https://www.grid5000.fr/mediawiki/index.php/Deploy_environment-OAR2 Kadeploy]. Creating: [https://www.grid5000.fr/mediawiki/index.php/Deploy_environment-OAR2#Tune_an_environment_to_build_another_one:_customize_authentification_parameters described here]&lt;br /&gt;
Loading:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fontend_$ kadeploy3 -a PATH_TO_PRIVATE_IMAGE_DESC -f $OAR_FILE_NODES  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
A Linux distribution lenny-x64-nfs-2.1 with mc, subversion, autotools, doxygen, MPICH2, GSL, Boost, R, gnuplot, graphviz, X11, evince is available at Orsay /home/nancy/alastovetsky/grid5000.&lt;br /&gt;
&lt;br /&gt;
* Compilation should be done on one of the reserved nodes (e.g. ssh `head -n 1 $OAR_NODEFILE`)&lt;br /&gt;
* Running MPI applications is described [https://www.grid5000.fr/mediawiki/index.php/Run_MPI_On_Grid%275000 here]&lt;br /&gt;
** mpirun/mpiexec should be run from one of the reserved nodes (e.g. ssh `head -n 1 $OAR_NODEFILE`)&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=Grid5000&amp;diff=423</id>
		<title>Grid5000</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=Grid5000&amp;diff=423"/>
				<updated>2010-06-22T15:13:23Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Usage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;https://www.grid5000.fr/mediawiki/index.php/Grid5000:Home&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
* Select sites and clusters for experiments, using information on the [https://www.grid5000.fr/mediawiki/index.php/Grid5000:Network#Grid.275000_Sites Grid5000 network] and the [https://www.grid5000.fr/mediawiki/index.php/Status Status page]&lt;br /&gt;
* Access is provided via access nodes '''access.SITE.grid5000.fr''' marked [https://www.grid5000.fr/mediawiki/index.php/External_access here] as ''accessible from '''everywhere''' via ssh with '''keyboard-interactive''' authentication method''. As soon as you are on one of the sites, you can directly ssh frontend node of any other site:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
access_$ ssh frontend.SITE2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* There is no access to Internet from computing nodes (external IPs should be registered on proxy), therefore, download/update your stuff at the access nodes. Several revision control clients are available.&lt;br /&gt;
* Each site has a separate NFS, therefore, to run an application on several sites at once, you need to copy it '''scp, sftp, rsync''' between access or frontend nodes.&lt;br /&gt;
* Jobs are run from the frondend nodes, using a [http://en.wikipedia.org/wiki/OpenPBS PBS]-like system [https://www.grid5000.fr/mediawiki/index.php/Cluster_experiment-OAR2 OAR]. Basic commands:&lt;br /&gt;
** '''oarstat''' - queue status&lt;br /&gt;
** '''oarsub''' - job submission&lt;br /&gt;
** '''oardel''' - job removal&lt;br /&gt;
Interactive job on deployed images:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fontend_$ oarsub -I -t deploy -l [/cluster=N/]nodes=N,walltime=HH[:MM[:SS]] [-p 'PROPERTY=&amp;quot;VALUE&amp;quot;']&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Batch job on installed images:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fontend_$ oarsub BATCH_FILE -t allow_classic_ssh -l [/cluster=N/]nodes=N,walltime=HH[:MM[:SS]] [-p 'PROPERTY=&amp;quot;VALUE&amp;quot;']&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* The image to deploy can be created and loaded with help of a [http://wiki.systemimager.org/index.php/Main_Page Systemimager]-like system [https://www.grid5000.fr/mediawiki/index.php/Deploy_environment-OAR2 Kadeploy]. Creating: [https://www.grid5000.fr/mediawiki/index.php/Deploy_environment-OAR2#Tune_an_environment_to_build_another_one:_customize_authentification_parameters described here]&lt;br /&gt;
Loading:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fontend_$ kadeploy3 -a PATH_TO_PRIVATE_IMAGE_DESC -f $OAR_FILE_NODES  &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
A Linux distribution lenny-x64-nfs-2.1 with mc, subversion, autotools, doxygen, MPICH2, GSL, Boost, R, gnuplot, graphviz, X11, evince is available at Orsay /home/nancy/alastovetsky/grid5000.&lt;br /&gt;
&lt;br /&gt;
* Running MPI applications is described [https://www.grid5000.fr/mediawiki/index.php/Run_MPI_On_Grid%275000 here]&lt;br /&gt;
&lt;br /&gt;
* Compilation should be done on one of the reserved nodes (e.g. ssh `head -n 1 $OAR_NODEFILE`)&lt;br /&gt;
* MPI applications should be launched from one of the reserved nodes (e.g. ssh `head -n 1 $OAR_NODEFILE`)&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=HCL_cluster&amp;diff=384</id>
		<title>HCL cluster</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=HCL_cluster&amp;diff=384"/>
				<updated>2010-05-11T14:29:30Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Some networking issues on HCL cluster (unsolved) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://hcl.ucd.ie/Hardware&lt;br /&gt;
&lt;br /&gt;
==General Information==&lt;br /&gt;
[[Image:network.jpg|right|thumbnail||Layout of the Cluster]]&lt;br /&gt;
The hcl cluster is heterogeneous in computing hardware &amp;amp; network ability.&lt;br /&gt;
&lt;br /&gt;
Nodes are from Dell, IBM, and HP, with Celeron, Pentium 4, Xeon, and AMD processors ranging in speeds from 1.8 to 3.6Ghz. Accordingly architectures and parameters such as Front Side Bus, Cache, and Main Memory all vary.&lt;br /&gt;
&lt;br /&gt;
Operating System used is Debian “squeeze” with Linux kernel 2.6.32.&lt;br /&gt;
&lt;br /&gt;
The network hardware consists of two Cisco 24+4 port Gigabit switches. Each node has two Gigabit ethernet ports - each eth0 is connected to the first switch, and each eth1 is connected to the second switch. The switches are also connected to each other. The bandwidth of each port can be configured to meet any value between 8Kb/s and 1Gb/s. This allows testing on a very large number of network topologies, As the bandwidth on the link connecting the two switches can also be configured, the cluster can actually act as two separate clusters connected via one link.&lt;br /&gt;
&lt;br /&gt;
The diagram below shows a schematic of the cluster.&lt;br /&gt;
&lt;br /&gt;
== Detailed Cluster Specification ==&lt;br /&gt;
A table of hardware configuration is available here: [[Cluster Specification]]&lt;br /&gt;
== Cluster Administration ==&lt;br /&gt;
===Useful Tools===&lt;br /&gt;
&amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; on &amp;lt;code&amp;gt;heterogeneous.ucd.ie&amp;lt;/code&amp;gt; has a number of [http://expect.nist.gov/ Expect] scripts to automate administration on the cluster (in &amp;lt;code&amp;gt;/root/scripts&amp;lt;/code&amp;gt;). &amp;lt;code&amp;gt;root_ssh&amp;lt;/code&amp;gt; will automatically log into a host, provide the root password and either return a shell to the user or execute a command that is passed as a second argument. Command syntax is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
# root_ssh&lt;br /&gt;
usage: root_ssh [user@]&amp;lt;host&amp;gt; [command]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example usage, to login and execute a command on each node in the cluster (note the file &amp;lt;code&amp;gt;/etc/dsh/machines.list&amp;lt;/code&amp;gt; contains the hostnames of all compute nodes of the cluster):&lt;br /&gt;
 # for i in `cat /etc/dsh/machines.list`; do root_ssh $i ps ax \| grep pbs; done&lt;br /&gt;
&lt;br /&gt;
The above is sequential. To run parallel jobs, for example: &amp;lt;code&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get -y upgrade&amp;lt;/code&amp;gt;, try the following trick with [http://www.gnu.org/software/screen/ screen]:&lt;br /&gt;
 # for i in `cat /etc/dsh/machines.list`; do screen -L -d -m root_ssh $i apt-get update \&amp;amp;\&amp;amp; apt-get -y upgrade'; done&lt;br /&gt;
You can check the screenlog.* files for errors and delete them when you are happy. Sometimes all logs are sent to screenlog.0, not sure why.&lt;br /&gt;
&lt;br /&gt;
== Software packages available on HCL Cluster 2.0 ==&lt;br /&gt;
&lt;br /&gt;
Wit a fresh installation of operating systems on HCL Cluster the follow list of packages are avalible:&lt;br /&gt;
* autoconf&lt;br /&gt;
* automake&lt;br /&gt;
* fftw2&lt;br /&gt;
* git&lt;br /&gt;
* gfortran&lt;br /&gt;
* gnuplot&lt;br /&gt;
* libtool&lt;br /&gt;
* netperf&lt;br /&gt;
* octave3.2&lt;br /&gt;
* qhull&lt;br /&gt;
* subversion&lt;br /&gt;
* valgrind&lt;br /&gt;
* gsl-dev&lt;br /&gt;
* vim&lt;br /&gt;
* python&lt;br /&gt;
* mc&lt;br /&gt;
* openmpi-bin &lt;br /&gt;
* openmpi-dev&lt;br /&gt;
* evince&lt;br /&gt;
* libboost-graph-dev&lt;br /&gt;
* libboost-serialization-dev&lt;br /&gt;
* r-cran-strucchange&lt;br /&gt;
* graphviz&lt;br /&gt;
* doxygen&lt;br /&gt;
&lt;br /&gt;
[[new hcl node install &amp;amp; configuration log]]&lt;br /&gt;
&lt;br /&gt;
[[new heterogeneous.ucd.ie install log]]&lt;br /&gt;
&lt;br /&gt;
== Access and Security ==&lt;br /&gt;
All access and security for the cluster is handled by the gateway machine (heterogeneous.ucd.ie). This machine is not considered a compute node and should not be used as such. The only new incoming connections allowed are ssh, other incoming packets such as http that are responding to requests from inside the cluster (established or related) are also allowed. Incoming ssh packets are only accepted if they are originating from designated IP addresses. These IP's must be registered ucd IP's. csserver.ucd.ie is allowed, as is hclgate.ucd.ie, on which all users have accounts. Thus to gain access to the cluster you can ssh from csserver, hclgate or other allowed machines to heterogeneous. From there you can ssh to any of the nodes (hcl01-hcl16).&lt;br /&gt;
&lt;br /&gt;
Access from outside the UCD network is only allowed once you have gained entry to a server that allows outside connections (such as csserver.ucd.ie)&lt;br /&gt;
&lt;br /&gt;
== Some networking issues on HCL cluster (unsolved) ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;/sbin/route&amp;quot; should give:&lt;br /&gt;
&lt;br /&gt;
 Kernel IP routing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 239.2.11.72     *               255.255.255.255 UH    0      0        0 eth0&lt;br /&gt;
 heterogeneous.u *               255.255.255.255 UH    0      0        0 eth0&lt;br /&gt;
 192.168.21.0    *               255.255.255.0   U     0      0        0 eth1&lt;br /&gt;
 192.168.20.0    *               255.255.255.0   U     0      0        0 eth0&lt;br /&gt;
 192.168.20.0    *               255.255.254.0   U     0      0        0 eth0&lt;br /&gt;
 192.168.20.0    *               255.255.254.0   U     0      0        0 eth1&lt;br /&gt;
 default         heterogeneous.u 0.0.0.0         UG    0      0        0 eth0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For reasons unclear, sometimes many machines miss the entry:&lt;br /&gt;
&lt;br /&gt;
 192.168.21.0    *               255.255.255.0   U     0      0        0 eth1&lt;br /&gt;
&lt;br /&gt;
For Open MPI, this leads to inability to do a system sockets &amp;quot;connect&amp;quot; call to any 192.*.21.* address (hangup).&lt;br /&gt;
For this case, you can &lt;br /&gt;
&lt;br /&gt;
* switch off eth1:&lt;br /&gt;
&lt;br /&gt;
 mpirun --mca btl_tcp_if_exclude lo,eth1  ...&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
*  you can restore the above table on all nodes by running &amp;quot;sh /etc/network/if-up.d/00routes&amp;quot; as root&lt;br /&gt;
&lt;br /&gt;
It is not yet clear why without this entry the connection to the &amp;quot;21&amp;quot; addresses can't be connected. We expect that in this case following rule should be matched (because of the mask):&lt;br /&gt;
 192.168.20.0    *               255.255.254.0   U     0      0        0 eth0&lt;br /&gt;
&lt;br /&gt;
The packets leave over the eth0 network interface then and should go over switch1 to switch2 and eth1 interface of the corresponding node&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=HCL_cluster&amp;diff=383</id>
		<title>HCL cluster</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=HCL_cluster&amp;diff=383"/>
				<updated>2010-05-11T14:15:52Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Some networking issues on HCL cluster (unsolved) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://hcl.ucd.ie/Hardware&lt;br /&gt;
&lt;br /&gt;
==General Information==&lt;br /&gt;
[[Image:network.jpg|right|thumbnail||Layout of the Cluster]]&lt;br /&gt;
The hcl cluster is heterogeneous in computing hardware &amp;amp; network ability.&lt;br /&gt;
&lt;br /&gt;
Nodes are from Dell, IBM, and HP, with Celeron, Pentium 4, Xeon, and AMD processors ranging in speeds from 1.8 to 3.6Ghz. Accordingly architectures and parameters such as Front Side Bus, Cache, and Main Memory all vary.&lt;br /&gt;
&lt;br /&gt;
Operating System used is Debian “squeeze” with Linux kernel 2.6.32.&lt;br /&gt;
&lt;br /&gt;
The network hardware consists of two Cisco 24+4 port Gigabit switches. Each node has two Gigabit ethernet ports - each eth0 is connected to the first switch, and each eth1 is connected to the second switch. The switches are also connected to each other. The bandwidth of each port can be configured to meet any value between 8Kb/s and 1Gb/s. This allows testing on a very large number of network topologies, As the bandwidth on the link connecting the two switches can also be configured, the cluster can actually act as two separate clusters connected via one link.&lt;br /&gt;
&lt;br /&gt;
The diagram below shows a schematic of the cluster.&lt;br /&gt;
&lt;br /&gt;
== Detailed Cluster Specification ==&lt;br /&gt;
A table of hardware configuration is available here: [[Cluster Specification]]&lt;br /&gt;
== Cluster Administration ==&lt;br /&gt;
===Useful Tools===&lt;br /&gt;
&amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; on &amp;lt;code&amp;gt;heterogeneous.ucd.ie&amp;lt;/code&amp;gt; has a number of [http://expect.nist.gov/ Expect] scripts to automate administration on the cluster (in &amp;lt;code&amp;gt;/root/scripts&amp;lt;/code&amp;gt;). &amp;lt;code&amp;gt;root_ssh&amp;lt;/code&amp;gt; will automatically log into a host, provide the root password and either return a shell to the user or execute a command that is passed as a second argument. Command syntax is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
# root_ssh&lt;br /&gt;
usage: root_ssh [user@]&amp;lt;host&amp;gt; [command]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example usage, to login and execute a command on each node in the cluster (note the file &amp;lt;code&amp;gt;/etc/dsh/machines.list&amp;lt;/code&amp;gt; contains the hostnames of all compute nodes of the cluster):&lt;br /&gt;
 # for i in `cat /etc/dsh/machines.list`; do root_ssh $i ps ax \| grep pbs; done&lt;br /&gt;
&lt;br /&gt;
The above is sequential. To run parallel jobs, for example: &amp;lt;code&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get -y upgrade&amp;lt;/code&amp;gt;, try the following trick with [http://www.gnu.org/software/screen/ screen]:&lt;br /&gt;
 # for i in `cat /etc/dsh/machines.list`; do screen -L -d -m root_ssh $i apt-get update \&amp;amp;\&amp;amp; apt-get -y upgrade'; done&lt;br /&gt;
You can check the screenlog.* files for errors and delete them when you are happy. Sometimes all logs are sent to screenlog.0, not sure why.&lt;br /&gt;
&lt;br /&gt;
== Software packages available on HCL Cluster 2.0 ==&lt;br /&gt;
&lt;br /&gt;
Wit a fresh installation of operating systems on HCL Cluster the follow list of packages are avalible:&lt;br /&gt;
* autoconf&lt;br /&gt;
* automake&lt;br /&gt;
* fftw2&lt;br /&gt;
* git&lt;br /&gt;
* gfortran&lt;br /&gt;
* gnuplot&lt;br /&gt;
* libtool&lt;br /&gt;
* netperf&lt;br /&gt;
* octave3.2&lt;br /&gt;
* qhull&lt;br /&gt;
* subversion&lt;br /&gt;
* valgrind&lt;br /&gt;
* gsl-dev&lt;br /&gt;
* vim&lt;br /&gt;
* python&lt;br /&gt;
* mc&lt;br /&gt;
* openmpi-bin &lt;br /&gt;
* openmpi-dev&lt;br /&gt;
* evince&lt;br /&gt;
* libboost-graph-dev&lt;br /&gt;
* libboost-serialization-dev&lt;br /&gt;
* r-cran-strucchange&lt;br /&gt;
* graphviz&lt;br /&gt;
* doxygen&lt;br /&gt;
&lt;br /&gt;
[[new hcl node install &amp;amp; configuration log]]&lt;br /&gt;
&lt;br /&gt;
[[new heterogeneous.ucd.ie install log]]&lt;br /&gt;
&lt;br /&gt;
== Access and Security ==&lt;br /&gt;
All access and security for the cluster is handled by the gateway machine (heterogeneous.ucd.ie). This machine is not considered a compute node and should not be used as such. The only new incoming connections allowed are ssh, other incoming packets such as http that are responding to requests from inside the cluster (established or related) are also allowed. Incoming ssh packets are only accepted if they are originating from designated IP addresses. These IP's must be registered ucd IP's. csserver.ucd.ie is allowed, as is hclgate.ucd.ie, on which all users have accounts. Thus to gain access to the cluster you can ssh from csserver, hclgate or other allowed machines to heterogeneous. From there you can ssh to any of the nodes (hcl01-hcl16).&lt;br /&gt;
&lt;br /&gt;
Access from outside the UCD network is only allowed once you have gained entry to a server that allows outside connections (such as csserver.ucd.ie)&lt;br /&gt;
&lt;br /&gt;
== Some networking issues on HCL cluster (unsolved) ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;/sbin/route&amp;quot; should give:&lt;br /&gt;
&lt;br /&gt;
 Kernel IP routing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 239.2.11.72     *               255.255.255.255 UH    0      0        0 eth0&lt;br /&gt;
 heterogeneous.u *               255.255.255.255 UH    0      0        0 eth0&lt;br /&gt;
 192.168.21.0    *               255.255.255.0   U     0      0        0 eth1&lt;br /&gt;
 192.168.20.0    *               255.255.255.0   U     0      0        0 eth0&lt;br /&gt;
 192.168.20.0    *               255.255.254.0   U     0      0        0 eth0&lt;br /&gt;
 192.168.20.0    *               255.255.254.0   U     0      0        0 eth1&lt;br /&gt;
 default         heterogeneous.u 0.0.0.0         UG    0      0        0 eth0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For reasons unclear, sometimes many machines miss the entry:&lt;br /&gt;
&lt;br /&gt;
 192.168.21.0    *               255.255.255.0   U     0      0        0 eth1&lt;br /&gt;
&lt;br /&gt;
For Open MPI, this leads to inability to do a system sockets &amp;quot;connect&amp;quot; call to any 192.*.21.* address (hangup).&lt;br /&gt;
For this case, you can switch off eth1:&lt;br /&gt;
&lt;br /&gt;
 mpirun --mca btl_tcp_if_exclude lo,eth1  ...&lt;br /&gt;
&lt;br /&gt;
It is not yet clear why without this entry the connection to the &amp;quot;21&amp;quot; addresses can't be connected. We expect that in this case following rule should be matched (because of the mask):&lt;br /&gt;
 192.168.20.0    *               255.255.254.0   U     0      0        0 eth0&lt;br /&gt;
&lt;br /&gt;
The packets leave over the eth0 network interface then and should go over switch1 to switch2 and eth1 interface of the corresponding node&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=HCL_cluster&amp;diff=382</id>
		<title>HCL cluster</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=HCL_cluster&amp;diff=382"/>
				<updated>2010-05-11T14:14:51Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Some networking issues on HCL cluster (unsolved) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://hcl.ucd.ie/Hardware&lt;br /&gt;
&lt;br /&gt;
==General Information==&lt;br /&gt;
[[Image:network.jpg|right|thumbnail||Layout of the Cluster]]&lt;br /&gt;
The hcl cluster is heterogeneous in computing hardware &amp;amp; network ability.&lt;br /&gt;
&lt;br /&gt;
Nodes are from Dell, IBM, and HP, with Celeron, Pentium 4, Xeon, and AMD processors ranging in speeds from 1.8 to 3.6Ghz. Accordingly architectures and parameters such as Front Side Bus, Cache, and Main Memory all vary.&lt;br /&gt;
&lt;br /&gt;
Operating System used is Debian “squeeze” with Linux kernel 2.6.32.&lt;br /&gt;
&lt;br /&gt;
The network hardware consists of two Cisco 24+4 port Gigabit switches. Each node has two Gigabit ethernet ports - each eth0 is connected to the first switch, and each eth1 is connected to the second switch. The switches are also connected to each other. The bandwidth of each port can be configured to meet any value between 8Kb/s and 1Gb/s. This allows testing on a very large number of network topologies, As the bandwidth on the link connecting the two switches can also be configured, the cluster can actually act as two separate clusters connected via one link.&lt;br /&gt;
&lt;br /&gt;
The diagram below shows a schematic of the cluster.&lt;br /&gt;
&lt;br /&gt;
== Detailed Cluster Specification ==&lt;br /&gt;
A table of hardware configuration is available here: [[Cluster Specification]]&lt;br /&gt;
== Cluster Administration ==&lt;br /&gt;
===Useful Tools===&lt;br /&gt;
&amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; on &amp;lt;code&amp;gt;heterogeneous.ucd.ie&amp;lt;/code&amp;gt; has a number of [http://expect.nist.gov/ Expect] scripts to automate administration on the cluster (in &amp;lt;code&amp;gt;/root/scripts&amp;lt;/code&amp;gt;). &amp;lt;code&amp;gt;root_ssh&amp;lt;/code&amp;gt; will automatically log into a host, provide the root password and either return a shell to the user or execute a command that is passed as a second argument. Command syntax is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
# root_ssh&lt;br /&gt;
usage: root_ssh [user@]&amp;lt;host&amp;gt; [command]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example usage, to login and execute a command on each node in the cluster (note the file &amp;lt;code&amp;gt;/etc/dsh/machines.list&amp;lt;/code&amp;gt; contains the hostnames of all compute nodes of the cluster):&lt;br /&gt;
 # for i in `cat /etc/dsh/machines.list`; do root_ssh $i ps ax \| grep pbs; done&lt;br /&gt;
&lt;br /&gt;
The above is sequential. To run parallel jobs, for example: &amp;lt;code&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get -y upgrade&amp;lt;/code&amp;gt;, try the following trick with [http://www.gnu.org/software/screen/ screen]:&lt;br /&gt;
 # for i in `cat /etc/dsh/machines.list`; do screen -L -d -m root_ssh $i apt-get update \&amp;amp;\&amp;amp; apt-get -y upgrade'; done&lt;br /&gt;
You can check the screenlog.* files for errors and delete them when you are happy. Sometimes all logs are sent to screenlog.0, not sure why.&lt;br /&gt;
&lt;br /&gt;
== Software packages available on HCL Cluster 2.0 ==&lt;br /&gt;
&lt;br /&gt;
Wit a fresh installation of operating systems on HCL Cluster the follow list of packages are avalible:&lt;br /&gt;
* autoconf&lt;br /&gt;
* automake&lt;br /&gt;
* fftw2&lt;br /&gt;
* git&lt;br /&gt;
* gfortran&lt;br /&gt;
* gnuplot&lt;br /&gt;
* libtool&lt;br /&gt;
* netperf&lt;br /&gt;
* octave3.2&lt;br /&gt;
* qhull&lt;br /&gt;
* subversion&lt;br /&gt;
* valgrind&lt;br /&gt;
* gsl-dev&lt;br /&gt;
* vim&lt;br /&gt;
* python&lt;br /&gt;
* mc&lt;br /&gt;
* openmpi-bin &lt;br /&gt;
* openmpi-dev&lt;br /&gt;
* evince&lt;br /&gt;
* libboost-graph-dev&lt;br /&gt;
* libboost-serialization-dev&lt;br /&gt;
* r-cran-strucchange&lt;br /&gt;
* graphviz&lt;br /&gt;
* doxygen&lt;br /&gt;
&lt;br /&gt;
[[new hcl node install &amp;amp; configuration log]]&lt;br /&gt;
&lt;br /&gt;
[[new heterogeneous.ucd.ie install log]]&lt;br /&gt;
&lt;br /&gt;
== Access and Security ==&lt;br /&gt;
All access and security for the cluster is handled by the gateway machine (heterogeneous.ucd.ie). This machine is not considered a compute node and should not be used as such. The only new incoming connections allowed are ssh, other incoming packets such as http that are responding to requests from inside the cluster (established or related) are also allowed. Incoming ssh packets are only accepted if they are originating from designated IP addresses. These IP's must be registered ucd IP's. csserver.ucd.ie is allowed, as is hclgate.ucd.ie, on which all users have accounts. Thus to gain access to the cluster you can ssh from csserver, hclgate or other allowed machines to heterogeneous. From there you can ssh to any of the nodes (hcl01-hcl16).&lt;br /&gt;
&lt;br /&gt;
Access from outside the UCD network is only allowed once you have gained entry to a server that allows outside connections (such as csserver.ucd.ie)&lt;br /&gt;
&lt;br /&gt;
== Some networking issues on HCL cluster (unsolved) ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;/sbin/route&amp;quot; should give:&lt;br /&gt;
&lt;br /&gt;
 Kernel IP routing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 239.2.11.72     *               255.255.255.255 UH    0      0        0 eth0&lt;br /&gt;
 heterogeneous.u *               255.255.255.255 UH    0      0        0 eth0&lt;br /&gt;
 192.168.21.0    *               255.255.255.0   U     0      0        0 eth1&lt;br /&gt;
 192.168.20.0    *               255.255.255.0   U     0      0        0 eth0&lt;br /&gt;
 192.168.20.0    *               255.255.254.0   U     0      0        0 eth0&lt;br /&gt;
 192.168.20.0    *               255.255.254.0   U     0      0        0 eth1&lt;br /&gt;
 default         heterogeneous.u 0.0.0.0         UG    0      0        0 eth0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For reasons unclear, sometimes many machines miss the entry:&lt;br /&gt;
&lt;br /&gt;
 192.168.21.0    *               255.255.255.0   U     0      0        0 eth1&lt;br /&gt;
&lt;br /&gt;
For Open MPI, this leads to inability to do a system sockets &amp;quot;connect&amp;quot; call to any 192.*.21.* address (hangup).&lt;br /&gt;
For this case, you can switch off eth1:&lt;br /&gt;
&lt;br /&gt;
 mpirun --mca btl_tcp_if_exclude lo,eth1  ...&lt;br /&gt;
&lt;br /&gt;
It is not yet clear why without this entry the connection to the &amp;quot;21&amp;quot; addresses can't be connected. We expect that in this case following rule should be matched (because of the mask):&lt;br /&gt;
 192.168.20.0    *               255.255.254.0   U     0      0        0 eth0&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=HCL_cluster&amp;diff=381</id>
		<title>HCL cluster</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=HCL_cluster&amp;diff=381"/>
				<updated>2010-05-11T14:14:31Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Some networking issues on HCL cluster (unsolved) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://hcl.ucd.ie/Hardware&lt;br /&gt;
&lt;br /&gt;
==General Information==&lt;br /&gt;
[[Image:network.jpg|right|thumbnail||Layout of the Cluster]]&lt;br /&gt;
The hcl cluster is heterogeneous in computing hardware &amp;amp; network ability.&lt;br /&gt;
&lt;br /&gt;
Nodes are from Dell, IBM, and HP, with Celeron, Pentium 4, Xeon, and AMD processors ranging in speeds from 1.8 to 3.6Ghz. Accordingly architectures and parameters such as Front Side Bus, Cache, and Main Memory all vary.&lt;br /&gt;
&lt;br /&gt;
Operating System used is Debian “squeeze” with Linux kernel 2.6.32.&lt;br /&gt;
&lt;br /&gt;
The network hardware consists of two Cisco 24+4 port Gigabit switches. Each node has two Gigabit ethernet ports - each eth0 is connected to the first switch, and each eth1 is connected to the second switch. The switches are also connected to each other. The bandwidth of each port can be configured to meet any value between 8Kb/s and 1Gb/s. This allows testing on a very large number of network topologies, As the bandwidth on the link connecting the two switches can also be configured, the cluster can actually act as two separate clusters connected via one link.&lt;br /&gt;
&lt;br /&gt;
The diagram below shows a schematic of the cluster.&lt;br /&gt;
&lt;br /&gt;
== Detailed Cluster Specification ==&lt;br /&gt;
A table of hardware configuration is available here: [[Cluster Specification]]&lt;br /&gt;
== Cluster Administration ==&lt;br /&gt;
===Useful Tools===&lt;br /&gt;
&amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; on &amp;lt;code&amp;gt;heterogeneous.ucd.ie&amp;lt;/code&amp;gt; has a number of [http://expect.nist.gov/ Expect] scripts to automate administration on the cluster (in &amp;lt;code&amp;gt;/root/scripts&amp;lt;/code&amp;gt;). &amp;lt;code&amp;gt;root_ssh&amp;lt;/code&amp;gt; will automatically log into a host, provide the root password and either return a shell to the user or execute a command that is passed as a second argument. Command syntax is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
# root_ssh&lt;br /&gt;
usage: root_ssh [user@]&amp;lt;host&amp;gt; [command]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example usage, to login and execute a command on each node in the cluster (note the file &amp;lt;code&amp;gt;/etc/dsh/machines.list&amp;lt;/code&amp;gt; contains the hostnames of all compute nodes of the cluster):&lt;br /&gt;
 # for i in `cat /etc/dsh/machines.list`; do root_ssh $i ps ax \| grep pbs; done&lt;br /&gt;
&lt;br /&gt;
The above is sequential. To run parallel jobs, for example: &amp;lt;code&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get -y upgrade&amp;lt;/code&amp;gt;, try the following trick with [http://www.gnu.org/software/screen/ screen]:&lt;br /&gt;
 # for i in `cat /etc/dsh/machines.list`; do screen -L -d -m root_ssh $i apt-get update \&amp;amp;\&amp;amp; apt-get -y upgrade'; done&lt;br /&gt;
You can check the screenlog.* files for errors and delete them when you are happy. Sometimes all logs are sent to screenlog.0, not sure why.&lt;br /&gt;
&lt;br /&gt;
== Software packages available on HCL Cluster 2.0 ==&lt;br /&gt;
&lt;br /&gt;
Wit a fresh installation of operating systems on HCL Cluster the follow list of packages are avalible:&lt;br /&gt;
* autoconf&lt;br /&gt;
* automake&lt;br /&gt;
* fftw2&lt;br /&gt;
* git&lt;br /&gt;
* gfortran&lt;br /&gt;
* gnuplot&lt;br /&gt;
* libtool&lt;br /&gt;
* netperf&lt;br /&gt;
* octave3.2&lt;br /&gt;
* qhull&lt;br /&gt;
* subversion&lt;br /&gt;
* valgrind&lt;br /&gt;
* gsl-dev&lt;br /&gt;
* vim&lt;br /&gt;
* python&lt;br /&gt;
* mc&lt;br /&gt;
* openmpi-bin &lt;br /&gt;
* openmpi-dev&lt;br /&gt;
* evince&lt;br /&gt;
* libboost-graph-dev&lt;br /&gt;
* libboost-serialization-dev&lt;br /&gt;
* r-cran-strucchange&lt;br /&gt;
* graphviz&lt;br /&gt;
* doxygen&lt;br /&gt;
&lt;br /&gt;
[[new hcl node install &amp;amp; configuration log]]&lt;br /&gt;
&lt;br /&gt;
[[new heterogeneous.ucd.ie install log]]&lt;br /&gt;
&lt;br /&gt;
== Access and Security ==&lt;br /&gt;
All access and security for the cluster is handled by the gateway machine (heterogeneous.ucd.ie). This machine is not considered a compute node and should not be used as such. The only new incoming connections allowed are ssh, other incoming packets such as http that are responding to requests from inside the cluster (established or related) are also allowed. Incoming ssh packets are only accepted if they are originating from designated IP addresses. These IP's must be registered ucd IP's. csserver.ucd.ie is allowed, as is hclgate.ucd.ie, on which all users have accounts. Thus to gain access to the cluster you can ssh from csserver, hclgate or other allowed machines to heterogeneous. From there you can ssh to any of the nodes (hcl01-hcl16).&lt;br /&gt;
&lt;br /&gt;
Access from outside the UCD network is only allowed once you have gained entry to a server that allows outside connections (such as csserver.ucd.ie)&lt;br /&gt;
&lt;br /&gt;
== Some networking issues on HCL cluster (unsolved) ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;/sbin/route&amp;quot; should give:&lt;br /&gt;
&lt;br /&gt;
 Kernel IP routing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 239.2.11.72     *               255.255.255.255 UH    0      0        0 eth0&lt;br /&gt;
 heterogeneous.u *               255.255.255.255 UH    0      0        0 eth0&lt;br /&gt;
 192.168.21.0    *               255.255.255.0   U     0      0        0 eth1&lt;br /&gt;
 192.168.20.0    *               255.255.255.0   U     0      0        0 eth0&lt;br /&gt;
 192.168.20.0    *               255.255.254.0   U     0      0        0 eth0&lt;br /&gt;
 192.168.20.0    *               255.255.254.0   U     0      0        0 eth1&lt;br /&gt;
 default         heterogeneous.u 0.0.0.0         UG    0      0        0 eth0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For reasons unclear, sometimes many machines miss the entry:&lt;br /&gt;
&lt;br /&gt;
 192.168.21.0    *               255.255.255.0   U     0      0        0 eth1&lt;br /&gt;
&lt;br /&gt;
For Open MPI, this leads to inability to do a system sockets &amp;quot;connect&amp;quot; call to any 192.*.21.* address (hangup).&lt;br /&gt;
For this case, you can switch off eth1:&lt;br /&gt;
&lt;br /&gt;
 mpirun --mca btl_tcp_if_exclude lo,eth1  ...&lt;br /&gt;
&lt;br /&gt;
It is not yet clear why without this entry the connection to the &amp;quot;21&amp;quot; addresses can't be connected. We expect that in this case following rule should be matched:&lt;br /&gt;
 192.168.20.0    *               255.255.254.0   U     0      0        0 eth0&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=HCL_cluster&amp;diff=380</id>
		<title>HCL cluster</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=HCL_cluster&amp;diff=380"/>
				<updated>2010-05-11T14:12:02Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Some networking issues on HCL cluster (unsolved) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://hcl.ucd.ie/Hardware&lt;br /&gt;
&lt;br /&gt;
==General Information==&lt;br /&gt;
[[Image:network.jpg|right|thumbnail||Layout of the Cluster]]&lt;br /&gt;
The hcl cluster is heterogeneous in computing hardware &amp;amp; network ability.&lt;br /&gt;
&lt;br /&gt;
Nodes are from Dell, IBM, and HP, with Celeron, Pentium 4, Xeon, and AMD processors ranging in speeds from 1.8 to 3.6Ghz. Accordingly architectures and parameters such as Front Side Bus, Cache, and Main Memory all vary.&lt;br /&gt;
&lt;br /&gt;
Operating System used is Debian “squeeze” with Linux kernel 2.6.32.&lt;br /&gt;
&lt;br /&gt;
The network hardware consists of two Cisco 24+4 port Gigabit switches. Each node has two Gigabit ethernet ports - each eth0 is connected to the first switch, and each eth1 is connected to the second switch. The switches are also connected to each other. The bandwidth of each port can be configured to meet any value between 8Kb/s and 1Gb/s. This allows testing on a very large number of network topologies, As the bandwidth on the link connecting the two switches can also be configured, the cluster can actually act as two separate clusters connected via one link.&lt;br /&gt;
&lt;br /&gt;
The diagram below shows a schematic of the cluster.&lt;br /&gt;
&lt;br /&gt;
== Detailed Cluster Specification ==&lt;br /&gt;
A table of hardware configuration is available here: [[Cluster Specification]]&lt;br /&gt;
== Cluster Administration ==&lt;br /&gt;
===Useful Tools===&lt;br /&gt;
&amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; on &amp;lt;code&amp;gt;heterogeneous.ucd.ie&amp;lt;/code&amp;gt; has a number of [http://expect.nist.gov/ Expect] scripts to automate administration on the cluster (in &amp;lt;code&amp;gt;/root/scripts&amp;lt;/code&amp;gt;). &amp;lt;code&amp;gt;root_ssh&amp;lt;/code&amp;gt; will automatically log into a host, provide the root password and either return a shell to the user or execute a command that is passed as a second argument. Command syntax is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
# root_ssh&lt;br /&gt;
usage: root_ssh [user@]&amp;lt;host&amp;gt; [command]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example usage, to login and execute a command on each node in the cluster (note the file &amp;lt;code&amp;gt;/etc/dsh/machines.list&amp;lt;/code&amp;gt; contains the hostnames of all compute nodes of the cluster):&lt;br /&gt;
 # for i in `cat /etc/dsh/machines.list`; do root_ssh $i ps ax \| grep pbs; done&lt;br /&gt;
&lt;br /&gt;
The above is sequential. To run parallel jobs, for example: &amp;lt;code&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get -y upgrade&amp;lt;/code&amp;gt;, try the following trick with [http://www.gnu.org/software/screen/ screen]:&lt;br /&gt;
 # for i in `cat /etc/dsh/machines.list`; do screen -L -d -m root_ssh $i apt-get update \&amp;amp;\&amp;amp; apt-get -y upgrade'; done&lt;br /&gt;
You can check the screenlog.* files for errors and delete them when you are happy. Sometimes all logs are sent to screenlog.0, not sure why.&lt;br /&gt;
&lt;br /&gt;
== Software packages available on HCL Cluster 2.0 ==&lt;br /&gt;
&lt;br /&gt;
Wit a fresh installation of operating systems on HCL Cluster the follow list of packages are avalible:&lt;br /&gt;
* autoconf&lt;br /&gt;
* automake&lt;br /&gt;
* fftw2&lt;br /&gt;
* git&lt;br /&gt;
* gfortran&lt;br /&gt;
* gnuplot&lt;br /&gt;
* libtool&lt;br /&gt;
* netperf&lt;br /&gt;
* octave3.2&lt;br /&gt;
* qhull&lt;br /&gt;
* subversion&lt;br /&gt;
* valgrind&lt;br /&gt;
* gsl-dev&lt;br /&gt;
* vim&lt;br /&gt;
* python&lt;br /&gt;
* mc&lt;br /&gt;
* openmpi-bin &lt;br /&gt;
* openmpi-dev&lt;br /&gt;
* evince&lt;br /&gt;
* libboost-graph-dev&lt;br /&gt;
* libboost-serialization-dev&lt;br /&gt;
* r-cran-strucchange&lt;br /&gt;
* graphviz&lt;br /&gt;
* doxygen&lt;br /&gt;
&lt;br /&gt;
[[new hcl node install &amp;amp; configuration log]]&lt;br /&gt;
&lt;br /&gt;
[[new heterogeneous.ucd.ie install log]]&lt;br /&gt;
&lt;br /&gt;
== Access and Security ==&lt;br /&gt;
All access and security for the cluster is handled by the gateway machine (heterogeneous.ucd.ie). This machine is not considered a compute node and should not be used as such. The only new incoming connections allowed are ssh, other incoming packets such as http that are responding to requests from inside the cluster (established or related) are also allowed. Incoming ssh packets are only accepted if they are originating from designated IP addresses. These IP's must be registered ucd IP's. csserver.ucd.ie is allowed, as is hclgate.ucd.ie, on which all users have accounts. Thus to gain access to the cluster you can ssh from csserver, hclgate or other allowed machines to heterogeneous. From there you can ssh to any of the nodes (hcl01-hcl16).&lt;br /&gt;
&lt;br /&gt;
Access from outside the UCD network is only allowed once you have gained entry to a server that allows outside connections (such as csserver.ucd.ie)&lt;br /&gt;
&lt;br /&gt;
== Some networking issues on HCL cluster (unsolved) ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;/sbin/route&amp;quot; should give:&lt;br /&gt;
&lt;br /&gt;
 Kernel IP routing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 239.2.11.72     *               255.255.255.255 UH    0      0        0 eth0&lt;br /&gt;
 heterogeneous.u *               255.255.255.255 UH    0      0        0 eth0&lt;br /&gt;
 192.168.21.0    *               255.255.255.0   U     0      0        0 eth1&lt;br /&gt;
 192.168.20.0    *               255.255.255.0   U     0      0        0 eth0&lt;br /&gt;
 192.168.20.0    *               255.255.254.0   U     0      0        0 eth0&lt;br /&gt;
 192.168.20.0    *               255.255.254.0   U     0      0        0 eth1&lt;br /&gt;
 default         heterogeneous.u 0.0.0.0         UG    0      0        0 eth0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
For reasons unclear, sometimes most machines miss the entry:&lt;br /&gt;
&lt;br /&gt;
 192.168.21.0    *               255.255.255.0   U     0      0        0 eth1&lt;br /&gt;
&lt;br /&gt;
For Open MPI, this leads to inability to do a system sockets &amp;quot;connect&amp;quot; call to any 192.*.21.* address (hangup).&lt;br /&gt;
For this case, you can switch off eth1:&lt;br /&gt;
&lt;br /&gt;
 mpirun --mca btl_tcp_if_exclude lo,eth1  ...&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=HCL_cluster&amp;diff=379</id>
		<title>HCL cluster</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=HCL_cluster&amp;diff=379"/>
				<updated>2010-05-11T14:09:08Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Some networking issues on HCL cluster (unsolved) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://hcl.ucd.ie/Hardware&lt;br /&gt;
&lt;br /&gt;
==General Information==&lt;br /&gt;
[[Image:network.jpg|right|thumbnail||Layout of the Cluster]]&lt;br /&gt;
The hcl cluster is heterogeneous in computing hardware &amp;amp; network ability.&lt;br /&gt;
&lt;br /&gt;
Nodes are from Dell, IBM, and HP, with Celeron, Pentium 4, Xeon, and AMD processors ranging in speeds from 1.8 to 3.6Ghz. Accordingly architectures and parameters such as Front Side Bus, Cache, and Main Memory all vary.&lt;br /&gt;
&lt;br /&gt;
Operating System used is Debian “squeeze” with Linux kernel 2.6.32.&lt;br /&gt;
&lt;br /&gt;
The network hardware consists of two Cisco 24+4 port Gigabit switches. Each node has two Gigabit ethernet ports - each eth0 is connected to the first switch, and each eth1 is connected to the second switch. The switches are also connected to each other. The bandwidth of each port can be configured to meet any value between 8Kb/s and 1Gb/s. This allows testing on a very large number of network topologies, As the bandwidth on the link connecting the two switches can also be configured, the cluster can actually act as two separate clusters connected via one link.&lt;br /&gt;
&lt;br /&gt;
The diagram below shows a schematic of the cluster.&lt;br /&gt;
&lt;br /&gt;
== Detailed Cluster Specification ==&lt;br /&gt;
A table of hardware configuration is available here: [[Cluster Specification]]&lt;br /&gt;
== Cluster Administration ==&lt;br /&gt;
===Useful Tools===&lt;br /&gt;
&amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; on &amp;lt;code&amp;gt;heterogeneous.ucd.ie&amp;lt;/code&amp;gt; has a number of [http://expect.nist.gov/ Expect] scripts to automate administration on the cluster (in &amp;lt;code&amp;gt;/root/scripts&amp;lt;/code&amp;gt;). &amp;lt;code&amp;gt;root_ssh&amp;lt;/code&amp;gt; will automatically log into a host, provide the root password and either return a shell to the user or execute a command that is passed as a second argument. Command syntax is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
# root_ssh&lt;br /&gt;
usage: root_ssh [user@]&amp;lt;host&amp;gt; [command]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example usage, to login and execute a command on each node in the cluster (note the file &amp;lt;code&amp;gt;/etc/dsh/machines.list&amp;lt;/code&amp;gt; contains the hostnames of all compute nodes of the cluster):&lt;br /&gt;
 # for i in `cat /etc/dsh/machines.list`; do root_ssh $i ps ax \| grep pbs; done&lt;br /&gt;
&lt;br /&gt;
The above is sequential. To run parallel jobs, for example: &amp;lt;code&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get -y upgrade&amp;lt;/code&amp;gt;, try the following trick with [http://www.gnu.org/software/screen/ screen]:&lt;br /&gt;
 # for i in `cat /etc/dsh/machines.list`; do screen -L -d -m root_ssh $i apt-get update \&amp;amp;\&amp;amp; apt-get -y upgrade'; done&lt;br /&gt;
You can check the screenlog.* files for errors and delete them when you are happy. Sometimes all logs are sent to screenlog.0, not sure why.&lt;br /&gt;
&lt;br /&gt;
== Software packages available on HCL Cluster 2.0 ==&lt;br /&gt;
&lt;br /&gt;
Wit a fresh installation of operating systems on HCL Cluster the follow list of packages are avalible:&lt;br /&gt;
* autoconf&lt;br /&gt;
* automake&lt;br /&gt;
* fftw2&lt;br /&gt;
* git&lt;br /&gt;
* gfortran&lt;br /&gt;
* gnuplot&lt;br /&gt;
* libtool&lt;br /&gt;
* netperf&lt;br /&gt;
* octave3.2&lt;br /&gt;
* qhull&lt;br /&gt;
* subversion&lt;br /&gt;
* valgrind&lt;br /&gt;
* gsl-dev&lt;br /&gt;
* vim&lt;br /&gt;
* python&lt;br /&gt;
* mc&lt;br /&gt;
* openmpi-bin &lt;br /&gt;
* openmpi-dev&lt;br /&gt;
* evince&lt;br /&gt;
* libboost-graph-dev&lt;br /&gt;
* libboost-serialization-dev&lt;br /&gt;
* r-cran-strucchange&lt;br /&gt;
* graphviz&lt;br /&gt;
* doxygen&lt;br /&gt;
&lt;br /&gt;
[[new hcl node install &amp;amp; configuration log]]&lt;br /&gt;
&lt;br /&gt;
[[new heterogeneous.ucd.ie install log]]&lt;br /&gt;
&lt;br /&gt;
== Access and Security ==&lt;br /&gt;
All access and security for the cluster is handled by the gateway machine (heterogeneous.ucd.ie). This machine is not considered a compute node and should not be used as such. The only new incoming connections allowed are ssh, other incoming packets such as http that are responding to requests from inside the cluster (established or related) are also allowed. Incoming ssh packets are only accepted if they are originating from designated IP addresses. These IP's must be registered ucd IP's. csserver.ucd.ie is allowed, as is hclgate.ucd.ie, on which all users have accounts. Thus to gain access to the cluster you can ssh from csserver, hclgate or other allowed machines to heterogeneous. From there you can ssh to any of the nodes (hcl01-hcl16).&lt;br /&gt;
&lt;br /&gt;
Access from outside the UCD network is only allowed once you have gained entry to a server that allows outside connections (such as csserver.ucd.ie)&lt;br /&gt;
&lt;br /&gt;
== Some networking issues on HCL cluster (unsolved) ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;/sbin/route&amp;quot; should give:&lt;br /&gt;
&lt;br /&gt;
 Kernel IP routing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 239.2.11.72     *               255.255.255.255 UH    0      0        0 eth0&lt;br /&gt;
 heterogeneous.u *               255.255.255.255 UH    0      0        0 eth0&lt;br /&gt;
 192.168.21.0    *               255.255.255.0   U     0      0        0 eth1&lt;br /&gt;
 192.168.20.0    *               255.255.255.0   U     0      0        0 eth0&lt;br /&gt;
 192.168.20.0    *               255.255.254.0   U     0      0        0 eth0&lt;br /&gt;
 192.168.20.0    *               255.255.254.0   U     0      0        0 eth1&lt;br /&gt;
 default         heterogeneous.u 0.0.0.0         UG    0      0        0 eth0&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=HCL_cluster&amp;diff=378</id>
		<title>HCL cluster</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=HCL_cluster&amp;diff=378"/>
				<updated>2010-05-11T14:06:40Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Some networking issues on HCL cluster (unsolved) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://hcl.ucd.ie/Hardware&lt;br /&gt;
&lt;br /&gt;
==General Information==&lt;br /&gt;
[[Image:network.jpg|right|thumbnail||Layout of the Cluster]]&lt;br /&gt;
The hcl cluster is heterogeneous in computing hardware &amp;amp; network ability.&lt;br /&gt;
&lt;br /&gt;
Nodes are from Dell, IBM, and HP, with Celeron, Pentium 4, Xeon, and AMD processors ranging in speeds from 1.8 to 3.6Ghz. Accordingly architectures and parameters such as Front Side Bus, Cache, and Main Memory all vary.&lt;br /&gt;
&lt;br /&gt;
Operating System used is Debian “squeeze” with Linux kernel 2.6.32.&lt;br /&gt;
&lt;br /&gt;
The network hardware consists of two Cisco 24+4 port Gigabit switches. Each node has two Gigabit ethernet ports - each eth0 is connected to the first switch, and each eth1 is connected to the second switch. The switches are also connected to each other. The bandwidth of each port can be configured to meet any value between 8Kb/s and 1Gb/s. This allows testing on a very large number of network topologies, As the bandwidth on the link connecting the two switches can also be configured, the cluster can actually act as two separate clusters connected via one link.&lt;br /&gt;
&lt;br /&gt;
The diagram below shows a schematic of the cluster.&lt;br /&gt;
&lt;br /&gt;
== Detailed Cluster Specification ==&lt;br /&gt;
A table of hardware configuration is available here: [[Cluster Specification]]&lt;br /&gt;
== Cluster Administration ==&lt;br /&gt;
===Useful Tools===&lt;br /&gt;
&amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; on &amp;lt;code&amp;gt;heterogeneous.ucd.ie&amp;lt;/code&amp;gt; has a number of [http://expect.nist.gov/ Expect] scripts to automate administration on the cluster (in &amp;lt;code&amp;gt;/root/scripts&amp;lt;/code&amp;gt;). &amp;lt;code&amp;gt;root_ssh&amp;lt;/code&amp;gt; will automatically log into a host, provide the root password and either return a shell to the user or execute a command that is passed as a second argument. Command syntax is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
# root_ssh&lt;br /&gt;
usage: root_ssh [user@]&amp;lt;host&amp;gt; [command]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example usage, to login and execute a command on each node in the cluster (note the file &amp;lt;code&amp;gt;/etc/dsh/machines.list&amp;lt;/code&amp;gt; contains the hostnames of all compute nodes of the cluster):&lt;br /&gt;
 # for i in `cat /etc/dsh/machines.list`; do root_ssh $i ps ax \| grep pbs; done&lt;br /&gt;
&lt;br /&gt;
The above is sequential. To run parallel jobs, for example: &amp;lt;code&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get -y upgrade&amp;lt;/code&amp;gt;, try the following trick with [http://www.gnu.org/software/screen/ screen]:&lt;br /&gt;
 # for i in `cat /etc/dsh/machines.list`; do screen -L -d -m root_ssh $i apt-get update \&amp;amp;\&amp;amp; apt-get -y upgrade'; done&lt;br /&gt;
You can check the screenlog.* files for errors and delete them when you are happy. Sometimes all logs are sent to screenlog.0, not sure why.&lt;br /&gt;
&lt;br /&gt;
== Software packages available on HCL Cluster 2.0 ==&lt;br /&gt;
&lt;br /&gt;
Wit a fresh installation of operating systems on HCL Cluster the follow list of packages are avalible:&lt;br /&gt;
* autoconf&lt;br /&gt;
* automake&lt;br /&gt;
* fftw2&lt;br /&gt;
* git&lt;br /&gt;
* gfortran&lt;br /&gt;
* gnuplot&lt;br /&gt;
* libtool&lt;br /&gt;
* netperf&lt;br /&gt;
* octave3.2&lt;br /&gt;
* qhull&lt;br /&gt;
* subversion&lt;br /&gt;
* valgrind&lt;br /&gt;
* gsl-dev&lt;br /&gt;
* vim&lt;br /&gt;
* python&lt;br /&gt;
* mc&lt;br /&gt;
* openmpi-bin &lt;br /&gt;
* openmpi-dev&lt;br /&gt;
* evince&lt;br /&gt;
* libboost-graph-dev&lt;br /&gt;
* libboost-serialization-dev&lt;br /&gt;
* r-cran-strucchange&lt;br /&gt;
* graphviz&lt;br /&gt;
* doxygen&lt;br /&gt;
&lt;br /&gt;
[[new hcl node install &amp;amp; configuration log]]&lt;br /&gt;
&lt;br /&gt;
[[new heterogeneous.ucd.ie install log]]&lt;br /&gt;
&lt;br /&gt;
== Access and Security ==&lt;br /&gt;
All access and security for the cluster is handled by the gateway machine (heterogeneous.ucd.ie). This machine is not considered a compute node and should not be used as such. The only new incoming connections allowed are ssh, other incoming packets such as http that are responding to requests from inside the cluster (established or related) are also allowed. Incoming ssh packets are only accepted if they are originating from designated IP addresses. These IP's must be registered ucd IP's. csserver.ucd.ie is allowed, as is hclgate.ucd.ie, on which all users have accounts. Thus to gain access to the cluster you can ssh from csserver, hclgate or other allowed machines to heterogeneous. From there you can ssh to any of the nodes (hcl01-hcl16).&lt;br /&gt;
&lt;br /&gt;
Access from outside the UCD network is only allowed once you have gained entry to a server that allows outside connections (such as csserver.ucd.ie)&lt;br /&gt;
&lt;br /&gt;
== Some networking issues on HCL cluster (unsolved) ==&lt;br /&gt;
&lt;br /&gt;
If &amp;quot;/sbin/route&amp;quot; gives:&lt;br /&gt;
&lt;br /&gt;
 Kernel IP routing table&lt;br /&gt;
 Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
 239.2.11.72     *               255.255.255.255 UH    0      0        0 eth0&lt;br /&gt;
 heterogeneous.u *               255.255.255.255 UH    0      0        0 eth0&lt;br /&gt;
 192.168.20.0    *               255.255.255.0   U     0      0        0 eth0&lt;br /&gt;
 192.168.20.0    *               255.255.254.0   U     0      0        0 eth0&lt;br /&gt;
 192.168.20.0    *               255.255.254.0   U     0      0        0 eth1&lt;br /&gt;
 default         heterogeneous.u 0.0.0.0         UG    0      0        0 eth0&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=HCL_cluster&amp;diff=377</id>
		<title>HCL cluster</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=HCL_cluster&amp;diff=377"/>
				<updated>2010-05-11T14:05:33Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Access and Security */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://hcl.ucd.ie/Hardware&lt;br /&gt;
&lt;br /&gt;
==General Information==&lt;br /&gt;
[[Image:network.jpg|right|thumbnail||Layout of the Cluster]]&lt;br /&gt;
The hcl cluster is heterogeneous in computing hardware &amp;amp; network ability.&lt;br /&gt;
&lt;br /&gt;
Nodes are from Dell, IBM, and HP, with Celeron, Pentium 4, Xeon, and AMD processors ranging in speeds from 1.8 to 3.6Ghz. Accordingly architectures and parameters such as Front Side Bus, Cache, and Main Memory all vary.&lt;br /&gt;
&lt;br /&gt;
Operating System used is Debian “squeeze” with Linux kernel 2.6.32.&lt;br /&gt;
&lt;br /&gt;
The network hardware consists of two Cisco 24+4 port Gigabit switches. Each node has two Gigabit ethernet ports - each eth0 is connected to the first switch, and each eth1 is connected to the second switch. The switches are also connected to each other. The bandwidth of each port can be configured to meet any value between 8Kb/s and 1Gb/s. This allows testing on a very large number of network topologies, As the bandwidth on the link connecting the two switches can also be configured, the cluster can actually act as two separate clusters connected via one link.&lt;br /&gt;
&lt;br /&gt;
The diagram below shows a schematic of the cluster.&lt;br /&gt;
&lt;br /&gt;
== Detailed Cluster Specification ==&lt;br /&gt;
A table of hardware configuration is available here: [[Cluster Specification]]&lt;br /&gt;
== Cluster Administration ==&lt;br /&gt;
===Useful Tools===&lt;br /&gt;
&amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; on &amp;lt;code&amp;gt;heterogeneous.ucd.ie&amp;lt;/code&amp;gt; has a number of [http://expect.nist.gov/ Expect] scripts to automate administration on the cluster (in &amp;lt;code&amp;gt;/root/scripts&amp;lt;/code&amp;gt;). &amp;lt;code&amp;gt;root_ssh&amp;lt;/code&amp;gt; will automatically log into a host, provide the root password and either return a shell to the user or execute a command that is passed as a second argument. Command syntax is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
# root_ssh&lt;br /&gt;
usage: root_ssh [user@]&amp;lt;host&amp;gt; [command]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example usage, to login and execute a command on each node in the cluster (note the file &amp;lt;code&amp;gt;/etc/dsh/machines.list&amp;lt;/code&amp;gt; contains the hostnames of all compute nodes of the cluster):&lt;br /&gt;
 # for i in `cat /etc/dsh/machines.list`; do root_ssh $i ps ax \| grep pbs; done&lt;br /&gt;
&lt;br /&gt;
The above is sequential. To run parallel jobs, for example: &amp;lt;code&amp;gt;apt-get update &amp;amp;&amp;amp; apt-get -y upgrade&amp;lt;/code&amp;gt;, try the following trick with [http://www.gnu.org/software/screen/ screen]:&lt;br /&gt;
 # for i in `cat /etc/dsh/machines.list`; do screen -L -d -m root_ssh $i apt-get update \&amp;amp;\&amp;amp; apt-get -y upgrade'; done&lt;br /&gt;
You can check the screenlog.* files for errors and delete them when you are happy. Sometimes all logs are sent to screenlog.0, not sure why.&lt;br /&gt;
&lt;br /&gt;
== Software packages available on HCL Cluster 2.0 ==&lt;br /&gt;
&lt;br /&gt;
Wit a fresh installation of operating systems on HCL Cluster the follow list of packages are avalible:&lt;br /&gt;
* autoconf&lt;br /&gt;
* automake&lt;br /&gt;
* fftw2&lt;br /&gt;
* git&lt;br /&gt;
* gfortran&lt;br /&gt;
* gnuplot&lt;br /&gt;
* libtool&lt;br /&gt;
* netperf&lt;br /&gt;
* octave3.2&lt;br /&gt;
* qhull&lt;br /&gt;
* subversion&lt;br /&gt;
* valgrind&lt;br /&gt;
* gsl-dev&lt;br /&gt;
* vim&lt;br /&gt;
* python&lt;br /&gt;
* mc&lt;br /&gt;
* openmpi-bin &lt;br /&gt;
* openmpi-dev&lt;br /&gt;
* evince&lt;br /&gt;
* libboost-graph-dev&lt;br /&gt;
* libboost-serialization-dev&lt;br /&gt;
* r-cran-strucchange&lt;br /&gt;
* graphviz&lt;br /&gt;
* doxygen&lt;br /&gt;
&lt;br /&gt;
[[new hcl node install &amp;amp; configuration log]]&lt;br /&gt;
&lt;br /&gt;
[[new heterogeneous.ucd.ie install log]]&lt;br /&gt;
&lt;br /&gt;
== Access and Security ==&lt;br /&gt;
All access and security for the cluster is handled by the gateway machine (heterogeneous.ucd.ie). This machine is not considered a compute node and should not be used as such. The only new incoming connections allowed are ssh, other incoming packets such as http that are responding to requests from inside the cluster (established or related) are also allowed. Incoming ssh packets are only accepted if they are originating from designated IP addresses. These IP's must be registered ucd IP's. csserver.ucd.ie is allowed, as is hclgate.ucd.ie, on which all users have accounts. Thus to gain access to the cluster you can ssh from csserver, hclgate or other allowed machines to heterogeneous. From there you can ssh to any of the nodes (hcl01-hcl16).&lt;br /&gt;
&lt;br /&gt;
Access from outside the UCD network is only allowed once you have gained entry to a server that allows outside connections (such as csserver.ucd.ie)&lt;br /&gt;
&lt;br /&gt;
== Some networking issues on HCL cluster (unsolved) ==&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=374</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=374"/>
				<updated>2010-05-07T11:01:29Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Making a cascade of SSH connections easy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Passwordless SSH ==&lt;br /&gt;
To set up passwordless SSH, there are three main things to do:&lt;br /&gt;
* generate a pair of public/private keys on your local computer&lt;br /&gt;
* copy the public key from the source computer to the target computer's authorized_keys file&lt;br /&gt;
* check the permissions. &lt;br /&gt;
&lt;br /&gt;
You can repeat that transitively for &amp;quot;A-&amp;gt;B-&amp;gt;C&amp;quot;. You can use the initial pair of keys everywhere.&lt;br /&gt;
&lt;br /&gt;
See here for details:&lt;br /&gt;
&lt;br /&gt;
http://www.stearns.org/doc/ssh-techniques.current.html&lt;br /&gt;
&lt;br /&gt;
== Making a cascade of SSH connections easy ==&lt;br /&gt;
Here is a very convenient way to set up the access to any machine directly instead of doing a cascade of SSH calls. If you can not directly access e.g. the machine &amp;quot;heterogeneous&amp;quot;, but you can log into &amp;quot;csserver&amp;quot; and then to &amp;quot;heterogeneous&amp;quot;, you can put this into your .ssh/config file :&lt;br /&gt;
 Host csserver&lt;br /&gt;
   User kdichev&lt;br /&gt;
   Hostname csserver.ucd.ie&lt;br /&gt;
 Host heterogeneous&lt;br /&gt;
   User kiril&lt;br /&gt;
   Hostname heterogeneous.ucd.ie&lt;br /&gt;
   ProxyCommand ssh -qax csserver nc %h %p&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since the installation of a new PBS system, you can not directly log into a hclXX node. You can do&lt;br /&gt;
 ssh heterogeneous&lt;br /&gt;
instead and use &amp;quot;qsub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== X11 forwarding ==&lt;br /&gt;
&amp;lt;code lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -X hostname&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	<entry>
		<id>https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=373</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://hcl.ucd.ie/wiki/index.php?title=SSH&amp;diff=373"/>
				<updated>2010-05-07T10:59:33Z</updated>
		
		<summary type="html">&lt;p&gt;Kiril: /* Making a cascade of SSH connections easy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Passwordless SSH ==&lt;br /&gt;
To set up passwordless SSH, there are three main things to do:&lt;br /&gt;
* generate a pair of public/private keys on your local computer&lt;br /&gt;
* copy the public key from the source computer to the target computer's authorized_keys file&lt;br /&gt;
* check the permissions. &lt;br /&gt;
&lt;br /&gt;
You can repeat that transitively for &amp;quot;A-&amp;gt;B-&amp;gt;C&amp;quot;. You can use the initial pair of keys everywhere.&lt;br /&gt;
&lt;br /&gt;
See here for details:&lt;br /&gt;
&lt;br /&gt;
http://www.stearns.org/doc/ssh-techniques.current.html&lt;br /&gt;
&lt;br /&gt;
== Making a cascade of SSH connections easy ==&lt;br /&gt;
Here is a very convenient way to set up the access to any machine directly instead of doing a cascade of SSH calls. Put this into your .ssh/config file :&lt;br /&gt;
 Host csserver&lt;br /&gt;
   User kdichev&lt;br /&gt;
   Hostname csserver.ucd.ie&lt;br /&gt;
 Host heterogeneous&lt;br /&gt;
   User kiril&lt;br /&gt;
   Hostname heterogeneous.ucd.ie&lt;br /&gt;
   ProxyCommand ssh -qax csserver nc %h %p&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since the installation of a new PBS system, you can not directly log into a hclXX node. You can do&lt;br /&gt;
 ssh heterogeneous&lt;br /&gt;
instead and use &amp;quot;qsub&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== X11 forwarding ==&lt;br /&gt;
&amp;lt;code lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -X hostname&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Kiril</name></author>	</entry>

	</feed>