Your SlideShare is downloading. ×
Алексей Николаенков, Devexperts
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Алексей Николаенков, Devexperts

1,527
views

Published on

«Бутылочное горлышко многопоточных программ – кто виноват, и что делать. Мастер-класс.» …

«Бутылочное горлышко многопоточных программ – кто виноват, и что делать. Мастер-класс.»

BitByte: 20 апреля 2013, Санкт-Петербург
http://bitbyte.itmozg.ru/


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,527
On Slideshare
0
From Embeds
0
Number of Embeds
41
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Бутылочное горлышкомногопоточных программКто виноват? Что делать?Алексей Николаенков18.04.2013 1
  • 2. 18.04.2013 2«Ситуация с таможенным досмотром отправленийостается сложной. В целом 41 таможенник (против384 сотрудников Почты) в четырех основныхмеждународных местах почтового обмена России (...)в сутки может досмотреть менее 33 тонн, в то времякак, только на аэропорты московского узла заминувшие сутки прибыло почти 39 тонн почты.Распределяй не распределяй, ежедневнонедосмотренные таможней 6 тонн оседаетв терминалах».«ПОЧТОВЫЕ ЗАВАЛЫ ТАЮТ под стахановским напором почтовиков»15.04.2013 ФГУП «Почта России». Орфография и пунктуация авторские.
  • 3. Обработка запросов18.04.2013 3ОбработкаВыполнениеОбработкаОбработкаВыполнениеЗапросЗапросЗапросРезультатРезультат
  • 4. Действующие лица18.04.2013 4Источник: telegraph.co.ukProducerИсточник: telegraph.co.ukConsumer
  • 5. Взаимодействие потоков18.04.2013 5
  • 6. Взаимодействие потоков18.04.2013 6
  • 7. Взаимодействие потоков18.04.2013 7
  • 8. Взаимодействие потоков• Образуется задержка• Последовательный доступ нужен?18.04.2013 8
  • 9. Пример18.04.2013 9Producer ConsumerLockЗаблокироватьLock
  • 10. Пример18.04.2013 10Producer ConsumerLockЗаблокироватьLock
  • 11. Результаты18.04.2013 11Общее количество операций 120 миллионов
  • 12. Результаты18.04.2013 12Общее количество операций 250 миллионов
  • 13. Результаты18.04.2013 13Общее количество операций 250 миллионов
  • 14. Результаты18.04.2013 140501001502002503000,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Ожидание( %)Операции (млн)
  • 15. Закон Амдала• 𝑃 – часть работы, который может выполнятьсяпараллельно• 𝑁 – количество «исполнителей»18.04.2013 15S(𝑁) =11 − 𝑃 +𝑃𝑁
  • 16. Закон Амдала18.04.2013 16
  • 17. Закон Амдала: выводыC ростом числа «исполнителей»:• постоянный рост ускорения необеспечивается;• увеличиваются накладные расходы;18.04.2013 17S(𝑁) =11 − 𝑃 +𝑃𝑁
  • 18. Поэкспериментируем?• ArrayBlockingQueue• LinkedBlockingQueue• ConcurrentLinkedQueue18.04.2013 18
  • 19. Платформа предоставляет стандартнуюреализацию – ArrayBlockingQueue• «Обычный» ограниченный буфер на основемассива• При конструировании указывается размербуфера, который не меняется• Предусмотрено два индекса на выбор ивставку элементов• Для управления многопоточностьюиспользуется одна общая блокировкаОграниченный буфер
  • 20. Платформа предоставляет стандартнуюреализацию – LinkedBlockingQueue• Обычный односвязный список• Две «блокировки»: на вставку и на выбор• В большинстве случаев необходимо братьтолько одну из блокировок (обе требуют такиеоперации как remove и contains. Take/offer-работают независимо)Неограниченный буфер
  • 21. Платформа предоставляет стандартнуюреализацию – ConcurrentLinkedQueue• Неблокирующая• Основана на CASНеограниченный буфер #2
  • 22. 18.04.2013 22Мы создаем сложные,высоконагруженные системыдля финансовой сферы.
  • 23. Devexperts18.04.2013 23
  • 24. Наша команда – это 300 профессионалов в области программирования,тестирования и поддержки ПО
  • 25. Офисы разработки расположены в Санкт-Петербурге и Ростове-на-Дону!Офисы
  • 26. - свободный график работы- своя столовая- комфортные рабочие места- корпоративные мероприятия- командировки по всему миру- курсы английского языка- неполная занятость и поддержкав написании научных работОтличные условия работы!
  • 27. Если Вам захотелось присоединиться к команде Devexperts,пишите и звоните нам:Тел.: (812) 438-16-26E-mail: job@devexperts.comВакансии: hh.ru и itmozg.ru.Наши новости: devexperts.com и ВКонтакте.Контакты
  • 28. Спасибо за внимание!18.04.2013 28
  • 29. бНОПНЯШ?18.04.2013 29

×