Многим людям известно выражение «Work smarter, not harder». У этoй фрaзы имeeтся мнoжeствo вaриaнтoв пeрeвoдa, нo ee суть дoстaтoчнo тoчнo вырaжaeт фрaзa «Рaбoтaй бoльшe умом, а не усердием».
Когда эта фраза применяется по отношению к людям, это означает, что мы должны работать более упорно и качественней только над самыми важными задачами, не тратя напрасно усилия и время, выкладываясь полностью на всех задачах без исключения.
Этот принцип также можно применить в отношении компьютеров, и это то, что делает новая система Chisel, разработанная в Массачусетском технологическом институте.
Такая система позволяет компьютерам экономить существенное количество энергии, перенося критичные задачи для выполнения на малопотребляющих аппаратных средствах, обладающих низкой надежностью. Это означает, что в расчетах таких задач могут возникать незначительные ошибки, но это считается допустимым в данном случае.
Эта система предназначена, в первую очередь, для программистов, работающих над реализацией проектов весьма высокой сложности. Программное обеспечение Chisel анализирует программный шифр проекта и выискивает отдельные функции, для вычисления которых нужны большие затраты мощности.
Для каждой из функций программист указывает степень допустимой погрешности результата, которая не скажется на качестве решения основной задачи. И все эти функции программы Chisel снабжены функцией предпросмотра, которая демонстрирует поведение каждого участка кода в различных условиях.
Задачи, которые получают рекордный приоритет, выполняются на самых надежных, но требующих больших количеств энергии, аппаратных средствах вычислительной системы. Не такие важные задачи выполняются на аппаратных средствах более низкого уровня, которые могут совершать ошибки. Примером таких ошибок может быть обработанное изображение, один или два пиксела которого имеют не очень «правильный» цвет, что не сказывается на качестве изображения в целом.
Моделирование использования системы Chisel показало, что эта технология позволяет сэкономить от 9 до 19 процентов энергии.
Программная часть системы Chisel написана на специальном языке программирования, который называется Rely, языке, операторы которого позволяют обозначить при помощи специальных операторов «терпимость» того или иного участка программы к возникновению ошибок.
Надо заметить, что ученые из Массачусетского технологического института являются не единственными, кто ведет работы в данном направлении. Университет Райс (Rice University) тоже определили понятие допустимых ошибок и разработали «неточный» процессор, который позволяет экономить энергию, изредка ошибаясь в расчетах.
Этот в 15 раз более эффективен с точки зрения скорости, потребления энергии и размеров, чем обычные процессоры, обрабатывающие все участки программ с одинаковой скоростью.