|
Реконфигурируемый суперкомьютер на FPGA из Таганрога |
|
|
|
Feb 14 2009, 21:53
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 6-02-08
Из: Новосибирск
Пользователь №: 34 789

|
Есть ли среди уважаемых форумчан люди, плотно знакомые с сабжем? Я имею в виду именно «реконфигурируемый суперкомпьютер», разрабатываемый в Таганроге (под руководством Каляева И.А. и Левина И.И.), а не вообще тематику RC (Reconfigurable Computing) и HPRC (High Performance Reconfigurable Computing). Команда из Таганрога вошла в ряд федеральных целевых программ по данной тематике, в частности: Федеральная целевая программа "Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2007-2012 годы". ГОСУДАРСТВЕННЫЙ КОНТРАКТ N 02.524.12.4002 от 20 апреля 2007 г. Лот 4 шифр "2007-4-2.4-20-01-007" по теме: "Создание семейства высокопроизводительных многопроцессорных вычислительных систем с динамически перестраиваемой архитектурой на основе реконфигурируемой элементной базы и их математического обеспечения для решения вычислительно трудоемких задач" Стратегические задачи проекта 1.Разработка и создание отечественных конкурентоспособных реконфигурируемых многопроцессорных вычислительных систем, превосходящих по своим технико-экономическим характеристикам зарубежные образцы. 2.Серийный выпуск изделий для российского рынка. 3.Повышение престижа России на рынке высокопроизводительной вычислительной техники. 4.Продвижение перспективных российских разработок на мировой рынок. (информация на сайте www.parallel.ru) Более подробно с результатами работы команды Каляева и Левина можно ознакомиться по книге «Реконфигурируемые мультиконвейерные вычислительные структуры» (Каляев И.А., Левин И.И., Семерников Е.А., Шмойлов В.И., Ростов-на-Дону, 2008), а также по ряду статей, которые легко находятся в инете. Я достаточно серьезно интересуюсь вопросами, связанными с RC, и в особенности HPRC. Провел обзор и анализ очень большого количества материалов по этой тематике и могу сказать следующее: 1. На Западе работы в этом направлении ведутся очень интенсивно и в диапазоне от «один человек по вечерам дома что-то сделал за 2 дня» до программ с большим финансированием и серьезными результатами (пара примеров из большого множества – HPRC системы у IBM в проекте суперкомпьютера Blue Gene и проект RAMP, инициированный Дэйвом Паттерсоном) 2. Есть успехи, есть и спекуляция на этом предмете, вообще серьезные конторы (ранга Cray, IBM и ведущих научных центров) заявляют примерно следующее: «направление очень перспективное, но работ непочатый край», то есть такого что «все сделано, все работает и все всем ясно» нет пока и в помине Поэтому меня очень сильно заинтересовали и, вообще говоря, насторожили заявления команды из Таганрога. Насторожили по следующим причинам: 1. Ведущие западные конторы прямо и честно заявляют, что в общем пока «тут еще конь не валялся» и «работы море и хватит на всех», особенно это касается методологии разработки и проблемы «отображения» алгоритма на «железо» (HLL to HDL и т.п). В работах таганрогцев наоборот идет упор на то, что «мы впереди планеты всей», «мы уже много чего сделали» и «у нас (СССР/Россия) в этом направлении приоритет, т.к. данную тематику впервые "подняли" (в частности) академики (не уверен точно, что все они академики  ) Каляев А.В., Евреинов Э.В., Прангишвили И.В.». Последнее заявление проверяется очень просто и обнаруживается, что в США подобные системы описали и даже сделали (!) раньше лет так на 5-7 (в частности, G. Estrin, “Organization of Computer Systems—The Fixed Plus Variable Structure Computer,” Proc.Western Joint Computer Conf., Western Joint Computer Conference, New York, 1960, pp. 33-40.). Сам по себе факт, кто там раньше написал/сделал (мы или амеры) не так важен – просто настораживает такой подход авторов: из разряда «Россия – родина слонов», ну и вообще это, если называть вещи своими именами, - прямая ложь. (Любопытно, что в книгах Евреинова Э.В., на которые ссылаются Каляев И.А. и Левин И.И. есть ссылки на американские работы, в том числе и на приведенную мной в качестве примера, и нет заявлений, что "мы впереди планеты всей") 2. Из сделанного в железе у этой команды (то, что я нарыл в инете) – это платы типа «16 Virtex V/IV на борту», которые могут устанавливаться в модули. Все это названо «Семейство реконфигурируемых вычислительных систем». Я работал в достаточно серьезной западной конторе, которая занималась, в том числе разработкой достаточно серьезного хардвара, выпускаемого серийно, и хорошо понимаю, что просто «голая плата с 16 FPGA» сама по себе малоинтересна и назвать это «реконфигурируемой вычислительной системой» можно с большой натяжкой (также как кучу из 200 тонн кирпичей – красивым домом). 3. Основная сложность (по оценкам многих умных людей) это вовсе не «сделать плату с 16 Virtex V на борту», а разработать методологию разработки и сами средства разработки для таких систем. Существует, наверное, несколько десятков проектов, в которых делаются попытки эту проблему решить , но пока «чаша Грааля» не найдена, насколько я знаю. Команда Каляева и Левина пишет (в книге и в статьях), что ими разработан язык высокого уровня Colamo (Коламо ?), который эти проблемы решает. Опять же, на западе ничего про этот чудо-язык никто не знает. 4. В книге встречаются такого рода высказывания (это точные цитаты из книги, без комментариев): а)HDL-языки являются очень удобным средством описания различного рода интерфейсов, однако при реализации сложных вычислений разработчик не имеет возможности влиять на процедуру отображения написанного на HDL кода на физические ресурсы кристалла… …поэтому при реализации сложного вычислительного алгоритма представляется предпочтительным использование графического редактора. б)…стандартные средства САПР ПЛИС позволяют программировать схемотехнику только одиночных ПЛИС в)Процесс же реконфигурирования ПЛИС – очень длительный процесс, занимающий десятки секунд [50]. ([50] Каляев А.В., Левин И.И. Модульно-наращиваемые многопроцессорные системы со структурно-процедурной организацией вычислений. –М. Янус-К, 2003, 380) 5. Ни в книге, ни в одной другой работе указанных авторов практически нет ссылок на хоть какие-либо современные работы западных авторов. Есть либо общие слова, типа «на Западе работы ведутся», либо ссылки на какие-то третьестепенные малозначащие работы, либо на «старую классику». На западе сотни и тысячи работ по этой тематике. В книге из 146 ссылок только 5-6 на западные работы, хотя реально, в данном направлении число публикаций из СССР/России в процентном отношении составляет не более 1% (я имею в виду период реального развития тематики RC/HPRC, то есть с конца 90-х годов XX века, а не составление списка из сотен «работ» про «сферических коней в вакууме», датированных 60-80 годами). 6. Западные товарищи, в свою очередь, «в упор не видят» команду Каляева и Левина в своих работах. Поэтому, есть большая просьба к людям, которые знают реальное положение дел по этим проектам (да и всем остальным тоже), высказаться по данной теме. Возможен, конечно, вариант, что команда из Таганрога опередила западных разработчиков лет на 10-20, но мне что-то в это слабо верится .
|
|
|
|
|
 |
Ответов
|
Feb 18 2009, 13:48
|
Знающий
   
Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905

|
Судя по этому форуму, не только буржуйские мужики не знают. На сайтах я вижу peaple, publications, sponsors. Не вижу download development tools. Вижу, что люди собрались и трындят, хотя, денег вот на это добыли, уважаю. Может, плохо искал, тогда извиняюсь, покажите, где у них результаты, где показатели лучше, чем на процессорах общего назначения?
Продолжу рассматривать свой случай, так как это характерный пример.
Итак, что происходило:
1) прикладной специалист пишет программу на Си, допускает ошибочку в комплексном умножении, не лучшим способом выбирает метод, не учитывает ошибок округления. Запомним этого человека, закроем глаза не перечисленные ошибки. Он взорвал себе мозг и понял, как нужно считать!
2) далее специалист по системе динамического распараллеливания не вдаваясь в подробности (важно!) подправил программу для кластера. Не получилось. Долго и дорого и по прежнему с ошибками.
3) программу дали специалисту по архитектурам, по x86 и fpga. Так вот пока я не разобрался что именно мы считаем, не исправил ошибку, не определил допустимые ошибки округления, не сменил метод вычислений - тоже получалось плохо, в fpga не лезло, на процессоре считалось долго. А когда я все это сделал, то и opteron вполне справился. Один. Без всяких ускорителей за тысячи долларов.
Конечно, комплекс из драйвера, прикладной задачи и ускорителя на stratix в итоге обогнал opteron раз в 30, но opteron считал в floating point, а stratix в числах с фиксированной точкой и мантиссой меньше 16 бит! Я уверен, что если использовать процессор по назначению, то есть, применить вылизанную годами библиотеку fftw, а еще лучше, написать целочисленный вариант, полный аналог сделанного в stratix с использованием SIMD-команд. Вот тут и шина не помешает и память. Думаю, что все упрется в чтение файла с диска.
О чем тут речь? О том, что избежать погружения в прикладную область очень трудно. А погрузившись нужно не утратить информацию о платформе. Только имея информацию о задаче и о платформе можно сделать что-то быстрое.
Я знаю одно решение - сесть и изучить все это, потратив месяцы для разработчиков или сотни тысяч долларов для работодателей и бизнессменов. Знаю и другое - брать программу у прикладного программиста со всеми его методами и ошибками, преобразоывавть так, чтобы считать с точностью до бита как он. Но быстрее.
Однако, средств, позволяющих взять программу на C или FORTRAN и превратить ее в bitstream для FPGA+драйвер+прикладная задача - я не знаю. Ну, есть математические пакеты, которые для некоторых задач могут сделать прошивку для FPGA, не изучал и сомневаюсь в возможности применения. Возможно, напрасно.
А раз так, то остается только писать, переписывать и отлаживать, постепенно погружаясь в прикладную область и в глюки платформы. Хорошо, если есть халявный ресурс в виде студентов или еще чего-то такого, что готово писать и переписывать, да еще и обучено как надо.
Возможно, подобные ситуации с халявным программистским ресурсом создают иллюзию, что на FPGA можно что-то там ускорять, просто запаять микросхему и оно сразу ускориться. Это иллюзия. Сначала придется повозиться запаять, а потом кому-то придется потрудиться и запрограммировать.
Попытки что-то надстроить над структурой FPGA, чтобы скрыть тонкости, однозначно приведут к снижению скорости работы. Кажется, таганрогская система программирования в начале и была надстройкой, но из-за ужасных показателей от нее отказались.
Да, а еще ведь тайминги могут не получиться нужные! Это же как у пожарных, работа отличная, но как place & route, так хоть увольняйся. Ну и как быстро объяснить математику про setup-time и hold-time и про почему оно не может быть размещено рядом из-за разных clock_enable сигналов? А быстро объяснить нельзя, а если не понимать, то получится плохо. Халявных студентов тоже касается.
Еще раз, чуть более внятно: Для успеха нужно 2 части знаний, 1) о задаче 2) о платформе. Так вот, 2 часть в FPGA большая. Её нужно исхитриться куда-то засунуть, в голову разработчику или в средство разработки. А голова у разработчика хоть и выглядит резиновой, краник туда небольшой ведет. Все учесть не получается и в результате ускорения может не получиться. У процессора 2-я часть меньше, во всяком случае, голов и средств разработки с загруженным знанием о процессоре больше на рынке. В результате, за одинаковые деньги и время на CPU задача начнет считаться существенно раньше и будет считаться быстрее, чем на FPGA.
К экономической целесообразности все это не имеет никакого отношения.
PS: но если хочется ускоритель, да на FPGA, да сложная задача и время не ограничено и есть евросумма с шестью нулями - добро пожаловать!
|
|
|
|
|
Feb 18 2009, 14:30
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 6-02-08
Из: Новосибирск
Пользователь №: 34 789

|
Цитата(Shtirlits @ Feb 18 2009, 19:48)  Может, плохо искал, тогда извиняюсь, покажите, где у них результаты, где показатели лучше, чем на процессорах общего назначения? Давайте я один пример кину, ладно? но при желании Вы сами их найдете очень много. http://www.hindawi.com/GetArticle.aspx?doi.../ASP/2006/97950"RigidMolecule Docking: FPGA Reconfiguration for Alternative Force Laws". Это конкретное приложение (хотя сам метод, как говорят спецы, с которыми я общался - устаревший). Ускорение по сравнению с 3 ГГц процессором "общего назначения" в 130-1100(!) раз. на одном XC2VP70-5.
|
|
|
|
|
Feb 18 2009, 15:14
|
Знающий
   
Группа: Свой
Сообщений: 574
Регистрация: 9-10-04
Из: FPGA-city
Пользователь №: 827

|
Цитата(mikeT @ Feb 18 2009, 17:30)  http://www.hindawi.com/GetArticle.aspx?doi.../ASP/2006/97950"RigidMolecule Docking: FPGA Reconfiguration for Alternative Force Laws". Это конкретное приложение (хотя сам метод, как говорят спецы, с которыми я общался - устаревший). Ускорение по сравнению с 3 ГГц процессором "общего назначения" в 130-1100(!) раз. на одном XC2VP70-5. Пара мыслей: - PC correlation performance на уровне 0.2E9 8-битных MAC для 3 ГГц Xeon низковат, пару порядков за счет ядер, конвейера и MMX можно изыскать. - частота 60-90 МГц для 2-7 битных вычислений представляется маловатой. Уверен, никто здесь не будет утверждать, что ускорение на ПЛИС вещь по определению ненужная. Но заметно, как прямо хочется им в 100000 раз уделать компьютер, до конца с ним не поборовшись. Да, уделали, но не в 1000 раз, а в 10, что само по себе неплохо, хотя и на 90 МГц в Virtex 2. Остается уделать их на Virtex 5 или на 10 компьютерах. --- Где-то мне попадалась реклама про нечто от Intel вроде КУДЫ, только с x86 инструкциями. Если вдруг такая штука выйдет, тогда будет интересно. Из-за всевозможных проблем инструментов для сборки проектов ПЛИС любая высокоуровневая оболочка обречена сегодня.
|
|
|
|
Сообщений в этой теме
mikeT Реконфигурируемый суперкомьютер на FPGA из Таганрога Feb 14 2009, 21:53 CaPpuCcino Цитата(mikeT @ Feb 15 2009, 01:53) а такж... Feb 14 2009, 22:11 mikeT К сожалению с сайтом www.parallel.ru какие-то проб... Feb 14 2009, 22:32 1S49 Цитата(mikeT @ Feb 15 2009, 01:32) К сожа... Feb 14 2009, 23:08 khach IMHO FPGA хороши для "тренировки на кошках... Feb 15 2009, 11:24 gosha Если это опять ни с чем ни совместимый Проц (intel... Feb 16 2009, 07:27  mse Цитата(gosha @ Feb 16 2009, 10:27) Если э... Feb 16 2009, 08:08   gosha Цитата(mse @ Feb 16 2009, 11:08) Суперком... Feb 16 2009, 14:55    mse Цитата(gosha @ Feb 16 2009, 17:55) М.б. Н... Feb 17 2009, 08:20 Rst7 ЦитатаОсобенно, если он будет заточен под узкую за... Feb 16 2009, 08:16 DmitryR Тот факт, что они начали с изготовления собственно... Feb 16 2009, 10:15  Boris_TS Цитата(DmitryR @ Feb 16 2009, 14:15) Тот ... Feb 16 2009, 10:58   DmitryR Цитата(Boris_TS @ Feb 16 2009, 13:58) а н... Feb 16 2009, 11:46    MrYuran Цитата(DmitryR @ Feb 16 2009, 14:46) Это ... Feb 16 2009, 12:37     vik0 Цитата(MrYuran @ Feb 16 2009, 14:37) Киты... Feb 16 2009, 12:44      MrYuran Цитата(vik0 @ Feb 16 2009, 15:44) Вы виде... Feb 16 2009, 12:51  HardJoker Цитата(DmitryR @ Feb 16 2009, 13:15) Тот ... Feb 16 2009, 11:04 jojo А зачем нужен РЕконфигурируемый на ходу процессор?... Feb 16 2009, 12:24 jojo А, вот оно:
http://parallel.ru/FPGA/publications.h... Feb 16 2009, 14:54 khach Напихиваем 3 таких карты в материнку с 3xPCIe разе... Feb 17 2009, 08:47 MrYuran Цитата(khach @ Feb 17 2009, 11:47) Напихи... Feb 17 2009, 08:51  khach Цитата(MrYuran @ Feb 17 2009, 10:51) Сеня... Feb 17 2009, 09:05   mikeT Цитата(khach @ Feb 17 2009, 15:05) А вооб... Feb 17 2009, 10:59    DmitryR Нет, потому что в FPGA IEEE-754-85 и так легко реа... Feb 17 2009, 12:20     mikeT Цитата(DmitryR @ Feb 17 2009, 18:20) Нет,... Feb 17 2009, 12:54    XVR Цитата(mikeT @ Feb 17 2009, 13:59) Именно... Feb 18 2009, 08:10 dch Цитата(mikeT @ Feb 15 2009, 00:53) Я рабо... Feb 17 2009, 10:03 Shtirlits Мне удивительно, но тема ускорителей каких-либо вы... Feb 18 2009, 05:49 mikeT Цитата(Shtirlits @ Feb 18 2009, 11:49) Мн... Feb 18 2009, 07:51  zzzzzzzz Цитата(mikeT @ Feb 18 2009, 10:51) .....В... Feb 18 2009, 08:01   mikeT Цитата(zzzzzzzz @ Feb 18 2009, 14:01) Ну ... Feb 18 2009, 08:40 Евгений Николаев Полагаю, что производство ASICов экономически целе... Feb 18 2009, 09:06 zzzzzzzz Цитата(Евгений Николаев @ Feb 18 2009, 12... Feb 18 2009, 09:21  DmitryR Цитата(zzzzzzzz @ Feb 18 2009, 12:21) Так... Feb 18 2009, 10:03   zzzzzzzz Цитата(DmitryR @ Feb 18 2009, 13:03) Гран... Feb 18 2009, 10:55 jojo Есть несколько российский фирм, которые разрабатыв... Feb 18 2009, 10:11 mikeT Цитата(jojo @ Feb 18 2009, 16:11) Есть не... Feb 18 2009, 11:54  jojo Цитата(mikeT @ Feb 18 2009, 14:54) Не мог... Feb 18 2009, 12:27   HardJoker Цитата(jojo @ Feb 18 2009, 15:27) Не могу... Feb 18 2009, 13:50  Leka Цитата(mikeT @ Feb 18 2009, 14:54) в Тага... Feb 18 2009, 13:58   sysel Если уже зашла речь о "дешевых" вычислен... Feb 18 2009, 14:43    mikeT Цитата(sysel @ Feb 18 2009, 20:43) Если у... Feb 18 2009, 16:15 eugen_pcad_ru ИМХО Это авантюра чистой воды (денег все хотят) В ... Feb 18 2009, 10:39    XVR Цитата(Serg76 @ Feb 18 2009, 19:32) Может... Feb 18 2009, 19:05 jojo Да, действительно, LRB, т.е. Larrabee.
У быстрых ... Feb 18 2009, 20:22 Shtirlits Цитата(jojo @ Feb 18 2009, 23:22) Предста... Feb 19 2009, 06:06 mse Вот вязаночка.
http://www.phys.uu.nl/~steen/web08/... Feb 19 2009, 07:03 Shtirlits Цитата(mse @ Feb 19 2009, 10:03) Вот вяза... Feb 19 2009, 08:36  jojo Цитата(Shtirlits @ Feb 19 2009, 11:36) Ещ... Feb 19 2009, 11:16   mikeT Цитата(jojo @ Feb 19 2009, 17:16) Скажем,... Feb 19 2009, 13:32  mse Цитата(Shtirlits @ Feb 19 2009, 11:36) Ну... Feb 19 2009, 13:24   Shtirlits Цитата(mse @ Feb 19 2009, 16:24) В ПДФ-ке... Feb 19 2009, 15:35    mikeT Цитата(Shtirlits @ Feb 19 2009, 21:35) Во... Feb 19 2009, 15:53     Shtirlits Цитата(mikeT @ Feb 19 2009, 18:53) P.P.S.... Feb 19 2009, 16:14 Yuri Potapoff Цитата(mikeT @ Feb 15 2009, 00:53) Поэтом... Mar 1 2009, 16:20
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|