SlideShare a Scribd company logo
1 of 37
Download to read offline
Сборка мусора в Java
без пауз
Алексей Рагозин
Сборка мусора
Mark-Sweep
 Фаза 1 – маркировка достижимых объектов
 Фаза 2 – “вычистка” мусора

Copy collector (сборка копированием)
 Использует две области памяти,
но выполняется в один проход

Mark-Sweep-Compact
 Mark-Sweep + перемещение живых объектов
Барьеры
Барьеры – специальные процедуры, выполняемые
VM при каждом обращении к памяти.
Барьер на запись – при записи указателя в память.
Барьер на чтение – при чтении указателя из памяти.
JIT компиляция позволяет частично сократить
нагрузку барьеров за счёт глобальной
оптимизации.
Карточный барьер
Program

Memory

Dirty cards

0xABCD1200

entry.next = y;
mark card
write memory

0xABCD1200

table[n] = entry;
mark card
write memory

0xABCD1800

 На каждые N байт памяти –
флаг в таблице карт
 Любая запись указателя в
память, взводит флаг

0xABCD1400
0xABCD1600

0xABCD1400

0xABCD1600
roots

Фоновая маркировка
roots

Фоновая маркировка
roots

Фоновая маркировка
roots

Фоновая маркировка
roots

Фоновая маркировка
roots

Фоновая маркировка
Карточный барьер на запись
Фоновая маркировка с карточным барьером на
запись требует 2ух коротких пауз.
Так же, барьер на запись не позволяет
реализовать фоновое перемещение объектов.

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

Сборка копированием

FROM

TO
roots

Сборка копированием

FROM

TO
roots

Сборка копированием

FROM

TO

1
roots

Сборка копированием

FROM

TO

1

2
roots

Сборка копированием

FROM

TO

1

2
roots

Сборка копированием

FROM

TO

3

1

2
Алгоритм метроном
Алгоритм основан на сборке копированием.
В течение сборки каждый прикладной поток
 При чтении указателя, каждый поток проверяет какой
области он принадлежит
 Если адрес принадлежит “from” пространству, поток
выполняет нерекурсивное копирование объекта в “to” и
корректирует адрес.

 Продлжает работу
Метроном
roots

GC thread

Application thread
V1

FROM

TO

1
Метроном
roots

GC thread

Application thread
V1

FROM

TO

1
Метроном
roots

GC thread

Application thread
V1

FROM

TO

1

2
Метроном
roots

GC thread

Application thread
V1

FROM

TO

1

2
Метроном
roots

GC thread

Application thread
V1

FROM

TO

1

3

2
Метроном
roots

GC thread

Application thread
V1

FROM

TO

4

1

3

2
Метроном
roots

GC thread

Application thread
V1

FROM

TO

4

1

3

2
На пути к решению
• Стоимость барьера на чтение
• Время копирование объекта
 Например, большого массива

• Атомарное обнуление слабых ссылок
• Стоимость сборки мусора
 Generational vs single spaced
Azul Vega – Java суперкомпьтер
2007 – Vega 2, 7200 series
 up to 768 cores
 768 GiB RAM
 SPARC микорархитектура
 hardware assisted garbage collection
LVB - барьер на загрузку указателя
Load Value Barrier
• Срабатывает при загрузке указателя из памяти в
регистр
• При срабатывании барьера происходит
коррекция источника в памяти
• Прикладной код работает только с
проверенными указателями
• При изменении правил барьера потоки
ревалидируют указатели в регистрах
Azul JVM
Таблица
LVB триггеров

64 битный адрес
(хранимый в памяти)
LVB tag
Flags

Page

Offset

64

0

Адрес в памяти
Azul JVM
Доступ в память не требует арифметики
указателей
CPU спекулятивно выполняет код параллельно с
проверкой барьера
Проверка барьера одним условием

Допольнительные биты используются в процессе
маркировки и для работы со слабыми ссылками
Azul JVM
C4 (Continuously Concurrent Compacting Collector)
 Инкрементальная сборка мусора регионами
 Алгоритм сборки копированием
 Бартер на чтение обеспечивает фоновую сборку

 Generational
 Регионы класифицируюся как молодые и старые

 Фоновая маркировка для оценки “замусоренности” региона

С4 не является алгоритмом реального времени
Azul JVM

http://www.azulsystems.com/sites/default/files/images/c4_paper_acm.pdf
Azul JVM
Mark – фоновая маркировка для выбора регионов
подлежащих сборке.
Relocate – копирования объектов.
Remap – рекурсивный обход графа и коррекция
ссылок.

Молодые сборки проходят параллельно
инкрементальных и включают только relocate
фазу.
Azul JVM
2010 Zing 4.0 – virtual appliance
2011 Zing 5.0
 x86 (64 бит) архитектура
 Linux
Механизм виртуальной памяти используется для
эмулации “незначащих” битов адреса.
Azul JVM
3 стратегии копирования
 до 256 Kb – копирование байт между
страницами
 256 Kb – 16 Mb – перемещаются 4k страницы
виртуальной памяти с последующей
дефрагментацией
 Более 16 Mb – не перемещаются 2M страницы
виртуальной памяти
Без пауз ≠ Без проблем
“Безпаузный” алгоритм не спасет от
 утечек памяти
 неправильного сайзинга памяти JVM
 свопинга
 псевдо-свопинга (ожидания записи дискового кэша)
 кривых рук (хотя существенно снижает риск)
Спасибо
Алексей Рагозин (alexey.ragozin@gmail.com)

http://blog.ragozin.info
http://aragozin.timepad.ru

More Related Content

What's hot

Другая виртуализация
Другая виртуализацияДругая виртуализация
Другая виртуализацияYandex
 
Андрей Акиньшин
Андрей АкиньшинАндрей Акиньшин
Андрей АкиньшинCodeFest
 
Лекция №6 Организация ЭВМ и систем
Лекция №6 Организация ЭВМ и системЛекция №6 Организация ЭВМ и систем
Лекция №6 Организация ЭВМ и системpianist2317
 
Максим Салов - Отладочный монитор
Максим Салов - Отладочный мониторМаксим Салов - Отладочный монитор
Максим Салов - Отладочный мониторMinsk Linux User Group
 
Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...Iosif Itkin
 

What's hot (6)

Другая виртуализация
Другая виртуализацияДругая виртуализация
Другая виртуализация
 
Leechcraft modular linux internet client
Leechcraft modular linux internet clientLeechcraft modular linux internet client
Leechcraft modular linux internet client
 
Андрей Акиньшин
Андрей АкиньшинАндрей Акиньшин
Андрей Акиньшин
 
Лекция №6 Организация ЭВМ и систем
Лекция №6 Организация ЭВМ и системЛекция №6 Организация ЭВМ и систем
Лекция №6 Организация ЭВМ и систем
 
Максим Салов - Отладочный монитор
Максим Салов - Отладочный мониторМаксим Салов - Отладочный монитор
Максим Салов - Отладочный монитор
 
Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
 

Similar to Алексей Рагозин

Секреты сборки мусора в Java [DUMP-IT 2012]
Секреты сборки мусора в Java [DUMP-IT 2012]Секреты сборки мусора в Java [DUMP-IT 2012]
Секреты сборки мусора в Java [DUMP-IT 2012]aragozin
 
Как Linux работает с памятью — Вячеслав Бирюков
Как Linux работает с памятью — Вячеслав БирюковКак Linux работает с памятью — Вячеслав Бирюков
Как Linux работает с памятью — Вячеслав БирюковYandex
 
андрей паньгин
андрей паньгинандрей паньгин
андрей паньгинkuchinskaya
 
Hitachi FMD. Новый подход к старой задаче
Hitachi FMD. Новый подход к старой задачеHitachi FMD. Новый подход к старой задаче
Hitachi FMD. Новый подход к старой задачеКРОК
 
Tarantool/Silverbox (Юрий Востриков)
Tarantool/Silverbox (Юрий Востриков)Tarantool/Silverbox (Юрий Востриков)
Tarantool/Silverbox (Юрий Востриков)Ontico
 
Опыт внедрения и использования распределенной системы хранения данных на осно...
Опыт внедрения и использования распределенной системы хранения данных на осно...Опыт внедрения и использования распределенной системы хранения данных на осно...
Опыт внедрения и использования распределенной системы хранения данных на осно...tfmailru
 
Движок LMDB — особенный чемпион / Юрьев Леонид (Петер-Сервис R&D)
Движок LMDB — особенный чемпион / Юрьев Леонид (Петер-Сервис R&D)Движок LMDB — особенный чемпион / Юрьев Леонид (Петер-Сервис R&D)
Движок LMDB — особенный чемпион / Юрьев Леонид (Петер-Сервис R&D)Ontico
 
20100314 virtualization igotti_lecture06
20100314 virtualization igotti_lecture0620100314 virtualization igotti_lecture06
20100314 virtualization igotti_lecture06Computer Science Club
 
Борьба с GС паузами в JVM
Борьба с GС паузами в JVMБорьба с GС паузами в JVM
Борьба с GС паузами в JVMaragozin
 
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)Ontico
 
20100307 virtualization igotti_lecture04
20100307 virtualization igotti_lecture0420100307 virtualization igotti_lecture04
20100307 virtualization igotti_lecture04Computer Science Club
 
Caching data outside Java Heap and using Shared Memory in Java
Caching data outside Java Heap and using Shared Memory in JavaCaching data outside Java Heap and using Shared Memory in Java
Caching data outside Java Heap and using Shared Memory in JavaAndrei Pangin
 

Similar to Алексей Рагозин (12)

Секреты сборки мусора в Java [DUMP-IT 2012]
Секреты сборки мусора в Java [DUMP-IT 2012]Секреты сборки мусора в Java [DUMP-IT 2012]
Секреты сборки мусора в Java [DUMP-IT 2012]
 
Как Linux работает с памятью — Вячеслав Бирюков
Как Linux работает с памятью — Вячеслав БирюковКак Linux работает с памятью — Вячеслав Бирюков
Как Linux работает с памятью — Вячеслав Бирюков
 
андрей паньгин
андрей паньгинандрей паньгин
андрей паньгин
 
Hitachi FMD. Новый подход к старой задаче
Hitachi FMD. Новый подход к старой задачеHitachi FMD. Новый подход к старой задаче
Hitachi FMD. Новый подход к старой задаче
 
Tarantool/Silverbox (Юрий Востриков)
Tarantool/Silverbox (Юрий Востриков)Tarantool/Silverbox (Юрий Востриков)
Tarantool/Silverbox (Юрий Востриков)
 
Опыт внедрения и использования распределенной системы хранения данных на осно...
Опыт внедрения и использования распределенной системы хранения данных на осно...Опыт внедрения и использования распределенной системы хранения данных на осно...
Опыт внедрения и использования распределенной системы хранения данных на осно...
 
Движок LMDB — особенный чемпион / Юрьев Леонид (Петер-Сервис R&D)
Движок LMDB — особенный чемпион / Юрьев Леонид (Петер-Сервис R&D)Движок LMDB — особенный чемпион / Юрьев Леонид (Петер-Сервис R&D)
Движок LMDB — особенный чемпион / Юрьев Леонид (Петер-Сервис R&D)
 
20100314 virtualization igotti_lecture06
20100314 virtualization igotti_lecture0620100314 virtualization igotti_lecture06
20100314 virtualization igotti_lecture06
 
Борьба с GС паузами в JVM
Борьба с GС паузами в JVMБорьба с GС паузами в JVM
Борьба с GС паузами в JVM
 
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
 
20100307 virtualization igotti_lecture04
20100307 virtualization igotti_lecture0420100307 virtualization igotti_lecture04
20100307 virtualization igotti_lecture04
 
Caching data outside Java Heap and using Shared Memory in Java
Caching data outside Java Heap and using Shared Memory in JavaCaching data outside Java Heap and using Shared Memory in Java
Caching data outside Java Heap and using Shared Memory in Java
 

More from Ontico

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...Ontico
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Ontico
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Ontico
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Ontico
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Ontico
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)Ontico
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Ontico
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Ontico
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)Ontico
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)Ontico
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Ontico
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Ontico
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Ontico
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Ontico
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)Ontico
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Ontico
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Ontico
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...Ontico
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Ontico
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Ontico
 

More from Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 

Алексей Рагозин