Computerworld, США
В Intel рассчитывают стимулировать спрос на многоядерные процессоры путем перевода своего инструментария, который должен упростить параллельное программирование на языке C++, в категорию свободно распространяемых решений.
Несколько недель назад корпорация объявила о выпуске Threading Building Blocks (TBB), библиотеки шаблонов для разработчиков, создающих приложения, в которых вычисления выполняются параллельно, а не последовательно. В Intel сообщили, что выбрали для TBB открытую лицензию GNU General Public Licence Version 2; вместе с этим по-прежнему будет поддерживаться и коммерческая версия продукта, которая стоит 299 долл. и включает в себя годовой контракт на техническую поддержку.
Параллелизм в программном обеспечении важен для Intel, поскольку в конечном итоге позволяет эффективно использовать возможности многоядерных процессоров. Примерно год назад Intel представила библиотеку TBB с поддержкой Windows, Mac OS и Linux. Однако некоторые разработчики заявляли, что им бы хотелось работать с другими операционными системами, например с Sun Solaris или BSD. Это, как отметил Джеймс Рейндерс, директор подразделения программного обеспечения Intel, и стало одной из причин перевода данного решения в категорию Open Source.
«Даже если бы мы обещали перенести это решение на все операционные системы, до тех пор пока продукт оставался собственностью Intel и невозможно было ничего сделать другими средствами, вы рисковали остаться ни с чем, если бы создавали программы в соответствии с этим новым стандартом, а Intel отказалась бы от его поддержки», — пояснил Рейндерс.
Пока официально именно Intel поддерживает свободно распространяемый проект TBB, но ситуация может измениться, если в проекте примет участие больше разработчиков. Питер Бур, профессор Университета Ватерлоо, считает, что решение Intel о передаче TBB сообществу Open Source является политическим шагом, направленным на распространение многоядерных процессоров.
«Очень нелегко на словах убедить все сообщество разработчиков создавать программы с поддержкой параллельных потоков, — отметил он. — Лучше предоставить такой инструментарий, чтобы способствовать его популяризации. А добившись интереса, можно продать аппаратного обеспечения на сотни миллионов долларов. Это как деньги, вложенные в рекламу: вы тратите их не потому, что они напрямую приносят прибыль, а потому, что они помогают продавать ваш продукт».
Рейндерс признал, что общедоступность библиотеки TBB должна способствовать популяризации многоядерных приложений.
«Безусловно, все это связано. Сами по себе компьютерные системы, поддерживающие многопотоковость, пока только начинают завоевывать массовый рынок, — сказал он. — Мы думаем, что C++, весьма вероятно, станет той областью, где будет появляться множество разработок для многоядерных процессоров».
Бур, который был ведущим проектировщиком и основным разработчиком µC++, высокоуровневой поточной библиотеки на C++, и µProfiler, инструментария для профилирования и отладки для µC++, заметил, что этот язык, созданный в 80‑х годах, изначально не был рассчитан на параллельность. Такого рода возможности постепенно к нему добавлялись за последние два десятилетия. Intel TBB — лишь один из вариантов поддержки параллельных потоков.