Cuadrícula X

Protocolo de computación distribuida creado por Apple

Cuadrícula X
Desarrollador(es)Compañía Apple Inc.
Lanzamiento inicial6 de enero de 2004 [1]
Versión final
10.7.5 / 4 de octubre de 2012 ; hace 12 años ( 04-10-2012 )
Sistema operativoSistema operativo Mac X
PlataformaIndependiente
TipoComputación distribuida
Licencia Acuerdo de licencia de usuario final (EULA) propietario [2]
Sitio webPágina de inicio en Wayback Machine (archivada el 2 de enero de 2006)

Xgrid es un programa y protocolo de computación en red patentado desarrollado por la subdivisión Advanced Computation Group de Apple Inc. [ 3]

Proporciona a los administradores de red un método para crear un clúster de computación , que les permite explotar la potencia computacional no utilizada anteriormente para cálculos que se pueden dividir fácilmente en operaciones más pequeñas, como los mapas de Mandelbrot . La configuración de un clúster Xgrid se puede lograr casi sin costo, ya que el cliente Xgrid está preinstalado en todas las computadoras que ejecutan Mac OS X 10.4 a Mac OS X 10.7 . El cliente Xgrid no estaba incluido en Mac OS X 10.8 . El controlador Xgrid, el programador de trabajos de la operación Xgrid, también está incluido en Mac OS X Server y como una descarga gratuita de Apple. Apple ha mantenido minimalista el mecanismo de control de trabajos de línea de comandos al tiempo que proporciona una API para desarrollar herramientas más sofisticadas construidas a su alrededor.

El programa utiliza su propio protocolo de comunicación superpuesto a un esquema para comunicarse con otros nodos. Este protocolo de comunicación interactúa con la infraestructura BEEP , un marco de protocolo de aplicación de red . Las computadoras descubiertas por el sistema Xgrid, es decir, las computadoras con el servicio Xgrid de Mac OS X habilitado, se agregan automáticamente a la lista de computadoras disponibles para usar en tareas de procesamiento.

Cuando el ordenador iniciador envía las instrucciones completas, o trabajo , para su procesamiento al controlador , el controlador divide la tarea en estos pequeños paquetes de instrucciones , conocidos como tareas . El diseño del sistema Xgrid consiste en que estos pequeños paquetes se transfieren a todos los ordenadores habilitados para Xgrid en la red. Estos ordenadores, o nodos , ejecutan las instrucciones proporcionadas por el controlador y luego devuelven los resultados. El controlador reúne los resultados de las tareas individuales en los resultados del trabajo completo y los devuelve al ordenador iniciador.

Apple diseñó Xgrid basándose en el programa Zilla, distribuido con la interfaz de programación de aplicaciones ( API ) del sistema operativo OpenStep de NeXT , cuyos derechos poseía Apple. La compañía también optó por proporcionar la versión cliente de Mac OS X únicamente con funciones de línea de comandos y poca flexibilidad, mientras que le dio a la versión Mac OS X Server de Xgrid un panel de control GUI y un conjunto completo de funciones.

Historia

Zilla

Los orígenes de Xgrid se remontan a la aplicación Zilla de NeXT creada por el científico Richard Crandall a finales de los años 1980. Zilla fue el primer programa informático distribuido lanzado en un sistema operativo de usuario final y que utilizó el motivo del protector de pantalla inactivo, una característica de diseño que desde entonces se encuentra en proyectos ampliamente utilizados como Seti@Home . [1] [4] Zilla ganó el Premio Nacional Computerworld Smithsonian (Categoría Ciencia) en 1991 por facilidad de uso y buen diseño. [5] Apple adquirió Zilla junto con el resto de NeXT en 1997, [6] y utilizó Zilla como inspiración para Xgrid. [1] Xgrid Technology Preview 1 fue lanzado en enero de 2004, [7] [3] [8] seguido por Technology Preview 2 en noviembre de 2004. Xgrid 1.0 fue lanzado como parte de Mac OS X 10.4 Tiger en abril de 2005. [8]

Varias organizaciones han adoptado Xgrid en grandes redes informáticas internacionales. Un ejemplo de un clúster Xgrid es OpenMacGrid de MacResearch, donde los científicos pueden solicitar acceso a grandes cantidades de potencia de procesamiento para ejecutar tareas relacionadas con su investigación. [9] [10] Otro fue el ahora desaparecido proyecto Xgrid@Stanford, que utilizaba una serie de ordenadores en el campus de la Universidad de Stanford y en todo el mundo [11] para realizar investigaciones bioquímicas. [12] [13] [14]

En un informe que cubría el anuncio, Macworld citó a Xgrid entre las características de Unix en "10 cosas que debe saber sobre Tiger", llamándolo "útil si trabaja con grandes cantidades de datos experimentales o renderiza animaciones complejas". [15] Después de la introducción de Xgrid en 2004, InfoWorld señaló que era una "tecnología de nivel 'de vista previa'" que se beneficiaría directamente del lanzamiento del Xserve G5 más tarde ese año. [16] El comentarista de InfoWorld Ephraim Schwartz también predijo que Xgrid era un movimiento de apertura en la entrada de Apple en el mercado de la informática empresarial. [17] [8]

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

Protocolo

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 computadoras que se comunican a través del protocolo:

  • El cliente, que envía trabajos de cálculo al controlador
  • El controlador, que segrega los trabajos en tareas y asigna estas tareas a los agentes.
  • Los agentes, que procesan su propia parte asignada del cálculo y devuelven los resultados al controlador, que los devuelve al cliente. [21] [8]

Una computadora puede actuar como uno o los tres componentes al mismo tiempo. El protocolo Xgrid proporciona la infraestructura básica para que las computadoras se comuniquen , pero no está involucrado en el procesamiento del cálculo especificado. [22] Xgrid está orientado a cálculos que consumen mucho tiempo y que se pueden separar fácilmente en tareas más pequeñas, a veces llamadas tareas vergonzosamente paralelas . [23] Esto incluye cálculos de Monte Carlo , renderizado 3D y mapas de Mandelbrot . [22]

Dentro del protocolo Xgrid, se pueden pasar tres tipos de mensajes a otras computadoras en el mismo clúster : solicitudes, notificaciones y respuestas. Las solicitudes deben ser respondidas por el destinatario con una respuesta, las notificaciones no requieren una respuesta y las respuestas son respuestas a mensajes enviados. Se identifican por su nombre , tipo (solicitud/notificación/respuesta) y contenido. Cada mensaje se encapsula en un mensaje BEEP (BEEP MSG) y se reconoce al recibirlo mediante una respuesta vacía (RPY). [7] Xgrid no aprovecha la infraestructura de mensajes/respuestas de BEEP. Cualquier mensaje recibido que requiera una respuesta simplemente genera un mensaje BEEP independiente que contiene la respuesta. Los mensajes de Xgrid se codifican como diccionarios de pares clave/valor que se convierten a XML antes de enviarse a través de la red BEEP.

Arquitectura

La arquitectura del sistema Xgrid está diseñada en torno a un sistema basado en trabajos; el controlador envía trabajos a los agentes y los agentes devuelven las respuestas. El cálculo real que ejecuta el controlador en un sistema Xgrid se conoce como trabajo. El trabajo contiene todos los archivos necesarios para completar la tarea con éxito, como los parámetros de entrada , archivos de datos , directorios , ejecutables y/o scripts de shell ; los archivos incluidos en un trabajo Xgrid deben poder ejecutarse de forma simultánea o asincrónica, o se pierden los beneficios de ejecutar dicho trabajo en un Xgrid. Una vez que se completa el trabajo, el controlador puede configurarse para notificar al cliente sobre la finalización o el fracaso de la tarea, por ejemplo, por correo electrónico . El cliente puede abandonar la red mientras se ejecutan las tareas. También puede monitorear el estado del trabajo a pedido consultando al controlador, aunque no puede rastrear el progreso en curso de las tareas individuales. [24] [8]

El controlador es fundamental para el correcto funcionamiento de un Xgrid, ya que este nodo es responsable de la distribución, supervisión y coordinación de tareas en los agentes. El programa que se ejecuta en el controlador puede asignar y reasignar tareas para gestionar fallos de agentes individuales a demanda. La cantidad de tareas asignadas a un agente depende de dos factores: la cantidad de agentes en un Xgrid y la cantidad de procesadores en cada nodo. La cantidad de agentes en un Xgrid determina cómo el controlador asignará las tareas. Las tareas pueden asignarse simultáneamente para una gran cantidad de agentes o ponerse en cola para una pequeña cantidad de agentes. Cuando se detecta un nodo con más de un procesador en un Xgrid, el controlador puede asignar una tarea por procesador; esto solo ocurre si la cantidad de agentes en la red es menor que la cantidad de tareas que el controlador debe completar. [24]

Xgrid se basa en el protocolo de intercambio extensible en bloques (BEEP), un estándar de la IETF comparable a HTTP , pero centrado en la comunicación multiplexada bidireccional, como la que se encuentra en las redes peer to peer . BEEP, a su vez, utiliza XML para definir perfiles para la comunicación entre múltiples agentes a través de una única red o conexión a Internet. [25]

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

Interfaz

Herramienta de administración de Xgrid

Si bien es posible acceder a Xgrid desde la línea de comandos, la interfaz gráfica de usuario de Xgrid, un programa incluido con Mac OS X Server y, a partir de marzo de 2009, disponible en línea, es una forma mucho más eficiente de administrar un sistema Xgrid. Originalmente, el agente Xgrid se incluía en todas las instalaciones de Mac OS X 10.4 Tiger , pero la GUI estaba reservada para los usuarios de Mac OS X Server . Esta decisión limitó los esfuerzos de la comunidad informática para adoptar la plataforma. Finalmente, Apple lanzó al público las herramientas de administración de Mac OS X Server, que incluían la aplicación de administración Xgrid incluida con Mac OS X Server. [27]

A pesar de la falta de una interfaz gráfica de controlador en la distribución estándar (no servidor) de Mac OS X , es posible configurar un controlador Xgrid a través de las herramientas de línea de comandosxgridctl y xgrid. Una vez que el demonio del controlador Xgrid está en ejecución, es posible administrar la red con la herramienta Xgrid Admin de Apple . [27] Algunas aplicaciones, como VisualHub, proporcionaron la capacidad de controlador Xgrid a través de sus interfaces de usuario. [28] [29]

Véase también

Notas

  1. ^ abc "Página del manual de Mac OS X para xgrid(1)". Apple Inc. 27 de junio de 2007. Archivado desde el original el 25 de julio de 2008 . Consultado el 25 de julio de 2008 .
  2. ^ "Mac OS X 10.5 SLA" (PDF) . Apple Inc. 9 de marzo de 2005. Archivado desde el original (PDF) el 12 de mayo de 2008 . Consultado el 12 de junio de 2008 .
  3. ^ ab Cohen, Peter (29 de marzo de 2004). «Apple publica una introducción a Xgrid». Macworld . Archivado desde el original el 6 de octubre de 2022 . Consultado el 14 de mayo de 2023 .
  4. ^ Norbury-Glaser, Mary (2006). "Construye tu propia supercomputadora a partir de tus Macs que tengas por ahí: cómo emplear Xgrid de Tiger para construir clústeres y contribuir a proyectos de red/clúster". MacTech . Vol. 22, no. 1. Archivado desde el original el 14 de mayo de 2023 . Consultado el 14 de mayo de 2023 .
  5. ^ "Zilla - Archivos del programa de honores de Computerworld". Archivado desde el original el 16 de julio de 2011. Consultado el 27 de febrero de 2009 .
  6. ^ Schlender, Brent; Tetzeli, Rick (2015). Cómo convertirse en Steve Jobs: la evolución de un emprendedor imprudente a un líder visionario . Crown Business . Págs. 190–197. ISBN. 978-0-7710-7914-6.
  7. ^ ab Côté, Daniel (21 de junio de 2004). «Agente XGrid para arquitecturas Unix». Simple. Archivado desde el original el 10 de marzo de 2008. Consultado el 18 de julio de 2008 .
  8. ^ abcde Hughes, Baden (2006). Construcción de redes computacionales con el middleware Xgrid de Apple. Cuarto Simposio Australasiano sobre Computación en Red e Investigación Electrónica (AusGrid 2006) y Cuarto Taller Australasiano sobre Seguridad de la Información (AISW 2006). doi :10.1145/1151828.1151835 (inactivo el 1 de noviembre de 2024).{{cite conference}}: CS1 maint: DOI inactivo a partir de noviembre de 2024 ( enlace )
  9. ^ Martellaro, John (13 de febrero de 2007). "OpenMacGrid Computing Grid for Mac Users Announced". The Mac Observer . Archivado desde el original el 30 de agosto de 2008. Consultado el 1 de marzo de 2009 .
  10. ^ Saunders, Grover (12 de febrero de 2007). «OpenMacGrid crea un festival de amor por la computación distribuida». Ars Technica . Archivado desde el original el 24 de agosto de 2009. Consultado el 1 de marzo de 2009 .
  11. ^ Parnot, Charles (3 de diciembre de 2007). «Xgrid@Stanford - Home». Universidad de Stanford . Archivado desde el original el 10 de octubre de 2014. Consultado el 25 de julio de 2008 .
  12. ^ Parnot, Charles (3 de diciembre de 2007). «Xgrid@Stanford - Proyectos». Universidad de Stanford . Archivado desde el original el 26 de septiembre de 2011. Consultado el 25 de julio de 2008 .
  13. ^ Zhuge, Hai; Fox, Geoffrey C. (24 de noviembre de 2005). Grid and Cooperative Computing - GCC 2005: 4th International Conference, Beijing, China, 30 de noviembre - 3 de diciembre de 2005, Actas. Springer Science & Business Media. pág. 408. ISBN 978-3-540-30510-1.
  14. ^ Rizzo, John (23 de septiembre de 2011). Mac OS X Lion Server para principiantes. John Wiley & Sons. ISBN 978-1-118-17748-8.
  15. ^ Michaels, Philip; Griffiths, Rob; Snell, Jason; Seff, Jonathan (septiembre de 2004). "10 cosas que debes saber sobre Tiger". Macworld . Vol. 21, núm. 9. págs. 50–55. ISSN  0741-8647 . Consultado el 16 de octubre de 2008 .(Se requiere suscripción)
  16. ^ Connolly, PJ (21 de junio de 2004). "El hardware Xserve de Apple genera revuelo". InfoWorld . Vol. 26, núm. 25. págs. 29-30. ProQuest  194358336.(Se requiere suscripción)
  17. ^ Schwartz, Ephraim (26 de enero de 2004). "¿Protesta Apple demasiado?". InfoWorld . Vol. 26, núm. 4. pág. 12. ProQuest  194347451.(Se requiere suscripción)
  18. ^ Pogue, David (25 de julio de 2012). OS X Mountain Lion: El manual que faltaba . O'Reilly Media. pág. 2. ISBN 978-1-4493-4367-5.
  19. ^ Rizzo, John (31 de agosto de 2012). OS X Mountain Lion Server For Dummies. John Wiley & Sons. págs. 76–77. ISBN 978-1-118-41781-2Archivado del original el 8 de noviembre de 2021 . Consultado el 16 de mayo de 2023 .
  20. ^ Rizzo, John (23 de septiembre de 2011). "¿Qué incluye 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, 30 de noviembre - 3 de diciembre de 2005, Actas. Springer Science & Business Media. ISBN 978-3-540-30510-1.
  22. ^ ab Côté, Daniel (7 de enero de 2004). «XGrid». Simple. Archivado desde el original el 12 de abril de 2008. Consultado el 18 de julio de 2008 .
  23. ^ Gulker, Chris (15 de enero de 2004). "Xgrid: ¿Computación en red para el resto de nosotros?". Linux.com . Archivado desde el original el 20 de noviembre de 2008. Consultado el 26 de julio de 2008 .
  24. ^ ab "Guía de programación de Xgrid: cómo funciona". Apple Inc. 31 de octubre de 2007. Consultado el 12 de junio de 2008 .
  25. ^ "Mac OS X Server: Xgrid" (PDF) . Technology Brief . Apple Inc. 1 de noviembre de 2007. p. 2. Archivado (PDF) desde el original el 19 de marzo de 2009. Consultado el 1 de marzo de 2009 .
  26. ^ Jepson, Brian; Rothman, Ernest E. (1 de junio de 2005). Mac OS X Tiger para expertos en Unix. O'Reilly Media. pág. 211. ISBN 978-0-596-55274-9.
  27. ^ ab Muir, Dylan (23 de junio de 2005). «10.4: Ejecutar un Xgrid con el cliente Tiger». Consejos para Mac OS X. Archivado desde el original el 24 de agosto de 2007. Consultado el 26 de julio de 2008 .
  28. ^ "VisualHub ofrece compatibilidad con Xgrid". MacNN. 7 de junio de 2006. Archivado desde el original el 9 de diciembre de 2017. Consultado el 26 de julio de 2008 .
  29. ^ Chartier, David (7 de junio de 2006). «VisualHub: el conversor de vídeo universal». Engadget . Consultado el 14 de mayo de 2023 .

Lectura adicional

  • Introducción a Xgrid en Wayback Machine (archivado el 12 de noviembre de 2011)
  • Vista aérea del protocolo BEEP utilizado por Xgrid en Wayback Machine (archivado el 12 de febrero de 2003)
  • Preguntas frecuentes sobre Xgrid en la Wiki de Xgrid en Wayback Machine (archivado el 16 de junio de 2010)

Obtenido de "https://es.wikipedia.org/w/index.php?title=Xgrid&oldid=1254990694"