LINUX.ORG.RU

Ultra low pause сборщики мусора в Java, много их

 


1

2

Очень интересное обсуждение ultra low pause garbage collector'ов идет прямо сейчас в мейллисте OpenJDK. В Java больная тема, на много-гигабайтных процессах JVM начинает очень подолгу пережевывать накопившийся мусор - так называемые full-GC паузы. Когда суперэнтырпрайзный сервер приложений вдруг подвешивает все треды секунд на 5-10 - это сильно напрягает любителей хайлоада.

Для Java давно уже существуют «беспаузные» коллекторы от Azul, но они закрытые и дорогие. Не так давно в OpenJDK приняли Shenandoah - ultra low pause коллектор, который в Red Hat делают.

Это была преамбула, а вот собственно ссылка на анонс нового GC от Oracle: http://mail.openjdk.java.net/pipermail/discuss/2017-October/004540.html

По ссылке уже присутствует еда (тим-лидеры из SAP и Red Hat негодуют), и ее ожидается еще больше.

Интересны мнения аналитиков ЛОР на проблему full-GC пауз. В тред также кастуются разработчики из Сбер-Теха, активно использующие Shenandoah в своих проектах.

Кстати, над Shenandoah в RedHat работает Christine Flood:

https://getfedora.org/ru/workstation/

Правда уже не в лице инженера по нагрузочному тестированию (надмозг что ли переводил performance engineer?), а в лице тимлида проекта Shenandoah: http://openjdk.java.net/census#shenandoah

Посмотреть её коммиты на крестолапше можно по нику chf, вот например: http://hg.openjdk.java.net/shenandoah/jdk9/hotspot/rev/f4974318787a

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

cast stevejobs

Сбер-Теха, активно использующие Shenandoah

Прокомментируй, пожалуйста.

По словам Шипилёва Shenandoah планируется только в OpenJDK 10, можно собрать в 9 прям сейчас, но для продакшена не рекомендуется.

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

Ответ должен быть из нескольких частей.

1) Шинанда и Сбертех

Мы хорошо знакомы с Лешей, и конечно же, я проверял Шинанду относительно нашего кода.

К сожалению, у меня был не GC-критикал проект, была куча правильного железа (не нужно испытывать в условиях недостатка ресурсов), поэтому ни особой выгоды, ни особых потерь от шинанды мои опыты не показали. Но ничего и не развалилось, и заявленные преимущества были получены.

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

Я не знаю никого, кто в рамках моей программы (ППРБ), кто использовал бы Шинанду как продакшен решение, и предполагаю что это процессно невозможно (что-то должно обкататься как минимум полгода в опытной эксплуатации, чтобы быть допущено в прод).

2) Шинанда и сборки

Всё так, плюс оно скорей всего уже попало в Редхатовскую сборку OpenJDK как экспериментальная фича.

Может быть даже, в Оракл Линукс (который основан на RHEL - помните факап, когда Оракл в официальной поставке своего линукса поставил не свою OpenJDK, а редхатовскую - конкурирующую?)

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

3) а вот собственно ссылка на анонс нового GC от Oracle

Это штука не новая, шведы ее давно пилили

Судя по всему, Оракл хотел этот GC продавать, пока не понял, что в присутствии конкуренции от Редхата вообще и бесплатной Шинанды в частности, это дохлый номер.

Ну и параллельно им стукнуло, что надо все сливать в опенсорц.

Но фишка в том, что ни исходников, ничего значимого про этот новый GC пока неизвестно.

Пока что в схватке Шинанды vs ZGC, ZGC выписывается техническое поражение, по причине неявки оного на поле боя

4) Что делать дальше.

а) Пробовать Шинанду, давать фидбек Шипилеву пока не поздно.

б) Сходить на конференцию Joker 2017, которая будет через неделю (3-4 ноября). Там можно послушать доклад про обновления Шинанды, и вижвую пообщаться с Лешей лицом к лицу. Ссылка на сайт конференции: https://jokerconf.com

Напоминаю, что обязательным(!) требованием к прослушиванию нового доклада про Шинанду, является прослушивание предыдущей версии доклада: https://www.youtube.com/watch?v=CnRtbtis79U&feature=youtu.be

в) Напоминаю, что существует БЕСПЛАТНЫЙ митап, с Алексеем в главной роли, который пройдет в Санкт-Петербурге 2 ноября: https://jug.ru/2017/10/meetup-shipilev/

По ссылке на митап - переход на регистрацию на Таймпаде. Регистрация обязательна!

stevejobs ★★★★☆ ()

По ссылке уже присутствует еда (тим-лидеры из SAP и Red Hat негодуют), и ее ожидается еще больше

Перескажи в двух словах для Ъ.

Интересны мнения аналитиков ЛОР на проблему full-GC пауз

Сделать говняшку и вырастить на ней целый рой паразитов

давно уже существуют «беспаузные» коллекторы от Azul, но они закрытые и дорогие

это так в духе ынтерпрайза в целом и oracle в частности.

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

Перескажи в двух словах для Ъ.

Это за вчера, сегодня там новой еды привалило, не читал еще:

Oracle: нагнитесь и расслабьтесь, сейчас мы будем вводить ZGC в OpenJDK

SAP: This is unfortunate, because it again confirms the impression that projects started by Oracle are somehow treated preferentially compared to projects proposed by external contributors.

1. What are the benefits / advantages of ZGC over Shenandoah? 2. Does it make sense to have both, ZGC and Shenandoah in the main code line? 2.1 If yes, why? 2.2 If no, why you propose ZGC at all and not contribute to Shenandoah? It's there since more than two years! That you already worked on ZGC for some time as well doesn't count here because we (the OpenJDK community) couldn't see that and had no chance to contribute to it. 3. Oracle has just deprecated CMS and other collectors because according to Oracle it was just too expensive to maintain that many collectors in parallel. Now I wonder how yet another new collector fits into the picture?

RH: Оракл плахие, Штольмана не чтут, пилят в тайне свои проприетарные фичи и пихают куда не попадя

anonymous ()

Интересны мнения аналитиков ЛОР на проблему full-GC пауз

Проблема full-GC пауз существует. От проблемы full-GC пауз следует избавляться всеми доступными способами. Работы по избавлению от full-GC пауз ведутся.

Аналитики ЛОР.

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

Добавим также, что аналитики ЛОР подходят к вопросу full-GC пауз на мультитерабайтных хипах с максимально возможной ответственностью и докупили еще пару планок на 16 гигов для максимальной достоверности микро-, макро- и обычнобенчмарков.

cdshines ★★★★ ()

Интересны мнения аналитиков ЛОР на проблему full-GC пауз

Так кому нужно много хипа используют Unsafe, на нём же куча биг-дата фреймворков. Недавно же, на этот счет, вой стоял про выпиливание Unsafe из 9-ки.

Эта шинанда скорее ответ джавы на ГЦ от хипстерского Го, чем на проблему «full-GC пауз».

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