ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Journal influence

Higher Attestation Commission (VAK) - К1 quartile
Russian Science Citation Index (RSCI)

Bookmark

Next issue

2
Publication date:
17 June 2024

Methods of multiprocessor system initializations

Date of submission article: 04.07.2014
UDC: 519.68
The article was published in issue no. № 4, 2014 [ pp. 37-40 ]
Abstract:Any multiprocessor system must be initialized on power. This article considers RapidIO systems. Correct RapidIO routers configuration influences on proper work of the whole system. There are two initialization algorithms: dynamic and static. RapidIO dynamic initialization algorithm indicated in the specification has a number of faulties including a lack of information about physical structure after initialization. For example, it is unacceptable for some tasks on testing of a multiprocessor system. Therefore, static initialization should be used as it already envisages a set of commands for settin g up routes between devices. It is proposed to apply the configurator that uses basic RapidIO switch ports in order to create a set of commands performing initialization effectively. The system is considered as a set of basic blocks with unique numbers of RapidIO switch ports. A configurator takes the input of the structure from a module geographical address, module models and connections between other modules. Output it creates a set of service packages to initialize RapidIO communicative interface. The effectiveness of this method appears mostly during the creating of various multiprocessor system modifications. This article also describes the current hardware support for initialization interface and its application in the testing system.
Аннотация:Любая многопроцессорная система должна быть проинициализирована по включении питания. В данной работе рассматриваются системы на базе RapidIO. От правильной настройки маршрутов среды RapidIO зависит корректная работа системы в целом. Существуют два алгоритма инициализации – динамический и статический. Алгоритм динамической инициализации RapidIO, приведенный в спецификации, имеет ряд недостатков, одним из которых является отсутствие информации о физическом составе системы после инициализации. Для некоторых задач, к примеру, по тестированию многопроцессорной системы, это недопустимо. Поэтому необходимо использовать статическую инициализацию, которая подразумевает уже заранее подготовленный набор команд для настройки маршрутов между устройствами. Для эффективного создания набора команд, осуществляющих инициализацию, предлагается применять конфигуратор, использующий базовые блоки RapidIO. Система рассматривается как набор базовых блоков, имеющих уникальные номера портов коммутаторов RapidIO. Конфигуратор, принимая на вход структуру из географического адреса модуля, модели модуля и связи с остальными модулями, формирует на выходе набор служебных пакетов для инициализации коммуникационной среды RapidIO. Эффективность данного способа в большей мере проявляется при построении различных модификаций многопроцессорной системы. В статье описаны существующая на сегодняшний день аппаратная поддержка инициализации среды и ее применение в тестируемой системе.
Authors: Lavrinov G.A. (lavrinov@cs.niisi.ras.ru) - SRISA RAS, Moscow, Russia
Keywords: RapidIO, multiprocessor systems, initialization, configurator, testing, routing, algorithm
Page views: 11686
Print version
Full issue in PDF (6.61Mb)
Download the cover in PDF (0.95Мб)

Font size:       Font:

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

 

Коммуникационная среда RIO состоит из коммутаторов и оконечных устройств (ОУ) [2]. Спецификацией определены два физических уровня: LP-LVDS – канал точка-точка, представляющий собой параллельный 8- и 16-разрядный дуплексный интерфейс с максимальной частотой тактового сигнала 1000 МГц, и LP-Serial – канал точка-точка, представляющий собой последовательный дуплексный интерфейс, состоящий из 1, 2, 4, 8 или 16 подканалов с максимальной скоростью передачи битового потока по каждому подканалу 10,3125 Гбод [3, 4].

Инициализация коммуникационной среды RIO включает в себя назначение ОУ идентификаторов (8 или 16 бит) и прописывание коммутаторов маршрутами, определяющими пути пакетов от ОУ к ОУ [5]. Выделяют два подхода к инициализации коммуникационной среды – динамический и статический. Пример динамического подхода спецификации RIO [6] показан на рисунке 1.

На практике приведенный алгоритм необходимо модифицировать прокладкой перекрестных маршрутов между всеми процессорными элементами (ПЭ) и ограничениями на просмотр портов коммутаторов (отдельные крэйты в сложной системе могут включаться неодновременно) – необходима локализация алгоритма в крэйте или в группе крэйтов. Кроме того, совершенно не учитываются предполагаемые потоки данных между ПЭ. Данный подход не подходит и для случая, когда требуется знание физической конфигурации вычислительного комплекса (ВК) после инициализации. В этом подходе при изменении физического состава ВК функциональный состав может остаться прежним. На примере процессорных модулей ЦП-РИО-64 и мезонина М-РИО-А, разработанных в НИИСИ РАН (рис. 2), показан результат определения устройств RIO. Процессорный модуль ЦП-РИО-64А включает в себя два процессора 1890ВМ6Я (устройство К64РИО) и коммута- тор 1890КП3Я (устройство КП3) [7], а модуль ЦП-РИО-64Г – один процессор 1890ВМ6Я и коммутатор 1890КП3Я. Мезонин М-РИО-А включает только процессор 1890ВМ6Я. И, если подключить М-РИО к модулю ЦП-РИО-64Г, полученный функциональный состав ВК после применения алгоритма обхода среды RIO будет совпадать, как и для модуля ЦП-РИО-64А.

С данной задачей позволяет справиться статический подход. Он реализуется по заранее составленному набору служебных операций записи MAINTENANCE WRITE [8], которыми осуществляется инициализация устройств RIO в системе. Сложность этого подхода растет с количеством используемых устройств RIO.

Для более эффективного составления набора операций MAINTENANCE WRITE предлагается использовать конфигуратор на основе базовых блоков RIO, которые представляют собой модели используемых модулей. Каждый модуль имеет порты RIO для связи с другими модулями, причем номера портов могут совпадать. Для описания модуля каждому порту присваивается уникальный номер, не зависящий от физического номера порта коммутатора (указанного в документации на микросхему), чтобы исключить пересечение номеров портов в модели (рис. 3). Каждый модуль уже имеет определенный состав устройств RIO, поэтому программно описать состав модуля и таблицу маршрутизации обмена в рамках модуля не составляет труда. Полученные базовые блоки подключаются между собой, используя географический адрес, уникальные номера портов и тип связей (например, объединительная плата или кабель). В итоге конфигуратору на вход поступают структуры вида: {географический адрес, модель, соединения}. Например: {ГА_N, Модель_N, {Тип связи, порт_ГА_N, ГА_K, порт_ГА_K}}, где K и N – любые два модуля.

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

В случае, если полученная инициализация RIO для тестирования многопроцессорной системы используется многократно, можно воспользоваться аппаратной поддержкой инициализации таблицы маршрутизации RIO, встраиваемой в коммутаторы. Принцип работы следующий: к коммутатору подключается EEPROM по интерфейсу I2C, в него прописываются (по определенному формату) адреса регистров и их значения, после включения питания производится выгрузка этих значений в регистры коммутатора RIO. В результате настраиваются таблицы маршрутизации этих коммутаторов при загрузке системы и сокращается время на программную инициализацию среды. Данный подход реализован в коммутаторах 1890КП3Я (микросхема) НИИСИ РАН и в коммутаторах компании Integrated Device Technology (IDT) [9].

Динамический подход применяется на этапе отладки многопроцессорных систем и в тестовых задачах. Предлагаемый способ инициализации среды RIO хорошо применим к тестируемой системе [10]. Эффективность данного способа в большей мере проявляется при построении различных модификаций многопроцессорной системы на базе подготовленных базовых блоков RIO.

Литература

1.     Бобков С.Г., Косарев И.М. Методы повышения производительности вычислительных систем // Прилож. к журн. «Информационные технологии». 2012. № 10. 32 с.

2.     Fuller S. RapidIO. The Embedded Systems Interconnect. John Wiley & Sons, Ltd, 2005.

3.     RapidIO Interconnect Specification. Part 4: Physical Layer 8/16 LP-LVDS Specification. Revision 3.0. RapidIO Trade Asso- ciation, 2013. URL: http://www.rapidio.org/specs/current/2013-oct23.zip (дата обращения: 16.01.2014).

4.     RapidIO Interconnect Specification. Part 6: LP-Serial Phy­sical Layer Specification. Revision 3.0. RapidIO Trade Association, 2013. URL: http://www.rapidio.org/specs/current/2013-oct23.zip (дата обращения: 16.01.2014).

5.     Бакулин А.А. Проверка допустимости схемы маршрутизации в системе RapidIO // Программные продукты и системы. 2011. № 4. С. 20–23.

6.     RapidIO Interconnect Specification. Annex 1: Software/ System Bring Up Specification. Revision 3.0. RapidIO Trade Asso­ciation, 2013. URL: http://www.rapidio.org/specs/current/2013-oct­23.zip (дата обращения: 16.01.2014).

7.     Сердин О.В., Бобков С.Г., Кондратьева Н.В., Ере- мин А.А. Разработка высоконадежных многопроцессорных модулей на базе высокоскоростных каналов rapidio // Программные продукты и системы. 2013. № 4. С. 49–55.

8.     RapidIO Interconnect Specification. Part 1: Input/Output Logical Specification. Revision 3.0. RapidIO Trade Association, 2013. URL: http://www.rapidio.org/specs/current/2013-oct23.zip (дата обращения: 16.01.2014).

9.     IDT. URL: www.idt.com/document/man/tsi578-user-ma­nual (дата обращения: 26.09.2014).

10.  Лавринов Г.А. Способы повышения эффективности отладки и тестирования многопроцессорных систем // Программные продукты и системы. 2012. № 3. С. 86–89.

References
1.  Bobkov S.G., Kosarev I.M. Methods of computer systems performance increasing.  Informatsionnye tekhnologii
[Information technologies]. 2012, no. 10, pp. 1–32 (in Russ.).

2.  Fuller S. RapidIO. The Embedded Systems Interconnect. John Wiley & Sons Publ., Ltd, 2005.

3.  RapidIO Interconnect Specification. P. 4: Physical Layer 8/16 LP -LVDS Specification. Revision 3.0. RapidIO Trade
Association, 2013, available at: http://www.rapidio.org/specs/current/2013-oct23.zip (accessed January 16, 2014).

4.  RapidIO Interconnect Specification. P. 6: LP-Serial Physical Layer Specification. Revision 3.0. RapidIO Trade
Association, 2013, available at: http://www.rapidio.org/specs/current/2013-oct23.zip (accessed January 16, 2014).

5.  Bakulin A.A.  Validation of routing scheme in rapidio system.  Programmnye produkty i sistemy  [Software &
Systems]. 2011, no. 4, pp. 20–23 (in Russ.).

6.  RapidIO Interconnect Specification. Annex 1: Software/System Bring Up Specification. Revision 3.0. RapidIO Trade
Association, 2013, available at: http://www.rapidio.org/specs/current/2013 -oct23.zip (accessed January 16, 2014).

7.  Serdin O.V., Bobkov S.G., Kondrateva N.V., Eremin A.A. Design of high reliability multiprocessor modules based
on high-performance rapidio interconnect architecture. Programmnye produkty i sistemy  [Software & Systems]. 2013, no. 4,
pp. 49–55 (in Russ.).

8.  RapidIO Interconnect Specification. P. 1: Input/Output Logical Specification. Revision 3.0. RapidIO Trade
Association, 2013, available at: http://www.rapidio.org/specs/current/2013-oct23.zip (accessed January 16, 2014).

9.  IDT, available at: www.idt.com/document/man/tsi578-user-manual (accessed September 26, 2014).

10.  Lavrinov G.A. Methods of efficiency increasing of debugging and testing for multiprocessor systems.  Programmnye
produkty i sistemy [Software & Systems]. 2012, no. 3, pp. 86–89 (in Russ.).


Permanent link:
http://swsys.ru/index.php?page=article&id=3895&lang=&lang=en&like=1
Print version
Full issue in PDF (6.61Mb)
Download the cover in PDF (0.95Мб)
The article was published in issue no. № 4, 2014 [ pp. 37-40 ]

Perhaps, you might be interested in the following articles of similar topics: