Articulo de referencia

Apache Hama

Apache Hama es un marco de computación distribuida basado en técnicas de computación paralela síncrona masiva para cálculos científicos masivos, por ejemplo, algoritmos de matri...

Apache Hama es un marco de computación distribuida basado en técnicas de computación paralela síncrona masiva para cálculos científicos masivos, por ejemplo, algoritmos de matrices , grafos y redes . [ 1 ] Originalmente un subproyecto de Hadoop , [ 2 ] se convirtió en un proyecto de nivel superior de la Apache Software Foundation en 2012. Fue creado por Edward J. Yoon, [ 3 ] quien lo nombró (abreviatura de "Hadoop Matrix Algebra"), [ 4 ] y Hama también significa hipopótamo en el idioma coreano nativo de Yoon (하마), [ 5 ] siguiendo la tendencia de nombrar los proyectos de Apache en honor a animales y zoología (como Apache Pig ). Hama se inspiró en el marco de computación de grafos a gran escala Pregel de Google descrito en 2010. [ 6 ] Al ejecutar algoritmos de grafos, Hama mostró un aumento de rendimiento cincuenta veces en relación con Hadoop. [ 7 ]

Retirado en abril de 2020, [ 8 ] los recursos del proyecto están disponibles como parte de Apache Attic. Yoon citó problemas de instalación , escalabilidad y un modelo de programación difícil [ 9 ] como razones de su falta de adopción.

Arquitectura

Hama consta de tres componentes principales: BSPMaster, GroomServers y Zookeeper. [ 10 ]

BSPMaster

BSPMaster es responsable de:

  • Manteniendo el estado del servidor de peluquería
  • Controlar los pasos adicionales en un clúster
  • Mantener actualizada la información sobre el progreso del trabajo.
  • Programación de trabajos y asignación de tareas para el mantenimiento de servidores
  • Difusión de la clase de ejecución a través de los servidores de novios
  • Fallo de control
  • Proporcionar a los usuarios la interfaz de control del clúster.

El script inicia un servidor maestro BSP y varios servidores de mantenimiento. A continuación, el servidor maestro BSP inicia un servidor RPC para los servidores de mantenimiento. Estos últimos inician una instancia de BSPPeer y un proxy RPC para comunicarse con el servidor maestro BSP. Una vez iniciado, cada servidor de mantenimiento envía periódicamente un mensaje de latido que incluye el estado del servidor, como la capacidad máxima de tareas, la memoria no utilizada, etc.

Cada vez que el maestro BSP recibe un mensaje de latido, actualiza el estado del servidor de mantenimiento. El maestro BSP utiliza el estado de los servidores de mantenimiento para asignar tareas a los servidores inactivos y devuelve una respuesta de latido con las tareas asignadas y otras acciones que debe realizar cada servidor. Actualmente, el maestro BSP cuenta con un planificador de tareas FIFO y algoritmos sencillos de asignación de tareas.

GroomServer

Un servidor de mantenimiento (o simplemente "manejo") es un proceso que ejecuta las tareas BSP asignadas por BSPMaster. Cada servidor de mantenimiento se comunica con BSPMaster, recibe las tareas asignadas e informa de su estado mediante comunicaciones periódicas con BSPMaster. Cada servidor de mantenimiento está diseñado para ejecutarse con HDFS u otros sistemas de almacenamiento distribuido. Básicamente, un servidor de mantenimiento y un nodo de datos deben ejecutarse en un mismo nodo físico.

cuidador de animales

Zookeeper se utiliza para gestionar la sincronización eficiente de barreras de los BSPPeers.

Véase también

Referencias

  1. "Apache Hama" . Sitio web del proyecto . Consultado el 20 de septiembre de 2013 .
  2. Seo, Sangwon; Yoon, Edward (2010). Hama: Un cálculo matricial eficiente con el marco mapreduce (PDF) . 2010 IEEE Second International Conference on Cloud Computing Technology and Science. IEEE .
  3. Propuesta de Apache Hama
  4. Di, Liping (24 de julio de 2023). Teledetección y macrodatos . Springer Nature . pág. 180. ISBN  9783031339325.
  5. «하마 - 위키낱말사전» . ko.wiktionary.org (en coreano) . Consultado el 21 de febrero de 2019 .
  6. Grzegorz Malewicz; Matthew H. Austern; Aart JC Bik; James C. Dehnert; Ilan Horn; Naty Leiser; Grzegorz Czajkowski (2010). «Pregel: un sistema para el procesamiento de grafos a gran escala». Actas de la Conferencia Internacional ACM SIGMOD 2010 sobre Gestión de datos . págs. 135–146 . doi : 10.1145/1807167.1807184 . ISBN  9781450300322.
  7. Elser, Benedikt; Montresor, Alberto (2013). Un estudio de evaluación de marcos de Big Data para el procesamiento de grafos (PDF) . Conferencia Internacional IEEE de 2013 sobre Big Data. IEEE .
  8. Apache Hama - Ático Apache
  9. Jungblut, Thomas; Yoon, Edward; Lin, Chia-Hung Lin (14 de noviembre de 2020). "Apache Hama: por qué no tuvo éxito" . thomasjungblut.com . Consultado el 14 de diciembre de 2023 .
  10. Arquitectura Apache Hama
  • Sitio web de Apache Hama
  • Blog de Apache Hama