Shenandoah: сборщик мусора, который смог (часть 2)
День 1 / 17:00 / Зал 2 / Язык: RUВнимание! Чтобы полностью понять всё то, о чём Алексей будет говорить в докладе, настоятельно рекомендуем посмотреть первую часть «Shenandoah: сборщик мусора, который смог»: https://youtu.be/CnRtbtis79U
После того, как мы разобрались с главными фазами и превратили их в конкурентные, паузы в основном стали определяться более короткими, но всё равно зачастую stop-the-world активностями между большими конкурентными эпохами. В них придётся заниматься всяким: сканировать GC roots, взаимодействовать с языковыми фичами, которые в курсе про существование GC (например, weak references), разбираться с проблемами в реализации safepoint-ов, менеджить память и как-то делиться ей с ОС и т.п. Этот доклад ныряет в кроличью нору проблем, с которыми вынужден столкнуться низкопаузный GC вроде Shenandoah, размышляет, что можно сделать с этими проблемами на уровне JVM, а также над тем, что могут предпринять предусмотрительные разработчики низкопаузных Java-систем, зная об этих граблях.
Алексей Шипилёв, Red Hat
shipilevАлексей работает над производительностью Java больше 10 лет. Сегодня он работает в Red Hat, где занимается разработкой OpenJDK и его производительностью. Алексей разрабатывает и поддерживает несколько подпроектов в OpenJDK, включая JMH, JOL и JCStress. Алексей также активно участвует в экспертных группах и сообществах, работающих над вопросами производительности и многопоточности. Перед тем как перейти в Red Hat, Алексей работал над Apache Harmony в Intel, а затем перешёл в Sun Microsystems, которая была поглощена Oracle.