Тезисы: Сейчас очень интересна задача увеличения сообщества программистов, успешно использующих возможности многоядерных архитектур. Разработчики приложений ограничены в ресурсах на разработку и поддержание различных платоформенно-зависимых вариантов исходных кодов. Параллельное программирование слишком подвержено ошибкам и занимает слишком много времени для широкого распространения.
Intel® Concurrent Collections – простая, но очень мощная модель параллельного программирования, отделяющая весь потенциальный параллелизм в приложении и от последовательных вычислений, и от платформенно-зависимых деталей. Intel® Concurrent Collections поднимает уровень модели параллельного программирования ровно настолько, чтобы избежать типичных проблем параллелизации, и позволяет экспертам предметной области лишь определять семантически корректный алгоритм. Им не нужно беспокоиться ни о каких низкоуровневых вопросах параллельного программирования.
Программа, написанная в модели Intel® Concurrent Collections, состоит из абстракного определения параллельного алгоритма, высокоуровневых операций и структур данных, реализованных в последовательном языке. Все платформенно-зависимые вопросы решаются системой исполнения. Это очень общий подход к определению параллельного алгоритма, делающий лёгким выражение любого типа параллелизма. Приложения Intel® Concurrent Collections не являются платформенно-зависимыми и не нуждаются в переписывании при переносе на другую платформу.
Intel® Concurrent Collections для C++ реализована как C++ библиотека, основанная на библиотеке Intel TBB и опубликована на сайте whatif.intel.com (http://softwarecommunity.intel.com/articles/eng/3862.htm). Реализация включает в себя транслятор из текстовой нотации Intel® Concurrent Collections абстрактного описания алгоритма в определение C++ классов.
Модель программирования Intel® Concurrent Collections делает разработку параллельных приложений доступной экспертам предметной области, не являющимся экспертами параллельного программирования.