Группа разработчиков из Университета Райса (Хьюстон, США), Наньянского технологического университета (Сингапур), швейцарского Центра электроники и микротехнологий и Калифорнийского университета в Беркли сконструировали необычный микрочип, бросающий вызов главной догме компьютерной промышленности – максимально возможной точности цифровых устройств. Речь идет о так называемом «ошибающемся компьютерном процессоре», рабочий прототип которого был представлен на международной конференции Ассоциации вычислительной техники (ACM, старейшей и самой крупной международной организации в компьютерной области, объединяющей около 90 тысяч специалистов со штаб-квартирой в Нью-Йорке), которая прошла в Кальяри (Италия).
Позволив своему процессору совершать случайные и некритичные ошибки, его создатели добились впечатляющего – до 15 раз – роста производительности и энергоэффективности по сравнению с существующими технологиями.
«Впервые мы сумели реализовать эту технологию в рабочем прототипе, показывающем существенный рост производительности и эффективности, и я просто восхищен, что конечный результат полностью совпал и даже превзошел наши ожидания», – комментирует разработку ведущий конструктор чипа Кришна Палем, руководитель американо-сингапурского Института устойчивой и прикладной инфодинамики (ISAID).
Разработка получила высокие оценки компьютерных экспертов, став одной из сенсаций на конференции в Кальяри. «Исследования в области приближенных вычислений – одно из приоритетных направлений в микроэлектронике, и эта работа открывает интереснейшие возможности в области вычислительных систем нового поколения, сочетающих как неточные, так и традиционные процессоры», – уверен программный директор конференции АСМ Паоло Фарабоски.
Идея позволить некоторым компонентам процессора совершать ошибки, чтобы, не тратя энергии на их постоянную коррекцию, добиться большей энергоэффективности, выглядит простой лишь поначалу.
Потребовалось несколько лет, чтобы изучить вероятностное распределение ошибок во всех ветках процессорной архитектуры и научиться правильно управлять ими, не подвергая критическому риску общую процедуру вычисления. В конечном итоге были разработаны решения, которые позволили одновременно и снизить потребление энергии, и существенно повысить общую производительность процессора.
Одним из таких решений (притом не самым сложным) стала «обрезка» – удаление редко используемых вычислительных контуров, встроенных в архитектуру чипа. Другим – «зональное шкалирование напряжения», позволившее рациональнее распределять энергию между различными частями процессора в зависимости от их текущего вклада в вычисление, что также снизило общее потребление энергии и повысило производительность.
Как показали первые тесты на симуляторе процессора в 2011 году, «обрезка» некоторых контуров, традиционно встраиваемых в процессор, увеличивала его производительность сразу по трем параметрам: «обрезанные» чипы работали в два раза быстрее, использовали в два раза меньше энергии и были в два раза меньше по размеру.
Но при создании первого рабочего прототипа «ошибающегося чипа» конструкторы радикализировали свой подход и пошли еще дальше.
«В последних тестах мы показали, что «обрезка» и зональное шкалирование снижают потребление энергии в 3,5 раза в случае чипов, которые отклонялись от корректных результатов вычислений в среднем на 0,25 процента. С учетом нового размера и увеличения скорости работы, эти чипы оказались в 7,5 раз более эффективными, чем традиционные. В свою очередь, чипы, дающие неправильный результат в большем диапазоне – с итоговым отклонением до 8 процентов, оказались более эффективными уже в 15 раз», – рассказывает один из создателей процессора Авинаш Лингамнени, выпускник Университета Райса.
Означает ли это, что конечный потребитель, если такая технология будет внедрена в производство, получит на руки заведомо дефектный чип, продуцирующий ошибочные результаты?
Правильный ответ на этот вопрос кроется в одном из фундаментальных постулатов теории информации, гласящем, что достижение большей точности всегда сопряжено и с большими тратами энергии, необходимыми для направленного поддержания определенных, «точных» состояний, которые в силу спонтанного возрастания энтропии норовят все время деградировать. Однако достижение все большей точности (и связанное с этим большее потребление энергии) не всегда является обоснованным с точки зрения практического приложения вычислительных систем.
Так, если для радиоастронома, изучающего поведение вещества в другой галактике, максимально высокая точность датчиков и сигнальных процессоров критична, то для обычной фотокамеры она просто не нужна, хотя сейчас в основе процессоров, применяемых в совершенно различных сферах, лежит вычислительная архитектура, предполагающая одинаково низкий уровень ошибок.
«Вычислительные ошибки допустимы для целой группы приложений. Например, человеческий мозг использует свой собственный и очень эффективный механизм коррекции ошибок, и мы выяснили, что при цифровой обработке изображений уровень вычислительных ошибок в 0,54 процента «на глаз» практически неразличим, и даже при 7,5-процентом уровне система все равно продуцирует легкоразличимые изображения», – объясняет другой участник проекта Кристиан Энц. Напомним, что уже при допуске ошибки в 0,25% потребление энергии процессором снижается в 3,5 раза.
Инженеры полагают, что областью применения «ошибающихся процессоров» станут специфические устройства и приложения, где давно уже не нужна сверхвысокая точность традиционных чипов, а их ошибки легко компенсируются когнитивными механизмами, которые создала сама природа за миллиарды лет эволюции живых систем.
Например, такие чипы будут использоваться в протезах для слабослышащих (потенциально и для слабовидящих), что позволит радикально миниатюризировать эти устройства и сделать их энергонезависимыми; в различных системах мониторинга, в фото и видеокамерах, а также в мобильных устройствах, для которых проблема энергоэффективности всегда критична. Вычислительные ошибки, которые будут совершать встроенные в них чипы, будут незаметными, а вот прирост в производительности и скорости – очень ощутимым.