Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:blog:семинар_реализация_многопоточности_в_java

Семинар "Реализация многопоточности в java"

6 декабря 2012 в 18.00 часов в Санкт-Петербургском Академическом университете (СПбАУ) состоится технологический семинар, посвященный обзору современного состояния средств поддержки многопоточности в java.

Основные тезисы:

  • Из-за технических ограничений сложно наращивать частоту процессоров, но зато можно сделать много ядер;
  • Существует много задач, которые допускают параллельное исполнение каких-то из своих подзадач;
  • Работа с памятью стала медленнее, чем выполнение инструкций процессора, в результате чего потребовались кеши;
  • У подзадач могут быть какие-то общие данные, что влечёт необходимость обеспечивать когерентность кешей
  • Есть trade-off между производительностью и соответствием того, как исполняется код, интуитивным предположениям;
  • Например, reordering-и, появляющиеся в MESI при добавлении invalidate queue и write buffers;
  • Разработчики процессоров не могут знать заранее, когда reordering допустим, а когда нет. Это должны решать разработчики софта. Понятие memory model. Пример с memory barriers в терминах MESI.
  • Причём тут java? Текущие абстракции.
  • Зачем нужны более высокоуровневые инструменты из JMM: атомарность, взаимное исключение, синхронизация потоков.

О докладчике

Глеб Смирнов. Увлекается многопоточностью в java с 2009 года. Вёл разработку серверных приложений с высокой степенью параллелизма, включая платформу для высокочастотной алгоритмической торговли. Последние полтора года работает в Яндексе.

Участие в семинаре бесплатное, но требуется предварительная регистрация

Ресурсы:

  1. Twitter: @setalks
  2. Google group: se-talks@googlegroups.com
etc/blog/семинар_реализация_многопоточности_в_java.txt · Last modified: 2012/11/30 15:05 by kkv