Когда все уже вернулись с праздников и вошли в рабочий режим, самое время для сводки произошедшего за время отдыха:
- Хотя уязвимости Meltdown и Spectre обнаружились не в Java, а в процессорах, резонанс оказался таким гигантским, что и в кругу джавистов это стало главной темой. К тому же как раз известные представители Java-мира помогали понять произошедшее: в подробном русскоязычном блог-посте ссылаются на реплики Алексея Шипилёва, Гил Тене написал о том, почему теперь важна поддержка PCID, Ричард Уорбэртон замерил проседание производительности после патча, Чарльз Наттер кратко описал алгоритм Meltdown.
Если вы пропустили всю историю, то рекомендуем упомянутый подробный блог-пост Василия Галкина, а вкратце суть в следующем:
— были обнаружены уязвимости в современных процессорах, позволяющие получать неправомерный доступ к данным (в том числе паролям)
— затронуты почти все процессоры Intel, у AMD и ARM тоже не всё в порядке
— хорошая новость в том, что софтверные патчи помогают
— плохая новость в том, что они негативно сказываются на производительности
Основная шумиха была в первых числах января, но ситуация продолжает обрастать деталями. Позавчера CEO Intel пообещал «для 90% процессоров, выпущенных в последние 5 лет, security updates будут выпущены в течение недели». Вчера Microsoft приостановила распространение апдейтов для AMD после жалоб Windows-пользователей «компьютер перестал загружаться». В The Register теперь пишут, как в итоге всё сказывается на производительности: рядовые пользователи вряд ли ощутят «компьютер стал тормозить», а вот для бэкенда проблема заметнее; всё очень зависит от конкретных задач, и в некоторых случаях сообщают о проседании на десятки процентов.
Ещё несколько ссылок вдогонку:
— Главный сайт об обеих уязвимостях
— Тематический выпуск комикса xkcd
— Тематический выпуск комикса turnoff.us
— Блог-пост о похожей проблеме, возникшей в 2005-м с процессором Xbox 360
— Блог-пост, не связанный напрямую с Meltdown/Spectre, но вдохновлённый шумихой: о npm с точки зрения распространения зловредного кода
- Хотя уязвимости затмили всё, на праздниках всё-таки были и другие новости. Например, сразу два подкаста положили под ёлочку по выпуску: на сайтах «Разбора полётов» и «2 Dev 1 Ops» появилось по новой записи. Первый из этих выпусков начинается словами «мы просто запишем пятиминутное поздравление», а затем там заговаривают о предстоящем JPoint — в общем, неудивительно, что в итоге длится два часа. Второй был записан в декабре прямо на нашей конференции Heisenbug.
- Алексей Шипилёв опубликовал в серии «JVM Anatomy Park» ещё один текст «FPU Spills», добавил возможность скачать всю серию одним файлом для читалки, а ссылка на серию возглавила топ Hacker News.
- Не только Шипилёв решил объединить ряд коротких текстов в один файл: из материалов уже закрывшегося Stack Overflow Documentation собрали бесплатный 900-страничный PDF «Java Notes for Professionals».
- Появилась пара текстов формата «чего ждать от 2018-го»: Саймон Риттер написал конкретно про Java, а сайт The Next Web опубликовал прогноз о разработке в целом. Но чего-то неожиданного в обоих текстах нет — Java перейдёт к новому релизному циклу, машинное обучение продолжит расти, кто бы сомневался.
- А раз машинное обучение продолжит расти и имеет смысл его осваивать, кому-то может пригодиться пост «Java Image Cat & Dog Recognition with Deep Neural Networks».
- Напоследок — твит, которым Дмитрий Александров собрал на праздниках тысячи лайков:
Typical code.
(video copied from the internet) pic.twitter.com/qLC8c0Ga4y— Dmitry Alexandrov ✈️ (@bercut2000) January 7, 2018
- Gil TeneGil Tene is CTO and co-founder of Azul Systems. He has been involved with virtual machine and runtime technologies for the past 25 years. His pet focus areas include system responsiveness and latency behavior. Gil is a frequent speaker at technology conferences worldwide, and an official JavaOne Rock Star. He pioneered the Continuously Concurrent Compacting Collector (C4) that powers Azul’s continuously reactive Java platforms. In past lives, he also designed and built operating systems, network switches, firewalls, and laser based mosquito interception systems.
- Алексей ШипилёвРаботает над производительностью Java вот уже почти 10 лет. Успел позаниматься производительностью Apache Harmony в Intel, затем перешёл в Sun Microsystems, а потом и в Oracle, где работал над производительностью Sun/Oracle JDK, в том числе производительностью JVM, библиотек классов, фреймворков и приложений. На данный момент трудится в Red Hat. Являлся техническим представителем Oracle в Standard Performance Evaluation Corporation (SPEC), занятой разработкой и поддержкой промышленных бенчмарков. В данный момент серьёзную часть времени тратит на Java Microbenchmark Harness, инструмент для измерения производительности Java-кода.
- Дмитрий АлександровВедущий программист/архитектор в T-Systems, по совместительству ко-лидер Болгарской Java User Group. Помимо работы читает лекции на конференциях. Организатор конференции jPrime — крупнейшей Java-конференции на Балканах. В перечень основных интересов входят динамические языки на JVM (Nashorn project) и Java EE, а также вся Spring инфраструктура.