20130420 bitbyte
DESCRIPTION
TRANSCRIPT
![Page 1: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/1.jpg)
Бутылочное горлышко многопоточных программ
Кто виноват? Что делать?
Алексей Николаенков
25.04.2013 1
![Page 2: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/2.jpg)
DEMO TIME!
![Page 3: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/3.jpg)
25.04.2013 3
«Ситуация с таможенным досмотром отправлений остается сложной. В целом 41 таможенник (против 384 сотрудников Почты) в четырех основных международных местах почтового обмена России (...) в сутки может досмотреть менее 33 тонн, в то время как, только на аэропорты московского узла за минувшие сутки прибыло почти 39 тонн почты. Распределяй не распределяй, ежедневно недосмотренные таможней 6 тонн оседает в терминалах».
«ПОЧТОВЫЕ ЗАВАЛЫ ТАЮТ под стахановским напором почтовиков» 15.04.2013 ФГУП «Почта России». Орфография и пунктуация авторские.
![Page 4: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/4.jpg)
25.04.2013 4
![Page 5: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/5.jpg)
Обработка запросов
25.04.2013 5
Обработка
Выполнение
Обработка
Обработка
Выполнение
Запрос
Запрос
Запрос
Результат
Результат
![Page 6: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/6.jpg)
Обработка запросов
25.04.2013 6
![Page 7: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/7.jpg)
Обработка запросов
25.04.2013 7
![Page 8: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/8.jpg)
Обработка запросов
25.04.2013 8
![Page 9: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/9.jpg)
Обработка запросов
25.04.2013 9
Обработка
Выполнение
Обработка
Обработка
Выполнение
Запрос
Запрос
Запрос
Результат
Результат
![Page 10: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/10.jpg)
Пример
25.04.2013 10
Producer Consumer
Lock
Заблокировать
Lock
![Page 11: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/11.jpg)
Пример
25.04.2013 11
Producer Consumer
Lock
Заблокировать
Lock
![Page 12: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/12.jpg)
Пример
25.04.2013 12
Producer Consumer
Lock Lock
![Page 13: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/13.jpg)
Пример
25.04.2013 13
Producer Consumer
Lock
![Page 14: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/14.jpg)
Взаимодействие потоков
25.04.2013 14
![Page 15: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/15.jpg)
Взаимодействие потоков
25.04.2013 15
![Page 16: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/16.jpg)
Взаимодействие потоков
25.04.2013 16
![Page 17: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/17.jpg)
Взаимодействие потоков
• Есть задержка
25.04.2013 17
![Page 18: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/18.jpg)
Скоро демо!
25.04.2013 18
Обработка
Выполнение
Обработка
Обработка
Выполнение
Запрос
Запрос
Запрос
Результат
Результат
![Page 19: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/19.jpg)
DEMO TIME!
![Page 20: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/20.jpg)
«Ожидание»
25.04.2013 20
Producer Consumer
Lock
Заблокировать
Lock
![Page 21: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/21.jpg)
Результаты
25.04.2013 21
Общее количество операций
120 миллионов
![Page 22: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/22.jpg)
Результаты
25.04.2013 22
Общее количество операций 250 миллионов
![Page 23: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/23.jpg)
Результаты
25.04.2013 23
Общее количество операций 250 миллионов
![Page 24: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/24.jpg)
Результаты
25.04.2013 24
0
50
100
150
200
250
300
0,00%
10,00%
20,00%
30,00%
40,00%
50,00%
60,00%
70,00%
80,00%
90,00%
100,00%
2 4 6 8 16 20 1000
Ожидание( %)
Операции (млн)
![Page 25: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/25.jpg)
Закон Амдала
• 𝑃 – часть работы, которая может выполняться параллельно
• 𝑁 – количество «исполнителей»
25.04.2013 25
1 – P P
1 Тв 1 – P P/N
![Page 26: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/26.jpg)
Закон Амдала
• 𝑃 – часть работы, которая может выполняться
параллельно
• 𝑁 – количество «исполнителей»
25.04.2013 26
S(𝑁) =1
1 − 𝑃 + 𝑃𝑁
![Page 27: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/27.jpg)
Закон Амдала
25.04.2013 27
![Page 28: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/28.jpg)
Выводы C ростом числа «исполнителей»:
• постоянный рост ускорения не обеспечивается;
• увеличиваются накладные расходы на организацию работы;
25.04.2013 28
![Page 29: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/29.jpg)
ПОЭКСПЕРИМЕНТИРУЕМ?
25.04.2013 29
![Page 30: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/30.jpg)
Ограниченный буфер
Lock
![Page 31: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/31.jpg)
Неограниченный буфер Put lock
Take lock
![Page 32: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/32.jpg)
Основан на CAS (Compare and SWAP) 1. Прочитать переменную 2. Провести вычисления 3. Проверить, что значение переменной прежнее
1. Да: запись результата 2. Нет: goto 1.
Неограниченный буфер #2
![Page 33: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/33.jpg)
25.04.2013 33
Мы создаем сложные, высоконагруженные системы для финансовой сферы.
![Page 34: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/34.jpg)
Devexperts
25.04.2013 34
![Page 35: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/35.jpg)
Наша команда – это 300 профессионалов в области программирования,
тестирования и поддержки ПО
![Page 36: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/36.jpg)
Офисы разработки расположены в Санкт-Петербурге и Ростове-на-Дону!
Офисы
![Page 37: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/37.jpg)
- свободный график работы
- своя столовая
- комфортные рабочие места
- корпоративные мероприятия
- командировки по всему миру
- курсы английского языка
- неполная занятость и поддержка
в написании научных работ
Отличные условия работы!
![Page 38: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/38.jpg)
Если Вам захотелось присоединиться к команде Devexperts,
пишите и звоните нам:
Тел.: (812) 438-16-26
E-mail: [email protected]
Вакансии: hh.ru и itmozg.ru.
Наши новости: devexperts.com и ВКонтакте.
Контакты
![Page 39: 20130420 bitbyte](https://reader033.vdocuments.net/reader033/viewer/2022051323/549c9420ac7959ab2a8b4785/html5/thumbnails/39.jpg)
Спасибо за внимание!
25.04.2013 39