Սոցցանցի զարգացման թիմի անդամներից մեկը facebook, Ռոման Գուշչին, առաջարկել է մի շարք патчей для ядра Linux, որն ուղղված է հիշողության կառավարման բարելավմանը հիշողության կառավարման նոր կարգավորիչի ներդրման միջոցով. սալաքար (սալաքարային հիշողության կարգավորիչ).
Սալերի բաշխում –– это механизм управления памятью, предназначенный для более эффективного распределения памяти и устранения значительной фрагментации. Основой этого алгоритма является сохранение выделенной памяти, содержащей объект определенного типа, и повторное использование этой памяти при следующем выделении для объекта того же типа. Этот метод был впервые введен в SunOS Джефом Бонвиком и сейчас широко используется в ядрах многих операционных систем Unix, включая FreeBSD и Linux.
Նոր կարգավորիչը հիմնված է սալերի հաշվառումը հիշողության էջի մակարդակից միջուկի օբյեկտի մակարդակ տեղափոխելու վրա, ինչը թույլ է տալիս մեկ սալաքար էջը կիսել տարբեր cխմբերի միջև՝ յուրաքանչյուր cgroup-ի համար առանձին քեշ հատկացնելու փոխարեն:
Թեստի արդյունքները ցույց են տալիս, որ առաջարկվող հիշողության կառավարման մեթոդը թույլ է տալիս ավելացնել արդյունավետությունը սալաքարի օգտագործումը Ինչպես 45%, և նաև կնվազեցնի OS միջուկի ընդհանուր հիշողության սպառումը: Բացի այդ, սալերի համար հատկացված էջերի քանակի կրճատմամբ, հիշողության մասնատումը, որպես ամբողջություն, նվազում է, ինչը չի կարող չազդել համակարգի աշխատանքի վրա:
Նոր կարգավորիչն արդեն մի քանի ամիս է, ինչ փորձարկվում է Facebook-ի արտադրական սերվերներում, և առայժմ այս թեստավորումը կարելի է անվանել հաջողված՝ առանց կատարողականի որևէ կորստի կամ սխալների քանակի ավելացման, նկատվել է հիշողության սպառման հստակ կրճատում՝ որոշ սերվերների վրա մինչև 1 ԳԲ։ Այս թիվը բավականին սուբյեկտիվ է, օրինակ, նախկինում անցկացված թեստերը ցույց են տվել մի փոքր ավելի ցածր արդյունքներ.
- 650-700 ՄԲ վեբ ճակատում
- 750-800 ՄԲ սերվերի վրա տվյալների բազայի քեշով
- 700 ՄԲ DNS սերվերի վրա
Source: linux.org.ru
