Linux yadrosi uchun kiritish/chiqarish rejalashtiruvchilari ish faoliyatini yaxshilash uchun optimallashtirishlar tayyorlangan

Jens Axboe, io_uring va CFQ, Deadline va Noop kiritish-chiqarish rejalashtiruvchilari yaratuvchisi, Linux yadrosida kiritish/chiqarishni optimallashtirish boβ€˜yicha oβ€˜z tajribalarini davom ettirdi. Bu safar uning e'tibori BFQ va mq-deadline I/U rejalashtiruvchilariga qaratildi, bu hech bo'lmaganda yuqori tezlikda ishlaydigan NVMe drayverlari uchun muammo bo'lib chiqdi.

Vaziyatni o'rganish shuni ko'rsatdiki, kiritish-chiqarish rejalashtiruvchisi quyi tizimlarining suboptimal ishlashining asosiy sabablaridan biri raqobatdosh qulflar bilan bog'liq muammolardir ("qulflash bahsi", boshqa ip tomonidan ushlab turilgan qulfni olishga urinish). Qulflarni qayta ishlashda nizolarni kamaytirishga qaratilgan chora-tadbirlar, masalan, jo'natishni ketma-ketlashtirish va so'rovlarni kiritish bir qator vaziyatlarda (IOPSda) rejalashtiruvchilar tezligi sezilarli darajada oshdi.

BFQ rejalashtiruvchisini fio yordam dasturi bilan sinovdan o'tkazishda unumdorlik 567K dan 1551K IOPS gacha oshdi va blokirovkalash 96% dan 30% gacha kamaydi. Mq-deadline holatida, NVMe drayverini ishlatishda tavsiya etilgan yamoqlarni qo'llashdan keyin ishlash sekundiga 1070K dan 2560K kirish/chiqish operatsiyalariga (IOPS) oshdi va blokirovkalash 94% dan 23% gacha kamaydi.

Manba: opennet.ru

a Izoh qo'shish