УДК 004.75
Кононов А.В.
СОЗДАНИЕ РАСПРЕДЕЛЕННЫХ ПРИЛОЖЕНИЙ С ПОМОЩЬЮ КЭША ДАННЫХ
Владимирский государственный университет имени А.Г. и Н.Г. Столетовых
В работе рассматриваются методы и средства повышения производительности распределенных вычислений с помощью кэша данных. Описаны особенности организации и применения этой структуры. Проведены эксперименты с целью оценки эффективности кэширования данных.
Ключевые слова: грид, вычислительная сеть, узлы.
This report deals with the methods and means of improving the performance of distributed computing with the data cache. The features of the organization and use of this structure.
Key words: grid, computer network, nodes, Gridgain, MPI.
Введение. Распределенные вычисления изначально появились и были опробованы в научной и технической среде, но сегодня они все шире применяются в промышленности. Вычислительные сети обеспечивают пользователям большой уровень гибкости и высокую надежность. Совместное использование вычислительных ресурсов способно изменить множество бизнес-процессов в самых разных отраслях.
GridGain - это вычислительный грид, предназначенный для решения проблем организации вычислительных ресурсов.
В первую очередь он охватывает два важных аспекта:
-
использование вычислительных ресурсов;
-
хранение и параллелизм данных.
Важной особенностью GridGain является его простая интеграция с различными продуктами и программно-аппаратными решениями [1].
Кэширование данных. Распределенные кэши размещают данные так, чтобы к ним можно было быстро получить доступ, намного эффективнее чем, если бы это было сохранено только на сервере БД. Отправка вычислений точно к тем узлам, где данные находятся, является одним из ключевых компонентов в достижении лучшей масштабируемости. Без кэширования узлы выбирают различную информацию от других узлов, лишь для того, чтобы выполнить быстрое вычисление. Все это создает ненужный поток данных и может время от времени привести сервер к сбоям. Когда информация будет разделена, каждая пара ключ/значение, сохраненная на гриде, будет присвоена соответствующему узлу. Такой подход позволяет использовать память, доступную на всех узлах в пределах грида, как одна целая разделяемая память с каждым узлом, ответственным за кэширование части данных, выделенных ему [2].
Экспериментальная задача. С использованием средств GridGain разработана специальная программа для оценки эффективности использования кэша при передаче данных между узлами. Задача состоит в реализации распределенной сортировки массива методом разбиения-слияния.
Количество запущенных узлов на машине определяется в зависимости от того, сколько вычислительных ядер имеет процессор. Таким образом, двухъядерный компьютер – 2 узла, четырехъядерный – 4 узла и т.д.
Таблица 1
Время работы программы (в мс) с использованием кэша (Mi(j) – количество узлов j на машине с номером i)
Кол-во элем-ов Кол-во узлов |
100000 |
200000 |
500000 |
M1(1) |
1422 |
5125 |
31031 |
M1(2) |
728 |
2469 |
15891 |
M1(2)M2(2) |
822 |
1375 |
4875 |
M1(2)M2(2)M3(2) |
813 |
1094 |
2203 |
M1(2)M2(2)M3(2)M4(2) |
648 |
703 |
1485 |
Таблица 2
Время работы программы (в мс) без кэша (Mi(j) – количество узлов j на машине с номером i)
Кол-во элем-ов Кол-во узлов |
100000 |
200000 |
500000 |
M1(1) |
1438 |
5235 |
31078 |
M1(2) |
797 |
2687 |
17266 |
M1(2)M2(2) |
875 |
1485 |
5281 |
M1(2)M2(2)M3(2) |
922 |
1172 |
2875 |
M1(2)M2(2)M3(2)M4(2) |
766 |
906 |
1891 |
По полученным результатам эксперимента (табл. 1 и 2) можно сказать, что использование spring-cache.xml конфигурации позволяет уменьшить время распределённых вычислений за счёт кэширования данных. Время вычислений снизилось на 5-10% и это прослеживается в любом из проведённых экспериментов.
Заключение. Таким образом, GridGain является интересной системой с точки зрения применения кэша данных. Сейчас это используется во многих распределенных системах, таких как Oracle Coherence, JbossCache, Terracota и другие. В будущей работе эффективность использования кэша еще предстоит оценить, в частности при использовании запросов к БД.
Литература:
1. GridGain User Guide External Resources [Electronic resource], 2008 – Режим доступа: http://www.gridgain.com/book/book.html, (Дата обращения: 05.12.2010).
2. Distributed data caches speed cloud applications [Electronic resource], 2009 – Режим доступа: http://searchsoa.techtarget.com/podcast/Distributed-data-caches-speed-cloud-applications, (Дата обращения: 20.08.2011).