На международном симпозиуме параллельных и распределенных вычислений будет представлена новая техника
организации управления памятью, позволяющая добиться заметного
повышения производительности стандартных приложений при их работе на
многоядерных процессорах. При этом повышение производительности заметно
в программах для которых в обычных условиях достаточно трудно
распараллелить операции, например, в браузерах и текстовых процессорах.
Суть техники в выделении функций динамического распределения
памяти в отдельный поток MMT (Memory Management Thread), работающий
параллельно и не блокирующий работу основного приложения. В настоящий
момент разработчиками подготовлен прототип динамической библиотеки,
подменяющей стандартные функции распределения памяти (malloc, free) и
не требующей модификации приложения. Измерение производительности различных программ, в зависимости
от активности операций выделения и освобождения блоков памяти,
показало, что в среднем программы тратят на выполнение операций по
распределению памяти до 30% своего времени выполнения. Использование
техники MMT позволяет увеличить скорость работы таких программ в
среднем на 19%.
В будущем возможно расширение библиотеки средствами по фоновому
выявлению аномалий в работе программы или выполнению дополнительных
проверок, связанных с безопасностью. В качестве примера приводится
библиотека Phkmalloc,
обеспечивающая ряд связанных с безопасностью дополнительных проверок,
ценой которых является ощутимое замедление работы. В обычной ситуации
среднее замедление при использовании Phkmalloc составляет 21% (в
определенных ситуациях до 44%), но при задействовании техники фонового
распределения памяти замедление от дополнительных проверок безопасности
в Phkmalloc удалось свести к 1%. Источник
|