Е. Хрусталев, А. Чумичкин.

Методический подход к проектированию сервисов упрощенной интеграции распределенных IT-ресурсов

Введение

Современные условия характеризуются экстраординарными темпами роста объемов доступной информации. Человечество узнает об окружающем мире все больше. Необходимые и реальные объемы данных, хранящихся в информационных репозитариях, растут почти экспоненциально .

Предполагается, что за период с 2009 по 2014 годы объемы используемой памяти вырастут на 50% [1]. Накопление информации происходит практически во всех сферах информационной инфраструктуры, начиная от глобальных баз данных и вычислительных центров и заканчивая локальными сетями небольших компаний, исследовательских центров и персональными компьютерами рядовых пользователей. Немаловажным фактором, оказывающим существенное влияние на рост объемов информации, является бурное развитие сетевых сообществ [2].

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

Так, большинство страховых компаний начинают активно применять методы интеллектуального анализа данных (Data mining) в управлении бизнесом [3]. Эта тенденция наблюдается сегодня не только в компаниях, где управление бизнесом традиционно осуществляется на основе анализа данных – все больше представители бизнеса задумываются о новых возможностях, которые могут дать накопленные массивы данных. Можно сказать, что современному обществу пришло понимание того, что накопленные сегодня несистематизированные данные (raw data) содержат глубинный пласт знаний, при грамотном анализе которых могут быть выявлены непредвиденные результаты, учет которых и есть залог успеха любого бизнеса.

В связи с этим все большую популярность как в крупных компаниях, так и при создании стартапов приобретают методы исследования и обработки больших объемов данных  Data Science [4].

Повышение требований к ИТ-ресурсам

Вместе с тем, возможности совершенствования методов и их применения в практике управления бизнесом, которым способствует процесс накопления доступной информации, предъявляют новые требования к соответствующим ИТ-ресурсам.

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

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

На основе анализа закономерностей развития современных информационных систем можно сделать вывод, что сегодня в этой области сложилась противоречивая ситуация – с одной стороны, перед компаниями и исследователями открываются новые возможности развития методов управления бизнесом, а с другой, предъявляются новые требования к IT-ресурсам, необходимым для решения таких задач.

Ограничение возможностей

Стоимость приобретения. Проблема создания высокопроизводительных вычислительных систем, по мнению многих специалистов [5-8], относится к числу наиболее сложных научно-технических задач современности, и ее разрешение возможно только при всемерной концентрации усилий многих талантливых ученых и конструкторов, оно предполагает использование всех последних достижений науки и техники и требует значительных финансовых инвестиций.

Одной из причин, ограничивающей возможности применения высокопроизводительных систем, является их высокая стоимость (возможность приобретения супер-ЭВМ могут позволить себе только крупные компании и организации).

Можно отметить также, что ряд исследователей высказывают свои сомнения о возможности широкого практического применения параллельных вычислений в силу следующего набора причин [9]:
- высокая стоимость параллельных систем – в соответствии с подтверждаемым на практике законом Гроша (Grosch) производительность компьютера возрастает пропорционально квадрату его стоимости;
- потери производительности для организации параллелизма – согласно гипотезе Минского (Minsky) ускорение, достигаемое при использовании параллельной системы, пропорционально двоичному логарифму от числа процессоров (т.е. при 1000 процессорах возможное ускорение оказывается равным 10);
- существование последовательных вычислений – в соответствии с законом Амдаля (Amdahl)  ускорение процесса вычислений S при использовании p процессоров ограничивается величиной,

Не указано

где f есть доля последовательных вычислений в применяемом алгоритме обработки данных (то есть, например, при наличии всего 10% последовательных команд в выполняемых вычислениях эффект использования параллелизма не может превышать 10-кратного ускорения обработки данных);
- зависимость эффективности параллелизма от учета характерных свойств параллельных систем – в отличие от единственности классической схемы фон Неймана последовательных ЭВМ параллельные системы отличаются существенным разнообразием архитектурных принципов построения, и максимальный эффект от использования параллелизма может быть получен только при полном использовании всех особенностей аппаратуры – как результат, перенос параллельных алгоритмов и программ между разными типами систем становится затруднительным (если вообще возможен).

Однако даже помимо проблем экономического характера сегодня возникают и чисто технические проблемы применения суперкомпьютеров. Так, классификацию суперкомпьютеров на машины с общей и распределенной памятью уже давно можно считать неактуальной. Действительно, несколько лет назад был уже достигнут потолок повышения тактовых частот, производительность одного процессорного ядра перестала расти с такой же скоростью, как десять лет назад [10], и для сохранения темпов увеличения производительности суперкомпьютеров разработчики стали использовать все больше процессорных элементов (ядер). Однако объединить сотни тысяч ядер в систему с общей памятью (cache-coherent Non-Uniform Memory Access, ccNUMA) технически невозможно – практически нельзя создать единый блок памяти с таким количеством портов и решить проблему масштабирования протокола кэш-когерентности. Остается единственный вариант – создание систем nccNUMA с распределенной памятью без кэширования удаленной памяти, но с архитектурной точки зрения это и есть суперкомпьютер с распределенной памятью. С развитием языков программирования класса PGAS стираются различия в программировании таких систем – суперкомпьютер с распределенной общей памятью и коммуникационной сетью с поддержкой PGAS представляет собой систему nccNUMA со всех точек зрения, кроме цены. Именно цена и стала препятствием на пути проектов аппаратной реализации nccNUMA – Cray X1/X2 и Cray XMT/XMT2.

Сегодня одной из наиболее популярных архитектур высокопроизводительных систем являются кластерные системы. Современная тенденция построения параллельных вычислительных комплексов из типовых конструктивных элементов, массовый выпуск которых освоен промышленностью, снизила влияние фактора сложности создания высокопроизводительной системы. В настоящий момент практически каждый потребитель может иметь в своем распоряжении многопроцессорные вычислительные системы (МВС) достаточно высокой производительности [11].

Часто можно встретить распространенное мнение, что собрать кластер может и школьник, главное – сделать свою коммуникационную сеть. Действительно, все аппаратные компоненты кластера доступны, а программное обеспечение открыто, и если попытаться, даже не имея большого опыта, собрать кластер из 10-20 узлов, то никаких сложностей, скорее всего, не возникнет. Однако при числе узлов свыше 100 появятся проблемы управляемости, при 1000 возникают проблемы масштабируемости и деградации  производительности, а при 10 тыс. узлов собрать нормально работающий кластер практически невозможно.

Еще одним важным фактором  является стоимость владения высокопроизводительных систем. Известно, что полезная мощность составляет примерно половину всех энергозатрат типового вычислительного центра. Вторая часть представляет собой потребление вспомогательных структур вычислительного центра, включая системы питания. Основная доля энергозатрат типового вычислительного центра приходится на систему охлаждения (33%, больше чем вычислительная техника!) [12]. Сюда еще нужно добавить затраты на кондиционирование (9%; CRAC – Computer Room Air Conditioner).

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

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

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

Существующие резервы IT-ресурсов

В то же время результаты многих исследований показывают, что существующая уже сегодня IT-инфраструктура обладает избыточностью. Причем эта тенденция наблюдается как в рамках информационных систем отдельных компаний и организаций, так и в глобальной инфраструктуре.

По данным этих исследований в среднем персональные компьютеры компаний загружены менее чем на 10% в течение рабочего дня. Большинство серверов работают в круглосуточном режиме, и даже те из них, вычислительные мощности которых используются эффективно в течение рабочего времени, ночью практически не загружены работой.

Подобная ситуация наблюдается и в суперкомпьютерах – многие из них работают на полную мощность только при решении специфических задач. Так, большинство существующих суперкомпьютеров исследовательских университетов и институтов сегодня более половины времени простаивают или используются для решения задач, которые могут решаться намного более дешевыми средствами.

Таким образом, уже существующая сегодня инфраструктура содержит резервы IT-ресурсов, которые при правильной организации могут быть использованы для решения современных задач.

Технологии построения распределенных IT-инфраструктур

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

1. Рост объемов накопленной информации и связанное с ним развитие методов, используемых при проведении научных исследований и управлении бизнесом, что, в свою очередь, влечет существенное увеличение потребностей компаний и организаций в IT-ресурсах. Все больше расширяется спектр компаний, организаций и исследователей, у которых возникают задачи высокопроизводительных вычислений.

2. Достижение предела повышения тактовой частоты процессоров, обусловленное физическими принципами их функционирования и, в то же время, высокая сложность производства, а также стоимость приобретения и владения многопроцессорных высокопроизводительных систем.

3. Все возрастающая избыточность существующей IT-инфраструктуры, связанная с повышением уровня оснащенности сотрудников компаний и организаций, а также пользователей интернета персональными компьютерами, возможности которых существенно превышают потребности таких пользователей. Также существуют резервы и в функционировании суперкомпьютеров научно-исследовательских и образовательных организаций.

В связи с рассмотренными особенностями современных условий сегодня приобретает высочайшую актуальность задача интеграции существующих ресурсов в интересах построения высокопроизводительных распределенных инфраструктур.

В последние годы быстрое развитие получили технологии организации распределенной обработки информации и высокопроизводительных вычислений. Одним из классов таких технологий являются грид-технологии – инфраструктурные технологии промежуточного слоя, предоставляющие возможность интеграции вычислительных и информационных ресурсов глобальных сетей для решения сверхсложных и ресурсоемких задач вычислительного характера и/или обработки информации. Грид-инфраструктуры являются разновидностью распределенных параллельных систем, определяемых наборами открытых стандартов и протоколов, и служащих для обеспечения доступа к данным, вычислительным мощностям, средам хранения и широкому набору других ресурсов, доступных при помощи сети.

Большой класс грид-технологий составляют вычислительные гриды, ориентированные на распределенные вычисления с целью образования «виртуального суперкомпьютера» из большого числа компьютеров, связанных друг с другом посредством сети и работающих  совместно при решении сложных задач, требующих значительных вычислительных и информационных ресурсов. В e-science все более широкое применение находят информационные гриды [13], обеспечивающие доступ к неоднородным, распределенным репозиториям данных большого объема наряду с разделяемым доступом к другим видам ресурсов, включая вычислительные.

В соответствии с рассмотренными ранее видами IT-ресурсов можно выделить следующие классы грид [14]:
- Computational Grid – грид, ориентированный на распределенные вычисления;
- Data Grid – грид, ориентированный на обработку больших потоков данных;
- Informational Grid – грид, ориентированный на интеграцию крупных распределенных хранилищ (OGSA-DAI);
- Hybrid Grid – грид, сочетающий в себе как Computatuinal/Data Grid, так и Informational Grid;
- Semantic Grid – это любой из описанных типов грид-архитектур, в котором описывается семантика ресурсов (интерфейсы, характеристики производительности, особенности безопасности) [15].

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

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

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

Исходя из этого, можно сделать вывод, что на сегодняшний день сложилась следующая ситуация: с одной стороны, все больше исследователей сталкиваются с потребностью в больших объемах IT-ресурсов, в то же время, существуют резервы в имеющейся инфраструктуре и технологии, позволяющие их использовать. Однако сложность интеграции ресурсов и использования распределенной инфраструктуры для научных и прикладных задач ограничивают для большинства потребителей использовать имеющийся потенциал.

Упрощенный вариант интеграции распределенных IT-ресурсов


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

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

Первый подход, получивший называние сервисного грида (Service Grid), предполагает развертывание распределенной сервис-ориентированной инфраструктуры, обеспечивающей унифицированный удаленный доступ к выделенным ресурсам уровня кластеров или суперкомпьютеров. Поставщиками ресурсов в подобных системах являются достаточно крупные организации, обладающие ресурсами указанного уровня. Как правило, включаемые в сервисный грид ресурсы являются гомогенными, то есть функционируют под управлением одной версии ОС и предоставляют одинаковое окружение для запускаемых заданий. Число пользователей сервисных гридов гораздо больше числа поставщиков ресурсов. При этом каждый пользователь может использовать ресурсы грида для запуска своих приложений. Примерами сервисных гридов являются EGEE, NorduGrid, TeraGrid. Базовым промежуточным ПО подобных систем служат  технологии Globus Toolkit, gLite, ARC, UNICORE. Недостатком сервисных гридов является высокая сложность установки и администрирования указанного ПО, что ограничивает круг потенциальных поставщиков ресурсов.

Второй подход, так называемый грид рабочих станций (Desktop Grid), предполагает использование ресурсов большого количества простаивающих персональных компьютеров, подключенных к сети. Поставщиками ресурсов в подобных системах являются рядовые пользователи. Подключаемые в грид ресурсы рабочих станций являются гетерогенными по своей архитектуре и программному обеспечению. При этом данные ресурсы, как правило, доступны не постоянно, а только в моменты их простоя. Поэтому, в отличие от сервисных гридов, состав ресурсов грида рабочих станций является гораздо более динамичным. В подобных системах число поставщиков ресурсов обычно гораздо больше числа пользователей, использующих ресурсы грида для запуска приложений. Примерами технологий для организации грида рабочих станций являются BOINC, Condor, XtremWeb. В отличие от технологий сервисных гридов, данные технологии позволяют легко и быстро подключать к системе новые ресурсы.

Выбор того или иного подхода зависит от специфики задач, которые предполагается решать с использованием распределенной архитектуры. Причем анализ практики таких работ  показывает необходимость комбинированного и гибкого использования рассмотренных подходов. Возможности широкого использования возможностей этих подходов ограничиваются сложностью построения и разработки прикладных программ. Существующие в настоящее время стандарты и методы в области грид-вычислений на основе спецификации WSRF используют достаточно сложные в реализации программные интерфейсы веб-сервисов, требующие, как правило, специальных библиотек или средств автоматической генерации программного кода.

В последнее время активно развиваются альтернативные подходы к созданию веб-сервисов, основанные на архитектурном стиле REST («RESTful-веб-сервисы [16]). REST представляет собой архитектурный стиль, который можно использовать для создания программных средств, в которых клиенты (агенты пользователей) могут отправлять запросы службам (конечным точкам). REST является одним из способов реализации архитектурного стиля «клиент-сервер» – по сути, REST явно опирается на архитектурный стиль «клиент-сервер».

При проектировании грид-сервисов RESTful необходимо выполнить несколько довольно простых основных этапов [17]:
- определить, какие типы ресурсов предполагается использовать;
- определить, какие идентификаторы URI предполагается использовать для представления этих ресурсов;
- определить, какую часть единого интерфейса (команды HTTP) будет поддерживать каждый из URI.

По мнению авторов, есть две основные причины применения рассматриваемого стиля при проектировании грид-сервисов упрощенной интеграции распределенных ресурсов. Во-первых, по сравнению с технологиями RPC стиль REST во многих случаях предлагает некоторые существенные функции и преимущества. Во-вторых, уже сегодня крупные компании, существенно влияющие на тенденции IT-рынка, такие как Майкрософт, во многих собственных реализациях смещается от технологий RPC (например, SOAP) в сторону REST.

Основные преимущества выбранного стиля можно сгруппировать следующим образом.

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

Расширение REST дает возможность включать в каждый ресурс все состояния, необходимые для обработки конкретного запроса. Службы RESTful намного проще масштабировать, если они выполняют это ограничение и могут обходиться без поддержки состояния.

Идемпотент. Две других основных команды HTTP, обычно используемые в виде части единого интерфейса, это PUT и DELETE. Команда PUT чаще всего используется, когда агенту пользователя требуется изменить ресурс, а команда DELETE описывает себя сама. Важным моментом (и именно это описывает термин «идемпотент») является то, что на конкретном ресурсе эти две команды можно использовать несколько раз, и результат будет таким же, как при их первом использовании – по крайней мере, не будет никаких дополнительных воздействий. Это является важным обстоятельством при создании надежных распределенных систем, в которых ошибки, сбои в сети или задержка могут привести к многократному выполнению кода.

Функциональная совместимость. Довольно часто SOAP рекламируется как наилучший способ реализации программ типа «клиент-сервер». Но для некоторых языков и сред до сих пор нет инструментальных средств SOAP. А некоторые снабжены инструментальными средствами, основанными на устаревших стандартах, которые не всегда обеспечивают возможность взаимодействия со средствами, в которых реализованы новые стандарты. Для REST требуется только доступность библиотеки HTTP для большинства операций (библиотека XML, безусловно, также является базовой), и этот стиль определенно обладает большей функциональной совместимостью, чем любая из технологий RCP (включая SOAP).

Простота. Это преимущество является более субъективным, чем другие, и разные люди понимают его по-разному. Для рассматриваемой в статье задачи простота использования REST связана с идентификаторами URI, представляющими ресурсы, и единым интерфейсом. Использование единого интерфейса упрощает разработку, освобождая от необходимости создания интерфейса, контракта или интерфейса API для каждой службы, которую мне требуется создать. Интерфейс (способ взаимодействия клиентов с моей службой) определяется ограничениями, накладываемыми архитектурой.

Разработка методов создания грид-сервисов на основе таких подходов позволит упростить интерфейсы грид-сервисов, тем самым расширяя возможности их прямого использования прикладными программами.

Концепция облачных вычислений

Применение архитектурного стиля REST в полной мере не решает проблем динамики потребностей в ресурсах и, как следствие, масштабируемости распределенных инфраструктур и гибкости предоставления ресурсов.

Одним из наиболее популярных сегодня подходов к решению проблем, связанных с неравномерностью и динамикой потребностей в IT-ресурсах, является применение концепции облачных вычислений. Использование данной модели заключается в предоставлении IT-ресурсов и услуг по требованию и позволяет решить некоторые из рассмотренных проблем.

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

Стоит также отметить, что в связи с относительной новизной подхода иногда встречаются не вполне корректные суждения по поводу концепции облачных вычислений, в которых данная концепция противопоставляется грид-системам [18]. Здесь необходимо помнить, что облачные вычисления – это модель предоставления и использования ИТ-ресурсов, а не архитектура вычислительной системы.

Заключение


Проведенный анализ рассмотренных подходов позволил сделать вывод, что в интересах поставленной задачи целесообразно совместное использование грид-технологий интеграции распределенных ресурсов и концепции облачных вычислений для обеспечения гибкости предоставления сервисов.

Использование Data-центров cloud computing в сочетании с технологиями grid computing дает динамически масштабируемое приложение, способное оперативно и полностью автоматически подключать в случае необходимости новые аппаратные ресурсы [19].

Подводя итог проведенных исследований, можно выделить следующие основные результаты.

Авторами проведен анализ закономерностей развития современных информационных систем с точки зрения требований к IT-ресурсам. Рассмотрены проблемы нехватки вычислительных ресурсов и сформулированы возможные пути поиска резервов в существующих информационных системах. В качестве пути решения рассмотренных проблем предложено объединение принципов трех перспективных концепций: концепции GRID для интеграции распределенных IT-ресурсов, концепции облачных вычислений в интересах обеспечения гибкости их предоставления и архитектурного стиля REST для создания сервисов упрощенной интеграции распределенных ресурсов и построения распределенных инфраструктур.

Предложенный подход призван повысить доступность распределенных IT-ресурсов для широкого круга компаний, организаций и научных учреждений, что откроет возможности для применения новых методов исследования и управления бизнесом, а также обработки распределенных информационных массивов. Все это, в свою очередь, призвано повысить качество управления бизнесом и научных исследований.

Реализацию и апробацию предложенного подхода предполагается осуществить в рамках инновационного образовательного проекта факультета бизнес-информатики НИУ ВШЭ «Создание научно-образовательного грида».

Литература:
 . The Top 5 IT budget Killers [Электронный ресурс]. – URL:http://www-06.ibm.com/ibm/jp/itsolutions/solutions/leveraginginformation/pdf/it_budget_killers_lr.pdf.
2. Проценко Д.С., Мальцева С.В. Формализованный подход к управлению сетевым сообществом //Автоматизация и современные технологии. – 2011. - № 3. 
3. Грызенкова Ю.В., Шарифьянова З.Ф. Применение интеллектуального анализа данных (Data mining) в управлении [Электронный ресурс]. – URL:http://ins-izdat.ru/index.php/2011-01-26-11-45-23/4-2007/435-----data-mining----.
4. Batageli V. (ed.), Bock H.H., Ferligoi A. Data Science and Classification. Springer - 2006.
5. Braeunnl Т. Parallel Programming. An Introduction.- Prentice Hall, 1996.
6. Chandra, R., Menon, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J. Parallel Programming in OpenMP. - Morgan Kaufinann Publishers, 2000.
7. Dimitri P. Bertsekas, John N. Tsitsiklis. Parallel and Distributed Computation. Numerical Methods. - Prentice Hall, Englewood Cliffs, New Jersey, 1989.
8. Fox G.C. et al. Solving Problems on Concurrent Processors. - Prentice Hall, Englewood Cliffs, NJ, 1988.
9. Quinn M. J. Designing Efficient Algorithms for Parallel Computers. - McGraw-Hill, 1987.
10. Корж А. Мифология суперкомпьютинга // Открытые системы. – 2011. - № 7.
11. Barker, M. (Ed.) (2000). Cluster Computing Whitepaper [Электронный ресурс]. – URL:http://www.dcs.port.ac.uk/~mab/tfcc/WhitePaper/.
12. Belady, C. Does Efficiency in the Data Center Give Us What We Need? // Mission Critical Magazine (Spring 2008).
13. The Information Grid: A Practical Approach to the Semantic Web, Oracle [Электронный ресурс]. – URL:http://www.oracle.com/technology/tech/semantic_technologies/pdf/ informationgrid_oracle.pdf.
14. Сухомлин В.А., Афанасьев А.П., Калиниченко Л.А., Посыпкин М.А., Ступников С.А., Сухорослов О.В. Актуальность и шаги создания системы грид-образования // Сб. трудов V Международной научно-практической конференции «Современные информационных технологий и ИТ-технологии» / Под редакцией В.А. Сухомлина, ISSBN 978-5-9556-0115-1, М.: ИНТУИТ. - 2010.
15. Nicholas R. Jennings David De Roure and Nigel R. Shadbolt. The Semantic Grid: Past, Present, and Future. [Электронный ресурс]. – URL:http://eprints.ecs.soton.ac.uk/9976/1/procieee.pdf.
16. Richardson L., Ruby S. RESTful Web Services. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol. - 2007.
17. Джон Фландерс (Jon Flanders). Введение в службы RESTful с использованием WCF // MSDN Magazine. - Январь 2009.
18. Клементьев И.П., Устинов В.А. Введение в облачные вычисления [Электронный ресурс]. – URL:http://www.intuit.ru/department/se/incloudc/3/.
19. Weiss A. Computing in the Clouds // netWorker. - 2007. - #11(4).