Как стать автором
Обновить

Построение планов параллельного выполнения программ для процессоров со сверхдлинным машинным словом (проект)

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров2.8K
Всего голосов 11: ↑10 и ↓1+12
Комментарии27

Комментарии 27

Процессоры архитектуры  сверхдлинного машинного слова (VLIW - Very Long Instruction Word) относятся к специфическим классам архитектур, прямо нацеленным на использование внутреннего параллелизма в алгоритмах (программах), причём параллелизм этот анализируется и планируется к рациональному использованию при вычислениях на программном уровне; собственно аппаратная часть освобождается от процедур распараллеливания  (и поэтому должна стать проще и экономичнее использующих внутреннее распараллеливание).

то есть:
- задачи под помянутый эльбрус, выпуск которого прекращен.
- использование паралельного исполнения для единственной выполняемой программы, то есть исходную задачу Эльбрусов - перехват баллистических целей ?

PS. У вас в профиле уехала Контактная информация

Попытка выжать максимум производительности из чипа по старому техпроцессу при ограниченном "бюджете" транзисторов?

Ну, это Вы зря! Техпроцесс в конце концов "скоммуниздят", бюджет после вхождения в Росатом доведут куда следует... а попытка "выжать по-максимуму" вполне нормальная - так все в мире делают!..

Боюсь, что вопрос техпроцесса бюджетом не решается и скоммуниздить тоже не выходит пока.

https://dzen.ru/a/ZXA3NpiU63hAnqvI?from_site=mail /// Знали б Вы, сколько самых различных задач скрывается под "единственной выполняемой программой"..! Да и даже ежели она была бы одна-единственная - за каждую миллисекунду быстродействия копья ломаются бесперечь...

Стоит ли обращать внимание на интернет-экспертов теперь вот и по задачам ПРО да эльбрусов?

// отправлено с моего "Эльбрус-16С"

В целом показано, что для VLIW-процессоров с размером слота сверхдлинного слова в 4÷16 команд плотность кода изменяется в достаточно широком диапазоне (может доходить до 0,6÷1,0 с продолжающимся падением при дальнейшим росте слота) 

Секунды??????

Единицы (или %%). "C" относится к "с продолжающимся падением"...

Что на графиках на оси Y? Время или какие то абстрактные единицы?

Ваш текст не продает... Надо "на SMD это работает час а у нас за минуту"

a) – параллельная вычислительная сложность (высота ЯПФ), b) – вычислительная сложность преобразования ЯПФ (в единицах перемещений операторов с яруса на ярус), с) – плотность кода (в единицах kи); /// Объясните "не продаёт" - как-то не по-русски..!

Обьясняю: Вы используете терминологию которая мало кому понятна, от неё веет совдепщиной 1970-х годов. Вы пытаетесь таким образом привлечь в тему молодых и горячих ?

ТЕРМИНОЛОГИЯ задаётся ТРЕБУЕМОЙ ФУНКЦИОНАЛЬНОСТЬЮ ("что надо сделать"), она одинакова во всём мире (чуть-чуть по-разному отдельные вещи называются - рекомендую как раз ТЕРМИНОЛОГИЕЙ заняться). Есть ОБЪЕКТИВНАЯ истина... всё остальное мало чего стоит. А легковесные "молодые да горячие" быстренько остынут (или сгинут на задворках теперешной Ойкумены), поняв вышесказанное..!

Вопрос на засыпку: а почем Вы исследуете только программы (алгоритмы) вычислительного характера ? Вы попробуйте заоптимизирвать программы которые работают с память, например алгоритмы сортировок больших блоков данных, контекстный поиск, и т.д. Тут вся ваша статическая оптимизация и развалится на части.

Все так. Вот бы кто то написал статью как все таки готовить правильно подкачку данных в эльбрусе, можно ли данные из файла загрузить с выравниванием. Что делать когда структура не влазит в битность а немножко больше или немножко меньше. В общем вопросов по работе с данными масса там.

Наверное, это все придётся сделать Вам (а кому же ещё)! Я делаю что умею - и слава богу... Мне интересны ТАКИЕ (экстремальные) вопросы - до каких пределов можно использовать параллелизм? Не так давно я понял, что НЕ ДО БЕСКОНЕЧНО БОЛЬШИХ... вопросы плотности кода (в примитивной постановке) - это интересно. Подозреваю, что это один из главных параметров - "коэффициент использования оборудования"; остальные попримитивнее будут..!

Возвращаясь к сказанному - если есть желание решить какой-то вопрос - почему его не решить? Зачем ждать, когда КТО-ТО решит? "Математически смоделировать" почти всё можно! Возможностей огромное количество! Никогда (и это точно!) в Истории не было столько возможностей для моделирования процессов (самых разнообразных)! Надо нАчать и делать, и люди найдутся, кому это пригодится. Меня вот вопросы нахождения пределов распараллеливания интересуют, Вас - проблемы оптимального размещения данных - так и исследуйте их!..

Кстати, недавно обновили mcst.ru/elbrus_prog -- и замечания-предложения всё так же приветствуются (можно, например, в общем @e2k_chat или официальном @ElbrusCPUTeam). Ну и можете сами поэкспериментировать, см. elbrus.kurisa.ch.

Совсем забыл спросить - а что Вы понимаете под "развАливанием статической оптимизации на части"?.. Пожалуйста, КОНКРЕТИЗИРУЙТЕ..!

Встречный вопрос на засыпку уместен? ;-)

И это мы ещё даже не затрагиваем вопросы безопасности -- скажем, так.

Но если действительно интересно -- почитайте про APB в mcst.ru/elbrus_prog (главы 6 и 8): можно проиграть в обработке, зато выиграть в доступе.

Это уже к Вам ближе - Вы и докажите (доказывает всегда ОППОНЕНТ)!.. А если "по-честному" - ЭЛЬБРУС'ы предназначены, в частности, для использования при супервычислениях - исходя из этого и тестируются...

Опыт последних лет показывает, что Эльбрусы пытаются использовать под СУБД и СХД, а не под тяжелую математику. И результаты очень посредственные. Вот Вы как ученый теоретик придумали бы как обойти это узкое место, вместо того, чтобы изучать то, что давно изучено.

И еще момент. Если Вы взялись за моделирование процессора, пусть даже самого абстрактного, то делайте это средствами общепринятого характера. Вместо виндовой утилиты, которая пригодна только для Вас и Вашего узкого круга исследователей, следовало бы создать модуль для QEMU с поддержкой исследуемой архитектуры, реализовать её на Verilog-е для ПЛИС, портировать для неё GCC и ряд других инструментов. После чего провести исследования и выложить всё это дело на всеобщее обозрение. Таким образом можно было бы попытаться привлечь людей к исследуемой проблеме. Вместо этого Вы публикуете какие-то абстрактные вещи без детального разьясннения "что к чему". Где описания назначения переменных в Ваших формулах ? Где описание формата файлов ? Повторить Ваш опыт просто не реально даже при большом желании. Это не наука, а такой вид ананизма - самоудовлетворение в чистом виде. Уж извините.

Думаю, это именно Ваша "карма" - создать РАСШИРЕННУЮ модель!.. Я использовал PERT (см., например, книгу Кормена - то же, что построение ЯПФ); модель общепринятая, стандартная. Жаль, что Вы не знаете её! Не считаю, что необходимо строить Verilog-ную модель (таких "достаточно и иных найдутся") - а ОСНОВНЫЕ, БАЗОВЫЕ понятия был обязан дать! Не нравится предложенный уровень абстракции? Что ж - Вам остаётся смирИться с его существованием! Буду рад, если Вам удастся "сделать хоть что-то новое" (буду отслеживать и ждать). Публикация предельно компактная - для информирования просмотрите предыдущие (данная описана как "проект"); в предыдущих описаны и методики и форматы файлов и др. Кстати, оказалось, что в высшей степени такой подход полезен для учащихся (сплошь и рядом не понимают, на каких принципах базируется параллелизм, какими параметрами он характеризуется, каким образом рационально использовать его etc etc). Сильно подозреваю, что и Вы не до конца осознаёте данные сущности... Хотите-не хотите, необходимо заниматься и образовательными задачами! /// Кстати, поздравляю соврамши ("ананизм")...

...Я, слава богу, понял в чём Ваша проблема! Вы (принципиально) не знаете, что такое АНАЛИЗ АЛГОРИТМОВ (не на вычислительную трудоёмкость, а на потенциал параллелизма)!.. Для этого имеются спец-приёмы (рекомендую книгу Федотова И.Е.) и они были мною применены. Лишь чуть-чуть я "завязался" на основную идею VLIW (размер слота, размер которого у меня отложен по оси абсцисс). Ну зачем мне Vеrilog - это ВНУTРЕННЕЕ = для меня ВТОРОСТЕПЕННОЕ..! Я анализирую на уровне АНАЛИЗА АЛГОРИТМОВ - и результат НАЛИЦО ! Фу, дошёл-таки, разобрался...

Попалось нынче на глаза:


И тут выясняется, что вот оно настоящее, оно здесь, какое никакое, плохенькое, не Nature, не Лазурный берег и не клиника Шарите. Вот такое неказистое, простенькое, отчасти убогое, отчасти великое, но только то, что до нас сделали поколения русских людей и что можем сделать мы сами. И вот насколько сами сделаем, настолько и будем жить.
t.me/prokhortchouk/186

Что до самоудовлетворения -- сдаётся мне, проецируете. Мы в детстве в одной из ведущих ФМШ бывшего СССР, когда что-либо понимали и хотели сделать -- так брались и делали, а не указывали другим, чем им заняться (за очевидной бессмысленностью).

// отправлено с моего "Эльбруса", применяемого как домашний ПК

Естественно, это бессмысленность! По сути - это "ТОНКОЕ" ИЗДЕВАТЕЛЬСТВО!.. Однако я и в самом деле ТАК ДУМАЮ: "Если есть в окружающем Мире что-то НЕПОНЯТНОЕ - так сделай это ПОНЯТНЫМ" (а ля Володя Ульянов в своё время)...

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории