Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


courses:high_performance_computing:lectures

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
courses:high_performance_computing:lectures [2024/09/15 19:23] kelcourses:high_performance_computing:lectures [2026/01/22 00:12] (current) kel
Line 79: Line 79:
   - Средства анализа производительности   - Средства анализа производительности
     * Утилита time     * Утилита time
-    * Intel Parallel Studio +    * Intel VTune 
-    * Valgrind (модули callgrind, cachegrind)     +    * Valgrind (модули callgrind)     
   - Пример поиска узких мест   - Пример поиска узких мест
   - Профилирование промашек по кэшу и метрика CPI   - Профилирование промашек по кэшу и метрика CPI
Line 115: Line 115:
   - Блокирующий/неблокирующий   - Блокирующий/неблокирующий
   - Синхронный (реактор)/асинхронный (проактор)   - Синхронный (реактор)/асинхронный (проактор)
 +  - Архитектура framework на примере boost::asio
 +  - Особенности реализации callback
 +  - Причины разницы производительности асинхронного i/o на примере простого сервера в классическом и coroutines-режиме
   - Преимущества асинхронной работы и реализация со стороны операционной системы   - Преимущества асинхронной работы и реализация со стороны операционной системы
-  - Библиотеки асинхронного вводаывода+  - Мотивация к переходу на coroutines 
 +  - Преимущества по отношению к callback-программированию 
 +  - Примеры co_await и сравнение с синхронным кодом
  
 ===== 15. Линеаризуемость ===== ===== 15. Линеаризуемость =====
Line 139: Line 144:
  
 ===== 17. Шаблоны || программирования ===== ===== 17. Шаблоны || программирования =====
 +  - Общий взгляд на виды организации вычислений
   - Структурные шаблоны:   - Структурные шаблоны:
     * Декомпозиция по задачам     * Декомпозиция по задачам
Line 144: Line 150:
     * Recursive Data     * Recursive Data
     * Pipeline     * Pipeline
-  - Некоторые программные структуры: 
-    * Parallel loops 
-    * Boss/Worker 
   - Разное:   - Разное:
     * Double check     * Double check
Line 160: Line 163:
 ===== 19. Intel TBB ===== ===== 19. Intel TBB =====
   - Алгоритмы   - Алгоритмы
-  - Аллокаторы+  - Аллокаторы
 +    * scalable 
 +    * cache_aligned (false sharing) 
   - Деревья задач   - Деревья задач
   - Особенности планирования (work stealing...)   - Особенности планирования (work stealing...)
Line 185: Line 190:
  
 ===== 21. Сопрограммы / Coroutines ===== ===== 21. Сопрограммы / Coroutines =====
-  - Преимущества по отношению к callback-программированию +  - Архитектурные особенности
-  - Примеры co_await и сравнение с синхронным кодом+    - stackless 
 +    - stackfull 
 +    - fibers 
 +    ... 
 +  - Способы интеграции в языки: 
 +    - C++ 
 +    - Go 
 +    - Kotlin 
 +    - ...
   - Проблемы реализации примитивов и TLS   - Проблемы реализации примитивов и TLS
   - Архитектурная аналогия с асинхронными framework   - Архитектурная аналогия с асинхронными framework
courses/high_performance_computing/lectures.1726417401.txt.gz · Last modified: 2024/09/15 19:23 by kel