Система Chisel позволяет компьютерам экономить энергию, разрешая им делать ошибки
Когда эта фраза применяется по отношению к людям, это означает, что мы должны работать более упорно и качественней только над самыми важными задачами, не тратя напрасно усилия и время, выкладываясь полностью на всех задачах без исключения. Этот принцип также можно применить в отношении компьютеров, и это то, что делает новая система Chisel, разработанная в Массачусетском технологическом институте. Эта система позволяет компьютерам экономить существенное количество энергии, перенося менее критичные задачи для выполнения на малопотребляющих аппаратных средствах, обладающих низкой надежностью. Это означает, что в расчетах таких задач могут возникать незначительные ошибки, но это считается допустимым в данном случае.
Эта система предназначена, в первую очередь, для программистов, работающих над реализацией проектов весьма высокой сложности. Программное обеспечение Chisel анализирует программный код проекта и выискивает отдельные функции, для вычисления которых требуется большие затраты мощности. Список таких функций предоставляется программисту, который должен указать степень важности результатов работы каждой из функций. Для каждой из функций программист указывает также степень допустимой погрешности результата, которая не скажется на качестве решения основной задачи. И все эти функции программы Chisel снабжены функцией предпросмотра, которая демонстрирует поведение каждого участка кода в различных условиях. Задачи, которые получают наивысший приоритет, выполняются на самых надежных, но требующих больших количеств энергии, аппаратных средствах вычислительной системы. Менее важные задачи выполняются на аппаратных средствах более низкого уровня, которые могут совершать ошибки. Примером таких ошибок может быть обработанное изображение, один или два пиксела которого имеют не очень "правильный" цвет, что не сказывается на качестве изображения в целом.
Моделирование использования системы Chisel показало, что эта технология позволяет сэкономить от 9 до 19 процентов энергии. Программная часть системы Chisel написана на специальном языке программирования, который называется Rely, языке, операторы которого позволяют указать при помощи специальных операторов "терпимость" того или иного участка программы к возникновению ошибок. Следует заметить, что ученые из Массачусетского технологического института являются не единственными, кто ведет работы в данном направлении. Университета Райс (Rice University) также определили понятие допустимых ошибок и разработали "неточный" процессор, который позволяет экономить энергию, изредка ошибаясь в расчетах. Этот в 15 раз более эффективен с точки зрения скорости, потребления энергии и размеров, нежели обычные процессоры, обрабатывающие все участки программ с одинаковой скоростью.