INNOVACIÓN Y TECNOLOGÍA La estructura de la Grid computing VIDAL DÍAZ PRADO El término “the Grid” fue concebido a mediados de 1990 para denotar una infraestructura para ciencias e ingeniería avanzada.1 En los últimos años se han llevado a cabo progresos considerables en la construcción de dicha infraestructura,2,3 pero el término “Grid” ha sido catalogado como la conjunción de redes avanzadas para inteligencia artificial. Las redes computacionales a través de grids están constituidas por computadoras conectadas para un uso común; principalmente para fortalecer la capacidad de cálculo en una estructura conjunta. Hasta ahora, las grids encajan perfectamente en cálculos muy complejos, como en la simulación de clima, estado del tiempo, cirugías médicas virtuales y en análisis computacional de diseños de ingeniería. Se espera que en un futuro la Grid computing (GC) se utilice en las redes de los grandes consorcios y centros de investigación en todo el mundo, especialmente en redes globales conformadas a través de alianzas estratégicas. La complicación real y específica que subraya el concepto del grid es coordinar la distribución de los recursos y la solución de problemas en organizaciones globales, dinámicas o virtuales. Esta distribución no implica el intercambio exclusivo de archivos, sino acceso directo a computadoras, software, datos y otros recursos, como el que se requiere en un CIENCIA UANL / VOL. VIII, No. 2, ABRIL-JUNIO 2005 proceso de solución de problemas bajo un entorno colaborativo que facilite la ejecución y el control de estrategias emergentes en la industria, ciencias e ingeniería. Tal distribución debe estar controlada y definida de manera clara, pero, sobre todo, debe contar con el soporte de los clientes y proveedores. De tal manera que con ello se puedan estipular los lineamientos acerca de qué es lo que se va a compartir, quién estará habilitado para compartir, y bajo qué condiciones se efectuará este proceso. La técnica del Grid computing encuentra un amplio campo de acción en empresas que requieren de un ambiente rico en intercambio cruzado de datos y de una base sólida para la solución de problemas en ambientes computacionales colabo- rativos, donde diferentes empresas aporten todos o parte de sus recursos sin perder su autonomía (ver figura 1). Las actuales tecnologías de Internet abordan la comunicación e intercambio de información entre computadoras, pero no proporcionan el uso integrado y coordinado de recursos en sitios múltiples para efectos de análisis computacional. El intercambio Business to Business (B2B) se enfoca en la distribución de la información (a menudo a través de servers centralizados).4 Las empresas emergentes en el rubro de la “computación distribuida” tratan de posicionar las computadoras en un ambiente que les facilite su acceso a escala internacional, dado que en la actualidad sólo permiten un acceso Fig. 1. Una empresa puede participar en una o más organizaciones virtuales (OV), compartiendo todos o parte de sus recursos en un proceso de acceso cruzado. 259 LA altamente centralizado a los recursos. Con lo cual surge la imposibilidad de tener un entorno flexible que les permita trabajar mediante un control amplio en el proceso de compartir los recursos requeridos.5 En resumen, por un lado, las tecnologías actuales no tienen el arreglo necesario en el rango de tipo de recursos, y, por otro, no proporcionan la flexibilidad y el control necesario para una relación en la que se necesita compartir recursos e información en forma dinámica y remota. · Estructura de la grid El funcionamiento práctico de la arquitectura o estructura de las grids puede asimilarse evaluando las instancias que esta técnica tiene en función del uso, valor en el negocio y, sobre todo, de los resultados científicos que ésta entrega. La situación de la GC es similar a la del Internet en los 90, ya que los vendedores demandaban que las redes privadas, como la SNA y la DECnet, eran parte de la Internet y, por otra parte, otros demandaban que cada red de área local era una forma de Internet. Esta situación confusa se aclaró sólo cuando el protocolo de Internet (PI) se adoptó extensamente a las redes tanto de área amplia como de área local. Tres puntos fundamentales determinan cuándo un sistema es una grid:6 260 · · ESTRUCTURA DE LA GRID COMPUTING Si el sistema permite la coordinación de recursos que no están sujetos a un control centralizado; una grid integra y coordina tanto los recursos como a los usuarios que viven dentro de diversos dominios de control. Por ejemplo, los usuarios de Desktops vs. los de computación central, diferentes unidades administrativas de la misma compañía o diferentes compañías y direccionamientos de aplicaciones de seguridad, política, pagos, etc. Si el sistema no permite esto, entonces se trata de un simple sistema de gerencia local. Si el sistema permite utilizar protocolos e interfaces de uso general, abiertos y estándares; una grid está conformada de interfaces y protocolos que permiten acceso a recursos, descubrimiento de los mismos, autorización y autentificación. Es de suma importancia que estas interfaces y protocolos sean estándares y abiertas, de otra manera estaremos frente a un sistema enfocado a una aplicación específica. Si el sistema permite la obtención de un servicio de calidad no trivial, una grid permite que sus recursos constitutivos puedan utilizarse de una manera coordinada, de tal forma que pueda entregar una buena calidad en diferentes servicios. Por ejemplo: tiempo de respuesta, el rendimiento de procesamiento, la disponibilidad, seguridad y la coasignación de recursos múltiples que satisfagan las complejas exigencias de usuarios. De manera que la utilidad del sistema combinado sea significativamente mayor que la suma de sus partes. La estructura de un sistema grid en relación con la arquitectura de un protocolo de Internet Al definir la estructura de la GC no se debe caer únicamente en la enumeración de todos los protocolos requeridos para su buen funcionamiento. La arquitectura de la GC está constituida por recursos y protocolos de conectividad, los cuales facilitan el intercambio de recursos individuales. Los protocolos están diseñados para que puedan posicionarse a la punta de diversos rangos y tipos de recursos. El protocolo de la capa “fábrica” (ver figura 2) puede ser utilizado para construir un amplio rango de servicios globales y desempeño de actividades colectivas hasta una capa “colectiva”, la cual coordina el uso múltiple de los recursos. Para hacer más concreta la descripción de la estructura de la GC se describe a continuación la función de cada interfase.7 · Fábrica (interfaces para control local). La capa “fábrica” proporcio- CIENCIA UANL / VOL. VIII, No. 2, ABRIL-JUNIO 2005 VIDAL DÍAZ PRADO · na los recursos mediante los cuales el acceso compartido es mediado por los protocolos de la grid, por ejemplo: recursos computacionales, sistemas de almacenaje, catálogos, recursos en red y censores. Un recurso puede ser una entidad lógica, que es un sistema de archivos distribuidos, clusters de computadoras o una piscina de computadoras distribuidas. Conectividad (comunicación fácil y segura). La capa de conectividad define la comunicación central y la autentificación de protocolos requeridos para redes grid en transacciones específicas. Los protocolos de comunicación facilitan el intercambio de datos en- tre los recursos de la capa “fábrica”. Los protocolos de autentificación son construidos sobre bases de servicios de comunicación para verificar la identidad del usuario y los recursos. Los requerimientos de comunicación incluyen: transporte, ruteamiento y nombramiento. Respecto a la seguridad de la capa de la conectividad, se observa que la complejidad del problema de la seguridad haga que cualquier solución se base en estándares existentes siempre que sea posible. Como con la comunicación, muchos estándares de la seguridad desarrollados en el contexto y entorno de un protocolo de Internet son aplicables. Fig. 2. Capas de una arquitectura grid y su relación con la arquitectura de un protocolo de Intenet. CIENCIA UANL / VOL. VIII, No. 2, ABRIL-JUNIO 2005 · · · Recursos (compartimiento de recursos individuales). La estructura de la capa de recursos define protocolos (APIs -Interfase de programación de uso- y SDKs -Kits de Desarrollo de software-) que permitan una negociación segura, buen monitoreo, control, contabilidad y pago de operaciones donde se requiera compartir recursos individuales. Los protocolos de la capa del recurso se refieren enteramente a los recursos individuales y, por lo tanto, hacen caso omiso a aplicaciones de un estado global y acciones pequeñas (atómicas), a través de colecciones distribuidas. Colectiva (coordinación de múltiples recursos). Mientras que la capa de recursos se enfoca a una interacción con un recurso individual, la siguiente capa contiene protocolos y servicios (APIs y SDKs) que no están asociados a ningún otro recurso específico pero que, por naturaleza, es global. Por esto se hace referencia a una capa de arquitectura colectiva. Porque la estructura colectiva de los componentes en el recurso y la conectividad generan un cuello en el protocolo (como el de un reloj de arena). Esta coordinación permite la implementación de un desempeño variado en el proceso de compartir recursos. Aplicación. La capa final abarca 261 LA los recursos del usuario que funcionan en un ambiente de organizaciones virtuales Perspectivas en la Grid computing La Grid computing, descrita por muchos como la computación distribuida a gran escala, facilita a las computadoras que se encuentren dispersas geográficamente, o a los clusters computacionales (proveedores y consumidores) una distribución dinámica y virtual de acceso remoto a aplicaciones, datos y recursos computacionales. Más que una simple visión, GC proporciona un valor aplicable a los negocios, particularmente a aquéllos con demandas intensivas de cálculos o datos. Con la GC se puede equilibrar tanto la demanda como el suministro de datos, cálculos y recursos computacionales durante todo su ciclo. Suministrando a los usuarios un recurso agregado y transparente de alto poder computacional. En última instancia, la GC proporciona la capacidad adecuada para reducir los costos totales de acceso y distribución de aplicaciones, datos y recursos computacionales en un entorno global y virtual entre proveedores y consumidores. Resumen En este artículo se ha presentado una breve introducción al estado actual 262 ESTRUCTURA DE LA GRID COMPUTING de la Grid computing, las tecnologías derivadas de esta técnica deben ser un recurso coordinado y controlado, especialmente cuando se efectúe un proceso en el cual se compartan recursos. En un ambiente de GC, la utilidad final a los recursos compartidos puede ser muy distinta entre los miembros participantes en un arreglo cruzado. Mientras que un recurso computacional puede utilizarse por una organización participarte exclusivamente para correr un pedazo de un software, para otra puede aportar acceso a ciclos computacionales genéricos. Finalmente, es importante mencionar que las tecnologías grid requieren del soporte de otras tecnologías no menos importantes que, por otra parte, son la base para el buen funcionamiento de ésta. 4. 5. 6. Referencias 1. Foster, I. and Kesselman, C. (eds.). The Grid: Blueprint for a New Computing Infrastructure. Morgan Kaufmann, 1999. 2. Beiriger, J., Johnson, W., Bivens, H., Humphreys, S. and Rhea, R., Constructing the ASCI Grid. In Proc. 9th IEEE Symposium on High Performance Distributed Computing, 2000, IEEE Press. 3. Brunett, S., Czajkowski, K., Fitzgerald, S., Foster, I., Johnson, A., Kesselman, C., Leigh, J. and 7. Tuecke, S., Application Experiences with the Globus Toolkit. In Proc. 7th IEEE Symp. on High Performance Distributed Computing, 1998, IEEE Press. 81-89. Sculley, A. and Woods, W. B2B Exchanges: The Killer Application in the Business-toBusiness Internet Revolution. ISI Publications, 2000. Barry, J., Aparicio,M., Durniak, T., Herman, P., Karuturi, J.,Woods, C., Gilman, C., Ramnath, R. and Lam, H., NIIIPSMART: An Investigation of Distributed Object Approaches to Support MES Development and Deployment in a Virtual Enterprise. In 2nd Intl Enterprise Distributed Computing Workshop, 1998, IEEE Press. Armstrong, R., Gannon, D., Geist, A., Keahey, K., Kohn, S., McInnes, L. and Parker, S. Toward a Common Component Architecture for High Performance Scientific Computing. In Proc. 8th IEEE Symp. on High Performance Distributed Computing,1999. Goux, J.-P., Kulkarni, S., Linderoth, J. and Yoder, M., An Enabling Framework for Master-Worker Applications on the Computational Grid. In Proc. 9th IEEE Symp. on High Performance Distributed Computing, 2000, IEEE Press. CIENCIA UANL / VOL. VIII, No. 2, ABRIL-JUNIO 2005