Параллельные расширения

Параллельные расширения Обзор библиотеки Parallel Extensions Разработана Microsoft Research и CLR, выпущена в .NET Framework 4.0  Включает параллельный LINQ (PLINQ) […]

Параллельные расширения

  • Обзор библиотеки Parallel Extensions

    • Разработана Microsoft Research и CLR, выпущена в .NET Framework 4.0 
    • Включает параллельный LINQ (PLINQ) и параллельную библиотеку задач (TPL) 
    • Содержит координационные структуры данных (CDS) для синхронизации параллельных задач 
  • Параллельный LINQ (PLINQ)

    • Распараллеливает запросы к объектам и XML-данным 
    • Обеспечивает параллелизм данных через запросы 
    • Требует реализации интерфейса IParallelEnumerable 
    • Использует TPL для выполнения внутренних операций 
  • Параллельная библиотека задач (TPL)

    • Предоставляет параллельные конструкции для задач 
    • Включает задачи, фьючерсы и Parallel class 
    • Управляет запуском и завершением потоков, масштабированием в соответствии с процессорами 
  • Архитектура и использование

    • Основная единица кода — задача, обычно лямбда-функция 
    • PLINQ и TPL API создают задачи через разделение запросов и циклов 
    • PFX включает диспетчер задач с глобальной очередью и пулом потоков 
    • Потоки связаны с очередями задач, количество потоков зависит от количества процессоров 
    • Задачи выполняются независимо, но требуют синхронизации при использовании общих ресурсов 
  • Сравнение с другими технологиями

    • Упоминаются Cilk/Cilk Plus, Grand Central Dispatch, Java Concurrency, TBB и ReactiveX 
    • Ссылки на внешние ресурсы и примеры использования параллелизма в финансовых операциях 

Полный текст статьи:

Параллельные расширения — Википедия

Оставьте комментарий

Прокрутить вверх