Збільшуємо продуктивність двопроцесорних систем

Вичавлюємо продуктивність, правильно розподіляючи потоки

Збільшуємо продуктивність двопроцесорних систем

Не слід думати, що двопроцесорний система на 3-ГГц Xeon буде працювати так само, як і 6-ГГц комп'ютер. Для поліпшення продуктивності операційна система і додатки повинні підтримувати симетричну многопроцессорность (SMP) або технологію Hyper-Threading (HT). До того ж, вбудовані в операційну систему функції розподілу потоків не завжди виявляються ефективними.

Лабораторія Tom's Hardware Guide розробила утиліту, що дозволяє розподіляти потоки вручну. Як показали результати тестів, за допомогою цієї утиліти ваша двопроцесорний система може досягти ще більш високого рівня продуктивності.

Якщо ваші програми вже оптимізовані під многопроцессорность, то утиліта буде не особливо корисною. Ви можете отримати приріст продуктивності на багатопроцесорної системі, якщо ви одночасно запускаєте кілька додатків без підтримки SMP. Наприклад, під час стиснення фільму в форматі MPEG2 з допомогою MainConcept другий процесор може займатися офісними додатками або подорожжю по Інтернету.

Не завжди зручний: Windows Task Manager

Даний розділ присвячений недоліків диспетчера задач Microsoft і переваг утиліти THG. Спочатку давайте подивимося на Task Manager в Windows XP, який вже дозволяє здійснювати ручний розподіл завдань.

Якщо ваша система відноситься до HT / SMP, то виберіть закладку "Processes / Процеси" в Task Manager і натисніть правою клавішею на назву програми. З'явиться опція "Set Affinity", яка дозволяє вибирати процесор, який використовується програмою.

Збільшуємо продуктивність двопроцесорних систем

Установка прив'язки до процесорів в Windows Task Manager.

Збільшуємо продуктивність двопроцесорних систем

Діалог вибору CPU.

Технологія Hyper-Threading може дати невеликий приріст продуктивності на відповідних додатках. Деякі програми отримують істотний приріст від HT, в той час як інші починають працювати повільніше. Радикальне рішення - відключення HT в BIOS - може привести до помітного падіння загальної системної продуктивності. Windows XP оптимізована під HT і відключення цієї опції істотно сповільнює систему. Рішенням може стати відключення HT для обраних програм. Оскільки процесор з HT в системі видно як два звичайних CPU, потрібно просто прив'язати програму до потрібного процесору. Іншими словами, програма тоді не буде використовувати другий логічний процесор.

Виникає питання: а який процесор з двох фізичний, а який - віртуальний?

І знову рішення досить просте. Windows завжди слід однієї і тієї ж послідовності при підрахунку процесорів: спочатку йдуть фізичні, а потім віртуальні. В системі з двома процесорами Xeon HT CPU0 і CPU1 є фізичними, а CPU2 і CPU3 - віртуальними.

Збільшуємо продуктивність двопроцесорних систем

Послідовність фізичних і віртуальних процесорів.

Тому для того, щоб відключити HT на першому CPU в двухпроцессорной системі Xeon для певної програми, вам потрібно просто прибрати галочку у третього CPU (CPU2).

Ще простіше: THG Task Assignment Manager

При всьому при цьому чималу головний біль доставляють періодично запускаються. На жаль, Windows не запам'ятовує останні настройки, тому колесо доводиться винаходити при кожному запуску програми. До того ж, деякі програми, що запускаються в повноекранному режимі, взагалі не дозволяють нічого регулювати. Деякі подібні програми просто "вилітають" при перемиканні в віконний режим.

Ми пропонуємо використовувати нашу утиліту THG Task Assignment Manager. Вона спеціально призначена для подібних сценаріїв і дозволяє визначати профілі, щоб ваші улюблені програми завжди мали одну і ту ж прив'язку до процесорів. Навіть ті додатки, які блокують доступ в оболонку Windows, тепер можна прив'язувати до процесорів.

Утиліту використовувати дуже легко. Після запуску ви можете змінювати прив'язку процесорів в закладці "Select Application and Assign" для поточних додатків. Все, що потрібно, - подвійне клацання миші.

Для постійної прив'язки вам необхідно перейти на закладку "Application Profiles". Тут ви можете вказати, які програми будуть мати одну і ту ж прив'язку при запуску. Спочатку внесіть програму в список. Для цього введіть ім'я файлу або виберіть його за допомогою клавіші "Browse". Якщо ви натиснете "Add", то перед додаванням в список потрібно буде задати прив'язку процесорів.

Якщо утиліта THG Task Assignment Utility виконується в системі, то прив'язка додатків буде здійснюватися автоматично.

Збільшуємо продуктивність двопроцесорних систем

Додаємо програму в список.

У нашому тестуванні ми покажемо, як утиліта впливає на швидкість роботи додатків. Ми запускали додатки з автоматичним розподілом процесорів Windows, з відключенням Hyper-Threading, а також з утилітою THG Task Assignment Manager. При запуску тестів паралельно з утилітою THG ми використовували стандартні настройки для всіх інших процесів, а тестове додаток прив'язували лише до фізичних CPU (CPU0 і CPU1).

Процесори Intel (Socket 604)

133 МГц FSB (533 МГц QDR)