LINUX.ORG.RU

Новый метод управления памятью от Facebook

 , ,


1

4

Один из членов команды разработки социальной сети Facebook, Роман Гущин, предложил в рассылке разработчиков набор из патчей для ядра Linux, направленных на улучшение работы с памятью через реализацию нового контроллера управления оной – slab (slab memory сontroller).


Распределение slab – это механизм управления памятью, предназначенный для более эффективного распределения памяти и устранения значительной фрагментации. Основой этого алгоритма является сохранение выделенной памяти, содержащей объект определенного типа, и повторное использование этой памяти при следующем выделении для объекта того же типа. Этот метод был впервые введен в SunOS Джефом Бонвиком и сейчас широко используется в ядрах многих операционных систем Unix, включая FreeBSD и Linux.


В основе нового контроллера лежит перенос учёта slab с уровня страниц памяти на уровень объектов ядра, что предоставляет возможность совместного использования одной slab-страницы в разных cgroup, вместо выделения отдельного кэша для каждой cgroup.

По результатам испытаний следует, что предложенный метод управления памятью позволяет повысить эффективность использования slab до 45%, а также понизит общее потребление памяти ядром ОС. Также за счет сокращения количества выделяемых под slab страниц уменьшается фрагментация памяти в целом, что не может не сказаться на быстродействии системы.

Новый контроллер уже несколько месяцев тестируется на рабочих серверах Facebook, и пока это тестирование можно назвать успешным: при отсутствии потерь в быстродействии и увеличения количества ошибок замечено явное уменьшение расхода памяти – на некоторых серверах до 1Гб. Это число довольно субъективно, так, например, ранее проведенные тесты показали немного меньшие результаты:

  • 650-700 МБ на веб-фронтенде;
  • 750-800 МБ на сервере с кэшем баз данных;
  • 700 МБ на DNS-сервере.

>>> Страничка автора на GitHub

>>> Результаты ранних тестов

>>> Подробности

★★★★★

Проверено: leave ()
Последнее исправление: Virtuos86 (всего исправлений: 2)

Ответ на: комментарий от anonymous

А Элтон Джон

Интересно, а мне просто кажется его музыка убогой и пафосной... Но тебя почему-то волнует другое.

Shadow ★★★★★
()
Ответ на: комментарий от dexpl

я ничего не публикую, потому что не хочу быть техподдержкой. вообще нет ни малейшего желания заморачиваться с общением с юзерами. я делаю систему для себя. собственно, опенсорц именно для того и опенсорц, чтобы можно было его под себя настраивать.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Shadow

а кому нужны несвежие радеоны? к тому же, драйвер radeonhd (или как он там сейчас называется) был и есть. вполне себе работает. у меня на старых десктопах радеоны были и всегда были опенсорцные дрова к ним, без проблем.

вот на ноуте у меня невидия и я её не использую, использую встроенную карту в проце, на которую есть нормальные дрова. впрочем, мне за глаза хватает. мне не нужны никакие ускорения и всё такое.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 2)
Ответ на: комментарий от Iron_Bug

был и есть. вполне себе работает

вот как? а что насчёт того, что амд не сделала под линуксом в картах старше определённого поколения поддержки opengl 4.5, хотя под вендой она есть, а на аналогичных картах хуанга там вообще 4.6 и dx12

anonymous
()
Ответ на: комментарий от dexpl

представь себе, DND. и это нормально для любой коммерческой разработки. я не сливаю налево никакую коммерческую информацию.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от anonymous

я вообще этим не интересовалась. меня opengl как-то не волнует, особенно какие-то продвинутые версии. мне его негде использовать, собственно. ютупчик в мелком разрешении и так работает.

но, наверное, есть те, кого этот вопрос волнует, и они реверсят протоколы. так всегда было в лине.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 3)

повысить эффективность использования slab до 45%

SLABовато…

eternal_sorrow ★★★★★
()

сделано в OpenVZ уже сто лет в обед

сделано в OpenVZ уже сто лет в обед

anonymous
()
Ответ на: комментарий от Iron_Bug

представь себе, DND.

К чему ты вспомнила "Dungeons and dragons"? Впрочем, не важно, какова причина, главное — результат: вклада в open source ты не вносишь.

dexpl ★★★★★
()
Ответ на: комментарий от Iron_Bug

я хз, что такое

как ты можешь выставлять себя специалистом, если не знаешь таких базовых вещей

anonymous
()
Ответ на: комментарий от Zhbert

басурманская тарабарщина не сильно логически складывалась в здравый текст

Как можно обретаться в IT и при этом не осилить английский язык на уровне чтения LKML?

anonymous
()
Ответ на: комментарий от anonymous

я не специалист в ваших пионерских дрочевах.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

То, что ты делаешь это не опенсорс. Это поведение обычного потребителя. В нём нет ничего априорно плохого, в конце концов не каждый способен создавать нетленки 24 часа в сутки. Однако тот апломб, с которым ты пишешь про работу других людей, выдаёт в тебе инфантильную личность. Ты ещё не создал ничего, что могло бы привлечь этих самых пользователей, техподдержкой которых ты так не хочешь быть, но уже старательно делаешь из этого проблему.

anonymous
()
Ответ на: комментарий от Zhbert

Я его компилял из первоисточника

Лучше перекомпиляй с другими ключами. А то ерунда получилась.

уменьшение расхода памяти – на некоторых серверах до 1Гб

- Штурман, прибор?!
- Сто двадцать!
- Что "сто двадцать"?
- А что "прибор"?
TI_Eugene ★★
()
Последнее исправление: TI_Eugene (всего исправлений: 1)
Ответ на: комментарий от anonymous

я никогда не работала в отраслях, связанных с конечными юзерами. и мне совершенно не нужно их внимание. я написала много полезного софта, который работает. но упаси меня макаронный монстр от внимания юзеров. это самое последнее, чего мне бы хотелось в жизни. я буду писать приложения для серверов, системные вещи, софт для эмбеддеда, для автоматизации. в этих областях с юзерами никакого общения не нужно и это великолепно.

и да, ваш пейспук тоже предлагал мне работу. я отказалась. потому что разработка соцсетей мне неинтересна от слова совсем. и аффилированность с подобными конторами мне была бы неприятна. я хочу заниматься чем-то полезным.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 3)
Ответ на: комментарий от anonymous

амд не сделала под линуксом

значит НЕНУЖНО!

anonymous
()
Ответ на: комментарий от anonymous

амд не сделала под линуксом в картах старше определённого поколения поддержки opengl 4.5

Потанцевал просто ещё не настоялся.

devl547 ★★★★★
()
Ответ на: комментарий от Iron_Bug

я написала много полезного софта

который никто никогда не видел

и да, ваш пейспук тоже предлагал мне работу.

ахахахахахааха, дворником видимо

anonymous
()
Ответ на: комментарий от Radjah

а у тебя, конечно же, на локалхосте есть задачи пейспукового объёма: запуск кучи одинаковых приложений? вопрос «зачем» - риторический, потому что писать не умеют, видимо. и свою криворукость они пытаются исправить за счёт ядра. причём за счёт объектов ядра - о, медведи и белки! отличная идея, никто, конечно, не против.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Radjah

это не переход на личности. это демонстрация того, что конкретно тебе этот патч от пейспука не нужен. и мне не нужен. и никому не нужен. кроме пейспука. и то из-за их криворукости.

вот так копрорации и заговняют код ядра, делая его жирным, жручим и неповоротливым. а потом мы удивляемся - когда-то оно шустро работало на 386-х!

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)

Очень хорошая новость. Особенно выгодно будет выглядеть для сегмента микрокомпьютеров вроде Raspberry Pi и им подобных, где памяти пока не ахти.

sadko4u ★★
()
Ответ на: комментарий от Iron_Bug

ядро работало? чем ты занимаешься, что у тебя ядро работает а не программы

anonymous
()
Ответ на: комментарий от anonymous

SLAB появился ещё когда ни виртуализации, ни контейнеров никаких не было, а необходимость эффективно выделять блоки данных в ядерном пространстве памяти уже была нужна.

Ваш комментарий несостоятелен от слова совсем.

sadko4u ★★
()
Ответ на: комментарий от sadko4u

SLAB появился ещё когда ни виртуализации

именно, а новость про cgroup memory controller. потому как раз твой предыдущий комментарий «несостоятелен от слова совсем»

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.