Enviando trabajos al universo Java del cluster

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.

$ condor_status -java

Name               JavaVendor Ver    State     Activity LoadAv Mem   ActvtyTime

c-wn1.jorgeivanmez Sun Micros 1.6.0_ Unclaimed Idle     0.030   246  0+00:03:01
c-wn2.jorgeivanmez
Sun Micros 1.6.0_ Unclaimed Idle     0.000   246  0+00:10:04
Total Owner Claimed Unclaimed Matched Preempting Backfill

X86_64/LINUX     2     0       0         2       0          0        0

Total     2     0       0         2       0          0        0

Se puede apreciar que los nodos c-wn1 y c-wn2 del cluster tienen soporte para la ejecución de trabajos Java, ambos tienen las máquinas virtuales de Sun Microsystems 1.6.0.

Ejemplo.

El código fuente.

$ vi HelloClusterJava.java

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");
 }
}

La compilación.

$ javac HelloClusterJava.java

El archivo de envío del trabajo.

$ vi HelloClusterJava.submit

executable = HelloClusterJava.class
arguments  = HelloClusterJava
universe   = java
log        = _HelloClusterJava.log
output     = _HelloClusterJava.out
error      = _HelloClusterJava.err
queue

Debe notarse como el nombre del archivo de la clase principal se referencia por la variable executable mientras que en la variable arguments debe referenciarse el nombre de la clase principal.

El envío del trabajo al cluster.

$ condor_submit HelloClusterJava.submit

La obtención de los resultados.

$ cat _HelloClusterJava.log

000 (028.000.000) 07/12 18:16:47 Job submitted from host: <192.168.1.210:9362>
...
001 (028.000.000) 07/12 18:16:50 Job executing on host: <192.168.1.211:9335>
...
005 (028.000.000) 07/12 18:16:51 Job terminated.
(1) Normal termination (return value 0)
Usr 0 00:00:00, Sys 0 00:00:00  -  Run Remote Usage
Usr 0 00:00:00, Sys 0 00:00:00  -  Run Local Usage
Usr 0 00:00:00, Sys 0 00:00:00  -  Total Remote Usage
Usr 0 00:00:00, Sys 0 00:00:00  -  Total Local Usage
0  -  Run Bytes Sent By Job
0  -  Run Bytes Received By Job
0  -  Total Bytes Sent By Job
0  -  Total Bytes Received By Job
...

$ cat _HelloClusterJava.err

(vacío)

$ cat _HelloClusterJava.out

Hello cluster, my name is: c-wn1.jorgeivanmeza.com.

Otros parámetros interesantes del archivo de envío de trabajos.

Uso de archivos JAR.

executable = MyMain.jar
jar_files  = One.jar, Two.jar, Three.jar

Uso de archivos JAR ejecutables.

executable = MyMain.jar
jar_files  = One.jar, Two.jar, Three.jar
arguments  = my.package.MyClass

Versión específica y características de la VM.

requirements = (JavaVersion=="6.0")

Velocidad mínima.

Cuando se agrega un nodo con soporte de Java al cluster se determina cual es su velocidad en términos de JavaMFlops utilizando los algoritmos de benchmark de SciMark2.  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.

requirements = (JavaMFlops>500)

Opciones específicas de la VM.

java_vm_args = -DMyProperty=Value -verbose:gc

Enlaces.

Related posts:

  1. Enviando trabajos al universo vanilla del cluster
  2. Enviando trabajos al universo estándar del cluster
  3. C-Cluster: reparando el soporte de SUN Java en Condor
  4. Instalación de Java 1.6 en Scientific Linux 5.5 64 bits
  5. C-Cluster: Probando la configuración de Condor 7.4.2

Category: Utilización | Tags: , , , , , , Comment »


Leave a Reply



 

Back to top