Oberon space
General Category => Общий раздел => Тема начата: Geniepro от Июль 10, 2012, 11:39:14 am
-
http://www.multiclet.com/
Мильтиклеточные процессоры -- по сути сверхмощные микроконтроллеры.
Российская разработка, уже можно купить (в районе $15 за камень) -- произведено 10 тыс. шт.
Вот для них надо какой-то новый язык программирования, заточенный под эту модель вычислений мультиклеточную, а они там компилятор Си сделали...
-
Как раз одна из их идей (как и в dataflow-модели Бурцева) - автоматическое распараллеливание обычных императивных программ, за счёт того, что маш. код генерируется с графом зависимостей данных.
Т.е. штука в том, что подобные вещи должны сделать возможным параллелизм для нормальных языков и опровергнуть мифологемы ФП-шников, что будущее только за ними :) :)
-
Вот ещё бы увидеть где-то реальные тесты, и если там действительно произвольная императивная программа чудесным образом значительно ускорятеся -- то объяснение, за счёт чего...
-
Мультиклет защищать не буду - не знаю, а в Бурцевской модели - за счёт использования ассоциативной памяти для увязывания готового результата вычисления с ожидающими его блоками кода. Естественно, там надежда на грядущее удешевление ассоциативной памяти...
-
Мультиклет защищать не буду - не знаю, а в Бурцевской модели - за счёт использования ассоциативной памяти для увязывания готового результата вычисления с ожидающими его блоками кода. Естественно, там надежда на грядущее удешевление ассоциативной памяти...
Бурцевская -- это dataflow?
Но ведь dataflow -- это же путь к ФП на самом деле...
Предварительное вычисление -- фьючерсы -- это же как раз из ФП тема...
-
Сайт burcom.ru, увы, не отвечает уже. Видимо, со смертью Бурцева работы в ИВВС РАН остановились...
У меня, правда, осталось много сохранённых их публикаций.
Там совершенно всё равно, из какого языка компилировать в код dataflow-машины. Каждое значение имеет свой id (токен), по которому происходит связь. В активном поле лежат команды с id тех значений, которые им требуются. Как только значение вычислено, оно попадает в ассоциативную память - и вычислители выбирают из активного поля все команды, которые ждали этот id.
Т. е. при такой модели никакого "пути к ФП" уже, как бы, не нужно, ибо и для императивной программы весь потенциальный параллелизм вычисления будет задействован. Этого не может сделать компилятор, но это делает "аппаратный рантайм", просто в силу самого принципа его работы.
Прошу не воспринимать как пропаганду, я сам не очень верю, что скоро будет дешёвая ассоциативная память. Мне лично и без dataflow, и без ФП нормально :)
-
Кстати у Конвея (это которого тут недавно вспоминали) тоже есть dataflow-идеи http://www.melconway.com/Home/Inventor.html (http://www.melconway.com/Home/Inventor.html) . Он даже патентом их прикрыл.
Но, и тут он, как и в случае "своего" LAW, в том, что такое dataflow наверняка не разобрался... увы ;D
-
Каждое значение имеет свой id (токен), по которому происходит связь. В активном поле лежат команды с id тех значений, которые им требуются. Как только значение вычислено, оно попадает в ассоциативную память - и вычислители выбирают из активного поля все команды, которые ждали этот id.
Блин, это же ленивые вычисления (вычисления по требованию). Так это же и есть ФП-машина! )))
С императивными языками, подозреваю, эффективность у неё будет существенно ниже, чем с чистыми ФП языками...