Google-un LVI mühafizə proqramı 14x performans hit göstərdi

Google-dan Zola Körpüləri təklif etdi LLVM kompilyator dəsti üçün Intel CPU-larda spekulyativ icra mexanizminə hücumların qarşısını almağa kömək edən SESES (Spekulyativ İcra Yan Təsirinin Yatırılması) qorunmasının tətbiqi ilə yamaq. LVI. Qoruma metodu kompilyator səviyyəsində həyata keçirilir və maşın kodunu yaradan zaman kompilyator tərəfindən təlimatların əlavə edilməsinə əsaslanır. LFENCE, bunlar hər yaddaşın oxunması və ya yazılması təlimatından əvvəl, eləcə də bloku bitirən təlimatlar qrupunda birinci filial təlimatından əvvəl daxil edilir.

LFENCE təlimatı icra etmək üçün bütün əvvəlki yaddaş oxunuşlarını gözləyir və icra tamamlanana qədər LFENCE-dən sonra sonrakı təlimatların qabaqcadan alınmasını qeyri-aktiv edir. LFENCE-nin istifadəsi performansın əhəmiyyətli dərəcədə azalmasına səbəb olur, buna görə də xüsusilə kritik kod üçün ekstremal hallarda qorunma təklif olunur. Tam qorunma ilə yanaşı, yamaq performansa mənfi təsirləri azaltmaq üçün müəyyən qorunma səviyyələrini seçici olaraq söndürməyə imkan verən üç bayraq təklif edir.

Aparılan sınaqlarda BoringSSL paketi üçün SESES mühafizəsinin istifadəsi kitabxananın saniyədə yerinə yetirdiyi əməliyyatların sayının 14 dəfə azalmasına səbəb olub - kitabxananın qorunan versiyasının performansı orta hesabla yalnız 7.1% təşkil edib. qorunmayan versiya (testdən asılı olaraq dəyişiklik 4% -dən 23% -ə qədər).

Müqayisə üçün təklif etdi Əvvəllər GNU Assembler üçün hər yaddaş yükləmə əməliyyatından sonra və bəzi filial təlimatlarından əvvəl LFENCE əvəzetməsini yerinə yetirən mexanizm performansın təxminən 5 dəfə azalması (qorunmadan kodun 22%-i) göstərdi. Qoruma üsulu da belədir təklif etdi и həyata keçirilən Intel mühəndisləri tərəfindən, lakin onun üçün performans test nəticələri hələ dərc edilməyib. Əvvəlcə LVI hücumunu müəyyən edən tədqiqatçılar tam qorunma tətbiq edildikdə performansın 2-19 dəfə azalacağını proqnozlaşdırdılar.

Mənbə: opennet.ru

Добавить комментарий