Конференция ISC'14
- Информация о материале
- Опубликовано: 16.07.2014, 14:30
![]() |
Лейпциг, Германия Фото: maltsystem.com |
22 - 26 июня в Германии в городе Лейпциге прошла конференция ISC 2014.
![]() |
Лейпциг, Германия Фото: maltsystem.com |
22 - 26 июня в Германии в городе Лейпциге прошла конференция ISC 2014.
Некоторое время назад мы завершили разработку 49-ядерного прототипа нашего процессора в ПЛИС и намерены двигаться дальше. В наших ближайших планах - увеличение количества ядер до 200 и выпуск новой модификации контролера памяти с поддержкой DMA и атомарных инкрементов.
В связи с расширением проекта мы запланировали переход на новое семейство ПЛИС Xilinx – Virtex 7. Скорее всего, для прототипирования будет использоваться плата с чипом XC7V585T: 1 954 560 логических ячеек, 28 620 кбит BRAM, 3 шины PCIe Gen 2.

Разрабатываемая архитектура получила название. MALT - Manycore Architecture with Lightweight Threads, что в переводе означает многоядерная архитектура с поддержкой легких потоков, достаточно точно отражает суть проекта.
![]() |
Платформа Rosta RSP-527 с двумя ПЛИС Xilinx Virtex 6 Фото: НПО Роста |
Важная веха в истории развития проекта. На это ушел год. На ПЛИС Xilinx Virtex6 реализован многопотоковый процессор, содержащий 49 RISC ядер. Полностью переработанная со времен 10-ядерного прототипа архитектура теперь обеспечивает возможность эффективной загрузки десятков и сотен простых вычислительных ядер без конфликтов и чрезмерных накладных расходов. Проект вырос и стал многочастотным. Частота работы процессорных RISC ядер - 100 МГц, частота внутренней пакетной шины - 200 МГц. Внешняя память - 125 МГц 16 MB ZBT SRAM. Система реализована на платформе Rosta RSP-527 с двумя ПЛИС Xilinx Virtex 6 с интерфейсом PCI-Express Gen 2.
С 24 июня по 6 июля 2013 года факультет ВМК МГУ совместно с НИВЦ МГУ и НОЦ «Суперкомпьютерные технологии» проводят занятия летней Суперкомпьютерной Академии.
16 по 20 июня в Германии в городе Лейпциге прошла конференция ISC 2013. ISC является старейшим и наиболее значимым событием, определяющим развитие высокопроизводительных вычислений в мире.
|
|
Схема коммутатора шины SPBUS |
Завершена разработка простой пакетной шины (Simple Packet Bus - SPBUS), которая позволяет обеспечить взаимодействие сотен различных устройств внутри кристалла. Шина SPBUS полностью написана на VHDL без использования закрытых лицензируемых IP блоков. Разработанная шина является исключительно компактной с точки зрения использования аппаратных ресурсов ПЛИС или СБИС, при этом обеспечивает задержки при передаче данных менее 50 тактов.
Хотя мы и называем SPBUS шиной, терминологически верно говорить "дерево коммутаторов". Каждый коммутатор SPBUS имеет по 3 входных и 3 выходных порта. Каждое устройство на кристалле или узел оснащено собственным коммутатором. Один входной порт и один выходной порт каждого коммутатора подключены к текущему узлу, остальные порты служат для обмена данными с коммутаторами, расположенными на соседних узлах.
Данные передаются по шине методом типа червоточина (wormhole). Суть этого метода заключается в том, что когда первая часть пакета не может быть передана дальше, посылающей стороне отправляется сигнал о том, что необходимо остановить передачу до тех пор, пока путь не освободится. Данный сигнал ограничивает посылку сообщений на определенное время. Такой тип управления называется управлением с обратным давлением. Данный подход позволяет минимизировать количество буферной памяти в коммутаторах.
Шина разработана с учётом принципа GALS – Globally Asynchronous Locally Synchronous. Данный принцип подразумевает разделение сети на домены с независимым контролем тактирования. Для передачи данных через границы тактовых доменов используются блоки двухпортовой памяти. С целью упрощения системы двухпортовой сделана локальная память вычислительных узлов.

На разрабатываемой платформе добавлена поддержка php. Без ложной скромности можем сказать, что это первый PHP-скрипт на Minix3, запущенный на не x86-платформе!

Мы портировали на нашу процессорную систему ОС Minix3 и её основные сервисы. С переходом на Minix помимо многозадачности у нас появилась возможность работать с файловой системой и сетевыми интерфейсами. Кроме того, теперь у нас есть полноценная стандартная библиотека языка С (ранее использовалась её сокращённая версия).
Следует отметить, что официально ОС Minix3 поддерживается только на x86-совместимых процессорах. Версии данной ОС для других архитектур встречаются редко и носят скорее экспериментальный характер. Поэтому для запуска данной ОС на нашей системе была проделана значительная работа.
Для справки: ОС Minix3 изначально разработана Эндрю Таненбаумом в образовательных целях, но впоследствии благодаря своей простоте и надёжности стала использоваться и в промышленных вычислительных системах.

Наконец-то! Нами собран и отлажен в ПЛИС первый 10-ядерный процессор.
Основные характеристики:
- Частота ядер - 50 MHz.
- Производительность на ядро, измеренная на тесте dhrystone, - 53 DMIPS.
- Объем локальной памяти данных - 8 кБайт.
- Локального кеша команд - 8 кБайт на ядро.
- Внутренняя шина шириной - 128 бит.
- Частота шины - 50 МГц.
Для макета процессора мы использовали плату ML505 Evaluation Platform на Xilinx Virtex-5 XC5VLX50T. Поддерживается 256 МБайт общей внешней DDR2 памяти и 100 Mbit Ethernet интерфейс. Проект занимает 76% доступных LUT и 90% BRAM.

Для прототипирования многоядерных процессоров в ПЛИС мы искали ядро, удовлетворяющее таким требованиям как: открытая модифицируемая архитектура, gcc совместимость, минимальный размер в ПЛИС, архитектура RISC 32-бит, отличная “раскладка” на ПЛИС Xilinx, производительность не менее 1 DMIPS/MHz.
Мы пересмотрели более десятка Soft-процессоров, в том числе Amber, OpenRISC, Plasma, YARI, LatticeMico32, Aquarius, RAMP Gold, LEON3, LEON2, aeMB, ZPU, MB-Lite, Secret-Blaze. Нами выбрана основа для построения RISC ядря общего назначения. Это MBLite.
Максимальная частота MBLite на Virtex5 составила 180 МГц, размер ядра 1100 6-выводных LUT, на dhrystone он показал 106 DMIPS / 100 МГц и отличную плотность упаковки без деградации производительности: до 20-ти ядер на XC5VLX50T.

Hello world!
Нам кажется, что современные процессоры устроены "как-то не так", в них слишком много унаследованного, что тянется из тех далеких лет, когда нас и на свете не было. Мы считаем, что в процессоре должны быть сотни вычислительных ядер, что энергоэффективность важнее производительности, производительность должна достигаться за счет специализации вычислительных блоков и параллельной обработки. Мы хотим начать "с нуля" и через 10 лет стать разработчиком многоядерных процессоров мирового уровня.
У нашего проекта пока нет больших собственных средств, мы не так здорово, как бы хотелось, понимаем, что нас ждет, но у нас есть огромное желание работать и, как нам кажется, необходимая квалификация. Итак, мы начинаем работу над оригинальной микропроцессорной архитектурой с сотнями и тысячами вычислительных ядер. В ней все будет устроено так, как нужно! Сначала мы разработаем прототип на ПЛИС...
Следите за ходом проекта в наших новостях!