Dark Mode

Ir al contenido

Xgrid

De Wikipedia, la enciclopedia libre
Xgrid
Informacion general
Tipo de programa Informatica distribuida
Desarrollador Apple, Inc
Lanzamiento inicial 10.7.5 / 4 de octubre de 2012; hace 12 anos
Discontinuacion 25 de julio de 2012
Licencia EULA
Informacion tecnica
Plataformas admitidas Independiente
Enlaces

Xgrid[1] es un programa y protocolo propietario de computacion en malla desarrollado por la subdivision Advanced Computation Group[2] de Apple Inc.[3]

Proporciona a los administradores de red un metodo para crear un cluster informatico, lo que les permite explotar una potencia de calculo hasta ahora desaprovechada para calculos que pueden dividirse facilmente en operaciones mas pequenas, como los mapas de Mandelbrot. La configuracion de un cluster Xgrid puede realizarse sin apenas coste, ya que el cliente Xgrid esta preinstalado en todos los ordenadores que ejecutan Mac OS X 10.4 a Mac OS X 10.7. El cliente Xgrid no se incluyo en Mac OS X 10.8. El controlador Xgrid, el programador de trabajos de la operacion Xgrid, tambien se incluye en Mac OS X Server y como descarga gratuita de Apple. Apple ha mantenido minimalista el mecanismo de control de trabajos de la linea de comandos, al tiempo que proporciona una API para desarrollar herramientas mas sofisticadas construidas a su alrededor.

El programa emplea su propio protocolo de comunicacion sobre un esquema para comunicarse con otros nodos. Este protocolo de comunicacion interactua con la infraestructura BEEP, un marco de protocolos de aplicacion de red. Las computadoras descubiertas por el sistema Xgrid, es decir, las computadoras con el servicio Xgrid de Mac OS X activado, se anaden automaticamente a la lista de computadoras disponibles para realizar tareas de procesamiento.

Cuando la computadora iniciadora envia las instrucciones completas, o trabajo, para su procesamiento al controlador, este divide la tarea en estos pequenos paquetes de instrucciones, conocidos como tareas. El diseno del sistema Xgrid consiste en que estos pequenos paquetes se transfieren a todas las computadoras de la red habilitados para Xgrid. Estas computadoras, o nodos, ejecutan las instrucciones proporcionadas por el controlador y devuelven los resultados. El controlador ensambla los resultados de las tareas individuales en los resultados del trabajo completo y los devuelve al ordenador iniciador.

Apple modelo el diseno de Xgrid a partir del programa Zilla, distribuido con la interfaz de programacion de aplicaciones (API) del sistema operativo OpenStep de NeXT, cuyos derechos poseia. La empresa tambien opto por dotar a la version cliente de Mac OS X unicamente de funciones de linea de comandos y poca flexibilidad, mientras que doto a la version Mac OS X Server de Xgrid de un panel de control GUI y un conjunto completo de funciones.

Historia

[editar]

Los origenes de Xgrid se remontan a la aplicacion Zilla de NeXT, creada por el cientifico Richard Crandall a finales de los anos ochenta. Zilla fue el primer programa de computacion distribuida lanzado en un sistema operativo de usuario final y que utilizaba el motivo del salvapantallas inactivo, una caracteristica de diseno que desde entonces se encuentra en proyectos ampliamente utilizados como Seti@Home.[1] [4] Zilla gano el premio nacional Computerworld Smithsonian Award (categoria Ciencia) en 1991 por su facilidad de uso y buen diseno.[5] Apple adquirio Zilla junto con el resto de NeXT en 1997,[6] y utilizo Zilla como inspiracion para Xgrid.[1] Xgrid Technology Preview 1 se publico en enero de 2004,[3] [7] [8] seguido de Technology Preview 2 en noviembre de 2004. Xgrid 1.0 se lanzo como parte de Mac OS X 10.4 Tiger en abril de 2005.[8]

Varias organizaciones han adoptado Xgrid en grandes redes informaticas internacionales. Un ejemplo de cluster Xgrid es el OpenMacGrid de MacResearch, donde los cientificos pueden solicitar acceso a grandes cantidades de potencia de procesamiento para ejecutar tareas relacionadas con su investigacion.[9] [10] Otro fue el ya desaparecido proyecto Xgrid@Stanford, que utilizaba una serie de computadoras del campus de la Universidad de Stanford y de todo el mundo[11] para realizar investigaciones bioquimicas.[12] [13] [14]

En un informe que cubria el anuncio, Macworld citaba Xgrid entre las caracteristicas Unix en <<10 Things to Know about Tiger>>, calificandolo de <>.[15] Tras la presentacion de Xgrid en 2004, InfoWorld senalo que se trataba de una <> que se beneficiaria directamente del lanzamiento del Xserve G5 a finales de ese ano.[16] El comentarista de InfoWorld Ephraim Schwartz tambien predijo que Xgrid era un movimiento de apertura en la entrada de Apple en el mercado de la informatica empresarial.[8] [17]

Apple interrumpio Xgrid con OS X 10.8 Mountain Lion,[18] junto con servicios dependientes como Podcast Producer.[19] [20]

Protocolo

[editar]
Protocolo Xgrid

El protocolo Xgrid utiliza el marco de red BEEP para comunicarse con los nodos de la red. La infraestructura del sistema incluye tres tipos de ordenadores que se comunican a traves del protocolo:

  • El cliente, que envia trabajos de calculo al controlador
  • El controlador, que divide los trabajos en tareas y las asigna a los agentes.
  • Los agentes, que procesan la parte del calculo que les ha sido asignada y devuelven los resultados al controlador, que a su vez los devuelve al cliente.[8] [21]

Una computadora puede actuar como uno o los tres componentes al mismo tiempo. El protocolo Xgrid proporciona la infraestructura basica para que las computadoras se comuniquen, pero no interviene en el procesamiento del calculo especificado.[22] Xgrid esta orientado a calculos que consumen mucho tiempo y que pueden segregarse facilmente en tareas mas pequenas, a veces denominadas tareas embarazosamente paralelas.[23] Esto incluye calculos Montecarlo, renderizado 3D y mapas de Mandelbrot.[22]

Dentro del protocolo Xgrid, se pueden transmitir tres tipos de mensajes a otras computadoras del mismo cluster: solicitudes, notificaciones y respuestas. Las solicitudes deben ser respondidas por el destinatario con una respuesta, las notificaciones no requieren respuesta y las respuestas son respuestas a mensajes enviados. Se identifican por su nombre, tipo (solicitud/notificacion/respuesta) y contenido. Cada mensaje se encapsula en un mensaje BEEP (BEEP MSG) y se acusa recibo mediante una respuesta vacia (RPY).[7] Xgrid no aprovecha la infraestructura de mensajes/respuestas BEEP. Cualquier mensaje recibido que requiera una respuesta simplemente genera un mensaje BEEP independiente que contiene la respuesta. Los mensajes Xgrid se codifican como diccionarios de pares clave/valor que se convierten a XML antes de ser enviados a traves de la red BEEP.

Arquitectura

[editar]

La arquitectura del sistema Xgrid esta disenada en torno a un sistema basado en tareas: el controlador envia tareas a los agentes y estos devuelven las respuestas. El calculo real que el controlador ejecuta en un sistema Xgrid se conoce como trabajo (task). El trabajo contiene todos los archivos necesarios para completar la tarea con exito, como los parametros de entrada, archivos de datos, directorios, ejecutables y/o shell scripts, los archivos incluidos en un trabajo Xgrid debe ser capaz de ejecutarse simultaneamente o de forma asincrona, o cualquier beneficio de la ejecucion de un trabajo de este tipo en un Xgrid se pierde. Una vez finalizado el trabajo, el controlador puede configurarse para notificar al cliente la finalizacion o el fallo de la tarea, por ejemplo por correo electronico. El cliente puede abandonar la red mientras se ejecutan las tareas. Tambien puede monitorizar el estado del trabajo bajo demanda consultando al controlador, aunque no puede seguir el progreso de tareas individuales.[8] [24]

El controlador es fundamental para el correcto funcionamiento de un Xgrid, ya que este nodo es responsable de la distribucion, supervision y coordinacion de tareas en los agentes. El programa que se ejecuta en el controlador puede asignar y reasignar tareas para hacer frente a fallos individuales de los agentes bajo demanda. El numero de tareas asignadas a un agente depende de dos factores: el numero de agentes en un Xgrid y el numero de procesadores en cada nodo. El numero de agentes en un Xgrid determina como asignara las tareas el controlador. Las tareas pueden asignarse simultaneamente para un gran numero de agentes, o en cola para un pequeno numero de agentes. Cuando se detecta un nodo con mas de un procesador en un Xgrid, el controlador puede asignar una tarea por procesador; esto solo ocurre si el numero de agentes en la red es inferior al numero de tareas que el controlador tiene que completar.[24]

Xgrid se basa en el Protocolo de Intercambio Extensible de Bloques (BEEP, por sus siglas en ingles), un estandar del IETF comparable a HTTP, pero centrado en la comunicacion bidireccional multiplexada, como la que se da en las redes peer-to-peer. BEEP, a su vez, utiliza XML para definir perfiles de comunicacion entre multiples agentes a traves de una unica red o conexion a Internet.[25]

El software del agente Xgrid estaba disponible para sistemas Unix y Linux.[26]

Interfaz

[editar]

Aunque es posible acceder a Xgrid desde la linea de comandos, la interfaz grafica de usuario Xgrid, un programa incluido con Mac OS X Server y, desde marzo de 2009, disponible en linea, es una forma mucho mas eficiente de administrar un sistema Xgrid. Originalmente, el agente Xgrid se incluia en todas las instalaciones de Mac OS X 10.4 Tiger, pero la interfaz grafica de usuario se reservaba a los usuarios de Mac OS X Server. Esta decision limito los esfuerzos de la comunidad informatica por adoptar la plataforma. Finalmente, Apple puso a disposicion del publico las herramientas de administracion de Mac OS X Server, que incluian la aplicacion de administracion de Xgrid incluida con Mac OS X Server.[27]

A pesar de la falta de una interfaz grafica de controlador en la distribucion estandar (no servidor) de Mac OS X, es posible configurar un controlador Xgrid a traves de las herramientas de linea de comandos xgridctl y xgrid. Una vez que el demonio controlador de Xgrid se esta ejecutando, es posible la administracion de la red con la herramienta Xgrid Admin de Apple.[27] Algunas aplicaciones, como VisualHub, proporcionan la capacidad de controlador Xgrid a traves de sus interfaces de usuario.[28] [29]

Referencias

[editar]
  1. | a b c <>. web.archive.org. 25 de julio de 2008. Archivado desde el original el 25 de julio de 2008. Consultado el 28 de febrero de 2025.
  2. | <<"Mac OS X 10.5 SLA">>. Apple Inc. 2005. Archivado desde el original el 15 de septiembre de 2011. Consultado el 28 de febrero de 2025.
  3. | a b <>. Macworld (en ingles). Consultado el 28 de febrero de 2025.
  4. | <>. preserve.mactech.com. Consultado el 28 de febrero de 2025.
  5. | <<2005 Computerworld Honors Program>>. web.archive.org. 16 de julio de 2011. Archivado desde el original el 16 de julio de 2011. Consultado el 28 de febrero de 2025.
  6. | <>. Wikipedia (en ingles). 11 de octubre de 2023. |fechaacceso= requiere |url= (ayuda)
  7. | a b <>. web.archive.org. 10 de marzo de 2008. Archivado desde el original el 10 de marzo de 2008. Consultado el 28 de febrero de 2025.
  8. | a b c d e <>. Fourth Australasian Symposium on Grid Computing and e-Research (AusGrid 2006) and the Fourth Australasian Information Security Workshop (AISW 2006). 2006. doi:10.1145/1151828.1151835.
  9. | <>. www.macobserver.com. Consultado el 28 de febrero de 2025.
  10. | <>. Ars Technica (en ingles estadounidense). Archivado desde el original el 11 de septiembre de 2011. Consultado el 28 de febrero de 2025.
  11. | <>. web.archive.org. 10 de octubre de 2014. Archivado desde el original el 10 de octubre de 2014. Consultado el 28 de febrero de 2025.
  12. | <>. web.archive.org. 26 de septiembre de 2011. Archivado desde el original el 26 de septiembre de 2011. Consultado el 28 de febrero de 2025.
  13. | Zhuge, Hai; Fox, Geoffrey C. (24 de noviembre de 2005). Grid and Cooperative Computing - GCC 2005: 4th International Conference, Beijing, China, November 30 -- December 3, 2005, Proceedings (en ingles). Springer Science & Business Media. ISBN 978-3-540-30510-1. Consultado el 28 de febrero de 2025.
  14. | Rizzo, John (23 de septiembre de 2011). Mac OS X Lion Server For Dummies (en ingles). John Wiley & Sons. ISBN 978-1-118-17748-8. Consultado el 28 de febrero de 2025.
  15. | <>. login.ebsco.com. Consultado el 28 de febrero de 2025.
  16. | Connolly, P.J. (2004). <<"Apple's Xserve Hardware Makes Waves">>. InfoWorld. Vol. 26, no. 25.
  17. | Schwartz, Ephraim (2004). <<"Doth Apple Protest Too Much?">>. InfoWorld. Vol. 26, no. 4. p. 12.
  18. | Pogue, David (2012). <>. O'Reilly Media. ISBN 978-1-4493-4367-5.
  19. | Rizzo, John (31 de agosto de 2012). OS X Mountain Lion Server For Dummies (en ingles). John Wiley & Sons. ISBN 978-1-118-41781-2. Consultado el 28 de febrero de 2025.
  20. | Rizzo, John (2011). <<"What's in Podcast Producer?">>. Mac OS X Lion Server For Dummies. John Wiley & Sons. ISBN 978-1-118-17748-8.
  21. | Zhuge, Hai; Fox, Geoffrey C. (24 de noviembre de 2005). Grid and Cooperative Computing - GCC 2005: 4th International Conference, Beijing, China, November 30 -- December 3, 2005, Proceedings (en ingles). Springer Science & Business Media. ISBN 978-3-540-30510-1. Consultado el 28 de febrero de 2025.
  22. | a b <>. web.archive.org. 12 de abril de 2008. Archivado desde el original el 12 de abril de 2008. Consultado el 28 de febrero de 2025.
  23. | <>. www.linux.com (en ingles). Archivado desde el original el 21 de abril de 2009. Consultado el 28 de febrero de 2025.
  24. | a b <<"Xgrid Programming Guide: How It Works">>. Apple Inc. 2007.
  25. | <<"Mac OS X Server: Xgrid">>. Technology Brief. Apple Inc. 2007. Archivado desde el original el 19 de marzo de 2009. Consultado el 28 de febrero de 2025.
  26. | Jepson, Brian; Rothman, Ernest E. (1 de junio de 2005). Mac OS X Tiger for Unix Geeks (en ingles). "O'Reilly Media, Inc.". ISBN 978-0-596-55274-9. Consultado el 28 de febrero de 2025.
  27. | a b <>. web.archive.org. 24 de agosto de 2007. Archivado desde el original el 24 de agosto de 2007. Consultado el 28 de febrero de 2025.
  28. | <>. web.archive.org. 9 de diciembre de 2017. Archivado desde el original el 9 de diciembre de 2017. Consultado el 28 de febrero de 2025.
  29. | <>. Engadget (en ingles estadounidense). 7 de junio de 2006. Consultado el 28 de febrero de 2025.

Lectura adicional

[editar]
Control de autoridades