Google M:N axını modelinin tətbiqini açmağa başlayıb

Google təklif etdi Linux nüvəsinə daxil etmək üçün M: N iplik modelinin işini təmin etmək üçün lazım olan komponentlərin həyata keçirilməsi ilə ilk yamaqlar dəsti. Google-un təşəbbüsü bağlı qapılar arxasında hazırlanmış API-nin açılması ilə bağlıdır Keçidin M: N yivləmə modelindən istifadə edən istifadəçi məkanında həyata keçirilən çox yivli alt sistemi təmin edən Linux nüvəsi üçün. Alt sistem Google tərəfindən minimal gecikmələr tələb edən xidmətləri təmin etmək üçün istifadə olunur. Mövzu paylanmasının planlaşdırılması və idarə edilməsi tamamilə istifadəçi məkanında həyata keçirilir ki, bu da sistem çağırışlarının icrasını minimuma endirməklə kontekst keçidlərinin sayını əhəmiyyətli dərəcədə azalda bilər.

Bu altsistemin işləməsini təmin etmək üçün SwitchTo API üç əsas əməliyyatı təklif edən Linux nüvəsi səviyyəsində həyata keçirildi - gözləmə, davam etmə və dəyişdirmə (keçid). Nüvəyə daxil olmaq üçün yeni FUTEX_SWAP əməliyyatı üçün kod təklif olunur. FUTEX_WAIT və FUTEX_WAKE, və çox yivli istifadəçi məkanı kitabxanalarının qurulması üçün çərçivə təmin edir. FUTEX_SWAP həmçinin RPC kimi tapşırıqlar arasında mesaj ötürmək üçün istifadə edilə bilər. Məsələn, hazırda tapşırıqlar arasında mesaj ötürmək üçün FUTEX_WAIT və FUTEX_WAKE-ə ən azı dörd zəng tələb olunur, FUTEX_SWAP-dan istifadə isə bir əməliyyatı 5-10 dəfə daha sürətli başa çatdırmağa imkan verəcək.

Google M:N axını modelinin tətbiqini açmağa başlayıb

Hazırda praktikada əsasən 1:1 və N:1 axın modellərindən istifadə olunur. 1:1 modeli istifadə olunur NPTL (POSIX mövzuları) və LinuxThreads, və ləpə səviyyəsində istifadəçi məkanı mövzusunun iplə (icra planının vahidi) birbaşa xəritələşdirilməsini nəzərdə tutur. N:1 modeli tətbiq olunur GNU Pth, istifadəçi sahəsinə mövzu planlamasını gətirir və nüvənin istifadəçi mövzuları haqqında məlumatı olmadan N istifadəçi məkanı mövzusunun nüvədəki tək başlığa bağlanmasına imkan verir.

1:1 modelinin əsas çatışmazlığı nüvə və istifadəçi sahəsi arasında kontekst keçidinin böyük yüküdür. N:1 modeli bu problemi həll edir, lakin yenisini yaradır - nüvədəki başlıq icra planlamasının bölünməz vahidi olduğundan, əməliyyat sisteminin nüvəsindəki bir ipə bağlanmış istifadəçi ipləri CPU nüvələri arasında miqyaslana bilməz və ona bağlana bilməz. tək CPU nüvəsi.

M:N modeli hibriddir və N istifadəçi sahəsi mövzusunu M nüvə başlıqlarına uyğunlaşdırmaqla yuxarıdakı çatışmazlıqların hamısını həll edir, həm kontekst keçidinin yükünü azaldır, həm də CPU nüvələri arasında miqyasını azaldır. Bu seçimin qiyməti istifadəçi məkanında mövzu planlayıcısının tətbiqinin böyük çətinliyi və nüvə planlayıcısı ilə hərəkətləri əlaqələndirmək üçün mexanizmlərə ehtiyacdır.

Mənbə: opennet.ru

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