Разграничение ответственности между процессорными ядрами

RU / День 2 / 17:30 / Зал 1

Речь пойдёт о достаточно редкой области, в которую почти не заглядывают в мире .NET: разграничение работы между ядрами процессора. В течение доклада мы сопоставим связь всего c SynchronizationContext и TaskScheduler, проанализируем, что нам необходимо, чтобы заставить как свои, так и чужие алгоритмы работать на тех ядрах, на которых работать было приказано, и о том, как это сделать правильно:

  • сохранив async/await и прочие удобства;
  • заставить async/await и APC механизм работать на общих/различных ядрах. Плюс разберемся, почему ThreadPool в данном контексте (да и вообще) не безопасен.