Anterior

ⓘ Sun Grid Engine, también conocido en la actualidad como Oracle Grid Engine, es un software de código abierto desarrollado por Sun Microsystems, cuya función pri ..




                                     

ⓘ Sun Grid Engine

Sun Grid Engine, también conocido en la actualidad como Oracle Grid Engine, es un software de código abierto desarrollado por Sun Microsystems, cuya función principal es la gestión de un sistema manejador de recursos computacionales o procesos distribuidos en ambientes heterogéneos, de modo que se utilicen los dichos recursos de la manera más eficiente posible. A su vez Sun Microsystems proporciona al mercado un sistema no gratuito que se basa en el funcionamiento del SGE, denominado N1 Grid Engine.

Grid Engine por poseer la característica de ser de código abierto y gratuito está destinado para ser utilizado en la página web del proyecto bajo la licencia del estándar de la industria Sun Industry Standards Source License. Oracle proporciona una versión comercial, destinada a otros usos, disponible para su adquisición en su página web. A pesar de esta situación, parece ser que a partir de la versión 6.2u6 todas las versiones posteriores que se vayan distribuyendo serán para uso comercial, siendo gratuitas únicamente durante un periodo de prueba de 90 días a partir de adquisición.

SGE se usa normalmente en aquellos lugares que disponen de un gran número de ordenadores o de clústeres de Computación de alto rendimiento HPC. En estas estructuras, el SGE se encarga principalmente de funciones como la aceptación, programación, envío y gestión de la ejecución remota y distribuida de un gran número de tareas en el espacio de usuario, ya sean estas secuenciales, paralelas o interactivas. Además de las funcionalidades ya mencionadas de SGE, existe la posibilidad de gestionar y programar la reserva de recursos distribuidos en toda la estructura, como procesadores, memoria, espacio de disco y licencias de software.

Es un sistema altamente configurable, sencillo de administrar y de utilizar por parte de los usuarios. Su escalabilidad lo ha llevado a ser el sistema de mayor éxito entre los mayores clúster de supercomputación.

Al igual que Condor y PBS, SGE trabaja con shellscripts que definen los requisitos de los trabajos de los usuarios, pero además puede tratar directamente con binarios e incluso ejecutar trabajos interactivos.

Se trata, sin lugar a dudas, del producto más completo disponible en el mercado, tanto por rendimiento como por facilidad de uso y capacidad de configuración. A todo esto hay que sumar el hecho de que se trata de un proyecto de código abierto con una comunidad de desarrolladores y administradores enorme y, algo de lo que pecan otros proyectos, el respaldo de una empresa del prestigio como Sun Microsystems y, en la actualidad Oracle.

SGE es la base del sistema Sun Grid Utility Computing, es decir, la base del control de la utilización de los recursos computacionales y procesos distribuidos, siendo puesto a disposición de los usuarios para su adquisición a través de internet en Estados Unidos en el año 2006, para pasar a ser asequible después en el resto de países del mundo.

                                     

1. Características de la versión 6.2

  • Ejecución remota mejorada sin usar rshd/rlogind/sshd procesos externos.
  • Reserva anticipada.
  • Verificador de presentación del trabajo verificación de trabajo de cliente y servidor.
  • Demonios gestionados por el centro de administradores de los servicios de Solaris Service Management Facility.
  • Topología" inteligente” de programación e hilos vinculantes.
  • Instalador con interfaz gráfica de usuario GUI y revisión del SGE.
  • Los trabajos interactivos están apoyados por Pseudo TTY pty.
  • Multi-clustering, es decir, permite la utilización en paralelo de multitud de ordenadores, estando estos conectados mediante algún tipo de red.
  • Dependencias de la matriz.
  • Reserva de recursos y control de las cuotas de uso de esos recursos a nivel individual y de clúster.
  • Integración con Hadoop y Amazon EC2 para facilitar el Cloud Computing.
  • Informe de avances de XML qstat y qhost y la interfaz de web de xml-qstat.
  • Trabajos paralelos y arranque de trabajo paralelo escalable con qrsh.
  • Matrices de trabajo y tareas.
  • Contabilidad y control de uso sensores de inactividad.
  • Puntos de control o guardado de trabajo.
  • Posee varios algoritmos de programación avanzada basados en políticas de asignación de recursos.
  • Integración con FLEXlm y gestión de licencias software con LicenseJuggler.
  • Tolerancia a fallos del programador Grid Engine sigue funcionando siempre y cuando existan uno o más hosts.
  • Permite la creación de colas de clúster.
  • Contabilidad y presentación de la consola ARCO.
  • DRMAA como API de trabajo para la presentación y control de trabajos en entornos distribuidos con la posibilidad de usar diferentes lenguajes como C/C++, Java/Java script, Perl, Python.
  • Manejo y administración de usuarios.
  • Calendario inteligente, para almacenar los cambios de una forma segura y correcta y para mantener el control en las colas de tareas o ejecución.
  • Soporte multiplataforma.
  • Migración de tareas de un host a otro con la posibilidad de realizarse con o sin punto de control.
                                     

2. Plataformas

SGE es un sistema multiplataforma, destacando las siguientes:

  • Windows
  • BSD la mayoría de arquitecturas.
  • HP-UX PA-RISC & IA64
  • AIX
  • Linux la mayoría de arquitecturas.
  • IRIX
  • Mac OS X PPC & x64
  • Tru64
  • Solaris SPARC & x64

Otras plataformas menos comunes:

  • UNICOS Cray
  • SUPER-UX NEC SX

Incluyendo diferentes variantes de Linux

  • PS/2 & PS/3
  • zLinux
                                     

3. Arquitectura clúster del SGE

Un clúster con el sistema Grid Engine típico consiste en un host principal o maestro y uno o más host en ejecución. Además se pueden configurar varios host maestros secundarios, similar a una estructura RAID, que asumen el papel del host principal en caso de que éste se bloquee o deje de funcionar de forma correcta.

En el caso del SGE, cada host recibe un nombre que lo diferencia de los demás, siendo estos nombres Grid1, Grid2,…, hasta nombrar todos y cada uno de ellos. El único host que recibe un nombre diferente a los demás es el host principal, al que se le suele denominar Grid sin poseer un número que lo determine. Los SGE funcionan mejor cuando todos los usuarios que usan máquinas del sistema utilizan una cola de trabajos, puesto que aplican todas las características y potencia de este sistema.

                                     

4. Funcionamiento del SGE

Antes de comenzar a detallar más aspectos del funcionamiento es necesario explicar algunos conceptos, como job y cola.

  • job: es una unidad de trabajo que es definida por un programa ejecutable. Hay varios tipos
  • Trabajos paralelo.
  • Trabajos interactivos.
  • Batch.
  • cola: es un contenedor para una categoría de trabajos que pueden ser asignados para ser ejecutados en un único host. Una cola pueden distinguirse de otras en cuanto a
  • Listas de usuarios.
  • Cuando pueden migrarse los trabajos de una cola a otra.
  • Números de CPUs disponibles.
  • Tipos de trabajos.

Los usuarios envían trabajos jobs: El usuario especifica el perfil de requisitos.

SGE registra el trabajo, su perfil de requisitos e información de control.

Tan pronto como una cola, quede disponible, SGE lanza a ejecución uno de los trabajos en espera:

  • En caso de que haya varias colas disponibles se escoge la más descargada.
  • Puede haber varias colas por host.
  • Aquel con mayor prioridad o mayor tiempo en espera, según la configuración del planificador.

A partir de estos datos ya podemos explicar el último punto del funcionamiento del SGE, conocido como ciclo de vida del trabajo o job, donde se observa el camino que sigue cada trabajo desde que un usuario lo envía hasta que recibe el resultado. El ciclo de vida de un trabajo es el siguiente:

  • El host de ejecución almacena el trabajo en su base de datos, lo inicia y espera a obtener el resultado.
  • Cuando ha finalizado envía el resultado al host maestro y elimina el trabajo de su base de datos.
  • El host maestro almacena el trabajo en su base de datos.
  • El host maestro asigna el trabajo a una cola y lo envía al host correspondiente.
  • Se envía el trabajo.


                                     

5. Políticas de planificación

SGE tiene tres políticas de planificación la hora de establecer un orden y distribuir los trabajos. Estas políticas se pueden combinar para implementar nuevas políticas de uso de un clúster:

  • Política basada en tickets usuario: cuántos más tickets tenga un usuario mayor será su prioridad.
  • Política de urgencia trabajo
  • El tiempo que lleve esperando el trabajo en la cola.
  • Los recursos que sean demandados por el trabajo.
  • Deadline: que es la hora límite que tiene un trabajo para que sea obtenido su resultado.
  • Política personalizada: permite asignar una prioridad a los trabajos, con unos valores entre -1023 y 1024.
                                     

6. Ventajas y beneficios de su uso

El sistema SGE es un gestor de recursos distribuidos DRM que administra la distribución de las cargas de trabajo de los usuarios teniendo en cuenta la disponibilidad de dichos recursos.

Uno de las primeras ventajas, y de los más destacables, es la situación que tiene lugar en un centro de trabajo donde la utilización de los recursos suele estar en torno a un promedio del 10-25%, y que al emplear el SGE puede aumentar al 80-90%. Esta mejora procede de la inteligente distribución de la carga de trabajo y de la correcta utilización de los recursos, de tal modo que ningún host se encuentre sobrecargado en comparación con el resto, existiendo un equilibrio en las cargas de trabajo.

Cuando los usuarios envían su trabajo al SGE, el sistema controla el estado actual de todos los recursos del clúster y es capaz de asignar dichos trabajos a los recursos más adecuados. Además este sistema permite a los administradores adaptar sus entornos informáticos y sus recursos para conseguir el mayor rendimiento.

Además este sistema permite la posibilidad de supervisar los trabajos enviados y consultar los host en donde se están ejecutando, si han terminado, si ha tenido lugar algún tipo de error, entre otras consultas. También proporciona un historial de trabajo donde comprobar distintos datos, como fechas, usuarios, etc.

Por otro lado si se trabaja con Apache Hadoop, el SGE reduce el coste de ejecución de estas aplicaciones y permite compartir y utilizar los recursos para otras tareas, evitando el uso único de un grupo de host para esta tarea. Si se trabaja con Amazon EC2 el SGE proporciona recursos adicionales de forma automática, reduciendo la" picos” de demanda a los centros de datos que se producen.

Como resultado de estas ventajas, se producen varios beneficios:

  • Se reduce el consumo de energía, debido a que se gestionan los recursos de tal manera que los periodos de inactividad se minimizan.
  • Se reducen los tiempos de ejecución, llegando a ser en algunos casos de un 50%.


                                     

7. Soporte y formación

Sun proporcionó contratos de soporte para la versión comercial del Grid Engine en la mayoría de plataformas UNIX y Windows. Los servicios profesionales, de consultoría y formación fueron proporcionados por Sun Partners. Sun Partners se asoció con la Universidad de Georgetown para impartir clases de administración de Grid Engine. El personal de estas instituciones proporcionó breves talleres de formación, con una duración de 1 o 2 días. Este tipo de talleres ha tenido lugar en la ciudad de Regensburg Alemania en los años 2002, 2003, 2007, 2009 y 2012.

Por otro lado, los usuarios de este sistema pueden obtener cualquier tipo de soporte y solución a través de las listas de correo que proporciona la comunidad de Grid Engine.

                                     

8. Usuarios

Los principales y más destacados usuarios de este sistema son:

  • San Diego Supercomputer Center SDSC.
  • Sun Grid, servicio suministrado en la actualidad por Oracle, que proporciona acceso a recursos computacionales a través de internet, para facilitar y acelerar ciertas tareas.
  • Centro de Computación Avanzada de Texas Advanced Computing Center-TACC.
  • Laboratorio geofísico de dinámica de fluidos Geophysical Fluid Dynamics Laboratory-NOAA GFDL.
  • El superordenador TSUBAME del Instituto Tecnológico de Tokio.
                                     

9. Historia

En el año 2000, Sun adquirió Gridware, empresa especializada en sistemas de gestión de recursos de computación con oficinas en San José, California y Regensburg Alemania, para ofrecer una versión gratuita para Solaris y Linux, la que denominó Sun Grid Engine.

En el año 2001, Sun liberó el código y adoptó el modelo de desarrollo open source o código abierto, lo que provocó la aparición de adaptaciones para otros sistemas UNIX, Mac OS, etc.

En 2010, después de la compra de Sun MicroSystems por Oracle, renombró el SGE y lo denominó Oracle Grid Engine. Posteriormente el código fuente de la actualización de la versión 6.2 del Grid Engine no se incluyó con los archivos binarios y los cambios no se pusieron de nuevo en el repositorio del proyecto. Como respuesta a esta situación la comunidad del Grid Engine comenzó a desarrollar el proyecto Open Grid Scheduler, para continuar con el desarrollo y mantenimiento de una implementación libre y gratuita del Grid Engine.

El 18 de enero de 2011, la empresa privada Univa anunciaba que había reunido a varios ingenieros de gran importancia del equipo de Sun Grid Engine y que estaba desarrollando su propia versión del Grid Engine. Además, la empresa ha anunciado que su sistema, conocido como Univa Grid Engine incluirá soporte comercial, lo que supone que competiría con la versión oficial de Oracle Grid Engine.

                                     

10. Otros productos basados en el sistema Grid Engine

  • Sun Compute Cluster
  • BioTeams iNquiry
  • Sun Constellation System
  • Nimbus
  • ClusterVisionOS Distribution
  • Univas UniCluster Express
  • Sun Visualization System
  • Univa Grid Engine
  • Rocks Cluster Distribution

Los usuarios también buscaron:

...