Copyright © 2010 Алексей Алимкин, Олег Фоминов
Сегодня мы рассмотрим статью, опубликованную службой поддержки компании Apple и напрямую касающуюся владельцев компьютеров Macintosh, обладающих центральными процессорами с наличием в них двух и более ядер. Несмотря на то, что компания значительно улучшила работу программы Logic Pro 9, связанную с распределением задач обработки между всеми имеющимися в компьютере процессорными ядрами, основные принципы определения очередности и возможности применения распределенной обработки внутренних задач в Logic Pro остались неизменными, и поэтому мы решили перевести статью Logic Pro/Express: Tips for balancing multi-core performance с тем, чтобы в следующий раз попытаться на ее основе решить некоторые задачи практического применения, связанные, например, с загрузкой одинарного процессорного ядра при игре на каком-либо из инструментов в режиме реального времени. Решение задач такого плана производится в среде Environment, поэтому вполне естественно будет сначала определить — что именно мы хотим получить в результате своих действий в Environment, составить логический план, и лишь затем приступить к решению поставленной задачи.
Logic Pro/Express: Советы по оптимизации производительности многоядерной системы
Последние изменения: 26 мая 2010 года
Статья: HT3161
Краткое содержание:
Программы Logic Pro 8 и Logic Express 8 (и старше) могут использовать все ядра на 2-, 4-, и 8-ядерных компьютерах Apple Mac. Запомните и учитывайте эти советы для оптимизации производительности многоядерной системы при работе с программой Logic.
Затрагиваемые продукты:
Logic Express 8, Logic Pro 8, Logic Express 9.x, Logic Pro 9.x
О функционировании процессорных ядер
Logic разбивает каждую задачу на элементарные подзадачи (так называемые потоки или треды), каждая из которых передается для исполнения отдельному процессорному ядру. Дальнейшее разбиение потока невозможно, в связи с чем невозможно и параллельное исполнение одинарного потока на нескольких ядрах, но при этом каждое ядро может исполнять несколько потоков одновременно. Это – одна из причин, по которой вы иногда можете видеть неравномерное распределение нагрузки по всем доступным ядрам вашего компьютера. Если один из потоков достаточно ресурсоемок, ядро, обрабатывающее этот поток, может показывать значительно большую активность, чем ядра, выполняющие менее требовательные к вычислительным ресурсам потоки. Это – главная причина, по которой вы можете получить предупреждающие сообщения "Core Audio Overload" (“Перегрузка Core Audio”) даже при том, что некоторые из ядер на вашей системе, возможно, не показывают существенной активности.
Чтобы контролировать то, как Logic использует процессорные ядра на вашей системе, выполните двойной щелчок мышью по окошку индикатора загрузки CPU на Панели Управления (Transport bar)(или нажмите Option-X).
Окошко показывает индикаторы уровней загрузки для каждого ядра.
Та же самая концепция применима и к канальным линейкам. Каждая канальная линейка — и все подключаемые модули, которые она содержит — обрабатывается одним ядром. Если вы используете много ресурсоемких модулей на одинарной канальной линейке, ядро, обрабатывающее этот поток, может показывать более интенсивную деятельность. Это в особенности касается тех случаев, когда вы работаете с высокими значениями частоты дискретизации (88.2 кГц или выше).
Перераспределение нагрузки процессорных ядер
Если вы заметите, что одно из процессорных ядер работает слишком интесивно, используйте следующую стратегию для перераспределения нагрузки.
В примере, приводимом ниже, у нас имеется одинарная канальная линейка программного инструмента с подключаемыми модулями, направленная непосредственно на стерео-выход Output 1-2. В выходной линейке канала Output 1-2 включено большое количество модулей (плагинов).
В этом примере активно задействованы два ядра: левое ядро обрабатывает линейку программного инструмента, в то время как другое ядро обрабатывает выходную линейку канала Output 1-2. Вы можете использовать возможности маршрутизации в программе Logic, чтобы распределить нагрузку по большему количеству процессорных ядер, не изменяя звук, как это показано на следующей картинке.
Результирующая цепочка прохождения сигнала выглядит следующим образом: Inst 1 > Aux 1 > Aux 2 > Out 1-2, как это показано в следующей таблице:
Кроме того, первые четыре подключаемых модуля перенесены с линейки Output 1-2 на линейку Aux 1 и оставшиеся четыре модуля – на линейку Aux 2.
Результат, получившийся после регулировки уровней громкости соответствующих канальных линеек, произведенной надлежащим образом, звучит идентично, но теперь нагрузка распределена между четырьмя ядрами вместо двух. Вы можете использовать эту концепцию для перераспределения модулей (плагинов) канальных линеек Audio, линеек программных инструментов, линеек дополнительных выходов Aux и выходных линеек Outputs (как в этом примере).
На картинке сверху одно из ядер все еще чрезмерно загружено, несмотря на использование описанного выше способа маршрутизации. Обратите внимание, что канальная линейка Inst 1 выделена. Когда трек программного инструмента выделен в окне Аранжировки, Logic вводит "Live Input Mode" ("Оперативный Входной Режим"). В этом режиме Logic производит включение каждого модулей (плагинов), размещенных в пути прохождения сигнала в линейке канала, и таким образом, канальная линейка может быть использована непосредственно для игры вживую с использованием MIDI-контроллера. Все это должно быть обработано одинарным потоком и, соответственно, только одним ядром. Если на данный момент вы не собираетесь играть вживую или производить запись с использованием линейки программного инструмента, то хорошей идеей было бы воспользоваться любой линейкой канала Audio, выделив ее в окне Аранжировки.
Ну, вот! Наконец-то нам стало понятно, почему в одних случаях Logic Pro играет без сучка и задоринки, а в других случаях эта же песня вдруг резко прерывается из-за перегрузки одного из процессорных ядер! Не выделяйте треков программных инструментов, если вы не используете их для игры в режиме реального времени: в этом случае лучше всего выделить любой из аудио-треков, или создать для этого специальный трек без выхода — No Output. Продолжая изучать среду Environment и объекты, которые в ней используются, мы с вами попытаемся решать различные практические задачи, в том числе и возможность распределения задач обработки между несколькими процессорными ядрами при выделенном для игры «вживую» треке программного инструмента.
Copyright © 2010 Apple Inc. All rights reserved.
Copyright © 2010 Перевод Алексей Алимкин, Олег Фоминов.
вторник, 20 октября 2009 г.
LP9 #9: Советы по оптимизации производительности многоядерной системы
MULTI-CORE SYSTEM
Программа Logic Pro 9 может использовать все ядра на 2-, 4-, и 8-ядерных компьютерах Apple Mac. Запомните и учитывайте эти советы для оптимизации производительности многоядерной системы при работе с программой Logic Pro 9.
Copyright © 2009 www.macsound.ru All rights reserved.
Site www.macsound.ru is an Independent Information site.
The site is not affiliated with Apple Inc. and other companies.
All trademarks, product names, and company names and logos
appearing on this web site are the property of their respective owners.
Site www.macsound.ru makes no guarantees regarding any of the advice
offered on this web site or by its staff or users.