<?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>GridUAM</title>
	<atom:link href="http://griduam.labs.net.co/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://griduam.labs.net.co/blog</link>
	<description>Implementación de una grid basada en clusters e integrada a Grid Colombia utilizando software libre</description>
	<lastBuildDate>Thu, 12 Aug 2010 04:39:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>No es posible encontrar condor_config durante el inicio automático</title>
		<link>http://griduam.labs.net.co/blog/archives/90</link>
		<comments>http://griduam.labs.net.co/blog/archives/90#comments</comments>
		<pubDate>Thu, 12 Aug 2010 04:30:18 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Instalación & configuración]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Condor]]></category>
		<category><![CDATA[CONDOR_CONFIG]]></category>
		<category><![CDATA[Configuración]]></category>
		<category><![CDATA[Problemas]]></category>

		<guid isPermaLink="false">http://griduam.labs.net.co/blog/?p=90</guid>
		<description><![CDATA[Problema. Condor inicia de manera exitosa manualmente, sin embargo no se inicia automáticamente durante el inicio del sistema operativo. Los logs del nodo, tanto de Condor como del sistema operativo, no muestran ningún mensaje de error, sin embargo se muestra el siguiente mensaje durante el inicio de los servicios del sistema operativo. Neither the enviroment [...]]]></description>
			<content:encoded><![CDATA[<h1>Problema.</h1>
<p>Condor inicia de manera exitosa manualmente, sin embargo no se inicia automáticamente durante el inicio del sistema operativo.</p>
<p>Los <em>logs</em> del nodo, tanto de Condor como del sistema operativo, no muestran ningún mensaje de error, sin embargo se muestra el siguiente mensaje durante el inicio de los servicios del sistema operativo.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Neither the enviroment variable CONDOR_CONFIG,<br />
/etc/condor, ~condor/ contain a condor_config source.<br />
Either set CONDOR_CONFIG to point to a valid config source,<br />
or put a &#8220;condor_config&#8221; file /etc/condor or ~condor/</span></p>
<h1>Explicación.</h1>
<p>Condor durante su inicio automático no está encontrando su configuración básica.</p>
<h1>Solución.</h1>
<p>Especifique cual es el archivo de configuración básica de Condor mediante la especificación de la variable de ambiente <span style="font-family: courier new,courier;">CONDOR_CONFIG</span> o mediante la ubicación (a través de un enlace) del archivo, ya sea en <span style="font-family: courier new,courier;">/etc/condor</span> (ubicación especificada con el parámetro <span style="font-family: courier new,courier;">--local-dir</span> durante la instalación) o en <span style="font-family: courier new,courier;">~condor/</span>.</p>
<p>Para este caso, el problema se resolverá mediante la segunda opción: creando un enlace al archivo de configuración desde <span style="font-family: courier new,courier;">~condor/</span>.</p>
<p><span style="font-family: courier new,courier;"># ln -s /opt/condor/current/etc/condor_config ~condor/condor_config</span></p>
]]></content:encoded>
			<wfw:commentRss>http://griduam.labs.net.co/blog/archives/90/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SEC_PASSWORD_FILE must be owned by Condor&#8217;s real uid</title>
		<link>http://griduam.labs.net.co/blog/archives/89</link>
		<comments>http://griduam.labs.net.co/blog/archives/89#comments</comments>
		<pubDate>Thu, 12 Aug 2010 04:19:47 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Instalación & configuración]]></category>
		<category><![CDATA[Autenticación]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Condor]]></category>
		<category><![CDATA[Password]]></category>
		<category><![CDATA[Problemas]]></category>

		<guid isPermaLink="false">http://griduam.labs.net.co/blog/?p=89</guid>
		<description><![CDATA[Problema. Condor no inicia en un nodo específico.  En sus logs se encuentran mensajes como los siguientes. CollectorLog 08/11 21:59:35 AUTHENTICATE: handshake failed! 08/11 21:59:35 ERROR: SECMAN:2004:Failed to create security session to &#60;192.168.1.230:9180&#62; with TCP.&#124;AUTHENTICATE:1002:Failure performing handshake&#124;AUTHENTICATE:1004:Failed to authenticate using PASSWORD MasterLog 08/11 22:00:36 DC_AUTHENTICATE: authenticate failed: AUTHENTICATE:1002:Failure performing handshake&#124;AUTHENTICATE:1004:Failed to authenticate using PASSWORD 08/11 [...]]]></description>
			<content:encoded><![CDATA[<h1>Problema.</h1>
<p>Condor no inicia en un nodo específico.  En sus logs se encuentran mensajes como los siguientes.</p>
<p><span style="font-family: courier new,courier;">CollectorLog</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">08/11 21:59:35 AUTHENTICATE: handshake failed!<br />
08/11 21:59:35 ERROR: SECMAN:2004:Failed to create security session to &lt;192.168.1.230:9180&gt; with TCP.|AUTHENTICATE:1002:Failure performing handshake|AUTHENTICATE:1004:Failed to authenticate using PASSWORD</span></p>
<p><span style="font-family: courier new,courier;">MasterLog</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">08/11 22:00:36 DC_AUTHENTICATE: authenticate failed: AUTHENTICATE:1002:Failure performing handshake|AUTHENTICATE:1004:Failed to authenticate using PASSWORD<br />
08/11 22:00:36 condor_write(): Socket closed when trying to write 297 bytes to &lt;192.168.1.230:45838&gt;, fd is 10<br />
08/11 22:00:36 Buf::write(): condor_write() failed<br />
08/11 22:00:36 SECMAN: Error sending response classad!<br />
08/11 22:00:36 <strong>error: SEC_PASSWORD_FILE must be owned by Condor&#8217;s real uid</strong></span></p>
<h1>Explicación.</h1>
<p>El archivo donde se almacena la contraseña del cluster para la autenticación basada en las mismas, tiene un propietario o unos permisos incorrectos.</p>
<h1>Solución.</h1>
<p>Identificar la ubicación del archivo de contraseñas.</p>
<p><span style="font-family: courier new,courier;"># condor_config_val SEC_PASSWORD_FILE</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">/etc/condor/condor_credential</span></p>
<p>Verificar sus permisos y propietario.</p>
<p><span style="font-family: courier new,courier;"># ls -l /etc/condor/condor_credential</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">-rw-r--r-- 1 condor root 256 Aug 11 21:47 /etc/condor/condor_credential</span></p>
<p>Corregir sus permisos y propietario.</p>
<p><span style="font-family: courier new,courier;"># chown root:root /etc/condor/condor_credential</span></p>
<p><span style="font-family: courier new,courier;"># chmod 600 /etc/condor/condor_credential</span></p>
<p><span style="font-family: courier new,courier;"># ls -l /etc/condor/condor_credential</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">-rw------- 1 root root 256 Aug 11 21:47 /etc/condor/condor_credential</span></p>
]]></content:encoded>
			<wfw:commentRss>http://griduam.labs.net.co/blog/archives/89/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalación de Condor en una arquitectura incorrecta</title>
		<link>http://griduam.labs.net.co/blog/archives/88</link>
		<comments>http://griduam.labs.net.co/blog/archives/88#comments</comments>
		<pubDate>Thu, 12 Aug 2010 02:40:03 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Instalación & configuración]]></category>
		<category><![CDATA[Arquitectura]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Condor]]></category>
		<category><![CDATA[Problemas]]></category>
		<category><![CDATA[x64]]></category>
		<category><![CDATA[x86]]></category>

		<guid isPermaLink="false">http://griduam.labs.net.co/blog/?p=88</guid>
		<description><![CDATA[Problema. Al intentar enlazar un programa en C/C++ con las librerías de Condor mediante condor_compile se obtiene el siguiente mensaje de error. $ condor_compile gcc test.c -o test LINKING FOR CONDOR : /usr/bin/ld -L/opt/condor/current/lib -Bstatic --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o test /opt/condor/current/lib/condor_rt0.o /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.1.2/crtbeginT.o -L/opt/condor/current/lib -L/usr/lib/gcc/x86_64-redhat-linux/4.1.2 -L/usr/lib/gcc/x86_64-redhat-linux/4.1.2 -L/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 /tmp/ccawslhh.o /opt/condor/current/lib/libcondorzsyscall.a /opt/condor/current/lib/libcondor_z.a [...]]]></description>
			<content:encoded><![CDATA[<h1>Problema.</h1>
<p>Al intentar enlazar un programa en C/C++ con las librerías de Condor mediante <span style="font-family: courier new,courier;">condor_compile</span> se obtiene el siguiente mensaje de error.</p>
<p><span style="font-family: courier new,courier;">$ condor_compile gcc test.c -o test</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">LINKING FOR CONDOR : /usr/bin/ld -L/opt/condor/current/lib -Bstatic --eh-frame-hdr -m elf_x86_64 --hash-style=gnu -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o test /opt/condor/current/lib/condor_rt0.o /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.1.2/crtbeginT.o -L/opt/condor/current/lib -L/usr/lib/gcc/x86_64-redhat-linux/4.1.2 -L/usr/lib/gcc/x86_64-redhat-linux/4.1.2 -L/usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 /tmp/ccawslhh.o /opt/condor/current/lib/libcondorzsyscall.a /opt/condor/current/lib/libcondor_z.a /opt/condor/current/lib/libcomp_libstdc++.a /opt/condor/current/lib/libcomp_libgcc.a /opt/condor/current/lib/libcomp_libgcc_eh.a --as-needed --no-as-needed -lcondor_c -lcondor_nss_files -lcondor_nss_dns -lcondor_resolv -lcondor_c -lcondor_nss_files -lcondor_nss_dns -lcondor_resolv -lcondor_c /opt/condor/current/lib/libcomp_libgcc.a /opt/condor/current/lib/libcomp_libgcc_eh.a --as-needed --no-as-needed /usr/lib/gcc/x86_64-redhat-linux/4.1.2/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.1.2/../../../../lib64/crtn.o<br />
<strong>/usr/bin/ld: skipping incompatible /opt/condor/current/lib/libcondor_c.a when searching for -lcondor_c<br />
/usr/bin/ld: skipping incompatible /opt/condor/current/lib/libcondor_c.a when searching for -lcondor_c<br />
/usr/bin/ld: cannot find -lcondor_c</strong><br />
collect2: ld returned 1 exit status</span></p>
<h1>Explicación.</h1>
<p>La arquitectura de la distribución de Condor no coincide con la de la máquina en la cual se instaló.</p>
<h1>Solución.</h1>
<p>Identifique la arquitectura de la máquina en la cual se está instalando Condor de la siguiente manera.</p>
<p><span style="font-family: courier new,courier;"># uname -i</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">x86_64</span></p>
<p>Verifique que esta coincida con la arquitectura del paquete de Condor que se descargó del sitio web.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">condor-*-linux-<strong>x86</strong>-rhel5-dynamic.tar.gz<br />
condor-*-linux-<strong>x86_64</strong>-rhel5-dynamic.tar.gz</span></p>
<p>Reinstale Condor con la arquitectura correcta.</p>
]]></content:encoded>
			<wfw:commentRss>http://griduam.labs.net.co/blog/archives/88/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Curso de clusters en la Universidad Autónoma de Manizales, julio de 2010</title>
		<link>http://griduam.labs.net.co/blog/archives/82</link>
		<comments>http://griduam.labs.net.co/blog/archives/82#comments</comments>
		<pubDate>Wed, 11 Aug 2010 22:02:02 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Condor]]></category>
		<category><![CDATA[Cursos]]></category>
		<category><![CDATA[Grid]]></category>
		<category><![CDATA[GridColombia]]></category>
		<category><![CDATA[RENATA]]></category>
		<category><![CDATA[UAM]]></category>

		<guid isPermaLink="false">http://griduam.labs.net.co/blog/?p=82</guid>
		<description><![CDATA[Durante tres días de la última semana del mes de junio estuve dictando un curso práctico acerca de la instalación, configuración y uso de un cluster utilizando Condor y software libre como parte de la difusión de los conocimientos que he adquirido durante el desarrollo del proyecto GridUAM. Al curso asistieron 18 participantes quienes representaban [...]]]></description>
			<content:encoded><![CDATA[<p>Durante tres días de la última semana del mes de junio estuve dictando un curso práctico acerca de la instalación, configuración y uso de un cluster utilizando Condor y software libre como parte de la difusión de los conocimientos que he adquirido durante el desarrollo del proyecto <a href="http://griduam.labs.net.co/" target="_blank">GridUAM</a>.</p>
<p>Al curso asistieron 18 participantes quienes representaban a las principales instituciones educativas y de investigación del eje cafetero que están interesadas en la computación de alto desempeño.</p>
<div style="text-align: center;"><object id="__sse4948735" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="468" height="391" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=presentacinintroduccintallercluster2010-100811160233-phpapp01&amp;stripped_title=presentacin-introduccin-taller-cluster-201007" /><param name="name" value="__sse4948735" /><param name="allowfullscreen" value="true" /><embed id="__sse4948735" type="application/x-shockwave-flash" width="468" height="391" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=presentacinintroduccintallercluster2010-100811160233-phpapp01&amp;stripped_title=presentacin-introduccin-taller-cluster-201007" name="__sse4948735" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<p>Los temas tratados durante el curso fueron los siguientes.</p>
<ol>
<li>Introducción al proyecto y conceptual.</li>
<li>Instalación del cluster.
<ol>
<li>Instalación del sistema operativo Scientific Linux 5.5.</li>
<li>Preparación básica del nodo cabeza y de los nodos trabajadores.</li>
<li>Configuración del servicio de SSH.</li>
<li>Configuración del servicio de NFS.</li>
<li>Configuración de las cuentas de usuario.</li>
</ol>
</li>
<li>Instalación de Condor en el nodo cabeza y en los nodos trabajadores.</li>
<li>Pruebas y uso básico del cluster.</li>
<li>Universos del cluster.
<ol>
<li>Vanilla.</li>
<li>Standard.</li>
<li>Java.</li>
</ol>
</li>
<li>Seguridad del cluster con <em>firewall</em> y <span style="font-family: courier new,courier;">host.allow</span>/<span style="font-family: courier new,courier;">deny</span>.</li>
</ol>
<p>Se realizó también un práctica adicional que consistió en el cambio del hostname de los nodos, analizándolo desde la perspectiva de su implicación en la configuración del cluster.  La práctica final que consistía en la instalación individual de nodos en máquinas virtuales basadas en VirtualBox no pudo completarse satisfactoriamente debido a problemas con el hardware con que disponíamos en las salas de cómputo.</p>
<div id="attachment_83" class="wp-caption aligncenter" style="width: 678px"><a href="http://griduam.labs.net.co/blog/wp-content/uploads/2010/08/100_0508.jpg"><img class="size-large wp-image-83" title="Participantes del curso de clusters y grids en julio de 2010 en la Universidad Autónoma de Manizales" src="http://griduam.labs.net.co/blog/wp-content/uploads/2010/08/100_0508-1024x768.jpg" alt="" width="668" height="501" /></a><p class="wp-caption-text">Participantes del curso de clusters y grids en julio de 2010 en la Universidad Autónoma de Manizales</p></div>
<p>Durante los tres días siguientes al curso de clusters contamos con la presencia del ingeniero Cesar Orlando Diaz quien en representación del proyecto <a href="http://www.gridcolombia.org/" target="_blank">Grid Colombia</a>, complementó la jornada al dictarnos un curso práctico acerca de la conformación de la <em>grid</em> basada en los clusters que habíamos preparado previamente.</p>
<p>En este segundo curso se trataron los siguientes temas.</p>
<ol>
<li>Introducción conceptual.</li>
<li>Instalación del cliente de la <em>grid</em>.</li>
<li>Tipos de certificados requeridos.</li>
<li>Instalación y configuración del <em>computer element</em> (CE).</li>
<li>Instalación y configuración del <em>grid user management system</em> (GUMS).</li>
</ol>
<div id="attachment_84" class="wp-caption aligncenter" style="width: 676px"><a href="http://griduam.labs.net.co/blog/wp-content/uploads/2010/08/Grupo_Grid_Radar.jpg"><img class="size-large wp-image-84" title="    Participantes del curso de clusters y grids en julio de 2010 en la Universidad Autónoma de Manizales" src="http://griduam.labs.net.co/blog/wp-content/uploads/2010/08/Grupo_Grid_Radar-1024x768.jpg" alt="" width="666" height="501" /></a><p class="wp-caption-text">    Participantes del curso de clusters y grids en julio de 2010 en la Universidad Autónoma de Manizales</p></div>
<p>En lo personal quiero agradecer a los participantes del curso por la asistencia al evento y felicitarlos por contar con la visión necesaria para aprovechar estas nuevas tecnologías, ya presentes en nuestra región: redes académicas de alta velocidad, computación de alto desempeño y mallas computacionales, a su quehacer diario, encontrando mejores formas de hacer las cosas, innovando y mejorando el progreso de nuestra región.</p>
<p>Los contenidos del curso y en general, del proyecto <a href="../../" target="_blank">GridUAM</a> pueden ser consultados en su <a href="http://griduam.labs.net.co/wiki/" target="_blank">Wiki</a>, el cual está en constante complemento y actualización.  De igual manera recomiendo que sea consultado el <a href="http://wiki.gridcolombia.org/" target="_blank">Wiki</a> de <a href="http://www.gridcolombia.org/" target="_blank">GridColombia</a> para conocer mas información acerca de este proyecto.</p>
]]></content:encoded>
			<wfw:commentRss>http://griduam.labs.net.co/blog/archives/82/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cuidado sobre el manejo de argv[0] en las aplicaciones escritas en C/C++</title>
		<link>http://griduam.labs.net.co/blog/archives/53</link>
		<comments>http://griduam.labs.net.co/blog/archives/53#comments</comments>
		<pubDate>Thu, 15 Jul 2010 23:24:55 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Utilización]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Condor]]></category>

		<guid isPermaLink="false">http://griduam.labs.net.co/blog/?p=53</guid>
		<description><![CDATA[Introducción. Hay un detalle muy simple que debe tenerse en cuenta cuando se ejecutan en el cluster programas escritos en C y C++ con respecto al manejo de los parámetros de línea de comando que recibe el programa.  En estos lenguajes siempre el primer parámetro, es decir argv[0], recibe el nombre y ruta del archivo [...]]]></description>
			<content:encoded><![CDATA[<h1>Introducción.</h1>
<p>Hay un detalle muy simple que debe tenerse en cuenta cuando se ejecutan en el cluster programas escritos en C y C++ con respecto al manejo de los parámetros de línea de comando que recibe el programa.  En estos lenguajes siempre el primer parámetro, es decir <span style="font-family: courier new,courier;">argv[0]</span>, recibe el nombre y ruta del archivo ejecutable del programa que se está corriendo.  Muchos desarrolladores utilizan este valor para conocer alguna información interesante como el directorio hogar del programa.</p>
<p>En Condor, debido a su arquitectura y método de ejecución de los procesos en los nodos trabajadores, esto tiene una variación que debe ser tenida en cuenta.  El primer parámetro de línea de comando de los trabajos que se ejecutan en el cluster no hará referencia al programa como tal sino al <span style="font-family: courier new,courier;">condor_exec</span> quien es el proceso que efectivamente ejecuta el programa en el nodo trabajador.</p>
<p style="padding-left: 30px;"><cite title="2.15.1 Potencial problems, Renaming of argv[0].">When Condor starts up your job, it renames argv[0] (which usually contains the name of the program) to condor_exec. This is convenient when examining a machine&#8217;s processes with the Unix command ps; the process is easily identified as a Condor job.  Unfortunately, some programs read argv[0] expecting their own program name and get confused if they find something unexpected like condor_exec.<br />
Tomado de la sección 2.15.1 del manual de Condor: <a href="http://www.cs.wisc.edu/condor/manual/v7.4/2_15Potential_Problems.html" target="_blank">Potencial problems, Renaming of argv[0]</a>.</cite></p>
<h1>Verificación.</h1>
<p>Crear el programa de prueba.</p>
<pre><span style="font-family: courier new,courier;">$ vi argv0.c</span></pre>
<pre style="padding-left: 30px;">#include &lt;stdio.h&gt;

int main(int argc, char* argv[])
{
 int i = 0;

 printf("\nParameters count: %d.\n\n", argc);

 for(i=0; i&lt;argc; i++)
 {
    printf("\tParameter '%d': %s.\n", i, argv[i]);
 }

 printf("\nDone!\n\n");

 return 0;
}</pre>
<p>Compilarlo (de una vez con soporte para el Cluster).</p>
<p><span style="font-family: courier new,courier;">$ condor_compile gcc argv0.c -o argv0</span></p>
<p>Ejecución local.</p>
<p><span style="font-family: courier new,courier;">$ ./argv0 p1 p2 p3 p4</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Condor: Notice: Will checkpoint to ./argv0.ckpt<br />
Condor: Notice: Remote system calls disabled.</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Parameters count: 5.</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Parameter &#8217;0&#8242;: <strong>./argv0</strong>.<br />
Parameter &#8217;1&#8242;: p1.<br />
Parameter &#8217;2&#8242;: p2.<br />
Parameter &#8217;3&#8242;: p3.<br />
Parameter &#8217;4&#8242;: p4.</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Done!</span></p>
<p>Creación del archivo de envío de trabajos al cluster.</p>
<p><span style="font-family: courier new,courier;">$ vi argv0.submit</span></p>
<pre style="padding-left: 30px;">executable = argv0
universe   = vanilla
output     = argv0.out
error      = argv0.error
log        = argv0.log
arguments  = p1 p2 p3 p4</pre>
<p>Enviar el trabajo al cluster.</p>
<p><span style="font-family: courier new,courier;">$ condor_submit argv0.submit</span></p>
<p>Verificar la salida estándar del trabajo ejecutado.</p>
<p><span style="font-family: courier new,courier;">$ cat argv0.out</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Parameters count: 5.</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Parameter &#8217;0&#8242;: <strong>condor_exec.exe</strong>.<br />
Parameter &#8217;1&#8242;: p1.<br />
Parameter &#8217;2&#8242;: p2.<br />
Parameter &#8217;3&#8242;: p3.<br />
Parameter &#8217;4&#8242;: p4.</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Done! </span></p>
]]></content:encoded>
			<wfw:commentRss>http://griduam.labs.net.co/blog/archives/53/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cluster-C: clonar dos nuevos nodos virtualizados con KVM al cluster</title>
		<link>http://griduam.labs.net.co/blog/archives/51</link>
		<comments>http://griduam.labs.net.co/blog/archives/51#comments</comments>
		<pubDate>Thu, 15 Jul 2010 03:53:32 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Instalación & configuración]]></category>
		<category><![CDATA[Clonar]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Dirección IP]]></category>
		<category><![CDATA[Hostname]]></category>
		<category><![CDATA[Hosts]]></category>
		<category><![CDATA[KVM]]></category>
		<category><![CDATA[LibVirt]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[Worker Node]]></category>

		<guid isPermaLink="false">http://griduam.labs.net.co/blog/?p=51</guid>
		<description><![CDATA[Introducción. En el presente artículo se trata el tema de crear dos nuevos nodos trabajadores (c-wn3 y c-wn4) también virtualizados con KVM y agregarlos al cluster para aumentar su capacidad de cómputo. Clonar las nuevas máquinas virtuales. Gracias a las facilidades que provee la virtualización es posible evitar la necesidad de repetir la gran mayoría [...]]]></description>
			<content:encoded><![CDATA[<h1>Introducción.</h1>
<p>En el presente artículo se trata el tema de crear dos nuevos nodos trabajadores (<span style="font-family: courier new,courier;">c-wn3</span> y <span style="font-family: courier new,courier;">c-wn4</span>) también virtualizados con KVM y agregarlos al cluster para aumentar su capacidad de cómputo.</p>
<h1>Clonar las nuevas máquinas virtuales.</h1>
<p>Gracias a las facilidades que provee la virtualización es posible evitar la necesidad de repetir la gran mayoría de tareas de instalación y configuración de los nodos al clonar a uno de ellos, en este caso crearemos los nuevos nodos a partir del <span style="font-family: courier new,courier;">c-wn1</span>.</p>
<p>Desde el servidor de máquinas virtuales ejecutar los siguientes  comandos.</p>
<p><strong>ADVERTENCIA</strong>: para que la clonación se pueda realizar, la máquina  virtual de orígen, en este caso <span style="font-family: courier new,courier;">c-wn1</span> deberá estar apagado.</p>
<p><span style="font-family: courier new,courier;">$ virt-clone --connect=qemu:///system  \<br />
-o <strong>c-wn1</strong> \<br />
-n <strong>c-wn3</strong> \<br />
-f  /u/vms/<strong>c-wn3</strong>.img</span></p>
<p><span style="font-family: courier new,courier;">$ virt-clone --connect=qemu:///system  \<br />
-o  <strong>c-wn1</strong> \<br />
-n <strong>c-wn4</strong> \<br />
-f /u/vms/<strong>c-wn4</strong>.img</span></p>
<h1>Iniciar las máquinas virtuales.</h1>
<p>Nuevamente desde el servidor es necesario ejecutar los siguientes  comandos para iniciar las máquinas virtuales de los nodos trabajadores  para su posterior configuración.</p>
<p><span style="font-family: courier new,courier;">$ virsh start <strong>c-wn3</strong></span></p>
<p><span style="font-family: courier new,courier;">$ virsh start <strong>c-wn4</strong></span></p>
<h1>Conectarse a las máquinas virtuales.</h1>
<p>Desde el equipo cliente que se utiliza para la administración de las  máquinas virtuales ejecute los siguientes comandos.</p>
<p><span style="font-family: courier new,courier;">$ virt-viewer -c  qemu+ssh://<strong>ivy</strong>/system <strong>c-wn3</strong></span></p>
<p><span style="font-family: courier new,courier;">$ virt-viewer -c  qemu+ssh://<strong>ivy</strong>/system <strong>c-wn4</strong></span></p>
<h1>Actualizar el hostname.</h1>
<p>Editar el archivo <span style="font-family: courier new,courier;">/etc/sysconfig/network</span> de cada uno de los nuevos nodos y actualizarlo con su información específica.  Para el nodo<strong> <span style="font-family: courier new,courier;">c-wn3</span></strong> utilizar el siguiente contenido.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">NETWORKING=yes<br />
NETWORKING_IPV6=no<br />
GATEWAY=192.168.1.1<br />
HOSTNAME=<strong>c-wn3.jorgeivanmeza.com</strong></span></p>
<p>Para <span style="font-family: courier new,courier;"><strong>c-wn4</strong></span> utilizar el siguiente contenido.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">NETWORKING=yes<br />
NETWORKING_IPV6=no<br />
GATEWAY=192.168.1.1<br />
HOSTNAME=<strong>c-wn4.jorgeivanmeza.com</strong></span></p>
<h1>Actualizar la dirección IP.</h1>
<p>Editar el archivo  <span style="font-family: courier new,courier;">/etc/sysconfig/network-scripts/ifcfg-eth0</span> de cada uno de los nuevos nodos y  actualizarlo con su  información específica.  Para el nodo<strong> <span style="font-family: courier new,courier;">c-wn3</span></strong> utilizar  el siguiente contenido.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">DEVICE=eth0<br />
BOOTPROTO=static<br />
TYPE=Ethernet<br />
ONBOOT=yes<br />
HWADDR=&lt;dejar la existente&gt;<br />
NETMASK=255.255.255.0<br />
IPADDR=<strong>192.168.1.213</strong></span></p>
<p>Para<span style="font-family: courier new,courier;"> <strong>c-wn4</strong></span> utilizar la  siguiente información.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">DEVICE=eth0<br />
BOOTPROTO=static<br />
TYPE=Ethernet<br />
ONBOOT=yes<br />
HWADDR=</span><span style="font-family: courier new,courier;">&lt;dejar la existente&gt;</span><br />
<span style="font-family: courier new,courier;"> NETMASK=255.255.255.0<br />
IPADDR=<strong>192.168.1.214</strong></span></p>
<p>Reiniciar las máquinas<span style="font-family: courier new,courier;"> c-wn3</span> y <span style="font-family: courier new,courier;">c-wn4</span> para que los cambios en la configuración recién realizados tengan efecto.</p>
<h1>Actualizar la configuración de hosts.</h1>
<p>Editar el archivo <span style="font-family: courier new,courier;">/etc/hosts</span> del servidor <span style="font-family: courier new,courier;"><strong>c-head</strong></span> y actualizarlo con la información específica de cada uno de los  nodos.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;"># Do not remove the following line, or various programs<br />
# that require network functionality will fail.<br />
127.0.0.1    localhost.localdomain localhost<br />
::1          localhost6.localdomain6 localhost6</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">192.168.1.210    c-head.jorgeivanmeza.com c-head c-nfs.jorgeivanmeza.com c-nfs<br />
192.168.1.211    c-wn1.jorgeivanmeza.com c-wn1<br />
192.168.1.212    c-wn2.jorgeivanmeza.com c-wn2<br />
<strong>192.168.1.213    c-wn3.jorgeivanmeza.com c-wn3<br />
192.168.1.214    c-wn4.jorgeivanmeza.com c-wn4</strong></span></p>
<p>Posteriormente es necesario replicar esta nueva especificación de los <em>hosts</em> a los demás nodos del cluster, para esto es necesario que todos se encuentren en ejecución.</p>
<p><span style="font-family: courier new,courier;"># scp /etc/hosts c-wn1:/etc/hosts</span></p>
<p><span style="font-family: courier new,courier;"># scp /etc/hosts c-wn2:/etc/hosts</span></p>
<p><span style="font-family: courier new,courier;"># scp /etc/hosts <strong>c-wn3</strong>:/etc/hosts</span></p>
<p><span style="font-family: courier new,courier;"># scp /etc/hosts <strong>c-wn4</strong>:/etc/hosts</span></p>
<h1>Configurar la autenticación basada en el huésped para <span style="font-family: courier new,courier;">root</span>.</h1>
<p>En el nodo cabeza (<span style="font-family: courier new,courier;">c-head</span>)  ejecutar los siguientes comandos para listar las llaves de los <em>hosts</em> conocidos en el cluster.</p>
<p><span style="font-family: courier new,courier;"># cd /root</span></p>
<p><span style="font-family: courier new,courier;"># ssh-keyscan -t rsa,dsa c-head c-head.jorgeivanmeza.com c-nfs c-nfs.jorgeivanmeza.com c-wn1 c-wn1.jorgeivanmeza.com c-wn2 c-wn2.jorgeivanmeza.com <strong>c-wn3 c-wn3.jorgeivanmeza.com c-wn4 c-wn4.jorgeivanmeza.com</strong><span style="font-family: courier new,courier;"> &gt; ssh_known_hosts</span></span></p>
<p><span style="font-family: courier new,courier;"># mv ssh_known_hosts /etc/ssh/ssh_known_hosts</span></p>
<p><span style="font-family: courier new,courier;"># chown root:root /etc/ssh/ssh_known_hosts</span></p>
<p><span style="font-family: courier new,courier;"># chmod 644 /etc/ssh/ssh_known_hosts</span></p>
<p>Propagar el archivo <span style="font-family: courier new,courier;">ssh_known_hosts</span> a los nodos trabajadores.</p>
<p><span style="font-family: courier new,courier;"># scp /etc/ssh/ssh_known_hosts c-wn1:/etc/ssh/ssh_known_hosts</span></p>
<p><span style="font-family: courier new,courier;"># scp /etc/ssh/ssh_known_hosts c-wn2:/etc/ssh/ssh_known_hosts</span></p>
<p><span style="font-family: courier new,courier;"># scp /etc/ssh/ssh_known_hosts <strong>c-wn3</strong>:/etc/ssh/ssh_known_hosts</span></p>
<p><span style="font-family: courier new,courier;"># scp /etc/ssh/ssh_known_hosts <strong>c-wn4</strong>:/etc/ssh/ssh_known_hosts</span></p>
<h1>Creación del archivo de <span style="font-family: courier new,courier;">.shosts</span>.</h1>
<p>En el nodo cabeza (<span style="font-family: courier new,courier;">c-head</span>) ejecutar los  siguientes comandos.</p>
<p><span style="font-family: courier new,courier;"># cut -d&#8217; &#8216; -f1 &lt; /etc/ssh/ssh_known_hosts|sort -u | grep -v , &gt; shosts</span></p>
<p><span style="font-family: courier new,courier;"># mv shosts /root/.shosts</span></p>
<p><span style="font-family: courier new,courier;"># chown root:root /root/.shosts</span></p>
<p><span style="font-family: courier new,courier;"># chmod 600 /root/.shosts</span></p>
<p>Propagar el archivo <span style="font-family: courier new,courier;">.shosts</span> a los  nodos trabajadores.</p>
<p><span style="font-family: courier new,courier;"># scp /root/.shosts c-wn1:/root/.shosts</span></p>
<p><span style="font-family: courier new,courier;"># scp /root/.shosts c-wn2:/root/.shosts</span></p>
<p><span style="font-family: courier new,courier;"># scp /root/.shosts <strong>c-wn3</strong>:/root/.shosts</span></p>
<p><span style="font-family: courier new,courier;"># scp /root/.shosts <strong>c-wn4</strong>:/root/.shosts</span></p>
<h1>Definir los archivos de configuración de Condor para los nuevos nodos del cluster.</h1>
<p>En el nodo cabeza (<span style="font-family: courier new,courier;">c-head</span>) ejecutar los   siguientes comandos para especificar archivos de configuración según los <em>hostnames</em> de los nuevos nodos.</p>
<p><span style="font-family: courier new,courier;"># cd /nfs/condor/condor-etc/</span></p>
<p><span style="font-family: courier new,courier;"># ln -s condor_config.<strong>worker</strong> condor_config.<strong>c-wn3</strong></span></p>
<p><span style="font-family: courier new,courier;"># ln -s condor_config.<strong>worker</strong> condor_config.<strong>c-wn4</strong></span></p>
<p>Establecer las ubicaciones locales necesarias para almacenar la información de registros y colas para los nuevos nodos.</p>
<p><span style="font-family: courier new,courier;"># cd ~condor/hosts</span></p>
<p><span style="font-family: courier new,courier;"># mkdir -p <strong>c-wn3</strong>/execute <strong>c-wn3</strong>/log <strong>c-wn3</strong>/spool</span></p>
<p><span style="font-family: courier new,courier;"># mkdir -p <strong>c-wn4</strong>/execute <strong>c-wn4</strong>/log <strong>c-wn4</strong>/spool</span></p>
<p><span style="font-family: courier new,courier;"># chmod a+rwx <strong>c-wn3</strong>/execute <strong>c-wn4</strong>/execute</span></p>
<p><span style="font-family: courier new,courier;"># chmod +t <strong>c-wn3</strong>/execute <strong>c-wn4</strong>/execute</span></p>
<p><span style="font-family: courier new,courier;"># chown -R condor:condor ~condor/hosts/<strong>c-wn3</strong> ~condor/hosts/<strong>c-wn4</strong></span></p>
<p>Se recomienda reiniciar el servicio de Condor o la máquina completa para garantizar que todos las modificaciones recién realizadas sean tenidos en cuenta.</p>
<h1>Verificar la inclusión de los nuevos nodos al cluster.</h1>
<p>Desde el nodo cabeza del cluster (<span style="font-family: courier new,courier;">c-head</span>) ejecutar los siguientes comandos para verificar su <em>pool</em> de nodos.</p>
<p><span style="font-family: courier new,courier;"># condor_status</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Name               OpSys      Arch   State     Activity LoadAv Mem   ActvtyTime</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">c-wn1.jorgeivanmez LINUX      X86_64 Unclaimed Idle     1.780   246  0+00:00:04<br />
c-wn2.jorgeivanmez LINUX      X86_64 Unclaimed Idle     2.410   246  0+00:00:04<br />
<strong>c-wn3</strong></span> <span style="font-family: courier new,courier;">.jorgeivanmez LINUX      X86_64 Unclaimed Idle     1.830   246  0+00:00:04<br />
<strong>c-wn4</strong></span> <span style="font-family: courier new,courier;">.jorgeivanmez LINUX      X86_64 Unclaimed Idle     2.240   246  0+00:00:04<br />
Total Owner Claimed Unclaimed Matched Preempting Backfill</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">X86_64/LINUX     4     0       0         4       0          0        0</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Total     4     0       0         4       0          0        0</span></p>
<p><span style="font-family: courier new,courier;"># condor_status -java</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Name               JavaVendor Ver    State     Activity LoadAv Mem   ActvtyTime</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">c-wn1.jorgeivanmez Sun Micros 1.6.0_ Unclaimed Idle     1.780   246  0+00:00:04<br />
c-wn2.jorgeivanmez Sun Micros 1.6.0_ Unclaimed Idle     2.410   246  0+00:00:04<br />
<strong>c-wn3</strong></span> <span style="font-family: courier new,courier;">.jorgeivanmez Sun Micros 1.6.0_ Unclaimed Idle     1.830   246  0+00:00:04<br />
<strong>c-wn4</strong></span> <span style="font-family: courier new,courier;">.jorgeivanmez Sun Micros 1.6.0_ Unclaimed Idle     2.240   246  0+00:00:04<br />
Total Owner Claimed Unclaimed Matched Preempting Backfill</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">X86_64/LINUX     4     0       0         4       0          0        0</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Total     4     0       0         4       0          0        0</span></p>
]]></content:encoded>
			<wfw:commentRss>http://griduam.labs.net.co/blog/archives/51/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enviando al cluster varios trabajos basados en el mismo ejecutable</title>
		<link>http://griduam.labs.net.co/blog/archives/43</link>
		<comments>http://griduam.labs.net.co/blog/archives/43#comments</comments>
		<pubDate>Tue, 13 Jul 2010 05:05:29 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Utilización]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Condor]]></category>
		<category><![CDATA[condor_submit]]></category>
		<category><![CDATA[job]]></category>
		<category><![CDATA[submit]]></category>

		<guid isPermaLink="false">http://griduam.labs.net.co/blog/?p=43</guid>
		<description><![CDATA[Introducción. Frecuentemente será necesario enviar múltiples trabajos al cluster que se encuentren basados en el mismo ejecutable, esto es especialmente útil cuando una misma tarea se debe ejecutar en varias ocasiones de manera concurrente o cuando se necesita procesar de manera concurrente una gran cantidad de información dispersa en múltiples archivos. Ejecutar varios trabajos. Para [...]]]></description>
			<content:encoded><![CDATA[<h1>Introducción.</h1>
<p>Frecuentemente será necesario enviar múltiples trabajos al cluster que se encuentren basados en el mismo ejecutable, esto es especialmente útil cuando una misma tarea se debe ejecutar en varias ocasiones de manera concurrente o cuando se necesita procesar de manera concurrente una gran cantidad de información dispersa en múltiples archivos.</p>
<h1>Ejecutar varios trabajos.</h1>
<p>Para indicarle a Condor que se desea ejecutar varias instancias del mismo trabajo sólo es necesario indicarle la cantidad a través de la instrucción <span style="font-family: courier new,courier;">Queue</span> del archivo de lanzamiento.</p>
<p>Para evitar la confusión que puede generar el registro de <em>n</em> trabajos volcado sobre los tres únicos archivos de <em>error</em>, <em>salida</em> y <em>log</em>, es posible indicarle a Condor que los diferencie para cada una de las instancias del trabajo ejecutado, utilizando la seudovariable <span style="font-family: courier new,courier;">$(Process)</span>.</p>
<p>Otra variable del archivo de lanzamiento que cobra especial importancia en este contexto es <span style="font-family: courier new,courier;">Input</span> la cual permite especificar la información que se ingresaría al programa a través de la entrada estándar (<em>stdin</em>).  Esto permite que se personalice la ejecución de cada uno de los trabajos a pesar de que se basan en el mismo ejecutable.</p>
<pre>Executable  = MyJob
Universe    = standard
Input       = MyJob-<strong>$(Process)</strong>.in
Output      = _MyJob-<strong>$(Process)</strong>.out
Error       = _MyJob-<strong>$(Process)</strong>.err
Log         = _MyJob-<strong>$(Process)</strong>.log

Queue <strong>3</strong></pre>
<p>Si se consulta la cola de trabajos del cluster inmediatamente después de lanzar el trabajo podrán apreciarse los <em>3</em> trabajos lanzados efectivamente, todos bajo el mismo identificador (38 en este caso) y diferentes subidentificadores (los representados finalmente por <span style="font-family: courier new,courier;">$(Process)</span>).</p>
<p><span style="font-family: courier new,courier;">$ condor_q</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">-- Submitter: c-head.jorgeivanmeza.com : &lt;192.168.1.210:9293&gt; : c-head.jorgeivanmeza.com<br />
ID      OWNER            SUBMITTED     RUN_TIME ST PRI SIZE CMD<br />
38.0   jimezam         7/12 23:51   0+00:00:01 R  0   7.3  MyJob<br />
38.1   jimezam         7/12 23:51   0+00:00:01 R  0   7.3  MyJob<br />
38.2   jimezam         7/12 23:51   0+00:00:00 I  0   7.3  MyJob</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">3 jobs; 1 idle, 2 running, 0 held</span></p>
<p>La ejecución del archivo de lanzamiento anterior ejecutaría tres procesos basados en el programa MyJob el cual se deberá encontrar <a href="http://griduam.labs.net.co/blog/archives/33" target="_blank">recompilado para el universo estándar</a>, tomará la entrada estándar para cada una de las instancias de los archivos <span style="font-family: courier new,courier;">MyJob-#.in</span> (que por obvias razones deberán existir previamente) y generará los archivos individuales de salida estándar, error y registro para cada una de las instancias ejecutadas con los nombres de <span style="font-family: courier new,courier;">_MyJob-#.out</span>, <span style="font-family: courier new,courier;">_MyJob-#.err</span> y <span style="font-family: courier new,courier;">_MyJob-#.log</span> respectivamente.  El caracter <span style="font-family: courier new,courier;">#</span> será reemplazado por el subidentificador interno del trabajo que empezará en cero y aumentará consecutivamente según la cantidad de trabajos que se haya solicitado encolar.</p>
<p>Después de la ejecución del trabajo propuesto como ejemplo este podría ser el contenido del directorio de trabajo.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">-rw-rw-r-- 1 jimezam jimezam       0 Jul 12 23:32 _MyJob-0.err<br />
-rw-rw-r-- 1 jimezam jimezam       4 Jul 12 23:40 MyJob-0.in<br />
-rw-rw-r-- 1 jimezam jimezam     622 Jul 12 23:32 _MyJob-0.log<br />
-rw-rw-r-- 1 jimezam jimezam     101 Jul 12 23:32 _MyJob-0.out</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">-rw-rw-r-- 1 jimezam jimezam       0 Jul 12 23:32 _MyJob-1.err<br />
-rw-rw-r-- 1 jimezam jimezam       4 Jul 12 23:40 MyJob-1.in<br />
-rw-rw-r-- 1 jimezam jimezam     622 Jul 12 23:32 _MyJob-1.log<br />
-rw-rw-r-- 1 jimezam jimezam     101 Jul 12 23:32 _MyJob-1.out</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">-rw-rw-r-- 1 jimezam jimezam       0 Jul 12 23:32 _MyJob-2.err<br />
-rw-rw-r-- 1 jimezam jimezam       4 Jul 12 23:40 MyJob-2.in<br />
-rw-rw-r-- 1 jimezam jimezam     622 Jul 12 23:32 _MyJob-2.log<br />
-rw-rw-r-- 1 jimezam jimezam     101 Jul 12 23:32 _MyJob-2.out</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">-rwxrwxr-x 1 jimezam jimezam 5461004 Jul 12 23:07  MyJob<br />
</span> <span style="font-family: courier new,courier;">-rw-rw-r-- 1 jimezam jimezam     384 Jul 12 23:06 MyJob.c<br />
-rw-rw-r-- 1 jimezam jimezam     211 Jul 12 23:32 MyJob.submit<br />
</span></p>
<h1>Utilizar directorios de inicio diferentes.</h1>
<p>Otra facilidad que provee la sintáxis del archivo de lanzamiento de trabajos es la posibilidad de ejecutar los diferentes trabajos basados en el mismo ejecutable pero ubicados en diferentes directorios.  Esto evita las colisiones con los nombres de los archivos (solventadas inicialmente con el uso de <span style="font-family: courier new,courier;">$(Process)</span>) y brinda un mayor orden a los archivos de datos.</p>
<pre>Executable     = MyJob
Universe       = standard
Input          = MyJob.in
Output         = _MyJob.out
Error          = _MyJob.err
Log            = _MyJob.log           
<strong>initialdir     = job_$(Process)</strong>

Queue <strong>3</strong></pre>
<p>Para lanzar este trabajo será necesario que existan los directorios iniciales de trabajo (<span style="font-family: courier new,courier;">job_0</span>, <span style="font-family: courier new,courier;">job_1</span> y <span style="font-family: courier new,courier;">job_2</span>) previamente y en cada uno de ellos exista el archivo <span style="font-family: courier new,courier;">MyJob.in</span> cuyo contenido se utilizará como entrada estándar para cada una de las instancias.  Nótese como no habrá colisiones entre los nombres de los archivos (<span style="font-family: courier new,courier;">in</span>, <span style="font-family: courier new,courier;">out</span>, <span style="font-family: courier new,courier;">err</span> y <span style="font-family: courier new,courier;">log</span>) entre los diferentes trabajos aunque no se utilizó la seudovariable <span style="font-family: courier new,courier;">$(Process)</span> para diferenciarlos ya que se ubicarán en diferentes directorios.</p>
<p>Después de la ejecución del trabajo propuesto como ejemplo este podría  ser el contenido de los directorios de trabajo.</p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">-rw-rw-r-- 1 jimezam jimezam   0 Jul 12 23:51 job_0/_MyJob.err<br />
-rw-rw-r-- 1 jimezam jimezam   4 Jul 12 23:51 job_0/MyJob.in<br />
-rw-rw-r-- 1 jimezam jimezam 622 Jul 12 23:51 job_0/_MyJob.log<br />
-rw-rw-r-- 1 jimezam jimezam 107 Jul 12 23:51 job_0/_MyJob.out</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">-rw-rw-r-- 1 jimezam jimezam   0 Jul 12 23:51 job_1/_MyJob.err<br />
-rw-rw-r-- 1 jimezam jimezam   4 Jul 12 23:51 job_1/MyJob.in<br />
-rw-rw-r-- 1 jimezam jimezam 622 Jul 12 23:51 job_1/_MyJob.log<br />
-rw-rw-r-- 1 jimezam jimezam 107 Jul 12 23:51 job_1/_MyJob.out</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">-rw-rw-r-- 1 jimezam jimezam   0 Jul 12 23:51 job_2/_MyJob.err<br />
-rw-rw-r-- 1 jimezam jimezam   4 Jul 12 23:51 job_2/MyJob.in<br />
-rw-rw-r-- 1 jimezam jimezam 622 Jul 12 23:51 job_2/_MyJob.log<br />
-rw-rw-r-- 1 jimezam jimezam 107 Jul 12 23:51 job_2/_MyJob.out</span></p>
<h1>Enlaces.</h1>
<ul>
<li>Examples for Submit Description Files.<br />
<a href="http://www.cs.wisc.edu/condor/quick-start.html" target="_blank">http://www.cs.wisc.edu/condor/quick-start.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://griduam.labs.net.co/blog/archives/43/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enviando trabajos al universo Java del cluster</title>
		<link>http://griduam.labs.net.co/blog/archives/40</link>
		<comments>http://griduam.labs.net.co/blog/archives/40#comments</comments>
		<pubDate>Mon, 12 Jul 2010 23:34:19 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Utilización]]></category>
		<category><![CDATA[Condor]]></category>
		<category><![CDATA[condor_submit]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[job]]></category>
		<category><![CDATA[JVM]]></category>
		<category><![CDATA[submit]]></category>
		<category><![CDATA[universe]]></category>

		<guid isPermaLink="false">http://griduam.labs.net.co/blog/?p=40</guid>
		<description><![CDATA[El universo Java. Este universo permite el acceso uniforme a las máquinas virtuales de los nodos que dispongan de este servicio de manera independiente a la arquitectura de la máquina física o de su sistema operativo formando un ambiente de cómputo distribuido y homogéneo basado en la plataforma Java. Verificar los nodos con soporte Java. [...]]]></description>
			<content:encoded><![CDATA[<h1>El universo <span style="font-family: courier new,courier;">Java</span>.</h1>
<p>Este universo permite el acceso uniforme a las máquinas virtuales de los nodos que dispongan de este servicio de manera independiente a la arquitectura de la máquina física o de su sistema operativo formando un ambiente de cómputo distribuido y homogéneo basado en la plataforma Java.</p>
<h1>Verificar los nodos con soporte Java.</h1>
<p><span style="font-family: courier new,courier;">$ condor_status -java</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Name               JavaVendor Ver    State     Activity LoadAv Mem   ActvtyTime</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;"><strong>c-wn1.jorgeivanmez</strong> <strong>Sun Micros 1.6.0_</strong> Unclaimed Idle     0.030   246  0+00:03:01<br />
<strong>c-wn2.jorgeivanmez</strong></span> <span style="font-family: courier new,courier;"> <strong>Sun Micros 1.6.0_</strong> Unclaimed Idle     0.000   246  0+00:10:04<br />
Total Owner Claimed Unclaimed Matched Preempting Backfill</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">X86_64/LINUX     2     0       0         2       0          0        0</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Total     2     0       0         2       0          0        0</span></p>
<p>Se puede apreciar que los nodos <span style="font-family: courier new,courier;">c-wn1</span> y <span style="font-family: courier new,courier;">c-wn2</span> del cluster tienen soporte para la ejecución de trabajos Java, ambos tienen las máquinas virtuales de Sun Microsystems 1.6.0.</p>
<h1>Ejemplo.</h1>
<h2>El código fuente.</h2>
<p><span style="font-family: courier new,courier;">$ vi HelloClusterJava.java</span></p>
<pre>public class HelloClusterJava
{
 public static void main(String args[])
 {
   String hostname = "*** desconocido *** ";

   try
   {
     java.net.InetAddress localMachine = java.net.InetAddress.getLocalHost();
     hostname = localMachine.getHostName();
   }
   catch (java.net.UnknownHostException e)
   {
     hostname = e.getMessage();
   }

   System.out.println("Hello cluster, my name is: " + hostname + ".\n\n");
 }
}</pre>
<h2>La compilación.</h2>
<p><span style="font-family: courier new,courier;">$ javac HelloClusterJava.java</span></p>
<h2>El archivo de envío del trabajo.</h2>
<p><span style="font-family: courier new,courier;">$ vi HelloClusterJava.submit</span></p>
<pre>executable = HelloClusterJava.class
arguments  = HelloClusterJava
universe   = java
log        = _HelloClusterJava.log
output     = _HelloClusterJava.out
error      = _HelloClusterJava.err
queue</pre>
<p>Debe notarse como el nombre del archivo de la clase principal se referencia por la variable <span style="font-family: courier new,courier;">executable</span> mientras que en la variable <span style="font-family: courier new,courier;">arguments</span> debe referenciarse el nombre de la clase principal.</p>
<h2>El envío del trabajo al cluster.</h2>
<p><span style="font-family: courier new,courier;">$ condor_submit HelloClusterJava.submit</span></p>
<h2>La obtención de los resultados.</h2>
<p><span style="font-family: courier new,courier;">$ cat _HelloClusterJava.log</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">000 (028.000.000) 07/12 18:16:47 Job submitted from host: &lt;192.168.1.210:9362&gt;<br />
...<br />
001 (028.000.000) 07/12 18:16:50 Job executing on host: &lt;192.168.1.211:9335&gt;<br />
...<br />
005 (028.000.000) 07/12 18:16:51 Job terminated.<br />
(1) Normal termination (return value 0)<br />
Usr 0 00:00:00, Sys 0 00:00:00  -  Run Remote Usage<br />
Usr 0 00:00:00, Sys 0 00:00:00  -  Run Local Usage<br />
Usr 0 00:00:00, Sys 0 00:00:00  -  Total Remote Usage<br />
Usr 0 00:00:00, Sys 0 00:00:00  -  Total Local Usage<br />
0  -  Run Bytes Sent By Job<br />
0  -  Run Bytes Received By Job<br />
0  -  Total Bytes Sent By Job<br />
0  -  Total Bytes Received By Job<br />
...</span></p>
<p><span style="font-family: courier new,courier;">$ cat _HelloClusterJava.err</span></p>
<p><span style="font-family: courier new,courier;"><span style="font-family: times new roman,times;">(<em>vacío</em>)</span><br />
</span></p>
<p><span style="font-family: courier new,courier;">$ cat _HelloClusterJava.out</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Hello cluster, my name is: c-wn1.jorgeivanmeza.com.</span></p>
<h1>Otros parámetros interesantes del archivo de envío de trabajos.</h1>
<h2>Uso de archivos JAR.</h2>
<pre>executable = MyMain.jar
jar_files  = One.jar, Two.jar, Three.jar
</pre>
<h2>Uso de archivos JAR ejecutables.</h2>
<pre>executable = MyMain.jar
jar_files  = One.jar, Two.jar, Three.jar
arguments  = my.package.MyClass
</pre>
<h2>Versión específica y características de la VM.</h2>
<pre>requirements = (JavaVersion=="6.0")</pre>
<h2>Velocidad mínima.</h2>
<p>Cuando se agrega un nodo con soporte de Java al cluster se determina cual es su velocidad en términos de <span style="font-family: courier new,courier;">JavaMFlops</span> utilizando los algoritmos de <em>benchmark</em> de <a href="http://math.nist.gov/scimark2/" target="_blank">SciMark2</a>.  Este parámetro permite filtrar los nodos en los que se podrá ejecutar el trabajo de acuerdo a su velocidad, tomando a la velocidad especificada como mínima requerida.</p>
<pre>requirements = (JavaMFlops&gt;500)</pre>
<h2>Opciones específicas de la VM.</h2>
<pre>java_vm_args = -DMyProperty=Value -verbose:gc</pre>
<h1>Enlaces.</h1>
<ul>
<li>Java Applications, Condor Manual.<br />
<a href="http://www.cs.wisc.edu/condor/manual/v7.4/2_8Java_Applications.html" target="_blank">http://www.cs.wisc.edu/condor/manual/v7.4/2_8Java_Applications.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://griduam.labs.net.co/blog/archives/40/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C-Cluster: reparando el soporte de SUN Java en Condor</title>
		<link>http://griduam.labs.net.co/blog/archives/38</link>
		<comments>http://griduam.labs.net.co/blog/archives/38#comments</comments>
		<pubDate>Mon, 12 Jul 2010 17:09:53 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Instalación & configuración]]></category>
		<category><![CDATA[Cluster]]></category>
		<category><![CDATA[Condor]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Problemas]]></category>

		<guid isPermaLink="false">http://griduam.labs.net.co/blog/?p=38</guid>
		<description><![CDATA[Introducción. Después de realizado el proceso de instalación de SUN Java en los diferentes nodos del cluster la configuración de Java debería funcionar inmediatamente sin embargo al verificar la lista de cuales nodos soportan trabajos Java aparece vacía. # condor_status -java Realizar verificaciones (1). Se verifican los valores básicos de la configuración de Java y [...]]]></description>
			<content:encoded><![CDATA[<h1>Introducción.</h1>
<p>Después de realizado el proceso de <a href="http://griduam.labs.net.co/blog/archives/18" target="_blank">instalación de SUN Java</a> en los diferentes nodos del cluster la configuración de Java debería funcionar inmediatamente sin embargo al verificar la lista de cuales nodos soportan trabajos Java aparece vacía.</p>
<p><span style="font-family: courier new,courier;"># condor_status -java</span></p>
<h1>Realizar verificaciones (1).</h1>
<p>Se verifican los valores básicos de la configuración de Java y su correspondencia con la realidad del cluster.</p>
<h2>Ubicación de Java.</h2>
<p><span style="font-family: courier new,courier;"># condor_config_val JAVA</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">/usr/bin/java</span></p>
<p><span style="font-family: courier new,courier;"># ls -l /usr/bin/java</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">lrwxrwxrwx 1 root root 26 Jun 13 11:43 /usr/bin/java -&gt; /usr/java/default/bin/java</span></p>
<p><span style="font-family: courier new,courier;"># /usr/bin/java -version</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">java version &#8220;1.6.0_20&#8243;<br />
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)<br />
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)</span></p>
<h2>Tamaño máximo de la memoria del <em>heap</em>.</h2>
<p><span style="font-family: courier new,courier;"># condor_config_val JAVA_MAXHEAP_ARGUMENT</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">-Xmx1024m</span></p>
<h1>Diagnosticar el problema.</h1>
<p><span style="font-family: courier new,courier;"># condor_starter -classad</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">CondorVersion = &#8220;$CondorVersion: 7.4.2 Mar 29 2010 BuildID: 227044 $&#8221;<br />
IsDaemonCore = True<br />
HasFileTransfer = True<br />
HasPerFileEncryption = True<br />
HasReconnect = True<br />
HasMPI = True<br />
HasTDP = True<br />
HasJobDeferral = True<br />
HasJICLocalConfig = True<br />
HasJICLocalStdin = True<br />
<strong>Invalid maximum heap size: <span style="color: #ff6600;">-Xmx1024m246m</span><br />
Could not create the Java virtual machine.</strong><br />
HasVM = True</span></p>
<p>Según se interpreta lo anterior, Condor está detectando correctamente la ubicación de la máquina virtual de Java, sin embargo está fallando en su creación debido a un valor inválido en la cantidad máxima de memoria para el <em>heap</em>.  Según el manual de Condor esto puede estar sucediendo cuando se utiliza la máquina virtual de SUN Microsystems.</p>
<p style="padding-left: 30px;"><cite title="Problems with SUN's JVM configuration and Condor">One identified difficulty occurs when the machine has a large quantity of physical RAM, and this quantity exceeds the Java limitations. This is a known problem for the Sun JVM. Condor appends the maximum amount of system RAM to the Java Maxheap Argument, and sometimes this value is larger than the JVM allows. The end result is that Condor believes that the JVM on the machine is faulty, resulting in nothing showing up as a result of executing the command <span style="font-family: courier new,courier;">condor_status -java</span>.</cite></p>
<h1>Implementar la solución.</h1>
<p>Reemplazar la definión de la variable <span style="font-family: courier new,courier;">JAVA_MAXHEAP_ARGUMENT</span> con las siguientes variables.</p>
<p><span style="font-family: courier new,courier;"># vi /opt/condor/condor/etc/condor_config.local</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;"># First set JAVA_MAXHEAP_ARGUMENT to null, to disable the default of max RAM<br />
JAVA_MAXHEAP_ARGUMENT =<br />
# Now set the argument with the Sun-specific maximum allowable value<br />
JAVA_EXTRA_ARGUMENTS = -Xmx<strong>1024</strong>m</span></p>
<p>Ajuste según sus requerimientos, el valor de memoria (MB) a asignársele al <em>heap</em> en el parámetro <span style="font-family: courier new,courier;">JAVA_EXTRA_ARGUMENTS</span>.</p>
<p><span style="font-family: courier new,courier;"># condor_reconfig c-head c-wn1 c-wn2<br />
</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Sent &#8220;Reconfig&#8221; command to master c-head.jorgeivanmeza.com<br />
Sent &#8220;Reconfig&#8221; command to master c-wn1.jorgeivanmeza.com<br />
Sent &#8220;Reconfig&#8221; command to master c-wn2.jorgeivanmeza.com</span></p>
<h1>Realizar verificaciones (2).</h1>
<h2>Estado de la configuración de Java.</h2>
<p><span style="font-family: courier new,courier;"># condor_starter -classad</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">CondorVersion = &#8220;$CondorVersion: 7.4.2 Mar 29 2010 BuildID: 227044 $&#8221;<br />
IsDaemonCore = True<br />
HasFileTransfer = True<br />
HasPerFileEncryption = True<br />
HasReconnect = True<br />
HasMPI = True<br />
HasTDP = True<br />
HasJobDeferral = True<br />
HasJICLocalConfig = True<br />
HasJICLocalStdin = True<br />
JavaVendor = &#8220;Sun Microsystems Inc.&#8221;<br />
JavaVersion = &#8220;1.6.0_20&#8243;<br />
JavaSpecificationVersion = &#8220;1.6&#8243;<br />
JavaMFlops = 495.500641<br />
HasJava = True<br />
HasVM = True</span></p>
<h2>Nodos con soporte para Java.</h2>
<p><span style="font-family: courier new,courier;"># condor_status -java</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Name               JavaVendor Ver    State     Activity LoadAv Mem   ActvtyTime</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;"><strong>c-wn1.jorgeivanmez</strong> Sun Micros 1.6.0_ Unclaimed Idle     0.230   246  0+00:00:04<br />
<strong>c-wn2.jorgeivanmez</strong></span> <span style="font-family: courier new,courier;"> Sun Micros 1.6.0_ Unclaimed Idle     0.080   246  0+00:00:04<br />
Total Owner Claimed Unclaimed Matched Preempting Backfill</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">X86_64/LINUX     2     0       0         2       0          0        0</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">Total            2     0       0         2       0          0        0</span></p>
<h1>Enlaces.</h1>
<ul>
<li>Java Support Installation, Condor Manual.<br />
<a href="http://www.cs.wisc.edu/condor/manual/v7.4/3_14Java_Support.html#sec:java-install" target="_blank">http://www.cs.wisc.edu/condor/manual/v7.4/3_14Java_Support.html#sec:java-install</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://griduam.labs.net.co/blog/archives/38/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enviando trabajos al universo vanilla del cluster</title>
		<link>http://griduam.labs.net.co/blog/archives/34</link>
		<comments>http://griduam.labs.net.co/blog/archives/34#comments</comments>
		<pubDate>Mon, 12 Jul 2010 16:00:51 +0000</pubDate>
		<dc:creator>jimezam</dc:creator>
				<category><![CDATA[Utilización]]></category>
		<category><![CDATA[Condor]]></category>
		<category><![CDATA[condor_submit]]></category>
		<category><![CDATA[job]]></category>
		<category><![CDATA[submit]]></category>
		<category><![CDATA[universe]]></category>
		<category><![CDATA[vanilla]]></category>

		<guid isPermaLink="false">http://griduam.labs.net.co/blog/?p=34</guid>
		<description><![CDATA[El universo vanilla. Este universo se utiliza para ejecutar los trabajos que no pueden ser reenlazados con las librerías de Condor, un caso importante de estos trabajos son los scripts del shell. En este universo no se cuenta con puntos de chequeo ni con llamados al sistema remoto, por este motivo se hace necesario controlar [...]]]></description>
			<content:encoded><![CDATA[<h1>El universo <span style="font-family: courier new,courier;">vanilla</span>.</h1>
<p>Este universo se utiliza para ejecutar los trabajos que no pueden ser <a href="http://griduam.labs.net.co/blog/archives/33" target="_blank">reenlazados con las librerías</a> de Condor, un caso importante de estos trabajos son los <em>scripts</em> del <em>shell</em>.</p>
<p>En este universo no se cuenta con <em>puntos de chequeo</em> ni con <em>llamados al sistema remoto</em>, por este motivo se hace necesario controlar la entrada y la salida de los trabajos, para lo cual se puede utilizar un <a href="http://www.cs.wisc.edu/condor/manual/v7.4/2_5Submitting_Job.html#sec:shared-fs" target="_blank">sistema de archivos compartido</a> (como NFS o AFS) o utilizar el <a href="http://www.cs.wisc.edu/condor/manual/v7.4/2_5Submitting_Job.html#sec:file-transfer" target="_blank">mecanismo de Condor de transferir archivos</a>.</p>
<h1>Ejemplo.</h1>
<h2>El archivo de envío del trabajo.</h2>
<p><span style="font-family: courier new,courier;">$ vi hostname.submit </span></p>
<pre>executable = /bin/hostname
universe   = vanilla
log        = _hostname.log
output     = _hostname.out
error      = _hostname.err
queue</pre>
<h2>El envío del trabajo al cluster.</h2>
<p><span style="font-family: courier new,courier;">$ condor_submit hostname.submit</span></p>
<h2>La obtención de los resultados.</h2>
<p><span style="font-family: courier new,courier;">$ cat _hostname.log</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">000 (025.000.000) 07/12 10:51:26 Job submitted from host: &lt;192.168.1.210:9204&gt;<br />
...<br />
001 (025.000.000) 07/12 10:51:42 Job executing on host: &lt;192.168.1.212:9875&gt;<br />
...<br />
005 (025.000.000) 07/12 10:51:43 Job terminated.<br />
(1) Normal termination (return value 0)<br />
Usr 0 00:00:00, Sys 0 00:00:00  -  Run Remote Usage<br />
Usr 0 00:00:00, Sys 0 00:00:00  -  Run Local Usage<br />
Usr 0 00:00:00, Sys 0 00:00:00  -  Total Remote Usage<br />
Usr 0 00:00:00, Sys 0 00:00:00  -  Total Local Usage<br />
0  -  Run Bytes Sent By Job<br />
0  -  Run Bytes Received By Job<br />
0  -  Total Bytes Sent By Job<br />
0  -  Total Bytes Received By Job<br />
...</span></p>
<p><span style="font-family: courier new,courier;">$ cat _hostname.err</span></p>
<p>(<em>vacío</em>)</p>
<p><span style="font-family: courier new,courier;">$ cat _hostname.out</span></p>
<p style="padding-left: 30px;"><span style="font-family: courier new,courier;">c-wn2.jorgeivanmeza.com</span></p>
<h1>Enlaces.</h1>
<ul>
<li>Road-map for running jobs.<br />
<a href="http://www.cs.wisc.edu/condor/manual/v7.4/2_4Road_map_Running.html" target="_blank">http://www.cs.wisc.edu/condor/manual/v7.4/2_4Road_map_Running.html</a></li>
<li>Submitting a job.<br />
<a href="http://www.cs.wisc.edu/condor/manual/v7.4/2_5Submitting_Job.html" target="_blank">http://www.cs.wisc.edu/condor/manual/v7.4/2_5Submitting_Job.html</a></li>
<li>Submitting Jobs Using a Shared File System.<br />
<a href="http://www.cs.wisc.edu/condor/manual/v7.4/2_5Submitting_Job.html#sec:shared-fs" target="_blank">http://www.cs.wisc.edu/condor/manual/v7.4/2_5Submitting_Job.html#sec:shared-fs</a></li>
<li>Submitting Jobs Without a Shared File System: Condor&#8217;s File Transfer Mechanism.<br />
<a href="http://www.cs.wisc.edu/condor/manual/v7.4/2_5Submitting_Job.html#sec:file-transfer" target="_blank">http://www.cs.wisc.edu/condor/manual/v7.4/2_5Submitting_Job.html#sec:file-transfer</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://griduam.labs.net.co/blog/archives/34/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.444 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2010-09-04 02:49:09 -->
