Xgrid - Xgrid

Xgrid
Xgrid-icon.png
Разработчики)Apple Inc.
изначальный выпуск6 января 2004 г.[1]
Окончательный релиз
10.7.5 / 4 октября 2012 г.; 8 лет назад (2012-10-04)
Операционная системаMac OS X
ПлатформаНезависимый
ТипРаспределенных вычислений
ЛицензияПроприетарный EULA[2]
Интернет сайтwww.apple.com/server/macosx/technology/xgrid.html

Xgrid это проприетарный программа и распределенных вычислений протокол, разработанный Группа продвинутых вычислений подразделение Apple Inc. это позволяет сетевой компьютеры внести свой вклад в единственную задачу.

Это обеспечивает сетевые администраторы метод создания вычислительный кластер, что позволяет им использовать ранее неиспользованные вычислительные мощности для вычислений, которые можно легко разделить на более мелкие операции, такие как Карты Мандельброта. Настроить кластер Xgrid можно практически бесплатно, так как клиент Xgrid предварительно установлен на всех работающих компьютерах. Mac OS X 10.4 к Mac OS X 10.7. Клиент Xgrid не был включен в Mac OS X 10.8. Контроллер Xgrid, планировщик заданий операции Xgrid, также входит в Сервер Mac OS X и можно бесплатно загрузить с Apple. Apple сохранила минималистичный механизм управления заданиями из командной строки, предоставив API для разработки более сложных инструментов, построенных на его основе.

Программа использует собственное общение протокол наложены поверх схемы для связи с другими узлами. Этот протокол связи взаимодействует с Инфраструктура BEEP, протокол сетевого приложения рамки. Компьютеры, обнаруженные системой Xgrid, то есть компьютеры с включенной службой Xgrid Mac OS X, автоматически добавляются в список доступных компьютеров для использования для обработки задач.

Когда компьютер-инициатор отправляет полные инструкции, или работа, для обработки в контролер, контроллер разбивает задачу на эти небольшие пакеты инструкций, известный как задачи. Дизайн системы Xgrid состоит из этих небольших пакетов, передаваемых на все компьютеры с поддержкой Xgrid в сети. Эти компьютеры или узлы, выполнять инструкции, предоставленные контроллером, а затем возвращают результаты. Контроллер объединяет результаты отдельных задач в результаты всего задания и возвращает их на компьютер-инициатор.

Apple смоделировала дизайн Xgrid на основе программы Zilla, распространяемой с Следующий с ОТКРЫТЬ интерфейс прикладного программирования операционной системы (API ), права на который принадлежали Apple. Компания также решила предоставить клиентскую версию Mac OS X только с функциями командной строки и небольшой гибкостью, при этом предоставив Сервер Mac OS X версия Xgrid a GUI панель управления и полный набор функций.

История

Зилла

Первоначальная концепция Xgrid восходит к Zilla.app, который находится в операционной системе OPENSTEP, созданной Следующий в конце 1980-х гг. Zilla была первой программой распределенных вычислений, выпущенной на конечный пользователь операционная система и в которой использовалась заставка в режиме ожидания,[1] конструктивная особенность, которую можно найти в широко используемых проектах, таких как Сети @ Дом и Distributed.net. Зилла выиграла национальный Смитсоновская премия Computerworld (Категория науки) в 1991 году за простоту использования и хороший дизайн.[3] Apple приобрела Zilla вместе с остальной частью NeXT,[4] в 1997 году и позже использовал Zilla в качестве вдохновения для Xgrid.[1] Первый бета версия Xgrid была выпущена в январе 2004 года.[5]

Несколько организаций приняли Xgrid в крупных международных вычислительных сетях. Одним из примеров кластера Xgrid является OpenMacGrid MacResearch, где ученые могут запрашивать доступ к большим объемам вычислительной мощности для выполнения задач, связанных с их исследованиями.[6][7] Другим был уже не существующий проект Xgrid @ Stanford, в котором использовались различные компьютеры на Стэндфордский Университет кампус и по всему миру[8] провести биохимическое исследование.[9]

В предварительном рекламном материале MacWorld упомянул Xgrid среди функций Unix в «10 вещах, которые нужно знать о TIGER», назвав его «удобным, если вы работаете с огромными объемами экспериментальных данных или рендерите сложные анимации».[10] После появления Xgrid в 2004 году InfoWorld отметил, что это была «предварительная технология оценки», которая напрямую выиграла бы от Xserve G5 запуск в том же году.[11] InfoWorld Комментатор Эфраим Шварц также предсказал, что Xgrid станет первым шагом на пути выхода Apple на рынок корпоративных вычислений.[12]

Apple прекратила выпуск Xgrid с OS X v10.8 (Mountain Lion) вместе с зависимыми службами, такими как Podcast Producer.

Протокол

Xgrid протокол

Протокол Xgrid использует сетевую структуру BEEP для связи с узлами в сети. Инфраструктура системы включает три типа компьютеров, которые обмениваются данными по протоколу. Один из них - это клиент, который сообщает расчет. Далее идет контроллер, который запускается и разделяет расчет. Наконец, агенты обрабатывают свою выделенную часть расчета.

Компьютер может действовать как один или все три этих компонента одновременно. Протокол Xgrid обеспечивает базовую инфраструктуру для компьютеров. общаться, но не участвует в обработке указанного расчета.[13] Xgrid нацелен на трудоемкие вычисления, которые можно легко разделить на более мелкие задачи, иногда называемые смущающе параллельный задачи.[14] Это включает в себя Расчеты Монте-Карло, 3D рендеринг и Карты Мандельброта.[13]

В протоколе Xgrid существует три типа Сообщения можно передать на другие компьютеры на том же кластер: Запросы, уведомления и ответы. На запросы должен отвечать получатель, уведомления не требуют ответа, а ответы являются ответами на отправленные сообщения. Они идентифицируются по их имя, тип (запрос / уведомление / ответ) и содержание. Каждое сообщение инкапсулируется в сообщение BEEP (BEEP MSG) и подтверждается при получении пустым ответом (RPY).[5] Xgrid не использует инфраструктуру сообщений / ответов BEEP. Любое полученное сообщение, требующее ответа, просто генерирует независимое сообщение BEEP, содержащее ответ. Сообщения Xgrid кодируются как словари пар ключ / значение, которые конвертируются в XML перед отправкой по сети BEEP.

Архитектура

Архитектура системы Xgrid построена вокруг системы на основе заданий; контроллер отправляет агентам задания, а агенты возвращают ответы. Фактическое вычисление, которое контроллер выполняет в системе Xgrid, известно как задание. Задание содержит все файлы, необходимые для успешного выполнения задачи, такие как ввод параметры, Дата файлы, каталоги, исполняемые файлы и / или сценарии оболочки, файлы, включенные в задание Xgrid, должны иметь возможность выполняться одновременно или асинхронно, иначе любые преимущества выполнения такого задания в Xgrid будут потеряны. После завершения задания контроллер может быть настроен на уведомление клиента о завершении или сбое задачи, например, с помощью электронное письмо. Клиент может оставить сеть пока задачи выполняются. Он также может отслеживать статус задания по запросу, запрос контроллер, хотя он не может отслеживать текущий прогресс отдельных задач.[15]

Контроллер играет центральную роль в правильной работе Xgrid, поскольку этот узел отвечает за распределение, контроль и координацию задач на агентах. Программа, запущенная на контроллере, может назначать и переназначать задачи для обработки сбоев отдельных агентов по запросу. Количество задач, назначенных агенту, зависит от двух факторов: количества агентов в Xgrid и количества процессоры в каждом узле. Количество агентов в Xgrid определяет, как контроллер будет назначать задачи. Задачи могут быть назначены одновременно большому количеству агентов или поставлены в очередь для небольшого количества агентов. Когда в Xgrid обнаруживается узел с более чем одним процессором, контроллер может назначить одну задачу на каждый процессор; это происходит только в том случае, если количество агентов в сети меньше количества задач, которые должен выполнить контроллер.[15]

Xgrid основан на протоколе расширяемого обмена блоками (BEEP), IETF стандарт, сопоставимый с HTTP, но с акцентом на двустороннюю мультиплексную связь, такую ​​как в одноранговые сети. BEEP, в свою очередь, использует XML для определения профилей для связи между несколькими агентами через одну сеть или подключение к Интернету.[16]

Интерфейс

Инструмент администрирования Xgrid

Хотя можно получить доступ к Xgrid из командной строки, графический пользовательский интерфейс Xgrid, программа в комплекте с Сервер Mac OS X и, по состоянию на март 2009 года, доступный в Интернете, это гораздо более эффективный способ администрирования системы Xgrid. Изначально агент Xgrid был включен во все Mac OS X версии 10.4 установки, но графический интерфейс был зарезервирован для пользователей Сервер Mac OS X. Это решение ограничило усилия компьютерного сообщества по внедрению платформы. В конце концов, Apple выпустила общедоступные инструменты администрирования Mac OS X Server, в которые входило приложение администрирования Xgrid, входящее в комплект Mac OS X Server.[17]

Несмотря на отсутствие графического интерфейса контроллера в стандарте (несерверном) Mac OS X распространения, можно настроить контроллер Xgrid через командная строка инструменты xgridctl и xgrid.[18] Как только контроллер Xgrid демон работает, администрирование сети с помощью Apple Администратор Xgrid инструмент возможен.[17] Некоторые приложения, например VisualHub, предоставляли возможности контроллера Xgrid через свои пользовательские интерфейсы.[19][20]

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

Примечания

  1. ^ а б c "Страница руководства Mac OS X для xgrid (1)". Apple Inc. 3 декабря 2007 г.. Получено 25 июля, 2008.
  2. ^ «Mac OS X 10.5 SLA» (PDF). Apple Inc. 9 марта 2005 г. Архивировано с оригинал (PDF) 12 мая 2008 г.. Получено 12 июня, 2008.
  3. ^ "Zilla - Архивы программы отличия Computerworld". Архивировано из оригинал 16 июля 2011 г.. Получено 27 февраля, 2009.
  4. ^ «Apple Computer, Inc. соглашается приобрести NeXT Software Inc.» (Пресс-релиз). Компьютер Apple. 20 декабря 1996 г. Архивировано с оригинал 8 февраля 2002 г.. Получено 13 июня, 2008.
  5. ^ а б Коте, Даниэль (21 июня 2004 г.). «Агент XGrid для архитектур Unix». Простой. Архивировано из оригинал 10 марта 2008 г.. Получено 18 июля, 2008.
  6. ^ Мартелларо, Джон (13 февраля 2007 г.). «Объявлен выпуск OpenMacGrid Computing Grid для пользователей Mac». Наблюдатель Mac. Получено 1 марта, 2009.
  7. ^ Сондерс, Гровер (12 февраля 2007 г.). «OpenMacGrid создает праздник любви к распределенным вычислениям». Ars Technica. Получено 1 марта, 2009.
  8. ^ Парно, Чарльз (3 декабря 2007 г.). "Xgrid @ Stanford - Home". Стэндфордский Университет. Получено 25 июля, 2008.
  9. ^ Парно, Чарльз (3 декабря 2007 г.). "Xgrid @ Stanford - Проекты". Стэндфордский Университет. Получено 25 июля, 2008.
  10. ^ Майклс, Филипп; Роб Гриффитс; Джейсон Снелл; Джонатан Сефф (1 сентября 2004 г.). «10 фактов о ТИГРЕ». Macworld: журнал Macintosh. MacWorld. 21 (9): 50–55. ISSN  0741-8647. Получено 16 октября, 2008. (Требуется подписка)
  11. ^ Коннолли, П.Дж. (21 июня 2004 г.). «Аппаратное обеспечение Xserve от Apple вызывает волну». InfoWorld. Vol. 26 нет. 25. С. 29–30. ProQuest  194358336. (Требуется подписка)
  12. ^ Шварц, Ефрем (26 января 2004 г.). «Неужели Apple слишком много протестует?». InfoWorld. Vol. 26 нет. 4. п. 12. ProQuest  194347451. (Требуется подписка)
  13. ^ а б Коте, Даниэль (7 января 2004 г.). «XGrid». Простой. Архивировано из оригинал 12 апреля 2008 г.. Получено 18 июля, 2008.
  14. ^ Гулкер, Крис (15 января 2004 г.). «Xgrid: Grid-вычисления для всех нас?». Linux.com. Получено 26 июля, 2008.
  15. ^ а б «Руководство по программированию Xgrid: как это работает». Apple Inc. 31 октября 2007 г.. Получено 12 июня, 2008.
  16. ^ «Сервер Mac OS X: Xgrid» (PDF). Краткий обзор технологий. Apple Inc. 1 ноября 2007 г. с. 2. Получено 1 марта, 2009.
  17. ^ а б Мьюир, Дилан (23 июня 2005 г.). «10.4: Запуск Xgrid с клиентом Tiger». Macosxhints.com. Получено 26 июля, 2008.
  18. ^ Подробные инструкции по настройке контроллера xgrid без необходимости использования сервера OSX см. http://tengrid.com/wiki1/index.php?title=XGRID_FAQ
  19. ^ «VisualHub предлагает поддержку Xgrid». MacNN. 7 июня 2006 г.. Получено 26 июля, 2008.
  20. ^ Продавцы, Деннис (1 августа 2006 г.). «Обновление VisualHub добавляет более 20 новых функций». Новости Macsimum. Получено 1 марта, 2009.