Intel Xeon у двопроцесорній конфігурації

Колись багатопроцесорність була популярна у серверах, а й у старших моделях робочих станцій, і навіть у самозбірних комп'ютерах. Особливо масове застосування даної технології пов'язане з тим, що компанія Intel забезпечила підтримку SMP у системах на базі процесорів Pentium (до двох процесорів без спеціальних архітектурних хитрощів) та посилила її в Pentium Pro (можна було використовувати до чотирьох процесорів). Настільні Pentium II повернулися на нижчий рівень (до двох процесорів), зате й коштували вони недорого (причому в парі могли працювати навіть зовсім бюджетні Celeron після невеликого доопрацювання), що швидко зробило відповідні системні плати, нехай і не масовим у повному розумінні цього слова. але найпоширенішим товаром. Потім у гонку включилася і компанія AMD, запропонувавши користувачам свої двопроцесорні рішення для робочих станцій. І тут історія в черговий раз повторилася - потрібний для SMP-конфігурацій Athlon MP можна було не купувати, а самостійно "виготовити" з масового Athlon XP, що швидко привернув увагу багатьох користувачів до двосокетних плат на базі чіпсетів AMD 760MP і 760MPX.

Пізніше виробники дійшли висновку, що простота отримання SMP-систем з недорогих комплектуючих сильно б'є по їх доходах, так що почали поступово розділяти масове (один сокет, один процесор) і високопродуктивний напрямок, аж до того, що були іноді моменти, коли вони виявлялися зовсім несумісними. Втім, робилося це багато в чому для отримання додаткового прибутку, але зовсім не для того, щоб «придушити» напрямок. Тож частина ентузіастів до двосокетних систем охолонула, але лише та, якій цікаві були «переробки заради переробок» — користувачі, які мають реальнупотреба у високій продуктивності, продовжували активно набувати робочі станції з двома процесорами. Пік припав на перші Xeon та Opteron. А далі як відрізало.

Виною тому став випуск двоядерних, а потім і чотириядерних настільних процесорів. За своєю суттю для більшості завдань CMP і SMP не дуже відрізняються, зате зберігалася можливість використання «нормальних» настільних комплектуючих. Знову ж таки — і ціна виходила нижчою. Зрозуміло, на кожен момент часу два сокети могли забезпечити вдвічі більше ядер, ніж один, проте це потрібно було далеко не багатьом. Користувачі швидко переконалися, що два ядра це практично завжди краще, ніж одне — навіть якщо використовувати однопотокові додатки, система як мінімум стає більш «чуйною» на дії користувача, оскільки друге ядро ​​якраз і забезпечує необхідний запас ресурсів. А ось користь з наявності чотирьох ядер на робочому столі довгий час можна було отримати лише при використанні дуже специфічного ПЗ, та й зараз ситуація не сильно змінилася. Але навіть якщо чотирьох ядер вам мало, не обов'язково бігти за системою з двома сокетами - найближчим часом і Intel, і AMD мають намір розпочати випуск настільних шестиядерних процесорів. Ну можна буде (або, у випадку AMD, вже зараз можна) таких пару поставити, та й що? Що ви збиралися робити з дванадцятьма обчислювальними ядрами? :) Загалом, підбиваючи підсумок, зростання кількості ядер було вкрай важливим при переході від одного до більш ніж одного, але чим далі, тим менш цікавим. Відповідно, і SMP-конфігурації були вкрай необхідні тоді, коли інших способів отримати більше одного ядра не було, але швидко втратили свою привабливість у міру вдосконалення CMP. З сьогоднішніх успішних SMP-систем на робочому столі на думку спадає хібащо Apple Mac Pro, та й то — півроку тому компанія настала на горло власній пісні, випустивши модифікацію всього з одним «односокетним» Xeon серії 3500.

Проте всі знають про існування додатків, які суттєво прискорюються при будь-якому збільшенні кількості ядер — просто тому, що деякі завдання чудово розпаралелюються (частина — взагалі на рівні алгоритмів, для деяких же позитивний ефект досягається за рахунок одночасного запуску однакових шматків коду, що не залежать один від одного. ). Щоправда, відсоток таких завдань серед звичайного «десктопного» ПЗ дуже малий. Чи, все-таки, не малий? Питання цікаве і до кінця все ще не досліджене. Тому ми вирішили ним зайнятися. Благо наша поточна методика тестування процесорів на даний момент істотно орієнтується на настільні програми якраз. І в рамках цих самих настільних систем демонструє непоганий приріст продуктивності зі збільшенням кількості потоків обчислення (як шляхом використання CMP, так і, нехай меншою мірою, за рахунок SMT у процесорах Intel). А що буде, якщо ми спробуємо задіяти всі технології збільшення продуктивності, що існують на даний момент: і SMT (тобто можливість виконувати на одному ядрі більше одного потоку обчислень — саме цим займається Hyper-Threading), і CMP («багатопроцесорність» за рахунок збільшення кількості ядер в одному приладі), та SMP (установку кількох процесорів)? Давайте подивимося.