Исследование эффективности потокобезопасных очередей на устройствах с асимметричным набором ядер
Аннотация
В рамках статьи было проведено исследование зависимости пропускной способности потокобезопасных очередей от количества push- и pop-потоков при различных сопровождающих нагрузках для каждого пропускаемого элемента. В результате поиска подходов к созданию потокобезопасных очередей для исследования были выбраны singlе lock queue, two lock queue и lock free queue, для каждого из них была проведена предварительная оценка преимуществ и недостатков, которые могут повлиять на итоговую производительность. Очереди были реализованы с учетом специфики работы с устройствами с асимметричным набором ядер и с минимально необходимыми накладными расходами по времени CPU. Для исследования пропускной способности были реализованы бенчмарки, которые отражают сценарии использования очередей одинаковым количеством push- и pop-потоков при различной полезной нагрузке. Параметризация нагрузки реализована при помощи множителя вычислений. Этот подход позволяет учесть различие ядер одного устройства в мощности. Измерения проводились на двух устройствах: P50pro и Mate60pro. Такой выбор обусловлен тем, что P50pro имеет меньше ядер, чем Mate60pro, однако частота ядер у P50pro выше. В результате была получена эмпирическая зависимость эффективности работы очередей, из которой можно сделать выводы об области применимости той или иной очереди на разных устройствах. Для устройства с большим числом ядер lock free queue очередь либо выигрывает, либо эквивалентна two lock queue очереди при любой нагрузке, кроме нулевой. На устройстве с небольшим числом ядер two lock queue очередь выигрывает при низких нагрузках, lock free queue выигрывает при высоких. Эта зависимость позволяет оценить наиболее эффективное количество ядер для работы с очередью при известных нагрузках на каждый пропускаемый элемент, а значит, позволяет получить максимальную производительность на одно ядро.

Это произведение доступно по лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная.
Редакционная политика журнала основывается на традиционных этических принципах российской научной периодики и строится с учетом этических норм работы редакторов и издателей, закрепленных в Кодексе поведения и руководящих принципах наилучшей практики для редактора журнала (Code of Conduct and Best Practice Guidelines for Journal Editors) и Кодексе поведения для издателя журнала (Code of Conduct for Journal Publishers), разработанных Комитетом по публикационной этике - Committee on Publication Ethics (COPE). В процессе издательской деятельности редколлегия журнала руководствуется международными правилами охраны авторского права, нормами действующего законодательства РФ, международными издательскими стандартами и обязательной ссылке на первоисточник.
Журнал позволяет авторам сохранять авторское право без ограничений. Журнал позволяет авторам сохранить права на публикацию без ограничений.
Издательская политика в области авторского права и архивирования определяются «зеленым цветом» в базе данных SHERPA/RoMEO.
Все статьи распространяются на условиях лицензии Creative Commons «Attribution» («Атрибуция») 4.0 Всемирная, которая позволяет другим использовать, распространять, дополнять эту работу с обязательной ссылкой на оригинальную работу и публикацию в этом журналe.