Translate this page:
Please select your language to translate the article


You can just close the window to don't translate
Library
Your profile

Back to contents

Cybernetics and programming
Reference:

Building a computing cluster based on the PCI Express communications environment

Sibiryakov Maksim Andreevich

PhD in Technical Science

The head of the computer support group of GTRK Mari El

424033, Russia, respublika Marii El, g. Ioshkar-Ola, ul. Eshkinina, 2

maxover777@bk.ru
Other publications by this author
 

 
Sukhikh Andrei Vladimirovich

graduate student, Volga State University of Technology

424000, Russia, Marii El, g. Ioshkar-Ola, pl. Lenina, 3

maddas666@ya.ru
Ivanov Konstantin Vladimirovich

graduate student, Volga State University of Technology

424000, Russia, Marii El, g. Ioshkar-Ola, pl. Lenina, 3

ikv1992@yandex.ru
Koshpaev Andrei Alekseevich

graduate student, Volga State University of Technology

424000, Russia, Marii El, g. Ioshkar-Ola, pl. Lenina, 3

koshpaev1991@yandex.ru

DOI:

10.7256/2306-4196.2015.5.17035

Received:

20-11-2015


Published:

27-11-2015


Abstract: The article discusses the implementation of a productive and reliable cluster with low cost. As a solution, the authors recommend building a cluster system based on the PCI Express data input / output protocol. The main goal is to find ways to increase the productivity of the cluster system and its circuit protection. The subjects of the study are the algorithms for data transfer and processing on the switch, algorithms for search and displacement data in storage system, switch ports arbitration scheme. The research methodology includes structured systems analysis in the domain of the connection structures, the construction of cache storage, methods of constructing cluster systems. The authors propose the following structural and algorithmic solutions: a modified algorithm for address translation of the external PCI Express Switch; an improved method and algorithm for data searching and processing in the cache data storage systems based on a unique hash; formalization of all stages of arbitration algorithms for ports and virtual switch channels.


Keywords:

clusters, communications network, PCI Express protocol, data storage, a cache memory, switch, Port arbitration, address translation, hashing, FPGA


Введение

Кластерные системы представляют собой совокупность вычислительных узлов, объединенных высокоскоростной сетью [1, 2]. Они предназначены для решения сложных вычислительных задач. В настоящее время применение кластерных систем получило широкое распространение. Они используются как в суперкомпьютерных центрах, так и на предприятиях и в организациях. С помощью кластера можно решить множество трудоёмких задач в различных отраслях науки, бизнеса и промышленности:

● в технологических процессах, в банковском деле, фармацевтике, энергетике, телекоме;

● при моделировании нефтяных и газовых месторождений;

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

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

Структура кластерной системы на основе PCI Express

Структура кластерной системы на основе PCIExpress

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

_1_01

Рис. 1. Базовая структура кластерной системы

Коммутационная сеть значительно влияет на основные характеристики скорости передачи данных и производительности кластерной системы [3]. Поэтому важным моментом является повышение эффективности ее работы, т.е. повышение пропускной способности сети без снижения QoS.

Обычно коммутационная сеть строится на базе высокопроизводительных протоколов передачи данных, таких как Ethernet, Fibre Channel, InfiniBand и PCI Express. Использование сетевой инфраструктуры на базе протокола PCI Express имеет недостаток в сравнении с аналогами - ограничение по длине кабельной системы, соответственно и по дальности размещения вычислительных узлов и хранилищ данных. Однако, стоимость кластерной системы на базе PCI Express значительно ниже. На рис. 2 представлено сравнение стоимостных характеристик оборудования для разных коммуникационных сред. Таким образом, низкая стоимость позволит строить небольшие кластерные системы для среднего и малого сегмента: небольших бизнес-предприятий и организаций, для которых характерно небольшое территориальное удаление узлов.

_2_01

Рис. 2. Сравнение стоимостных характеристик сетевой инфраструктуры на базе основных протоколов передачи данных

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

1) разработка модифицированного алгоритма трансляции адресов в непрозрачных портах коммутатора PCI Express и его реализация на ПЛИС;

2) реализация оптимальной схемы арбитража портов коммутатора;

3) модификация алгоритмов обработки данных в кэш-памяти системы хранения данных.

Алгоритм трансляции адресов в портах коммутатора PCI Express

В рамках первой задачи разработан алгоритм трансляции адресов во входных портах коммутатора PCI Express, который позволяет транслировать адреса в непрозрачных портах с большей эффективностью, чем существующие алгоритмы прямой трансляции или LT-алгоритмы. Алгоритм позволяет сопоставить адреса двух вычислительных узлов кластерной системы, принадлежащих к разным адресным доменам, применяя специальный механизм трансляции адресов от исходящего адресного узла отправителя к входящему адресному узлу (рис. 3) [4-8].

_3

Рис. 3. Распределение адресного пространства в узлах кластерной системы.

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

Алгоритм поиска транслированного адреса в таблице трансляции хорошо распараллеливается. В данном случае целесообразнее использовать параллелизм независимых ветвей. Распараллеленный алгоритм несложно запрограммировать в ПЛИС.

Исследование схемы арбитража входных потоков

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

Система арбитража PCI Express является двухступенчатой (рис. 4), при этом первая ступень решает задачу обеспечения доступа потокам пакетов с разных входных портов, а вторая ступень решает задачу распределения потоков с учетом приоритетов. Такая организация является избыточной, что подчеркивается самими авторами спецификации [6], поскольку на каждый выходной порт требуется число аппаратных очередей, соответствующее числу входных портов, а затем потоки группируются в 8 выходных очередей, что соответствует числу виртуальных каналов. Но такое большое число является оправданным, поскольку позволяет равномерно распределять потоки с разных входных портов с учетом принадлежности разным виртуальным каналам.

_4

Рис. 4. Схема арбитража портов коммутатора

В результате исследований был разработан и исследован алгоритм работы всех ступеней арбитража. Применение более эффективной схемы арбитража портов позволит ускорить обработку пакетов передачи данных в коммутаторе [9]. За счет этого повысится скорость передачи данных через коммутатор.

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

Для исследований алгоритма на языке программирования C++ была написана имитационная модель арбитра коммутатора PCI Express [10-12]. В результате моделирования получены зависимости средней длины очереди от интенсивности входного потока пакетов для разных ступеней арбитража, что позволяет проследить динамику поведения арбитра в зависимости от его нагрузки и распределения входных пакетов по виртуальным каналам.

Алгоритмы работы кэш-памяти системы хранения данных

В рамках третьей задачи были исследованы существующие методы управления кэш-памятью систем хранения данных; детально проанализированы алгоритмы чтения, записи и вытеснения данных, а также структуры данных [13 - 15].На основании произведенных исследований разработан метод поиска данных в кэш-памяти системы хранения данных на основе уникального хеширования. За счет применения новой структуры данных – индексной хеш-таблицы адресов дискового кэша (рис. 5) увеличивается скорость выполнения операции поиска блоков данных.

_5

Рис. 5. Структура данных на основе уникального хеширования

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

References
1. Latsis, A.O. Kak postroit' i ispol'zovat' superkomp'yuter / A. O. Latsis.-M.:Bestseller, 2003. – 240 s.
2. Korneev, V. V. Vychislitel'nye sistemy / V.V. Korneev – M.: Ge-lios ARV, 2004. – 438s.
3. Berlin, A.N. Kommutatsiya v sistemakh i setyakh svyazi / A.N. Berlin – M.: Eko-Trend, 2006. – 341s.
4. Petrov, S.G. Shiny PCI, PCI Express. Arkhitektura, dizain, prin-tsipy funktsionirovaniya / S.G. Petrov – SPb.: BKhV – Peterburg, 2006. – 405s.
5. Sukhikh, A.V. Struktura parallel'noi vychislitel'noi sistemy s raspredelennoi vneshnei pamyat'yu / A.V. Sukhikh, N.S. Vasyaeva // «Infor-matsionnye tekhnologii v professional'noi deyatel'nosti i nauchnoi rabo-te»: vseros. nauchn.-praktich. konf. – MarGTU, Ioshkar-Ola, 2012, tom I, s.172-177.
6. PCI Express Base Specification. Revision 3.0 Rezhim dostupa: https://members.pcisig.com/wg/PCI-SIG/document/download/8269
7. Regula, J. Using Non-transparent Bridging in PCI Express Systems / J. Regula – PLX Technology, Inc., 2004. – 31c.
8. Increase of productivity of the PCI Express switch for cluster systems/ Vasjaeva N.S., Ivanov K.V., Suhih A.V.// V mire nauchnykh otkrytii.-Kras-noyarsk: Nauchno-innovatsionnyi tsentr, 2014. № 10(58) (Estestvennye i tekhnicheskie nauki). –c. 248-262.
9. Bronshtein, I. O. Modeli prioritetnogo obsluzhivaniya v infor-matsionno-vychislitel'nykh sistemakh / I.O. Bronshtein, I.M. Dukhovnyi – M.: Nauka, 1976. – 220s.
10. Ivanov K.V., Koshpaev A.A., Vasyaeva N.S. Programmnaya model' sistemy arbitrazha kommutatora PCI Express // Kibernetika i program-mirovanie. — 2014.-№ 4.-S.66-75. DOI: 10.7256/2306-4196.2014.4.12758. URL: http://e-notabene.ru/kp/article_12758.html
11. Vasyaeva, N.S., Formal'noe predstavlenie algoritma arbitrazha virtual'nykh kanalov na shine PCI Express/ N.S. Vasyaeva N.S., K.V. Iva-nov – Sbornik materialov Vserossiiskoi nauchno-prakticheskoi konfe-rentsii s mezhdunarodnym uchastiem «Informatsionnye tekhnologii v pro-fessional'noi deyatel'nosti i nauchnoi rabote».-Ioshkar-Ola: PGTU, 2014. – s. 223-229.
12. Vasyaeva, N.S. Modelirovanie i optimizatsiya sistemy arbitrazha dlya protokola PCI Express/ N.S. Vasyaeva N.S., K.V. Ivanov – Trudy mezhdunarodnoi nauchnoi konferentsii «Parallel'nye vychislitel'nye tekhnologii (PaVT’2015)» (g. Ekaterinburg, 31 marta – 2 aprelya 2015 g.).-Chelyabinsk: Izdatel'skii tsentr YuUrGU, 2015. s. 503 s.
13. Sibiryakov, M.A. Primenenie kheshirovaniya dlya postroeniya in-deksnykh tablits kesha v sistemakh khraneniya dannykh / M.A. Sibiryakov // Ma-terialy mezhdunarodnoi nauchno-prakticheskoi konferentsii «Informa-tsionnye tekhnologii. Problemy i resheniya». – Ufa, 2015, tom II, s.205-209.
14. Vasyaeva, E.S. Razrabotka struktury indeksnykh tablits kesh-pamyati sistemy khraneniya dannykh/ E.S. Vasyaeva E.S., A.A. Koshpaev– Sbornik materialov Vserossiiskoi nauchno-prakticheskoi konferentsii s mezhdunarodnym uchastiem «Informatsionnye tekhnologii v professio-nal'noi deyatel'nosti i nauchnoi rabote».-Ioshkar-Ola: PGTU, 2014. – s. 214-222.
15. Sibiryakov, M.A. Analysis and comparison of cache memory control methods/ E.S. Vasyaeva, M.A. Sibiryakov, A.A. Koshpaev // V mire nauchnykh otkrytii.-Krasnoyarsk: Nauchno-innovatsionnyi tsentr, 2014. № 10(58) (Estestvennye i tekhnicheskie nauki). –c. 263-280.