Սոցցանցի զարգացման թիմի անդամներից մեկը facebook, Ռոման Գուշչին, մշակողների փոստային ցուցակում առաջարկվել է մի շարք Linux միջուկի patchesուղղված է հիշողության կառավարման բարելավմանը հիշողության կառավարման նոր կարգավորիչի ներդրման միջոցով. սալաքար (սալաքարային հիշողության կարգավորիչ).
սալերի բաշխում հիշողության կառավարման մեխանիզմ է, որը նախատեսված է հիշողությունն ավելի արդյունավետ տեղաբաշխելու և զգալի մասնատումը վերացնելու համար: Այս ալգորիթմի հիմքն այն է, որ պահպանվի հատկացված հիշողությունը, որը պարունակում է որոշակի տեսակի օբյեկտ և վերօգտագործել այդ հիշողությունը հաջորդ անգամ, երբ այն հատկացվի նույն տեսակի օբյեկտին: Այս տեխնիկան առաջին անգամ ներդրվել է SunOS-ում Ջեֆ Բոնվիքի կողմից և այժմ լայնորեն օգտագործվում է բազմաթիվ Unix օպերացիոն համակարգերի միջուկներում, այդ թվում՝ FreeBSD-ի և Linux-ի:
Նոր կարգավորիչը հիմնված է սալերի հաշվառումը հիշողության էջի մակարդակից միջուկի օբյեկտի մակարդակ տեղափոխելու վրա, ինչը հնարավորություն է տալիս մեկ սալաքարի էջը կիսել տարբեր cխմբերում՝ յուրաքանչյուր cgroup-ի համար առանձին քեշ հատկացնելու փոխարեն:
Թեստի արդյունքների հիման վրա հետևում է, որ հիշողության կառավարման առաջարկվող մեթոդը թույլ է տալիս ավելացնել արդյունավետությունը օգտագործելով սալաքար Ինչպես 45%, և նաև կնվազեցնի OS միջուկի ընդհանուր հիշողության սպառումը: Բացի այդ, նվազեցնելով սալաքարին հատկացված էջերի քանակը, կրճատվում է հիշողության մասնատումը որպես ամբողջություն, ինչը չի կարող չազդել համակարգի աշխատանքի վրա:
Նոր կարգավորիչը մի քանի ամիս փորձարկվել է արտադրական Facebook սերվերների վրա, և մինչ այժմ այս թեստավորումը կարելի է անվանել հաջողված. սերվերներ մինչև 1 ԳԲ: Այս թիվը բավականին սուբյեկտիվ է, օրինակ, ավելի վաղ թեստերը ցույց են տվել մի փոքր ավելի ցածր արդյունքներ.
- 650-700 ՄԲ վեբ ճակատում
- 750-800 ՄԲ սերվերի վրա տվյալների բազայի քեշով
- 700 ՄԲ DNS սերվերի վրա
Source: linux.org.ru