RSS

Archivo del Autor: gearkairos

Base de Datos Grid

Saludos niños y niñas excusas por publicar  tan tarde, antes de hablar de bases de datos Grid es menester comenzar por lo que se conoce como tecnología Grid para poder entenderla, es un tema bastante polémico y del futuro, pues como saben estamos en la era de la información y aunque nos interesa bastante, es realmente complicado y difícil así que prepárense algo de comer y beber para sentarse con calma porque les va a tomar un buen rato.

¿Qué es y Para Qué Sirve el Grid Computing?

Un Grid computacional es una infraestructura hardware y software que suministra al que lo utiliza:

1. Acceso seguro a todos los niveles: capacidad de cómputo, de integridad de datos, de seguridad de acceso, etc.

2. El servicio debe ser consistente, basado en estándares y de esta manera el acceso y las operaciones sobre el Grid estarán definidos por dichos estándares evitando la heterogeneidad.

3. La idea de penetración no es tanto la posibilidad de acceder a cualquier recurso del Grid sino que una vez conectado desde cualquier punto puede extraer de éste toda la potencia que requiera.

4. Por último el acceso y el uso del Grid debe tener un coste económico que le haga atractivo para que su utilización se universalice.

Los posibles campos de aplicación podrían ser:

Supercomputación Distribuida: Simulaciones, Herramientas de cálculo numérico, Procesos de análisis de datos, Extracción de conocimientos de almacenes de datos, etc.

Sistemas Distribuidos en Tiempo Real: Medicina (tratamiento de imagen para visión artificial). Proceso Intensivo de Datos: Gestores de bases de datos distribuidos.

Servicios Puntuales: Este tipo de aplicaciones son aquellas que permiten acceder a hardware específico para la realización de labores a distancia

 Entornos Virtuales de Colaboración: Tele inmersión. Al conectar e instalar el software del Grid: Un usuario se conecta (autenticarse con propósito de seguridad) primero como un usuario de Grid, e instala el software en su propia máquina.

Para continuar deben saber que el Grid se lleva en multitud de proyectos que llevan su propio nombre en materia de desarrollo. Globus es quien gestiona esta tecnología la base de todo el asunto pero…

¿Qué es el Globus?

El Globus es proyecto de investigación y desarrollo enfocado a la aplicación de los conceptos del Grid, desarrolla software capaz de resolver dificultades técnicas que aparecen al tratar de implementar el Grid Computing.

Este esfuerzo a nivel de software ha dado como resultado el Globus Toolkit, un conjunto de servicios y librerías de software capaz de soportar aplicaciones tipo Grid que incluye software relacionado con seguridad, información y manejo de recursos e intercambio de datos;

El software de Globus es libre y está soportado por los sistemas operativos

Linux, Solaris, IRIX, AIX, HPUX, True64

Arquitectura del Globus

Se estructura en varias capas:

Image Hosted by ImageShack.us
By loudness1986 at 2012-03-21
En el nivel de infraestructura es donde se encuentran los recursos computacionales, como son los ordenadores, los clusters, los supercomputadores, los sistemas de almacenamiento en red, las bases de datos, etc.

El nivel de conectividad incluye los protocolos de comunicación y seguridad que permiten a los recursos computacionales comunicarse. La seguridad es un punto muy importante de la computación en Grid por su propia naturaleza distribuida ya que se comparten recursos entre distintas organizaciones que pueden tener distintas políticas de seguridad.

La capa de recursos engloba todos los servicios que permiten gestionar un conjunto de recursos. Se encuentran los servicios de directorio, que permiten localizar los recursos que son de nuestro interés; los schedulers distribuidos, que permiten asignar las tareas a cada recurso, la monitorización y diagnóstico de la ejecución de las distintas tareas en que se distribuyen la ejecución de una aplicación; la contabilidad, que permite calcular el coste de la utilización de varios recursos heterogéneos, el acceso a datos distribuidos, etc.

El último nivel es el de aplicación donde se encuentran los protocolos que permiten a las aplicaciones el acceso a la infraestructura del Grid a través de las distintas capas. Según el tipo de aplicación será necesario conectarse a las distintas capas o acceder directamente a una de ellas e incluso a la de infraestructura.

Image Hosted by ImageShack.us
By loudness1986 at 2012-03-21

Y resulta que para llegar hasta aquí tuvieron que tomar en cuenta los siguientes…

Considerandos en la tecnología Grid

Schedulers

El servicio de scheduler distribuido es una de las aplicaciones más complejas de un desarrollo Grid ya que existen tres scheduler distintos: el planificador de trabajos (Job Scheduler) que intenta maximizar la cantidad de trabajo realizado (trabajos por unidad de tiempo), el planificador de recursos que intenta maximizar el uso de los recursos y el planificador de la aplicación que divide la aplicación en tareas, asigna los recursos para su ejecución y vigila el desarrollo de los mismos.
scheduler animado

Nota: El planificador (o scheduler en inglés) es un componente funcional muy importante de los sistemas operativos multitarea y multiproceso, y es esencial en los sistemas operativos de tiempo real. Su función consiste en repartir el tiempo disponible de un microprocesador entre todos los procesos que están disponibles para su ejecución

La Capacidad de la CPU Paralela

El atributo común entre los distintos usos es que las aplicaciones se han escrito para usar algoritmos que pueden dividirse  independientemente en partes de ejecución.

Una aplicación de Grid intensiva de CPU puede pensarse como muchos sub-trabajos ejecutándose en una máquina diferente en el Grid. Si estos sub-trabajos no necesitan comunicarse con el otro, la aplicación se vuelva más escalable.

La primera barrera depende de los algoritmos usados para dividir la aplicación entre muchas CPU’s. La segunda barrera aparece si las partes no son completamente independientes; esto puede causar contención que puede limitar la escalabilidad.

Nota: Según la Wikipedia En telecomunicaciones y en ingeniería informática, la escalabilidad es la propiedad deseable de un sistema, una red o un proceso, que indica su habilidad para extender el margen de operaciones sin perder calidad, o bien manejar el crecimiento continuo de trabajo de manera fluida, o bien para estar preparado para hacerse más grande sin perder calidad en los servicios ofrecidos. También se podría definir como la capacidad del sistema informático de cambiar su tamaño o configuración para adaptarse a las circunstancias cambiantes

Aprovechar los Recursos que no siempre se usan

La máquina en que la aplicación normalmente se ejecuta podría estar inusualmente ocupada debido a un pico inusual de actividad.

El trabajo en cuestión podría ejecutarse en otra parte en una máquina ociosa en el Grid.

Hay dos requisitos previos a considerar:

Primero, la aplicación debe ser ejecutable remotamente.

Segundo, la máquina remota debe encontrar cualquier hardware especial, Software o requerimientos de recursos impuestos por la aplicación.

Sheduling, Barrido y Reservación

El sistema de Grid es el responsable de enviar un trabajo a una máquina dada para ser ejecutado.

Los sheluders reaccionan a la disponibilidad actual de los recursos en el Grid.

En un scavengin (Barrido) de un sistema Grid cualquier máquina que se vuelve ociosa informaría su estado al nodo de administración del Grid.

Los recursos en el Grid pueden reservarse por adelantado para un conjunto de trabajos. Esto hace para reunir fechas topes y garantizar una calidad de servicio.

Balanceo de recursos:

Para aplicaciones habilitadas, el Grid puede ofrecer un efectivo balanceo de recursos mediante la planificación de trabajos de Grid, en máquinas con poca utilización. Esta facilidad puede mejorar invalorablemente el manejo de picos de carga de actividad en sectores de una organización más grande. Esto puede ocurrir de dos maneras:

– Un pico inesperado puede ser conducido a máquinas relativamente ociosas en el Grid.

– Si el Grid ya se utiliza totalmente, el trabajo de prioridad más baja que se realiza en el Grid debe ser suspendido temporalmente o incluso cancelado y realizado posteriormente para dejar lugar a un trabajo de prioridad mayor. Sin una infraestructura de Grid, tales decisiones de equilibrio serían difíciles de priorizar y ejecutar.

Confiabilidad:
Image Hosted by ImageShack.us
By loudness1986 at 2012-03-21

Los sistemas en el Grid pueden ser relativamente baratos y geográficamente dispersos así si hay algún tipo de falla, no es probable que las otras partes del Grid sean afectadas.

El software de gestión del Grid puede automáticamente reenviar los trabajos a otras máquinas del Grid, cuando en una se descubre una falla.

En situaciones críticas de tiempo real, copias múltiples de trabajos importantes pueden ejecutarse en diferentes máquinas a través del Grid

Planificación de despliegue:

Una de las primeras consideraciones es el hardware disponible y como se conecta vía una LAN o una WAN.

La organización puede agregar hardware adicional para aumentar la capacidad del Grid.

Es primordial entender también como los departamentos de una organización interactúan, operan y contribuyen al todo. Otro aspecto importante es la autenticación del usuario

Un Grid ofrece la capacidad para la administración de la organización reaccionando más rápidamente, en cuanto a cambios de utilización de recursos, prioridades y política.

Adición de donantes y usuarios:

Usando un Grid, los trabajos que requieren este software son enviados a máquinas particulares en las cuales este software está instalado.

Un arreglo de licencia de software permite la instalación en todas las máquinas de un Grid pero puede limitar el número de instalaciones que pueden usarse simultáneamente en cualquier momento.

El software de administración de licencias registra cuántas copias coexistentes de éste están usándose y previene que se ejecute un número mayor en un tiempo dado.

La identidad de máquina se establece y registra con la información de autenticación pertinente.

El administrador del Grid debe estar de acuerdo con el administrador de la máquina donante sobre el ID’s de usuario, software, derechos de acceso, y cualquier restricción de política.

El administrador debe introducir la información de identificación de máquina, direcciones, y características de recurso usando el software apropiado para registrar la máquina donante del Grid.

En algunos casos, el administrador puede necesitar propagar esta información manualmente a otras máquinas en el Grid.

Los procedimientos para quitar usuarios y máquinas deben ser ejecutados por el administrador.

Observación, medición y progreso

Las estadísticas pueden mostrar tendencias que pueden señalar la necesidad de un hardware adicional.

También, la información de medición sobre trabajos específicos pueden ser recolectados y usarse para predecir mejor los requerimientos de recurso del trabajo que se ejecutará la próxima vez. Cuanto mejor sea la predicción más eficiente será el trabajo del Grid.

La información de medición también puede ser guardada con propósitos de contabilidad, para formar la base, la ejecución de un recurso de Grid , o para manejar las prioridades de forma más justa.

El usuario puede solicitar el sistema de Grid, para ver cómo su aplicación y sus sub-trabajos están progresando.

Cuando el número de sub-trabajos crece, se vuelve más difícil de listarlos a todos en una ventana gráfica.

En cambio puede haber simplemente un sólo gráfico grande de barra que puede mostrarlos. Un sistema de Grid, junto con su scheduler de trabajo, proporciona a menudo algún grado de recuperación para sub-trabajos que fallan.

Un trabajo puede fallar debido a un:

Error de Programación, Fallo de Hardware, Interrupción en las Comunicaciones y/o  Lentitud Excesiva

Los schedulers se diseñan a menudo para categorizar los fracasos del trabajo de alguna manera y automáticamente rehacer éstos para que ellos tengan éxito, mientras se ejecuten en otra parte del Grid.

En algunos sistemas, el usuario está informado sobre cualquier fracaso del trabajo y debe decidir si emitir una orden para intentar re-ejecutar los trabajos fallados.

Ok… -_- luego de todo eso ahora vamos con las experiencias al…

Usar un Grid

Perspectiva de usuario:
Image Hosted by ImageShack.us
By loudness1986 at 2012-03-21
Al conectar e instalar el software del Grid:

Un usuario se conecta (autenticarse con propósito de seguridad) primero como un usuario de Grid, e instala el software en su propia máquina.

Una vez el usuario y/o la máquina se autentican, el software del Grid se proporciona al usuario para instalar en su máquina con propósitos de usar el Grid, así como servir a éste.

El usuario también puede que necesite informar al administrador que ID`s de usuario son suyos en otras máquinas que existen en el Grid.

Perspectiva de Administrador

Planeación

El administrador debe entender los requerimientos de la organización del Grid, para elegir mejor las tecnologías del Grid, que satisfagan esos requerimientos.

Instalación

Primero, el sistema de Grid seleccionado debe instalar un conjunto de máquinas apropiadamente configuradas (como por ejemplo con ancho de banda suficiente y con facilidad de recuperación en caso de fallos).

Cualquier base de datos crítica u otros datos esenciales para guardar la muestra de los trabajos, los miembros del Grid, y las máquinas, éstos deben tener posibilidad de backups.

En algunos sistemas de Grid, el software necesitará también el acceso principal a las máquinas donantes de recursos requeridas para instalar el software también en ellas.

Una vez que el Grid es operacional, pueden adherir software de aplicación y de datos en las máquinas donantes, como herramientas para ayudar con la administración de las licencias.

Perspectiva de Diseñador de Aplicaciones

Las aplicaciones de Grid pueden categorizarse en una de las siguientes tres categorías:

Aplicaciones que no se habilitan para usar los procesadores múltiples pero pueden ejecutarse en diferentes máquinas.

Aplicaciones que ya son diseñadas para usar los procesadores múltiples de un conjunto del Grid.

Aplicaciones que necesitan ser modificadas o rescritas para aprovecharse mejor un Grid.

Bases de datos Grid

¿Qué es una base de datos Grid?

Con todo lo anteriormente dicho,  podemos inferir que una base de datos grid es una base de datos de tipo distribuida que usa el Grid computing.

Image Hosted by ImageShack.us
By loudness1986 at 2012-03-21

Ventajas: Las principales ventajas que nos brindan las BD GRID son las siguientes:

Proporciona un mecanismo de colaboración transparente entre grupos dispersos, tanto científicos como comerciales. Facilita el acceso a recursos distribuidos desde cualquier PC.

Nunca queda obsoleta, ya que se integran diferentes tipos de máquinas y de recursos y todos los recursos se aprovechan. Si se renuevan todas las PCs de una oficina, se pueden incorporar las antiguas y las nuevas.

Permite a las empresas acceder y compartir bases de datos remotas. Esto es de gran importancia en las empresas que se dedican a la investigación, en donde enormes cantidades de información son generadas y analizadas casi a diario. Tiende a incrementar la productividad otorgando a los usuarios finales acceso a los recursos de computación, datos y almacenamiento que necesiten, cuando los necesiten. Se aprovechan los ciclos de procesamiento inutilizados de ordenadores que se encuentran en diversas zonas geográficas.

Ejemplo: Ordenadores que normalmente se encuentran inutilizados por la noche en una compañía en Europa, podrían ser utilizados en el día por una sede de operaciones en América.

Image Hosted by ImageShack.us
By loudness1986 at 2012-03-21

Desventajas: Algunas de los problemas que tienen las bases de datos Grid son los siguientes:

Heterogeneidad: debe poder manejar recursos de cualquier tipo.

Comunicación lenta y no uniforme: al acceder a recursos que están situados en otros puntos La conexión puede resultar más lenta que con otros sistemas de bases de datos.

Problemas organizativos: los recursos pueden pertenecer a distintas organizaciones, y esto puede influir en cuestiones como el control de acceso, distintas políticas de gestión de los recursos, etc. Económicos: estos sistemas pueden resultar caros.

Los principales objetivos que debe cumplir una base de datos Grid son:

 Atomicidad: Asegura que la transacción se ejecuta como una operación única, de tal forma que se realiza o no la operación, pero nunca se quedara a medias.

Aislamiento: Todas las transacciones concurrentes deben ver el mismo estado consistente de la base de datos, aislándose de los resultados intermedios inconsistentes que se puedan producir

Durabilidad: Asegura que una vez que una transacción se ha ejecutado, sus efectos son permanentes en la base de datos

Recopilación por: Jacinto Parra

Fuentes:

Haz clic para acceder a Rendimiento.pdf

scribd.com

Haz clic para acceder a Grid.pdf

Haz clic para acceder a Gestion%20de%20Datos%20en%20el%20Grid.pdf

 
7 comentarios

Publicado por en marzo 24, 2012 en Uncategorized