Ganglia

Ganglia — масштабируемая распределённая система мониторинга кластеров для параллельных и распределённых вычислений, а также облачных систем, построенная по иерархической структуре[2]. Позволяет отслеживать статистику и историю (загруженность процессоров, сетей) вычислений в реальном времени для каждого из наблюдаемых узлов[3].[4]

Проект создан в 1998 году в Калифорнийском университете в Беркли как продолжение проекта Millennium, инициированного Национальным научным фондом США[3].[5]

undefined

Назначение и применение

Система построена по иерархическому принципу для интеграции кластеров. Для мониторинга состояния кластеров и их объединения используется древовидная система, основанная на P2P-соединениях и широковещательных протоколах. Применяет такие технологии, как XML для представления данных, XDR для сжатия данных, RRDtool для хранения и визуализации данных. Для отображения страниц статистики применяется шаблонизатор TemplatePower[6].

Система портирована на широкий спектр операционных систем и процессорных архитектур; известно о применении Ganglia более чем на 500 кластерах по всему миру. Существуют сборки для следующих операционных систем: Linux (i386, x86-64, SPARC, DEC Alpha, powerpc, m68k, MIPS, ARM, PA-RISC, S390), FreeBSD, NetBSD, OpenBSD, DragonflyBSD, Mac OS X, Solaris (SPARC), AIX, IRIX, Tru64, HP-UX и Windows NT/XP/2000/2003/2008[7]. Ganglia используется для связи кластеров в университетских кампусах по всему миру и может масштабироваться для обработки кластеров, включающих до 2000 узлов.

Необходимые пакеты для установки Ganglia присутствуют в большинстве репозиториев современных дистрибутивов Linux.

Демоны

undefined
undefined

Демон gmetad («Ganglia-метадемон») используется для сбора информации и её отображения на стороне пользователя[8]. По умолчанию для получения данных от других клиентов используется TCP-порт 8651.

Демон gmond («Ganglia monitoring daemon») запускается на всех узлах, для которых необходимо собирать статистику.

Модули

Модуль gstat (Ganglia Cluster Status Tool) — консольная утилита, позволяющая импортировать информацию из Ganglia в другие приложения[9].

Для импорта данных из сторонних источников используется модуль gmetric[10].

gexec (gexecd) — масштабируемая система удалённого выполнения задач (программ) в кластерах, которая может работать совместно с системой Ganglia. Для удалённого выполнения параллельных (распределённых) заданий используется RSA-аутентификация (демон authd)[11]. Система прозрачно перенаправляет потоки ввода-вывода (stdin, stdout, stderr) и события между распределёнными процессами, что позволяет формировать распределённую среду переменных окружения и масштабировать систему до более чем 1000 узлов без потери надёжности. Механизм работы основывается на создании древовидного массива всех TCP-сокетов между узлами и распространении управляющей информации по всему дереву. Иерархическая система управления gexec позволяет распределять как вычислительные задания, так и ресурсы, что помогает обходить ограничения отдельных узлов, например, по количеству открытых файловых дескрипторов[12]. В составе gexec реализовано распределение нагрузки в кластере. Информация о загруженности узлов передаётся с помощью gmond.

Для хранения и визуализации данных в системе используется инструмент RRDtool.

Примечания

  1. Release 3.7.6
  2. Материалы Девятой международной конференции-семинара. Высокопроизводительные параллельные вычисления на кластерных системах : [рус.] / С. М. Аракелян (отв. ред.). — Владимир : Издательство Владимирского государственного университета, 2009. — P. 65. — ISBN 978-5-89368-958-7.
  3. 1 2 Ganglia Monitoring System (англ.). ganglia.info. Дата обращения: 17 мая 2011. Архивировано 7 июля 2012 года.
  4. Ganglia:: Wikimedia Wikimedia Cloud Report (англ.). ganglia.wikimedia.org (26 января 2007). Дата обращения: 18 июня 2024. Архивировано 26 января 2007 года.
  5. start [UC Berkeley Clustered Computing] (англ.). millennium.berkeley.edu. Дата обращения: 18 июня 2024. Архивировано 22 июня 2010 года.
  6. Official TemplatePower Website (англ.). Дата обращения: 22 декабря 2010. Архивировано 11 апреля 2011 года.
  7. Ganglia 3.1.x Installation and Configuration — ganglia (англ.). sourceforge.net. Дата обращения: 18 июня 2024. Архивировано 24 декабря 2010 года.
  8. Ubuntu — Подробная информация о пакете gmetad в natty. packages.ubuntu.com. Дата обращения: 16 декабря 2010. Архивировано 3 ноября 2014 года.
  9. ganglia_readme — ganglia (англ.). sourceforge.net. Дата обращения: 18 июня 2024. Архивировано 29 декабря 2010 года.
  10. Ganglia и Nagios: Часть 1. Мониторинг коммерческих кластеров с помощью Ganglia. IBM developerWorks. Дата обращения: 3 января 2011. Архивировано 5 июня 2009 года.
  11. authd (англ.). theether.org. Дата обращения: 16 февраля 2011. Архивировано 15 июля 2011 года.
  12. gexec (англ.). theether.org. Дата обращения: 16 февраля 2011. Архивировано 23 апреля 2011 года.

Ссылки