InfoWorld, США
Intel выпускает инструментарий для разработчиков приложений для многоядерных процессоров
Корпорация Intel выпустила три инструментальных средства, которые позволят разработчикам использовать возможности многоядерных процессоров. Этот инструментарий включает в себя Threading Building Blocks 1.0, библиотеку времени исполнения, написанную на C++, которая служит для введения потоков в приложение. Thread Checker 3.0, инструментарий поточного анализа, предназначен для сокращения числа возможных ошибок, а Thread Profiler 3.0 позволяет прогнозировать, как именно потоки в приложениях взаимодействуют друг с другом.
С помощью предложенного Intel инструментария и уже имеющихся средств разработки программисты могут задействовать параллельные возможности многоядерных систем. Эти продукты взаимодействуют с другими инструментальными средствами Intel и способны определять, что ресурсы заблокированы. Они также работают с технологией OpenMP для многопоточных приложений и с другими решениями, поддерживающими параллельную обработку.
По словам Джеймса Рейндерса, директора Intel по маркетингу и развитию бизнеса группы средств разработки ПО, корпорация стремилась избавить разработчиков от необходимости вручную писать код для управления потоками.
В состав Threading Building Blocks входит библиотека шаблонов для C++, которая позволяет оформлять параллелизм. Разработчики пишут приложение, которое затем автоматически распознает присутствие ядер в процессоре и увеличивает производительность. Этот инструментарий работает с Windows, Linux и Mac OS на платформах, использующих компиляторы Intel, Microsoft и GNU. Эта библиотека может использоваться с программными интерфейсами поддержки потоков, такими как потоки Windows, Posix и OpenMP.
Thread Checker способен находить ошибки, характерные только для параллельного программирования. К ним, в частности, относятся проблемы, связанные со скоростью обработки данных |
Новые версии Thread Checker и Thread Profiler рассчитаны на работу с 64-разрядными системами. В Thread Checker 3.0 добавлена поддержка командной строки. Интерфейс командной строки поддерживает скрипты, которые выполняются без участия человека. Кроме того, Thread Checker 3.0, в отличие от предыдущих версий, может использоваться на платформе Linux.
Thread Checker и Thread Profiler теперь можно интегрировать в платформу разработки Visual Studio 2005.
Thread Checker способен находить ошибки, характерные только для параллельного программирования. К ним, в частности, относятся проблемы, связанные со скоростью обработки данных. Например, в одном потоке вычисляется параметр, а в другом этот результат используется, в силу чего может возникнуть взаимная блокировка. «Это происходит из-за некорректного использования механизма блокировки», — считает Рейндерс.
Ошибки из-за различной скорости обработки данных, по мнению Рейндерса, особенно коварны, поскольку они проявляются не всегда.
В подразделении Roxio компании Sonic Solutions инструментарий Intel используют для решения проблем, связанных со скоростью обработки данных. «С помощью этого инструментария мы могли диагностировать некоторые ошибки, касающиеся работы потоков. Кроме того, эти решения помогли нам обнаружить некорректности, которые без тщательного анализа кода найти было невозможно», — заметил Ден Стахели, руководитель группы разработчиков подразделения Roxio, выпускающего мультимедийное ПО.
Помимо прочего Thread Profiler 3.0 показывает, какой поток работает, и выполняет ли он полезную работу или ничего не делает. С его помощью разработчики могут выяснить, как взаимодействуют потоки в приложениях, и решить вопросы, связанные с производительностью при параллельных вычислениях.