Новый инструмент делает программы более эффективными без ослабления безопасности

30 сентябрь, 2011 - 09:49Леонід Бараш

Компьютерные программы инкорпорируют все больше и больше функций безопасности для защиты пользователей, но их включение может также замедлить скорость выполнения программ до 10 раз и более. Исследователи из Университета Северной Каролины (NC) разработали программный инструмент, который помогает этим программам работать более эффективно без ущерба для функций безопасности.

«Функции безопасности, или метафункции, могут замедлить программу так сильно, что разработчики часто их не включают, - сказал д-р Джеймс Так (James Tuck), доцент кафедры вычислительной техники. – Отсутствие этих функций может значить, что вы не идентифицируете проблему так быстро, как могли бы, что может оказаться важным, в частности, если ваш компьютер подвергается риску быть атакованным».

Исторически эти функции безопасности инкорпорировались непосредственно в код программы и выполнялись тем же центральным процессором, что и основная программа. Исследователи из NC разработали инструмент, который использует преимущества многоядерных процессоров для выполнения функций безопасности на отдельном ядре. Это позволяет основной программе работать с быстродействием, близким к определяемому ее кодом. Так, на протестированных немодифицированных программах быстродействие снижалось приблизительно на 580%. С использованием разработанного инструмента оно снижалось приблизительно на 25%.

Такой многоядерный подход пытались применить и раньше, но предыдущие попытки были неэффективными и включали репликацию большого объема кода, что требовало много времени и энергии. Новый инструмент значительно упрощает обработку функций защиты, которая выполняется на других ядрах.
Д-р Так обращает внимание на то, что инструмент функционирует автоматически и не включает ручного перепрограммирования. Он реализуется как подключаемый модуль программных инструментов коллекции компиляторов GNU.