Источник: Christine Daniloff/MIT |
Один из возможных путей дальнейшего повышения быстродействия компьютеров в условиях приближения физических пределов миниатюризации полупроводниковых транзисторов — переход на нечеткую логику, то есть введение возможности допущения ошибок, не влияющих на общий результат. Например, если несколько пикселов в HD-видеоролике декодированы неверно, зритель этого, скорее всего, не заметит, а компьютер благодаря снижению строгости требований к точности сможет работать быстрее или расходовать меньше энергии.
В Массачусетском технологическом институте разработали систему программирования Rely, которая позволяет разработчику с помощью точки указывать участки кода, в которых допустима ошибка, — например, строка «total = total +. new_value» будет означать, что при суммировании точность не обязательна. Обработав код, система подсчитывает вероятность того, что программа, несмотря на ошибки, будет выдавать желаемый результат, и если она слишком мала, разработчик вносит соответствующие коррективы. В последующих версиях системы процесс планируется упростить: программист сможет просто указать допустимый уровень ошибок для целых блоков кода (например, задать уровень надежности для декодирования пикселов в видеокадре не меньше 97%). Rely затем автоматически определит, как изменить код в соответствии с этими требованиями.