SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
Бутылочное горлышко
многопоточных программ
Кто виноват? Что делать?
Алексей Николаенков
25.04.2013 1
DEMO TIME!
25.04.2013 3
«Ситуация с таможенным досмотром отправлений
остается сложной. В целом 41 таможенник (против 384
сотрудников Почты) в четырех основных международных
местах почтового обмена России (...) в сутки может
досмотреть менее 33 тонн, в то время как, только на
аэропорты московского узла за минувшие сутки прибыло
почти 39 тонн почты. Распределяй не распределяй,
ежедневно недосмотренные таможней 6 тонн оседает
в терминалах».
«ПОЧТОВЫЕ ЗАВАЛЫ ТАЮТ под стахановским напором почтовиков»
15.04.2013 ФГУП «Почта России». Орфография и пунктуация авторские.
25.04.2013 4
Обработка запросов
25.04.2013 5
Обработка
Выполнение
Обработка
Обработка
Выполнение
Запрос
Запрос
Запрос
Результат
Результат
Обработка запросов
25.04.2013 6
Обработка запросов
25.04.2013 7
Обработка запросов
25.04.2013 8
Обработка запросов
25.04.2013 9
Обработка
Выполнение
Обработка
Обработка
Выполнение
Запрос
Запрос
Запрос
Результат
Результат
Пример
25.04.2013 10
Producer Consumer
Lock
Заблокировать
Lock
Пример
25.04.2013 11
Producer Consumer
Lock
Заблокировать
Lock
Пример
25.04.2013 12
Producer Consumer
LockLock
Пример
25.04.2013 13
Producer Consumer
Lock
Взаимодействие потоков
25.04.2013 14
Взаимодействие потоков
25.04.2013 15
Взаимодействие потоков
25.04.2013 16
Взаимодействие потоков
• Есть задержка
25.04.2013 17
Скоро демо!
25.04.2013 18
Обработка
Выполнение
Обработка
Обработка
Выполнение
Запрос
Запрос
Запрос
Результат
Результат
DEMO TIME!
«Ожидание»
25.04.2013 20
Producer Consumer
Lock
Заблокировать
Lock
Результаты
25.04.2013 21
Общее количество операций
120 миллионов
Результаты
25.04.2013 22
Общее количество операций
250 миллионов
Результаты
25.04.2013 23
Общее количество операций 250 миллионов
Результаты
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
Ожидание( %)
Операции (млн)
Закон Амдала
• 𝑃 – часть работы, которая может выполняться параллельно
• 𝑁 – количество «исполнителей»
25.04.2013 25
1 – P P
1
Тв 1 – P P/N
Закон Амдала
• 𝑃 – часть работы, которая может выполняться
параллельно
• 𝑁 – количество «исполнителей»
25.04.2013 26
S(𝑁) =
1
1 − 𝑃 +
𝑃
𝑁
Закон Амдала
25.04.2013 27
Выводы
C ростом числа «исполнителей»:
• постоянный рост ускорения не
обеспечивается;
• увеличиваются накладные расходы на
организацию работы;
25.04.2013 28
ПОЭКСПЕРИМЕНТИРУЕМ?
25.04.2013 29
Ограниченный буфер
Lock
Неограниченный буфер
Put lock
Take lock
Основан на CAS (Compare and SWAP)
1. Прочитать переменную
2. Провести вычисления
3. Проверить, что значение переменной прежнее
1. Да: запись результата
2. Нет: goto 1.
Неограниченный буфер #2
25.04.2013 33
Мы создаем сложные,
высоконагруженные системы
для финансовой сферы.
Devexperts
25.04.2013 34
Наша команда – это 300 профессионалов в области программирования,
тестирования и поддержки ПО
Офисы разработки расположены в Санкт-Петербурге и Ростове-на-Дону!
Офисы
- свободный график работы
- своя столовая
- комфортные рабочие места
- корпоративные мероприятия
- командировки по всему миру
- курсы английского языка
- неполная занятость и поддержка
в написании научных работ
Отличные условия работы!
Если Вам захотелось присоединиться к команде Devexperts,
пишите и звоните нам:
Тел.: (812) 438-16-26
E-mail: job@devexperts.com
Вакансии: hh.ru и itmozg.ru.
Наши новости: devexperts.com и ВКонтакте.
Контакты
Спасибо за внимание!
25.04.2013 39

Contenu connexe

En vedette

Codefreeze rus
Codefreeze rusCodefreeze rus
Codefreeze rusDevexperts
 
Windows, doors and secret passages: approaches to the space organization in t...
Windows, doors and secret passages: approaches to the space organization in t...Windows, doors and secret passages: approaches to the space organization in t...
Windows, doors and secret passages: approaches to the space organization in t...Devexperts
 
Browsers. Magic is inside.
Browsers. Magic is inside.Browsers. Magic is inside.
Browsers. Magic is inside.Devexperts
 
How to improve java performance
How to improve java performanceHow to improve java performance
How to improve java performanceDevexperts
 
Drd secr final1_3
Drd secr final1_3Drd secr final1_3
Drd secr final1_3Devexperts
 
Codefreeze eng
Codefreeze engCodefreeze eng
Codefreeze engDevexperts
 
Dynamic data race detection in concurrent Java programs
Dynamic data race detection in concurrent Java programsDynamic data race detection in concurrent Java programs
Dynamic data race detection in concurrent Java programsDevexperts
 
ACM ICPC 2014 NEERC (Northeastern European Regional Contest) Problems Review
ACM ICPC 2014 NEERC (Northeastern European Regional Contest) Problems ReviewACM ICPC 2014 NEERC (Northeastern European Regional Contest) Problems Review
ACM ICPC 2014 NEERC (Northeastern European Regional Contest) Problems ReviewRoman Elizarov
 

En vedette (8)

Codefreeze rus
Codefreeze rusCodefreeze rus
Codefreeze rus
 
Windows, doors and secret passages: approaches to the space organization in t...
Windows, doors and secret passages: approaches to the space organization in t...Windows, doors and secret passages: approaches to the space organization in t...
Windows, doors and secret passages: approaches to the space organization in t...
 
Browsers. Magic is inside.
Browsers. Magic is inside.Browsers. Magic is inside.
Browsers. Magic is inside.
 
How to improve java performance
How to improve java performanceHow to improve java performance
How to improve java performance
 
Drd secr final1_3
Drd secr final1_3Drd secr final1_3
Drd secr final1_3
 
Codefreeze eng
Codefreeze engCodefreeze eng
Codefreeze eng
 
Dynamic data race detection in concurrent Java programs
Dynamic data race detection in concurrent Java programsDynamic data race detection in concurrent Java programs
Dynamic data race detection in concurrent Java programs
 
ACM ICPC 2014 NEERC (Northeastern European Regional Contest) Problems Review
ACM ICPC 2014 NEERC (Northeastern European Regional Contest) Problems ReviewACM ICPC 2014 NEERC (Northeastern European Regional Contest) Problems Review
ACM ICPC 2014 NEERC (Northeastern European Regional Contest) Problems Review
 

20130420 bitbyte