Advanced Resource Connector ( ARC ) — это промежуточное программное обеспечение для сетевых вычислений, представленное NorduGrid . Оно предоставляет общий интерфейс для отправки вычислительных задач в различные распределенные вычислительные системы и, таким образом, может обеспечивать сетевые инфраструктуры различного размера и сложности. Набор служб и утилит, предоставляющих интерфейс, известен как ARC Computing Element (ARC-CE). [2] Функциональность ARC-CE включает в себя размещение и кэширование данных, разработанные для поддержки распределенных вычислений с интенсивным использованием данных. [3] ARC — это программное обеспечение с открытым исходным кодом, распространяемое по лицензии Apache License 2.0. [1]
ARC появился (и до сих пор часто упоминается) как промежуточное программное обеспечение NorduGrid , изначально предложенное как архитектура поверх Globus Toolkit [4], оптимизированная для нужд вычислений в области физики высоких энергий для экспериментов Большого адронного коллайдера . [5] Первое развертывание ARC на испытательном стенде NorduGrid состоялось летом 2002 года, а к 2003 году оно использовалось для поддержки сложных вычислений. [6]
Первая стабильная версия ARC (версия 0.4) вышла в апреле 2004 года под лицензией GNU General Public License . [7] Название «Advanced Resource Connector» было введено для этой версии, чтобы отличать промежуточное ПО от инфраструктуры. В том же году шведский национальный проект Grid Swegrid стал первой крупной междисциплинарной инфраструктурой, основанной на ARC. [8]
В 2005 году NorduGrid был официально создан как сотрудничество для поддержки и координации разработки ARC. [9] В 2006 году были запущены два тесно связанных проекта: Nordic Data Grid Facility , развертывающий общескандинавскую инфраструктуру электронной науки на основе ARC, и KnowARC, сосредоточенный на преобразовании ARC в промежуточное программное обеспечение Grid следующего поколения. [10]
ARC v0.6 был выпущен в мае 2007 года, став вторым стабильным релизом. [11] Его ключевой особенностью было введение клиентской библиотеки, позволяющей легко разрабатывать приложения более высокого уровня. Это был также первый релиз ARC, использующий открытые стандарты, поскольку он включал поддержку JSDL . Позже в том же году была доступна первая предварительная версия технологии следующего поколения промежуточного программного обеспечения ARC, хотя она не распространялась вместе с самим ARC. [12] Новый подход включал переход на архитектуру на основе веб-сервисов и в целом весьма существенную рефакторизацию основного кода. [13]
В 2008 году консорциум NorduGrid принял лицензию Apache для всех компонентов ARC. [14]
Последним стабильным релизом в линейке 0 был ARC v0.8, выпущенный в сентябре 2009 года. [15] В конечном итоге он включал в себя предварительную версию новой службы выполнения — A-REX — и несколько других компонентов, таких как Chelonia , ISIS , Charon и графический интерфейс arcjobtool . [16]
Параллельно с ARC v0.8 проект EU KnowARC выпустил в ноябре 2009 года концептуальный пакет ARC NOX , который представлял собой комплексное решение Grid, полностью основанное на технологиях веб-сервисов . [17] Название NOX фактически указывает на дату выпуска: ноябрь года Быка . [17]
В мае 2011 года NorduGrid выпустила ARC v11.05 (на этот раз приняв схему управления версиями Ubuntu). Этот релиз ознаменовал полный переход от старой службы исполнения к A-REX и сопутствующим службам. Для обратной совместимости с существующими инфраструктурами были сохранены старые интерфейсы для службы исполнения и информационной системы. [18]
ARC 6 был выпущен в мае 2019 года [19] и, имея те же интерфейсы, он отличается полностью переработанной конфигурацией и новым инструментом управления. [20]
ARC — это бесплатное программное обеспечение, доступное в публичном репозитории NorduGrid, как в виде бинарных пакетов для различных систем Linux , так и в виде исходного кода, а также на GitHub. [21] Разработка промежуточного программного обеспечения ARC с открытым исходным кодом координируется сотрудничеством NorduGrid . Вклад в программное обеспечение, документацию и деятельность по распространению поступает от сообщества и различных проектов, таких как проекты EU KnowARC и EMI, NDGF , NeIC и различные национальные инфраструктурные и исследовательские проекты.
В период с 2011 по 2018 год ARC использовала схему управления версиями , похожую на Ubuntu, для связанных релизов, состоящих из отдельных компонентов. Отдельные компоненты имеют собственную систему управления версиями, соответствующую тегам кода. [22] Версия основных пакетов ARC часто используется вместо формального номера релиза в повседневном общении. Начиная с ARC6 (2019) номер версии релиза совпадает с номером тега.
ARC реализует несколько стандартов Open Grid Forum , в частности JSDL , Glue2, BES, UR/RUS и StAR. [23]
В 2010-2013 годах несколько ключевых компонентов ARC - в частности, HED, A-REX, клиенты и библиотеки - были включены в программный стек European Middleware Initiative (EMI). Благодаря EMI ARC стал частью Unified Middleware Distribution (UMD) Европейской сетевой инфраструктуры (EGI).
ARC является основой вычислительной инфраструктуры Nordic Data Grid Facility (NDGF), которая представляет собой центр Tier1 WLCG . В 2006-2010 годах NDGF активно участвовал в разработке ARC, а с 2010 года предоставляет экспертные знания по развертыванию ARC в рамках EGI . С 2012 года NDGF стал частью Nordic e-Infrastructure Collaboration как проект Nordic Tier-1 (NT1). [24]
Grid-enabled Know-how Sharing Technology Based on ARC Services and Open Standards (KnowARC) был целевым исследовательским проектом Шестой рамочной программы , финансируемым в рамках приоритета IST-2005-2.5.4 «Advanced Grid Technologies, Systems and Services» с июня 2006 по ноябрь 2009 года. [25] [26] Во многих отношениях это был проект, который сформировал ARC. Главной целью было сделать ARC основанным на открытых стандартах сообщества, и среди ключевых результатов было создание стандартизированной среды хостинга для служб ARC (HED).
Помимо своей основной цели дальнейшего развития ARC, [13] он внес вклад в разработку стандартов, [27] и увеличил использование Grid и ARC в медицине и биоинформатике. [28] [29]
В июле 2009 года KnowARC объявила, что она внесла свой вклад в интеграцию технологий Grid в официальные репозитории Linux, добавив компоненты Globus Toolkit в репозитории Fedora и Debian . [30]