Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


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

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
etc:blog:семинар_реализация_многопоточности_в_java [2012/11/30 11:44]
kkv
etc:blog:семинар_реализация_многопоточности_в_java [2012/11/30 15:05] (current)
kkv
Line 5: Line 5:
 Основные тезисы:​ Основные тезисы:​
  
-1) Из-за технических ограничений сложно наращивать частоту процессоров,​ но зато можно сделать много ядер; +  * Из-за технических ограничений сложно наращивать частоту процессоров,​ но зато можно сделать много ядер; 
-2) Существует много задач, которые допускают параллельное исполнение каких-то из своих подзадач;​ +  ​* ​Существует много задач, которые допускают параллельное исполнение каких-то из своих подзадач;​ 
-3) Работа с памятью стала медленнее,​ чем выполнение инструкций процессора,​ в результате чего потребовались кеши; +  ​* ​Работа с памятью стала медленнее,​ чем выполнение инструкций процессора,​ в результате чего потребовались кеши; 
-4) У подзадач могут быть какие-то общие данные,​ что влечёт необходимость обеспечивать когерентность кешей +  ​* ​У подзадач могут быть какие-то общие данные,​ что влечёт необходимость обеспечивать когерентность кешей 
-5) Есть trade-off между производительностью и соответствием того, как исполняется код, интуитивным предположениям;​ +  ​* ​Есть trade-off между производительностью и соответствием того, как исполняется код, интуитивным предположениям;​ 
-6) Например,​ reordering-и,​ появляющиеся в MESI при добавлении invalidate queue и write buffers; +  ​* ​Например,​ reordering-и,​ появляющиеся в MESI при добавлении invalidate queue и write buffers; 
-7) Разработчики процессоров не могут знать заранее,​ когда reordering допустим,​ а когда нет. Это должны решать разработчики софта. Понятие memory model. Пример с memory barriers в терминах MESI. +  ​* ​Разработчики процессоров не могут знать заранее,​ когда reordering допустим,​ а когда нет. Это должны решать разработчики софта. Понятие memory model. Пример с memory barriers в терминах MESI. 
-8) Причём тут java? Текущие абстракции. +  ​* ​Причём тут java? Текущие абстракции. 
-9) Зачем нужны более высокоуровневые инструменты из JMM: атомарность,​ взаимное исключение,​ синхронизация потоков.+  ​* ​Зачем нужны более высокоуровневые инструменты из JMM: атомарность,​ взаимное исключение,​ синхронизация потоков.
  
 О докладчике О докладчике
etc/blog/семинар_реализация_многопоточности_в_java.txt · Last modified: 2012/11/30 15:05 by kkv