<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>All-in Labs &#187; Informática</title>
	<atom:link href="http://www.all-in.cl/tag/informatica/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.all-in.cl</link>
	<description>Blog comunitario sobre ...</description>
	<lastBuildDate>Fri, 08 Jan 2010 20:28:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Cluster MPI en Linux con computadores de escritorio</title>
		<link>http://www.all-in.cl/2009/09/cluster-mpi-linux/</link>
		<comments>http://www.all-in.cl/2009/09/cluster-mpi-linux/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 23:14:10 +0000</pubDate>
		<dc:creator>fsaravia</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[programacion]]></category>
		<category><![CDATA[servidores]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.all-in.cl/?p=335</guid>
		<description><![CDATA[A diferencia de la mayoría de los tutoriales, que parten de la base que uno tiene N equipos para destinarlos exclusivamente a ser parte de un cluster, acá relato cómo armé un cluster en equipos de un laboratorio de computación, que además son utilizados por usuarios para trabajo habitual (todo esto bajo Linux, obvio)

Configuración de [...]]]></description>
			<content:encoded><![CDATA[<p>A diferencia de la mayoría de los tutoriales, que parten de la base que uno tiene N equipos para destinarlos exclusivamente a ser parte de un cluster, acá relato cómo armé un cluster en equipos de un laboratorio de computación, que además son utilizados por usuarios para trabajo habitual (todo esto bajo Linux, obvio)<br />
<span id="more-335"></span><br />
Configuración de red: 192.168.5.0 ethernet gigabit<br />
Configuración de equipos: Kubuntu 9.10 64-bit</p>
<p><strong>Paso 1: El servidor. Ejecutar como root lo siguiente:</strong></p>
<p>Instalar paquetes de NFS, SSH y compiladores<br />
<code>$ apt-get install nfs-kernel-server openssh-server build-essential</code></p>
<p>Instalar MPICH2<br />
<code>$ wget http://octopus.inf.utfsm.cl/fsaravia/files/herramientas/mpich2_1.1.1p1-1ubuntu_amd64.deb<br />
$ dpkg -i mpich2_1.1.1p1-1ubuntu_amd64.deb</code></p>
<p>Crear un usuario (en este caso &#8220;mpi&#8221;), con un <strong>uid</strong> fijo<br />
<code>$ adduser mpi --uid 1002</code></p>
<p>Crear claves DSA para conectarse por ssh sin password<br />
<code>$ ssh-keygen -t dsa</code></p>
<p>Exportar por NFS el $HOME del usuario <strong>mpi</strong>, agregando en el archivo <strong>/etc/exports</strong> lo siguiente:<br />
<code>$ /home/mpi 192.168.5.0/24*(rw,no_root_squash,sync,no_subtree_check)</code></p>
<p>Luego aplicar los cambios:<br />
<code>$ exportfs -av</code></p>
<p>Por simplicidad, agregar los nodos de la red en <strong>/etc/hosts</strong>. La separación entre las direcciones IP y el nombre de cada host <strong>debe ser un tabulador</strong> y no espacios.<br />
<code>192.168.5.70    pc001<br />
192.168.5.116   pc002<br />
192.168.5.78    pc003<br />
192.168.5.77    pc004<br />
</code></p>
<p>Esto es todo lo que se debe realizar como <strong>root</strong>.</p>
<p>Ahora acceder como usuario <strong>mpi</strong> y configurar la cuenta para trabajar como cluster:</p>
<p>En el archivo <strong>/home/mpi/mpd.hosts</strong> poner los nombres de todos los equipos que forman parte del cluster:<br />
<code>pc001<br />
pc002<br />
pc003<br />
pc004</code></p>
<p>Luego crear el archivo <strong>/home/mpi/.mpd.conf</strong> donde va la &#8220;clave&#8221; del cluster:<br />
<code>$ echo algunapalabra > /home/mpi/.mpd.conf<br />
$ chmod 600 /home/mpi/.mpd.conf</code></p>
<p>Finalmente, crear claves DSA para acceder por SSH sin clave. Por seguridad no utilizar las mismas de root.<br />
<code>$ ssh-keygen -t dsa</code></p>
<p>Listo. Con esto tenemos el pc servidor configurado.</p>
<p><strong>Paso 2: Equipos esclavos</strong></p>
<p>Ejecutar como <strong>root</strong> lo siguiente:</p>
<p>Instalar paquetes de NFS, SSH y compiladores<br />
<code>$ apt-get install nfs-kernel-server openssh-server build-essential</code></p>
<p>Instalar MPICH2<br />
<code>$ wget http://octopus.inf.utfsm.cl/fsaravia/files/herramientas/mpich2_1.1.1p1-1ubuntu_amd64.deb<br />
$ dpkg -i mpich2_1.1.1p1-1ubuntu_amd64.deb</code></p>
<p>Crear un usuario (en este caso &#8220;mpi&#8221;), con un <strong>uid</strong> fijo<br />
<code>$ adduser mpi --uid 1002</code></p>
<p>Copiar el archivo <strong>/etc/hosts</strong> del servidor al equipo esclavo<br />
<code>$ scp root@pc001:/etc/hosts /etc</code></p>
<p>Configurar el $HOME del usuario mpi para que se monte vía NFS desde el servidor, agregando la siguiente línea al archivo <strong>/etc/fstab</strong><br />
<code>pc001:/home/mpi /home/mpi nfs defaults,auto 0 0</code></p>
<p>Luego, eliminar el contenido local del directorio <strong>/home/mpi</strong> y montar vía NFS:<br />
<code>$ rm -rf /home/mpi/*<br />
$ mount -a</code></p>
<p>Con esto queda configurado el cliente.</p>
<p><strong>Consideraciones finales:</strong></p>
<p>Desde el servidor y como usuario <strong>mpi</strong> conectarse por ssh a todos los nodos, para que quede como &#8220;conocido&#8221; y guardado en <strong>~/.ssh/known_hosts</strong>.</p>
<p>Una vez realizado esto, es posible levantar un cluster MPI con todas las de la ley:<br />
<code>$ mpdboot -n 4 -f ~/mpd.hosts</code></p>
<p>Si no hay ningún mensaje de error se puede visualizar una lista de los nodos que forman parte del cluster<br />
<code>$ mpdtrace</code></p>
<p>Y finalmente, para ejecutar código C++/MPI<br />
<code>mpirun -np 8 ./programa_mpi</code><br />
En el ejemplo, hay 4 máquinas dual-core, es decir, 8 cores en total.</p>
<p>Seguramente me faltan algunos detalles. Información más detallada y otros tips en los siguientes sitios:<br />
http://allintech.info/2008/09/a-ubuntu-mpi-cluster-part-1-server-setup<br />
http://www.glib.org.mx/article.php?story=20070320133500387</p>
<p>Una posible causa de errores puede ser que el nombre del equipo (hostname) no coincida con lo que dice /etc/hosts</p>
<p>Probado con máquinas Kubuntu 9.10 alpha, Ubuntu 9.04, centos 5.3, centos 5.2.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.all-in.cl/2009/09/cluster-mpi-linux/" target="_blank"><img src="http://www.all-in.cl/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a><a href="http://www.facebook.com/share.php?u=http://www.all-in.cl/2009/09/cluster-mpi-linux/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.all-in.cl/2009/09/cluster-mpi-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Set JAVA_HOME ubuntu 9.04 con OpenJdk</title>
		<link>http://www.all-in.cl/2009/07/set-java_home-ubuntu-9-04-con-openjdk/</link>
		<comments>http://www.all-in.cl/2009/07/set-java_home-ubuntu-9-04-con-openjdk/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 03:06:00 +0000</pubDate>
		<dc:creator>foward</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.all-in.cl/?p=111</guid>
		<description><![CDATA[Hola a todos, como mi primer post nionio (notese sin enie &#8211; en otro post explicare porque), pondre algo que me sucedio recientemente, trabajando con maven me di cuenta que algo no estaba bien &#8230; trataba de buscar la libreria sun tools.jar , pero no encontraba la ruta&#8230;la razón es que con openjdk instalado no [...]]]></description>
			<content:encoded><![CDATA[<p>Hola a todos, como mi primer post nionio (notese sin enie &#8211; en otro post explicare porque), pondre algo que me sucedio recientemente, trabajando con maven me di cuenta que algo no estaba bien &#8230; trataba de buscar la libreria sun tools.jar , pero no encontraba la ruta&#8230;la razón es que con openjdk instalado no existe el tan famoso JAVA_HOME , pero bueno no faltaba mas que ponerle al bash JAVA_HOME.</p>
<p>Pasos:</p>
<p>abrir la consola y con sudo poner al final de /etc/bash.bashrc</p>
<p><code>JAVA_HOME=/usr/lib/jvm/java-6-sun<br />
export JAVA_HOME<br />
PATH=$PATH:$JAVA_HOME/bin<br />
export PATH</code></p>
<p>y listo tenemos configurado ahora nuestro java correctamente, reinicia y luego prueba si esta el link&#8230;</p>
<p><code>foward@foward-laptop:~$ echo $JAVA_HOME<br />
/usr/lib/jvm/java-6-sun<br />
foward@foward-laptop:~$ echo $PATH<br />
/home/foward/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm/java-6-sun/bin<br />
</code><br />
Saludos!!!<br />
proximamente mas JAVA TIPS!</pre>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.all-in.cl/2009/07/set-java_home-ubuntu-9-04-con-openjdk/" target="_blank"><img src="http://www.all-in.cl/wp-content/plugins/add-to-facebook-plugin/facebook_share_icon.gif" alt="Share on Facebook" title="Share on Facebook" /></a><a href="http://www.facebook.com/share.php?u=http://www.all-in.cl/2009/07/set-java_home-ubuntu-9-04-con-openjdk/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.all-in.cl/2009/07/set-java_home-ubuntu-9-04-con-openjdk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
