Intel TBB 3.0 – новое слово в программировании параллельных приложений

Компания Intel официально объявила о выпуске новой версии своей библиотеки Intel Threading Building Blocks (TBB) 3.0, предназначенной для написания приложений с параллельной обработкой данных на многоядерных и многопоточных процессорах.

Среди важнейших отличий новой версии сами разработчики упоминают полную бинарную совместимость скомпилированных файлов, за счет чего разработчики в большинстве случаев могут просто заменить копии библиотек в своих приложениях.

Менеe года назад мы писали о выпуске библиотеки Intel TBB 2.1. Новая версия библиотеки Intel TBB 3.0 полностью совместима с новой средой разработки Microsoft Visual Studio 2010, может работать в среде исполнения Microsoft Concurrency Runtime на платформе Microsoft Windows 7, а также содержит функции critical_section и reader_writer_lock, совместимые с библиотекой параллельных вычислений Microsoft Parallel Patterns Library. Также добавлена поддержка операционной системы Apple Snow Leopard. Важной новостью стала поддержка некоторых возможностей нового стандарта C++0x, в том числе стандартных типов std::thread, std::lock_guard, std::unique_lock и std::condition_variable.

Новая функция parallel_pipeline обеспечивает строго типизированный интерфейс для управления конвейерами обработки данных, совместимый со стандартом Lambda. Новый ассоциативный контейнер данных concurrent_unordered_map (аналогичный контейнеру std::unordered_map из стандарта C++0x ) обеспечивает параллельную вставку и обход данных без заметных блокировок. Этот контейнер построен на базе прототипа, созданного компанией Microsoft для будущих версий технологии PPL, обеспечивающей параллелизм в .NET-приложениях.

Обновленный планировщик задач обеспечивает запуск заданий в режиме «выстрелил и забыл» - новый метод task::enqueue позволяет запускать фоновые задачи из графического интерфейса, процессы в режиме FIFO. Кроме того, этот метод повышает устойчивость задач к недостатку ресурсов. Независимое планирование задач для посторонних тредов помогает избежать ситуаций, когда один пользовательский тред напрямую или косвенно блокирует другой тред, созданный тем же пользователем. Контекст task_group_context теперь можно создавать и уничтожать в разных тредах.

Улучшенный механизм выделения памяти в библиотеке TBB 3.0 теперь обеспечивает более надежную подстановку функций в среде Windows и повышенную скорость работу при размещении в памяти крупных объектов.

Максимально полно разобраться в программировании параллельных приложений с помощью библиотеки Intel TBB поможет электронный учебник, содержащий множество типовых решений для распространенных задач.

Подробнее обо всех отличиях библиотеки Intel TBB 3.0 от предыдущих версий и о возможностях этой библиотеки по реализации мощных многопоточных приложений можно прочитать в блоге разработчиков, а также в сокращенном анонсе продукта. Загрузить коммерческую версию новой библиотеки можно с сайта threadingbuildingblocks.com, а открытую версию – с сайта threadingbuildingblocks.org.

Источник новости: Софт@Mail.ru



Опубликовал admin
21 Май, Пятница 2010г.



Программирование для чайников.