stringtranslate.com

X-сетка

Xgrid — это запатентованная программа и протокол сетевых вычислений , разработанные подразделением Advanced Computation Group компании Apple Inc. [ 3]

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

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

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

Apple смоделировала дизайн Xgrid на основе программы Zilla, распространяемой с интерфейсом прикладного программирования операционной системы OpenStep ( API ) NeXT , права на который принадлежали Apple. Компания также решила предоставить клиентской версии Mac OS X только функции командной строки и небольшую гибкость, в то время как серверная версия Xgrid для Mac OS X получила панель управления GUI и полный набор функций.

История

Зилла

Истоки Xgrid можно проследить до приложения Zilla от NeXT, созданного ученым Ричардом Крэндаллом в конце 1980-х годов. Zilla была первой программой распределенных вычислений, выпущенной на операционной системе конечного пользователя , и которая использовала мотив заставки в режиме ожидания, особенность дизайна, которая с тех пор встречается в широко используемых проектах, таких как Seti@Home . [1] [4] Zilla выиграла национальную премию Computerworld Smithsonian (научная категория) в 1991 году за простоту использования и хороший дизайн. [5] Apple приобрела Zilla вместе с остальной частью NeXT в 1997 году, [6] и использовала Zilla в качестве вдохновения для Xgrid. [1] Xgrid Technology Preview 1 был выпущен в январе 2004 года, [7] [3] [8] за которым последовал Technology Preview 2 в ноябре 2004 года. Xgrid 1.0 был выпущен как часть Mac OS X 10.4 Tiger в апреле 2005 года. [8]

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

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

Apple прекратила поддержку Xgrid в OS X 10.8 Mountain Lion [ 18] вместе с зависимыми сервисами, такими как Podcast Producer. [19] [20]

Протокол

Xgrid-протокол

Протокол Xgrid использует сетевую структуру BEEP для связи с узлами в сети. Инфраструктура системы включает три типа компьютеров, которые взаимодействуют по протоколу:

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

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

Архитектура

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

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

Xgrid основан на Blocks Extensible Exchange Protocol (BEEP), стандарте IETF, сопоставимом с HTTP , но с упором на двустороннюю мультиплексную связь, такую ​​как та, что встречается в одноранговых сетях . BEEP, в свою очередь, использует XML для определения профилей для связи между несколькими агентами через одну сеть или интернет-соединение. [25]

Программное обеспечение агента Xgrid было доступно для систем Unix и Linux . [26]

Интерфейс

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

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

Несмотря на отсутствие графического интерфейса контроллера в стандартном (несерверном) дистрибутиве Mac OS X , можно настроить контроллер Xgrid с помощью инструментов командной строкиxgridctl и . После запуска демонаxgrid контроллера Xgrid становится возможным администрирование сетки с помощью инструмента Xgrid Admin от Apple. [27] Некоторые приложения, такие как VisualHub, предоставляют возможности контроллера Xgrid через свои пользовательские интерфейсы. [28] [29]

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

Примечания

  1. ^ abc "Mac OS X Manual Page For xgrid(1)". Apple Inc. 27 июня 2007 г. Архивировано из оригинала 25 июля 2008 г. Получено 25 июля 2008 г.
  2. ^ "Mac OS X 10.5 SLA" (PDF) . Apple Inc. 9 марта 2005 г. Архивировано из оригинала (PDF) 12 мая 2008 г. Получено 12 июня 2008 г.
  3. ^ ab Cohen, Peter (29 марта 2004 г.). "Apple posts Xgrid intro". Macworld . Архивировано из оригинала 6 октября 2022 г. . Получено 14 мая 2023 г. .
  4. ^ Норбери-Глейзер, Мэри (2006). «Постройте свой собственный суперкомпьютер из ваших Mac, лежащих рядом: как использовать Xgrid от Tiger для создания кластеров и внесения вклада в проекты grid/cluster». MacTech . Том 22, № 1. Архивировано из оригинала 14 мая 2023 г. Получено 14 мая 2023 г.
  5. ^ "Zilla - Computerworld Honors Program Archives". Архивировано из оригинала 16 июля 2011 г. Получено 27 февраля 2009 г.
  6. ^ Шлендер, Брент; Тецели, Рик (2015). Становление Стива Джобса: эволюция безрассудного выскочки в дальновидного лидера . Crown Business . стр. 190–197. ISBN 978-0-7710-7914-6.
  7. ^ ab Côté, Daniel (21 июня 2004 г.). "Агент XGrid для архитектур Unix". Simple. Архивировано из оригинала 10 марта 2008 г. Получено 18 июля 2008 г.
  8. ^ abcde Хьюз, Баден (2006). Создание вычислительных сеток с помощью промежуточного программного обеспечения Xgrid от Apple. Четвертый Австралазийский симпозиум по сетевым вычислениям и электронным исследованиям (AusGrid 2006) и Четвертый Австралазийский семинар по информационной безопасности (AISW 2006). doi :10.1145/1151828.1151835 (неактивен 13 сентября 2024 г.).{{cite conference}}: CS1 maint: DOI неактивен по состоянию на сентябрь 2024 г. ( ссылка )
  9. Мартелларо, Джон (13 февраля 2007 г.). «Анонсирована вычислительная сетка OpenMacGrid для пользователей Mac». The Mac Observer . Архивировано из оригинала 30 августа 2008 г. Получено 1 марта 2009 г.
  10. Saunders, Grover (12 февраля 2007 г.). «OpenMacGrid создает праздник любви к распределенным вычислениям». Ars Technica . Архивировано из оригинала 24 августа 2009 г. Получено 1 марта 2009 г.
  11. Parnot, Charles (3 декабря 2007 г.). "Xgrid@Stanford - Home". Стэнфордский университет . Архивировано из оригинала 10 октября 2014 г. Получено 25 июля 2008 г.
  12. Parnot, Charles (3 декабря 2007 г.). "Xgrid@Stanford - Projects". Стэнфордский университет . Архивировано из оригинала 26 сентября 2011 г. Получено 25 июля 2008 г.
  13. ^ Чжугэ, Хай; Фокс, Джеффри К. (24 ноября 2005 г.). Grid и кооперативные вычисления - GCC 2005: 4-я международная конференция, Пекин, Китай, 30 ноября - 3 декабря 2005 г., Труды. Springer Science & Business Media. стр. 408. ISBN 978-3-540-30510-1.
  14. ^ Риццо, Джон (23 сентября 2011 г.). Mac OS X Lion Server для чайников. John Wiley & Sons. ISBN 978-1-118-17748-8.
  15. ^ Майклс, Филипп; Гриффитс, Роб; Снелл, Джейсон; Сефф, Джонатан (сентябрь 2004 г.). «10 вещей, которые нужно знать о тигре». Macworld . Том 21, № 9. стр. 50–55. ISSN  0741-8647 . Получено 16 октября 2008 г.(Требуется подписка)
  16. ^ Connolly, PJ (21 июня 2004 г.). «Оборудование Xserve от Apple производит фурор». InfoWorld . Т. 26, № 25. С. 29–30. ProQuest  194358336.(Требуется подписка)
  17. ^ Шварц, Эфраим (26 января 2004 г.). «Apple слишком много протестует?». InfoWorld . Т. 26, № 4. стр. 12. ProQuest  194347451.(Требуется подписка)
  18. Поуг, Дэвид (25 июля 2012 г.). OS X Mountain Lion: The Missing Manual . O'Reilly Media. стр. 2. ISBN 978-1-4493-4367-5.
  19. Риццо, Джон (31 августа 2012 г.). OS X Mountain Lion Server для чайников. John Wiley & Sons. стр. 76–77. ISBN 978-1-118-41781-2. Архивировано из оригинала 8 ноября 2021 г. . Получено 16 мая 2023 г. .
  20. ^ Риццо, Джон (23 сентября 2011 г.). «Что в Podcast Producer?». Mac OS X Lion Server для чайников. John Wiley & Sons. ISBN 978-1-118-17748-8.
  21. ^ Чжугэ, Хай; Фокс, Джеффри К. (24 ноября 2005 г.). Grid и кооперативные вычисления - GCC 2005: 4-я международная конференция, Пекин, Китай, 30 ноября - 3 декабря 2005 г., Труды. Springer Science & Business Media. ISBN 978-3-540-30510-1.
  22. ^ ab Côté, Daniel (7 января 2004 г.). "XGrid". Simple. Архивировано из оригинала 12 апреля 2008 г. Получено 18 июля 2008 г.
  23. ^ Гулкер, Крис (15 января 2004 г.). "Xgrid: Grid computing for the rest of us?". Linux.com . Архивировано из оригинала 20 ноября 2008 г. Получено 26 июля 2008 г.
  24. ^ ab "Руководство по программированию Xgrid: как это работает". Apple Inc. 31 октября 2007 г. Получено 12 июня 2008 г.
  25. ^ "Mac OS X Server: Xgrid" (PDF) . Краткий обзор технологий . Apple Inc. 1 ноября 2007 г. стр. 2. Архивировано (PDF) из оригинала 19 марта 2009 г. . Получено 1 марта 2009 г. .
  26. ^ Джепсон, Брайан; Ротман, Эрнест Э. (1 июня 2005 г.). Mac OS X Tiger для фанатов Unix. O'Reilly Media. стр. 211. ISBN 978-0-596-55274-9.
  27. ^ ab Muir, Dylan (23 июня 2005 г.). "10.4: Запуск Xgrid с клиентом Tiger". Советы по Mac OS X. Архивировано из оригинала 24 августа 2007 г. Получено 26 июля 2008 г.
  28. ^ "VisualHub предлагает поддержку Xgrid". MacNN. 7 июня 2006 г. Архивировано из оригинала 9 декабря 2017 г. Получено 26 июля 2008 г.
  29. ^ Chartier, David (7 июня 2006 г.). "VisualHub - Универсальный видеоконвертер". Engadget . Получено 14 мая 2023 г. .

Дальнейшее чтение