Апачи Хама

Апачи Хама
Разработчик(и)Фонд программного обеспечения Apache
Предварительный релиз
0.7.1 / 14 марта 2016 г. ; 8 лет назад ( 2016-03-14 )
РепозиторийРепозиторий Хама
Написано вЯва
Операционная системаКроссплатформенный
ТипРаспределенные вычисления , массовые синхронные параллельные вычисления
ЛицензияЛицензия Apache 2.0
Веб-сайтhama.apache.org

Apache Hama — это распределенная вычислительная среда, основанная на методах синхронных параллельных вычислений для массовых научных вычислений, например, матричных , графовых и сетевых алгоритмов. [1] Первоначально являясь подпроектом Hadoop , [2] в 2012 году он стал проектом верхнего уровня Apache Software Foundation. Он был создан Эдвардом Дж. Юн, [3] который дал ему название (сокращение от «Hadoop Matrix Algebra»), [4] а Hama также означает бегемот на родном корейском языке Юна (하마), [5] следуя тенденции называть проекты Apache в честь животных и зоологии (например, Apache Pig ). Hama была вдохновлена ​​крупномасштабной графовой вычислительной средой Pregel от Google, описанной в 2010 году. [ 6] При выполнении графовых алгоритмов Hama показала пятидесятикратное увеличение производительности по сравнению с Hadoop. [7]

Выведенный из эксплуатации в апреле 2020 года, [8] ресурсы проекта стали доступны как часть Apache Attic. Юн сослался на проблемы установки , масштабируемости и сложную модель программирования [9] из-за отсутствия принятия.

Архитектура

Hama состоит из трех основных компонентов: BSPMaster, GroomServers и Zookeeper. [10]

BSPMaster

BSPmaster несет ответственность за:

  • Поддержание статуса сервера Groom
  • Управление супершагами в кластере
  • Ведение информации о ходе выполнения работ
  • Планирование работ и назначение задач по обслуживанию серверов
  • Распространение класса выполнения по серверам Groom
  • Контроль неисправности
  • Предоставление пользователям интерфейса управления кластером.

BSP Master и несколько Grooms запускаются скриптом. Затем bsp master запускается с RPC-сервером для серверов Groom. Groom-серверы запускаются с экземпляром BSPPeer и RPC-прокси для связи с bsp master. После запуска каждый Groom периодически отправляет сообщение heartbeat, содержащее состояние его сервера Groom, включая максимальную емкость задачи, неиспользуемую память и т. д.

Каждый раз, когда мастер BSP получает сообщение heartbeat, он обновляет статус сервера Groom - мастер BSP использует статус серверов Groom для эффективного назначения задач неактивным серверам Groom - и возвращает ответ heartbeat, содержащий назначенные задачи и другие действия, которые должен выполнить сервер Groom. На данный момент у нас есть планировщик заданий FIFO и очень простые алгоритмы назначения задач.

GroomServer

Сервер Groom (кратко именуемый Groom) — это процесс, который выполняет задачи BSP, назначенные BSPMaster. Каждый Groom связывается с BSPMaster, и он принимает назначенные задачи и сообщает о своем статусе посредством периодических связей с BSPMaster. Каждый Groom предназначен для работы с HDFS или другими распределенными хранилищами. По сути, сервер Groom и узел данных должны работать на одном физическом узле.

Смотритель зоопарка

Zookeeper используется для управления эффективной синхронизацией барьеров BSPPeers.

Смотрите также

Ссылки

  1. ^ "Apache Hama". Веб-сайт проекта . Получено 20 сентября 2013 г.
  2. ^ Seo, Sangwon; Yoon, Edward (2010). Hama: Эффективное вычисление матриц с использованием фреймворка mapreduce (PDF) . 2010 IEEE Вторая международная конференция по технологиям и науке облачных вычислений. IEEE .
  3. ^ Предложение Apache Hama
  4. ^ Ди, Липинг (2023-07-24). Дистанционное зондирование больших данных. Springer Nature . стр. 180. ISBN 9783031339325.
  5. ^ "하마 - 위키낱말사전" . ko.wiktionary.org (на корейском языке) . Проверено 21 февраля 2019 г.
  6. ^ Гжегож Малевич; Мэтью Х. Остерн; Аарт Дж. К. Бик; Джеймс К. Денерт; Илан Хорн; Нати Лейзер; Гжегож Чайковский (2010). «Pregel: система для крупномасштабной обработки графов». Труды Международной конференции ACM SIGMOD 2010 года по управлению данными . С. 135–146. doi :10.1145/1807167.1807184. ISBN 9781450300322.
  7. ^ Элсер, Бенедикт; Монтрезор, Альберто (2013). Оценочное исследование фреймворков больших данных для обработки графов (PDF) . Международная конференция IEEE по большим данным 2013 года. IEEE .
  8. ^ Apache Hama - Apache Attic
  9. ^ Юнгблут, Томас; Юн, Эдвард; Лин, Чиа-Хун Лин (14.11.2020). «Apache Hama — почему он не стал успешным». thomasjungblut.com . Получено 14.12.2023 .
  10. ^ Архитектура Apache Hama
  • Веб-сайт Apache Hama
  • Блог Apache Hama
Взято с "https://en.wikipedia.org/w/index.php?title=Apache_Hama&oldid=1193895600"