Начатое Apple движение в сторону параллельных вычислений может охватить самый широкий спектр компьютерных устройств — от серверов до смартфонов

Ряд нововведений позволяет операционной системе Mac OS 10.6 (кодовое название Snow Leopard — "снежный барс") задействовать вычислительные возможности нескольких центральных процессоров и графических ядер для повышения производительности программ. В систему включены средства разделения задач для одновременного выполнения на нескольких ядрах.

Snow Leopard использует доступные аппаратные ресурсы разумнее предшественников, отмечают обозреватели. Кроме того, эта ОС лучше определяет, какие ресурсы имеются в наличии, и в соответствии с этим распределяет потоки по ядрам и процессорам.

Среди новых средств Snow Leopard следует отметить программную среду Grand Central Dispatch, разбивающую задачи на отдельные потоки в зависимости от числа доступных ядер. В ней имеется поддержка стандарта OpenCL, реализованного в средствах разработки параллельных программ.

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

При создании Snow Leopard в компании пытались учесть проблемы, с которыми разработчикам программ и оборудования приходилось сталкиваться в прошлом. Традиционно наращивание производительности достигалось за счет увеличения тактовой частоты центрального процессора, поясняет главный аналитик фирмы Linley Group Линли Гвеннап. Поэтому программы писались для режима последовательного выполнения команд на одном ядре. Рост тактовой частоты вел к росту производительности.

В конечном счете повышение тактовой частоты ведет к перегреву и повышению потребления энергии, и поэтому производители процессоров, в том числе Intel, стали увеличивать число ядер. Перед программистами возникли новые задачи. Потребовалось писать программы, способные использовать для повышения производительности несколько ядер одновременно.

"Когда производители процессоров вывели на рынок двухъядерные и многоядерные процессоры, разработчикам операционных систем пришлось догонять их, создавая программы для новых устройств", - заключил Гвеннап.

Apple заложила фундамент для разработчиков приложений, желающих создавать многоядерные приложения для Snow Leopard. Но пока программисты не переучатся с написания программ для одноядерных процессоров на параллельные, пользователи могут не увидеть реального увеличения производительности.

Старший аналитик фирмы In-Stat и старший редактор журнала Microprocessor Report Том Хафхилл согласен с Гвеннапом. Программисты не привыкли думать в терминах параллельных сред, говорит он, несмотря на то, что такие задачи были сформулированы еще в 40-х годах.

"Программистов следует научить искать возможности для разделения программы на несколько задач, которые могут выполняться одновременно", - считает Хафхилл. Встроенная в Snow Leopard поддержка OpenCL может подтолкнуть к написанию параллельных программ большее число программистов.

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

Начатое Apple движение в сторону параллельных вычислений может дойти и до смартфонов, считает Хафхилл.

Но Microsoft не так далеко отстает от Apple, добавил он. В Microsoft собираются реализовать в Windows 7 дополнительные возможности работы на нескольких ядрах. Для этого в DirectX появится новый набор программных интерфейсов. Эксперты часто критиковали предыдущие версии Windows — XP и Vista — за то, что они плохо используют наличие нескольких процессорных ядер для повышения производительности приложений.