Ускорение выравнивания строк на ПЛИС при помощи HaSCoL Олег Медведев (Ланит-терком, НИИ ИТ СПбГУ) SECR, 02.11.2011.

Презентация:



Advertisements
Похожие презентации
Расширение цифрового осциллографа системы управления за счет включения анализатора сигналов Цель: Создание методики построения подсистемы анализа сигналов.
Advertisements

СОБОЛЕВ Сергей Сергеевич ЗОЛЬНИКОВ Владимир Константинович КРЮКОВ Валерий Петрович СОБОЛЕВ Сергей Сергеевич ЗОЛЬНИКОВ Владимир Константинович КРЮКОВ Валерий.
Обзор маршрутов проектирования прикладного программного обеспечения для ПЛИС/ASIC/SoC на основе языков С/С++ Аспирант: Колесников Е.И. Научный руководитель:
Встроенные Системы Часть 7. Технология разработки и производства ИС Кафедра Информатики, мат-мех СПбГУ Copyright © 2004 Victor Vengerov
Глава 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ Оператор присваивания Простой и составной операторы Условный оператор Оператор множественного выбора Оператор цикла с предусловием.
Лекция 7. Структура языка С/С++. Операторы ветвления: условный оператор if. Полное ветвление. Неполное ветвление. Оператор множественного выбора switch.
Классификация Базу. По мнению А.Базу (A.Basu), любую параллельную вычислительную систему можно однозначно описать последовательностью решений, принятых.
ParaCon Система параллельного программирования на основе типовых алгоритмических структур Истомин Тимофей Научный руководитель: д.ф-м.н. Берзигияров П.К.
Как готовить системных программистов Проф. Андрей Николаевич Терехов Заведующий кафедрой системного программирования директор НИИ информационных технологий.
Введение в параллельную обработку. Уровни параллелизма в процессорах Параллелизм данных (DLP – Data Level Parallelism) Параллелизм команд (ILP – Instruction.
Использование языка Си для программирования ЦСП TMS320C67x.
Министерство образования Республики Беларусь Белорусский государственный университет Управляющие структуры языков программирования.
Архитектура микропроцессоров И ее эволюция. Процессор и память: Команды и данные.
ЕГЭ 2011 Информатика и ИКТ Консультация 3 18 марта.
Москва 2008 Специализированное вычислительное устройство для обработки радиолокационной информации Московский физико-технический институтИнститут точной.
Интернет Университет Суперкомпьютерных технологий Лекция 1 Основные понятия Учебный курс Введение в параллельные алгоритмы Якобовский М.В., д.ф.-м.н. Институт.
ЕГЭ информатика Алгоритмизация и программирование Консультация 4.
Тест классы По программированию Pascal.
Применение генетического программирования для реализации систем со сложным поведением Санкт-Петербургский Государственный Университет Информационных Технологий,
Целочисленные алгоритмы © К.Ю. Поляков, Алгоритм ЕвклидаАлгоритм Евклида 2.Решето ЭратосфенаРешето Эратосфена 3.Длинные числаДлинные числа 4.Целочисленная.
Транксрипт:

Ускорение выравнивания строк на ПЛИС при помощи HaSCoL Олег Медведев (Ланит-терком, НИИ ИТ СПбГУ) SECR,

Множественное выравнивание MRKMSEEEFYLFKNISSVGPWDGPQYHIAPVWAFYLQAAFMGTV MNGTEGNNFYVPLSNRTGLVRSPFEYPQYYLAEPWQFKLLAVYM MKQVPEFHEDFYIPIPLDINNLSAYSPFLVPQDHLGNQGIFMAM * FLIGFPLNAMVLVATLRYKKLRQPLNYILVNV FFLICLGLPINGLTLICTAQHKKLRQPLNFILVNL SVFMFFIFIGGASINILTILCTIQFKKLRSHLNYILVNL

Множественное выравнивание ---MRKMS--EEEFYL-----FKNISSV--GPWDGPQYHIAPVWA ---MNGTE--GNNFYVP----LSNRTGLVRSPFEYPQYYLAEPWQ ---MKQVPEFHEDFYIPIPLDINNLS--AYSPFLVPQDHLGNQGI * * * * ** FYLQAAFMGTVFLIGFPLNAMVLVATLRYKKLRQPLNYILVNV FKLLAVYMFFLICLGLPINGLTLICTAQHKKLRQPLNFILVNL FMAMSVFMFFIFIGGASINILTILCTIQFKKLRSHLNYILVNL * * * * **** ** ****

Множественное выравнивание Задача формализуется несколькими способами В любом случае точно решается экспоненциальными алгоритмами Поэтому на самом деле решается приближенно Например, при помощи open source средства MAFFT

Производительность MAFFT Не очень хорошая (для самого «точного» варианта) При этом 90% времени тратится в процедуре выравнивания двух строк Её было решено ускорить аппаратно

Общий вид системы PC FPGA (ПЛИС) 100MBit/s Ethernet Эмулирует любую цифровую синхронную интегральную схему

Боремся за 10х и более ускорение PC FPGA (ПЛИС) Intel Core Duo 1.8GHz, оптимизированый код на Си Virtex5 xc5vlx50t-1 код на HaSCoL, написанный за 10 дней. Выравнивание двух строк Работает в 10 раз быстрее

В чем сложность подхода? PC FPGA (ПЛИС) Программируется на одном из множества языков Программируется на низкоуровневых VHDL/Verilog, либо средствами HLS

Средства high-level synthesis Синтез из Си-подобных языков, либо подмножеств Си (CatapultC, HandelC, SpecC, MitrionC, …) Попытки предложить свой язык (Bluespec, наш HaSCoL)

HaSCoL – набор вложенных расширяемых языков Не тактово-аккуратные расширения Конвейер, поток управления Поддержка обмена сообщениями Базовый уровень языка (типа VHDL/Verilog) Тактово- аккуратные расширения языка (уже реализованы

Целевая функция для выравнивания двух строк

Примерное устройство решения

Матрица возвратов

Примерное устройство решения: конвейер вычислителей

Один вычислитель -- реализация data previousValue : tWeight; data previousLeftValue : tWeight; in nextLeftValue(nextLeftValue : tWeight) { nextOurValue = someExpression(value, previousValue, previousLeftValue) | previousOurValue := nextOurValue | previousLeftValue := nextLeftValue ; send propagateToTheRight(nextOurValue) }

Сложность 1: короткий конвейер

Соответствующий управляющий код while colPos < s2len do inform initialCol(colPos, 0) | colPos = colPos + AlignerSize | reccoldiv := reccoldiv + 1 ; wait(AlignerSize); let lastCol = colPos >= s2len in { rowPos = (0 : int(16)) | lastCol = lastCol | rowWritePos := 0 | skipHead := if lastCol then s1lenModAlignerSizeR else 0 fi }; while rowPos

Сложность 2 Необходимость делать обратный проход по матрице, перевычисляя вертикальные полосы в обратном порядке, потому что матрицу возвратов сохранить невозможно Эту сложность мы преодолеваем примерно таким же образом

Еще раз результаты Примерно за 10 дней на HaSCoL реализовано устройство вычисления попарного выравнивания Оно протестировано на нескольких десятках тысяч тестов в симуляции Синтезировано для FPGA Virtex-5 xc5vlx50t-1, по результатам синтеза получена оценка: устройство будет работать примерно в 10 раз быстрее программной реализации попарного выравнивания

Контакты, ссылки Скачать тулы, статьи про наш язык GNU код на HaSCoL (разное – магистры ГУАП, студенты, аспирант, я сам)