Использование транспьютерных вычислительных систем в ИЯФ СО РАН
Андрей Геннадьевич Чертовских, Игорь Анатольевич Рачек
Введение
К началу 90-х годов прошлого века в микропроцессорные системы стали широко внедрять параллельные архитектуры. Наиболее перспективной микропроцессорной архитектурой в то время представлялась архитектура транспьютеров - микропроцессоров, специализированных для использования в параллельных вычислениях, способных создавать вычислительную среду со множеством процессоров. Многопроцессорные системы на базе транспьютеров относятся к классу «Множественный поток команд - Множественный поток данных». На момент своего появления транспьютер, как основной элемент для построения подобных систем, представлял собой довольно производительный микропроцессор с 4 последовательными каналами связи. В своих применениях микропроцессор мог быть использован как обычный высокопроизводительный скалярный процессор, но мог за счёт сопряжения многих микропроцессоров в сеть через свои последовательные каналы образовывать сверхмощные вычислительные системы.
Английская фирма INMOS разработала не только оригинальную архитектуру процессора, но и весьма продвинутое программное обеспечение для обеспечения работы процессора в параллельных вычислениях. К стандартному уже компилятору языка С прилагалась специальная библиотека функций, позволяющая распараллеливать вычисления, был создан и специальный язык OCCAM, в структуру которого были заложены возможности создания параллельных и последовательных процессов, а также развитая система управления процессами, их синхронизацией и связью. Язык OCCAM настолько хорошо описывал все архитектурные особенности транспьютеров, что его можно называть «языком ассемблера» для транспьютеров, хотя он содержал в себе все признаки языка высокого уровня. Вместе со всеми достоинствами аппаратного исполнения мощного микропроцессора, программное обеспечение делало транспьютеры весьма эффективным инструментом для применения в очень многих классах задач, в том числе и в области экспериментов в физике высоких энергий.
В Институте ядерной физики СОР АН было создано несколько проектов использования подобных вычислительных систем в различных целях: контроллеры систем САМАС в системах управления и контроля физическими установками, в стандарте УМЕ - в системах сбора и обработки данных, а также «ускорительные платы» для персональных компьютеров архитектуры IBM PC - для задач обработки данных и моделирования.
Транспьютерные «ускорители» для PC
Самым простым использованием транспьютеров было их применение в качестве «ускорителей» для обычных персональных компьютеров. Даже один транспьютер Т800 на порядок превосходил по производительности распространённые тогда персональные компьютеры ЮМ PC, использующие процессоры 80286 и 80386 от фирмы Интел. При этом открытая архитектура стандарта IBM позволяла сравнительно легко создавать сопроцессорные платы в стандарте ISA. Многие компании на западе производили их, но их стоимость была довольно высокой. Как и вся страна. Институт ядерной физики в 90-е годы испытывал финансовые трудности. При этом ощущался и недостаток вычислительных мощностей для многих задач. Поэтому решение о самостоятельной разработке сопроцессорных транспьютерных модулей в институте было вполне оправданным.
Кроме того, такие модули могли служить интерфейсом сопряжения для внешних транспьютерных систем, создающихся уже для специфических задач управления и сбора данных. В таких случаях IBM PC служила лишь пользовательским интерфейсом и кросс-платформой для разработки и загрузки программ в транспьютерную сеть.
В ИЯФ были разработаны два варианта сопроцессорных «ускорительных» модулей для PC - простой однотранспьютерный модуль прежде всего для задач кросс-платформы (главный разработчик - Г.А. Аксёнов) и мульти-транспьютерный - с возможностью установки 8 транспьютеров (разработка А.Г Чертовских). Однотранспьютерный модуль использовался в дальнейшем как интерфейс к внешним системам на базе транспьютеров с использованием транспьютерных линков для связи. Он же служил и конфигурационным устройством для всей сети транспьютеров.
Мульти-транспьютерная плата использовалась уже исключительно как высокопроизводительный «ускоритель» для PC. Вставляя её в обычный персональный компьютер, пользователь получал многократное увеличение вычислительной мощности. Несколько лет подобные системы использовались в теоретическом отделе ИЯФ для целей моделирования, требующих значительных вычислительных ресурсов.
Транспьютерный крейт-контроллер САМАС
Конструктивный стандарт САМАС очень долгие годы являлся основным для ядерной электроники и использовался практически во всех физических исследовательских центрах. Изначально его необходимым элементом являлся крейт-контроллер, соединённый с управляющих компьютером какой-либо связью. В новосибирском Институте ядерной физики СОР АН сложилась целая культура использования данного стандарта - это огромная номенклатура электронных модулей самого разного назначения, разработанных инженерами ИЯФ в данном стандарте. И хотя стандарт считается уже устаревшим, ИЯФ до сих пор не отошёл полностью от его использования - слишком много электроники было создано и до сих пор исправно работает.
К числу разработанных в ИЯФ САМАС-модулей относятся и крейт-контроллеры разных типов, с разными видами внешней связи. Были разработаны и «интеллектуальные» крейт-контроллеры, совмещающие в себе контроллер общей шины крейта и управляющий компьютер. Предметом гордости института является «ОДРЁНОК» - микрокомпьютер и контроллер в одном лице, созданный на основе архитектуры большой ЭВМ «ОДРА». Сотни этих управляющих компьютеров было создано в 80-е годы и некоторые из них работают до сих пор. В 90-е годы, с появлением транспьютеров, был разработан и интеллектуальный контроллер на базе транспьютера (разработка В.В. Шило). Он был быстрее «Одрёнка» и мог объединять множество крейтов САМАС в транспьютерную сеть под управлением единой программы, что оказалось очень важно для сложных систем управления и сбора данных. В системах управления важно также время реакции на прерывание - транспьютерный контроллер оказался в этом чемпионом и это также послужило залогом его успеха.
На установке «Дейтрон» на накопителе ВЭПП-3 проводятся эксперименты по физике ядра с использованием методики сверхтонкой мишени в накопителе [1]. Аппаратура регистрации эксперимента, а также контроля и управления всеми элементами установки базируется на модулях в стандарте КАМАК. Начиная с 1993 года и по настоящее время управляющим модулем служит интеллектуальный крейт-контроллер СС-Т800 на базе транспьютеров INMOS серии Т800, разработанный в ИЯФ СОР АН. Благодаря уникальным особенностям транспьютера, реализующего на микропрограммном уровне переключение процессов и межпроцессорный обмен, удалось получить максимальную скорость считывания со стандартных КАМАК-блоков ADC/TDC и быстроту реакции на LAM-запрос. В системе считывания данных детектора «Дейтрон» опрос оцифровщиков, подавление нулей, упаковка и on-line фильтрация событий ведётся параллельно в трёх транспьютерных контроллерах.
Дополнительный транспьютерный КАМАК-модуль на базе процессора INMOS Т222 используется для синхронизации работы контроллеров. В каждом модуле активно применяется квазипараллельная работа по считыванию данных (высокий приоритет) и их обработка (низкий приоритет), с использованием буферизации для минимизации мёртвого времени системы регистрации. Данные пересылаются в главный управляющий компьютер PC с установленной в нём транспьютерной платой линк-интерфейса.
Ещё один транспьютерный КАМАК-контроллер осуществляет все функции по «медленному» контролю - измерению всех параметров внутренней поляризованной мишени, управлению её элементами и режимами работы. Он же контролирует все каналы высокого напряжения на детекторе частиц и измеряет частоту срабатывания всех элементов детектора. Здесь активно применяется способность транспьютера на аппаратном уровне, без операционной системы, эффективно управлять переключением множества процессов, работающих в режиме real-time.
Транспьютерные контроллеры зарекомендовали себя как наиболее адекватное решение для быстрой работы с оцифровщиками, имеющими стандартный КАМАК-интерфейс. Система регистрации «Дейтрон» на базе транспьютеров успешно использовалась при проведении ряда уникальных ядерно-физических экспериментов на ускорителе ВЭПП-3, таких как раздельное измерение зарядовых форм-факторов дейтрона, измерение тензорных ассиметрий в реакциях двух-частичного расщепления дейтрона и когерентного фоторождения п° на дейтроне, определение двух-фотонного вклада в упругое рассеивание электрона/позитрона на протоне. Несмотря на 20-летний срок работы транспьютерных контроллеров, только недавно начат постепенный переход на более новую аппаратуру считывания данных, в основном из-за введения в эксплуатацию детекторов нового типа с очень большим числом каналов.
«Транспьютерная ферма» в стандарте VME
Задача фильтрации данных с детектора CMD-2, работающего на ускорителе ВЭПП-2М, изначально требовала высоких вычислительных ресурсов. Речь идёт, прежде всего, о так называемом «третичном триггере» - третья стадия фильтрации данных, которая требовала выполнения задачи восстановления трека элементарной частицы в дрейфовой камере детектора по координатам сработавших проволочек. В 80-х годах светимость детектора позволяла использовать для этого процессор с производительностью около 10 MFLOPS. Универсальный арифметический процессор АП-32, созданный коллективом разработчиков ИЯФ к 1986 году, справлялся с этой задачей и проработал около 10 лет [4].
Однако модернизация ускорительного комплекса и магнитного детектора повысили светимость и соответствующий поток данных с детектора в несколько раз (примерно в 4 раза - с 5хЮ30 cm'V1 до 5х1031 cm'V1). Это потребовало модернизации системы сбора данных, в том числе и аппаратуры «третичного триггера». Требовалась вычислительная мощность в 5-10 раз выше. Транспьютер INMOS Т805 обладал производительностью около 4,3 MFLOPS, что было ниже требуемой, но вычислительная транспьютерная сеть из десятка транспьютеров уже могла справиться с задачей «третичного триггера», которая из-за возможности разделения потока данных на отдельные события и буферирования легко поддавалась распараллеливанию вычислений.
К 1996 году в институте была разработана система сбора данных для экспериментов CMD-2 на базе транспьютерных модулей в стандарте VME. Стандарт VME был выбран из-за сравнительно высокой пропускной способности общей шины, позволяющей с нужной скоростью закачивать данные в транспьютерные модули с оцифровывающей электроники, а также записывать обработанные данные на устройства хранения информации. Транспьютерная система в крейте УМЕ (которую иногда называют «транспьютерной фермой» - “farm”), состояла из двух типов модулей - TTVME с тремя транспьютерами Т805 и двухпортовой памятью объёмом 2 МБ и TFMVME - конфигурационный модуль на базе транспьютера Т425 и переключателя линков С004. Управлением крейта, загрузкой и выгрузкой данных занимался стандартный “мастер VME” - отдельный модуль на базе процессора Motorola MC68030 импортного производства.
Транспьютерная ферма занимала один крейт VME и состояла от одного до 8 модулей TTVME, представляющих собой подчинённые модули в иерархии вычислительной сетки, и «фарм-мастера» (“farm master”) TFMVME, головного модуля для вычислительной сети. Все эти модули были подчиненными (slaves) для шины УМЕ и управлялись мастером УМЕ (“VME master”). Фарм-мастер с помощью переключателя линков С004 задавал конфигурацию соединений транспьютеров всей «фермы» через транспьютерные линки, разведённые по задней панели УМЕ, дополняющей стандартную шину крейта. Два транспьютера в каждом модуле TTVME имели по два линка, соединённые с этой шиной и два линка, соединённые с «внутренним» транспьютером, не имеющим своего выхода на конфигурационную шину С004. Вместо этого «внутренний транспьютер» TTVME имел двухпортовую память, связанную уже с шиной данных УМЕ крейта. Таким образом, решалась задача быстрой загрузки данных в транспьютеры - не через последовательные транспьютерные линки, а через быструю двухпортовую память, занимающую адреса УМЕ и соединённую 32-разрядной шиной данных с мастером VME.
Список литературы
- D.M. Nikolenko, et al., ”Experiments with internal targets at the VEPP-3 electron storage ring”, Phys.Atom.Nucl. 73 (2010) 1322;
- I.A. Rachek,et al., “Photoreactions with tensor-polarized deuterium target at VEPP-3”, J.Phy s.Conf.Ser. 295 (2011) 012106;
- D.M. Nikolenko, et al., ”Two-photon exchange contribution in elastic electron-proton scattering, experiment at the VEPP-3 storage ring”, EPJ Web Conf. 66 (2014) 06002.
- Чертовских A.E. “Применение универсальных процессоров АП-20/АП-32 для обработки физической информации в Институте ядерной физики им. Г.И.Будкера». Труды SORUCOM-2011, Вторая Международная конференция «Развитие вычислительной техники и её программного обеспечения в России и странах бывшего СССР», стр. 350.
- G.A. Aksenov, et al., “Transputer based data acquisition system for the CMD-2 detector”, Nucl. Instrum. Methods A379 (1996) 550
Об авторе: Институт ядерной физики им. Г.И. Будкера СО РАН
Новосибирск, Россия
chertovs@inp.nsk.su
Материалы международной конференции Sorucom 2014 (13-17 октября 2014)
Помещена в музей с разрешения авторов
19 января 2016