ailev.ru

2 декабря 2009 · Комментарий

Без заголовка

Тут проблема в алгоритмах. Железо будет всего лишь реализовывать какой-то алгоритм. Поддержанный со стороны железа, он конечно будет работать быстрее, но он будет менее гибким, более тупым. Так что будет ли в результате нетто-выигрыш - ответ не очевидный. Разумеется, какие-то поддержка со стороны железа была бы полезна для логическо-функциональных языков. Но какая конкретно - не вполне понятно. К примеру, есть SAT задачи. Казалось бы они идеально ложаться на железо - булева логика. А вот и нет. Дело в том что большие задачи - миллионы переменных - железо все равно не сможет полностью перебрать. А вот софтовые алгоритмы их решают, потому как они быстро отсекают лишние варианты. Но они уже на железо не ложаться очевидным образом. Возможно некоторые элементы можно будет переложить. То же касается и ассоциативной памяти - софтовые алгоритмы гибче, а значит в конечном итоге быстрее, ибо делают меньше работы (на порядки). Возможно, какая-то поддержка со стороны железа тут будет на пользу, типа легковесной многоядерности, быстрые переключения контекстов. А ту проблему, что Вы упоминали, так это просто разработчики софт реализовали неэффектиный алгоритм, вот он и тормозит на больших задачах. Это сплошь и рядом случается, железом это не лечится, это лечится только мозгами (т.е надо разработать эффективный алгоритм, ну или эффективно реализовать существующий).

К записи · К обсуждению