Condor
Para muchos científicos, la calidad de sus investigaciones depende mucho de la computación a gran escala. No es raro encontrar problemas que requieran semanas o meses de cálculo para obtener una solución. Los científicos involucrados en este tipo de investigaciones necesitan un entorno de computación que proporcione una gran cantidad de potencia de procesamiento durante un período amplio de tiempo. Estos entornos se denominan entornos HTC (High-Throughput Computing). Por contra, los entornos HPC (High-Performance Computing) proporcionan una gran potencia o cantidad de recursos durante un corto período de tiempo. Los entornos HPC se miden frecuentemente en términos de operaciones en coma flotante por segundo (FLOPS). Mientras que los entornos HTC se suelen medir en operaciones en coma flotante por mes o por año. Los entornos HTC están enfocados a completar el mayor número de trabajos (conjunto de tareas) en un período largo de tiempo. La clave en los entornos HTC es el uso eficiente de los recursos disponibles. Hace años, para poder hacer frente a los problemas que requerían una gran cantidad de recursos durante mucho tiempo, se recurrían a los mainframes o supercomputadores. Estos superordenadores eran capaces de afrontar dichos problemas con su gran potencia de cálculo. El problema era el alto precio de estos sistemas, relegando su uso a entidades elitistas (como gobiernos o universidades con alto presupuesto). Además, estos superordenadores tenían un incoveniente, su uso era exclusivo para la tarea o trabajo que procesaba. En la actualidad, podemos utililzar un número determinado de nodos hetereogéneos e interconectarlos para que se distribuyan las tareas a ejecutar. Dichos nodos representan recursos, que pueden ser simples ordenadores personales. Por tanto, en sustitución de los superordenadores, podemos utilizar múltiples ordenadores menores (mucho más baratos), interconectarlos a través de una red e instalar un software que se encargue de repartir el trabajo entre los distintos ordenadores, de tal manera, que se aprovechan aquellos que presentan una escasa actividad de procesamiento. Condor es un software que se encarga de llevar a cabo esta misión. La potencia de CondorCondor es un software de sistema que crea un entorno High-Throughput Computing (HTC). Utiliza eficazmente la potencia de cálculo de las estaciones conectadas en la red. Condor puede administrar cluster dedicados de las estaciones. Un usuario envía un trabajo a Condor. Condor busca y encuentra una máquina disponible en la red y se ejecuta el trabajo en dicha máquina. Condor tiene la capacidad de detectar si una máquina que estaba ejecutando un trabajo deja de estar disponible un tiempo considerable. Condor puede establecer un “checkpoint” del trabajo y migrar sus tareas a distintas máquinas que están ociosas o disponibles. Condor no exige la utilización de archivos compartidos (NFS, AFS), puede migrar los distintos trabajos por distintos dominios administrativos. Condor ahorra tiempo de ejecución cuando un trabajo se tiene que ejecutar muchas veces. Con un sólo comando, todos los trabajos se envían a Condor. Dependiendo del número de máquinas en el entorno Condor, decenas e incluso cientos de máquinas ociosas pueden ejecutar un trabajo en cualquier momento. Condor no necesita cuentas en las máquinas que ejecutan trabajos. Las llamadas se envían a través de la red para que se puedan ejecutar en la máquina donde se envío el trabajo. Condor implementa ClassAds, un diseño limpio que simplifica el envío de trabajos de los usuarios. ClassAds funciona de manera parecida a los anuncios clasificados de los periódicos. Todas las máquinas de Condor anuncian las propiedades y recursos estáticos y dinámicos que poseen, como la memoria virtual, tipo CPU, memoria física, frecuencia de la CPU, etc. Un usuario especifica una petición de recurso cuando envía un trabajo. La petición incluye el conjunto de propiedades requeridas y deseadas por el usuario para llevar a cabo el trabajo. Condor actúa como un agente seleccionando, clasificando y comparando los recursos ofrecidos por las máquinas del entorno con los de la petición del usuario, asegurando que se cubre el cupo de recursos del usuario. Se puede priorizar unos recursos frente a otros. Características de Condor
Detalles
|

