Nehalem: мікроархітектура і продуктивність

11.11.2009г.

Чотирьохядерні мікропроцесори Intel Nehalem стали лідерами продуктивності як на настільних, так і на серверних додатках для серверів «стандартної» архітектури.

На ринку високопродуктивних універсальних мікропроцесорів залишилося всього три основні гравці - компанії IBM, AMD і Intel На ринку високопродуктивних універсальних мікропроцесорів залишилося всього три основні гравці - компанії IBM, AMD і Intel. Найбільш поширена 64-розрядна архітектура, x86-64 / EM64T, вже не поступається - а то і перевершує - по продуктивності IBM Power6 / Power6 + ( табл. 1 ), При тому що вартість комп'ютерів на платформі IBM набагато вище. Тому поява мікроархітектури Intel Nehalem і процесорів на її базі, що вийшли в лідери продуктивності, стало визначальною подією для всього комп'ютерного ринку.

У Nehalem інженери Intel відмовилися від застосовувалася раніше загальної шини FSB і приєдналася до більш ефективному вирішенню з вбудованим в процесор контролером оперативної пам'яті; подібний підхід використаний і в процесорах IBM і AMD. У Nehalem з'явилася також послідовна «шина» Quick Path Interconnect (QPI), на ідейному рівні аналогічна підтримуваного в AMD Opteron рішенням - шині HyperTransport. В результаті архітектурні переваги Opteron в побудові багатопроцесорних серверів, що дозволили AMD за останні п'ять-шість років істотно збільшити свою частку на ринку, були нівельовані.

Професійний аналіз мікроархітектури Nehalem і продуктивності процесорів на її базі почався ще до офіційного виходу цих процесорів на ринок [1]. Nehalem використовується в процесорах як для настільних систем (Сore i7), так і для серверів (Xeon 5500). Мікроархітектура цих процесорів єдина.

мікроархітектура Nehalem

Сучасна мікроархітектура х86-процесорів Intel будується за модульним принципом і може «збиратися» подібно Лего [2]. У порівнянні з попередньою мікроархітектури Core 2, самі грандіозні зміни в Nehalem обумовлені появою QPI і вбудованого контролера пам'яті. Загальна довжина конвеєра в порівнянні з Core 2 зросла всього на дві стадії, до 16 стадій [3].

Фронтальна частина Nehalem. У порівнянні з Сore 2 фронтальна частина процесора, як і більшість інших блоків мікроархітектури, корінним змінам не піддавалася. Як і раніше, передбачено три простих декодера (для x86-команд, декодуємих в одну микрооперацию) і один складний (декодує як прості, так і складні команди), що дає темп декодування в чотири микрооперации за такт. Підвищилася пропускна здатність вбудованої пам'яті з мікрооперацій для команд, декодуємих більш ніж в чотири микрооперации: ця пропускна здатність також дорівнює чотирьом Мікрооперацій за такт.

На стадії декодування підтримується і об'єднання микроопераций (micro fusion), і об'єднання макрооперацій (macro fusion), як і в Core2 [2, 3]. Об'єднання макрооперацій в Nehalem сильно удосконалено: по-перше, воно стало доступно в 64-розрядному режимі (раніше воно було обмежено 32-розрядних режимом); по-друге, воно стало включати більше комбінацій команди порівняння CMP і переходу (тепер з JL / JNGE, JGE / JNL, JLE / JNG, JG / JNLE). Декодування і виконання такого макрооб'едіненія як єдиної команди підвищує продуктивність.

Удосконалено блок Loop Sream Detector, що розпізнає цикли і дозволяє відключати деякі блоки конвеєра. Блок перенесений по конвеєру вперед - за стадію декодування, що дозволяє відключити три попередніх блоку конвеєра - передбачення переходів, вибірки і декодування. Loop Stream Detector містить тепер декодувати команди (його ємність зросла з 18 команд х86 до 28 микроопераций) і нагадує Trace Cache в архітектурі Pentium 4 NetBurst.

Передбачення переходів, традиційний напрям вдосконалення мікроархітектури сучасних процесорів, стало істотно точніше. Передбачення тепер дворівневе, а загальний розмір таблиць передісторії збільшений [2]. Метою інженерів Intel при цьому було збільшення продуктивності на об'ємних кодах, таких, наприклад, як управління базами даних.

Для буфера стека адрес повернення (Return Stack Buffer, RSB), використовуваного для передбачення адрес повернення з процедур, стала використовуватися техніка перейменування, аналогічна відомої техніці перейменування регістрів і дозволяє в багатьох випадках дає змогу уникнути «пошкодження» RSB при виконанні на спекулятивно обраному шляху [4] .

Виконавча частина конвеєра. У цьому компоненті мікроархітектура Nehalem також близька до Core 2. Вона заснована на застосуванні спекулятивного позачергового виконанні мікрооперацій, для яких використовується загальний планувальник RS (Reservation Station) для всіх функціональних виконавчих пристроїв. RS може видавати на виконання до шести мікрооперацій за такт, в тому числі три операції з оперативною пам'яттю - одна завантаження регістра (L), один запис даних (ST) і один запис адреси - плюс три обчислювальні операції. Однак за такт може завершуватися до чотирьох мікрооперацій, тому суперскалярні архітектури Core2 і Nehalem мають «ширину» до чотирьох мікрооперацій (для порівняння, в Opteron - тільки три).

Збільшена ємність буфера Reorder Buffer (ROB), яка визначає число всіх одночасно виконуваних мікрооперацій - з 96 до 128; ємність RS зросла з 32 до 36 рядків, ємність буфера L - з 32 до 48, буфера ST - з 20 до 32 [4]. Cоответственно зріс внутрішній паралелізм. З іншого боку, в режимі НТ (Hyper-Threading, див. Нижче) навантаження на виконавчу частину конвеєра підвищується. При цьому, на відміну від RS, буфера L / ST і ROB між двома нитками розподіляються статично.

Ряд удосконалень Nehalem пов'язаний з системою команд. По-перше, з'явилися більш ефективні примітиви синхронізації ниток і були зменшені затримки синхронізації. По-друге, подальше розширення отримало підмножина команд SSE4 - тепер SSE4.2. Воно включає, зокрема, чотири нові команди - PCMPESTRI / M і PCMPISTRI / M для роботи з ланцюжками символів. Це удосконалення зроблено в розрахунку на які набувають все більшої актуальності трудомісткі завдання XML-обробки.

Крім того, з'явилася команда CRC32 (підрахунок 32-розрядної циклічної суми для біта / слова / подвійного слова / квадрослова) і підрахунку числа одиниць (POPCNT). Цікаво, що аналогічна команда була ще в легендарному радянському комп'ютері БЕСМ-6. Ця операція ефективно застосовується в задачах розпізнавання голосу і послідовностей в ДНК. Наведемо також дані про затримки виконання деяких типових команд. Для простих цілочисельних операцій вона дорівнює одному такту, для множення - три такти; для складання з плаваючою комою подвійної точності - три такти, аналогічного множення з плаваючою комою - п'ять тактів. Команди конвейерізіровани, тому пропускна здатність дорівнює одному такту.

Після деякої перерви в Nehalem на новому рівні відродилася технологія Hyper-Threading (в BIOS для Nehalem часто використовується більш загальний термін - Simultaneous Multi-Threading). Збільшення в Nehalem ємності кеша, пропускної здатності здатність оперативної пам'яті і ємності інших структур даних зробили HT більш ефективною.

НТ забезпечує підтримку одночасного виконання ядром Nehalem двох ниток, тобто кожне ядро ​​логічно представляється у вигляді двох логічних ядер (процесорів). В умовах, коли багато програм не можуть досить повно задіяти ресурси ядра Nehalem (в тому числі виконавчі пристрої) і не забезпечують достатнього паралелізму при виконанні кодів процесу, НТ є недорогим (в сенсі додаткової логіки на мікросхемі) шляхом підвищення продуктивності за рахунок паралелізму на рівні ядра.

У новій реінкарнації НТ помітно піднімає продуктивність на ряді програм, в тому числі на тестах з базами даних - Oracle 10g, Microsoft SQL Server [5]. Для HPC-додатків НТ зазвичай відключають. Винятком можуть бути додатки, продуктивність яких обмежується зверненнями в пам'ять.

Структура кеш-пам'яті і TLB. У Nehalem кеш зазнав істотних змін. Він став трирівневим ( табл. 2 ), І змінилася схема забезпечення когерентності кеша.

Всі три рівні кеша використовують рядок довжиною 64 байта і техніку зворотного запису. Кеші другого і третього рівнів містять і команди, і дані. Перший і другий рівні кеша - свої для кожного ядра, кеш третього рівня розділяється всіма чотирма ядрами. Закладено технічні можливості збільшення в майбутньому ємності цього кеша.

У порівнянні з Core2, в кеші даних першого рівня забезпечена підтримка більшої кількості паралельно оброблюваних промахів. Програмістам слід звернути увагу на те, що завантаження регістра коштує цілих чотири такту (проти трьох раніше; Opteron також має затримку три такту), її необхідно «приховувати» іншими командами. Величини затримок різних кешів наведені в табл. 2. Наші вимірювання на тестах lmbench їм відповідають; для третього рівня затримка коливалася в діапазоні 35-38 тактів.

У Opteron Shanghai в розрахунку на один такт пропускна здатність кешу команд першого рівня вдвічі більше - 32 байт проти 16 в Nehalem.

Крім того, ємність кеша другого рівня в чотириядерних Opteron в два рази вище - 512 Кбайт. Зате ємність кеша третього рівня вище в Nehalem - 8 Мбайт проти 6 Мбайт в Shanghai. (Теоретично можна знайти додаток, де структура кеш-пам'яті Opteron вигідніше - скажімо, якщо робоче безліч сторінок локалізується в 512 Кбайт, але погано локалізується в 256 Кбайт.)

На відміну від Opteron, ієрархія кеша в Nehalem є інклюзивної, тобто рядки даних першого і другого рівнів присутні також в третьому рівні. У порівнянні з ексклюзивною схемою в Opteron у такого підходу є свої переваги і недоліки.

У разі промаху в кешах першого, другого і потім в загальному кеші третього рівня в ексклюзивній схемою потрібна перевірка кешей першого і другого рівнів трьох інших ядер даного процесора, в той час як в інклюзивної схемою промах в кеш третього рівня відразу означає необхідність звернення в пам'ять. Таким чином, затримки в інклюзивної схемою при цьому нижче. Мінусом інклюзивної схеми є потенційно менша ефективна ємність кеша. Однак 8 Мбайт для кеша третього рівня виглядають цілком достатньо.

У разі потрапляння в кеш третього рівня (при промахах на першому і другому рівнях) Ситуація складніше. У інклюзивної схемою після виявлення попадання для підтримки когерентності необхідна ще перевірка кешей першого і другого рівнів інших ядер на предмет наявності там рядки з такою ж адресою пам'яті. Для зменшення спричиненої цим затримки в рядку кеша третього рівня в Nehalem доданий набір бітів core valid - по одному на кожне з чотирьох ядер. Перевірка рядків кешей першого і другого рівнів інших ядер потрібна, тільки якщо для цих ядер біт core valid в рядку кеша третього рівня дорівнює 1 [4]. Використовуваний раніше Intel протокол MESI в Nehalem було розширено шляхом включення нового стану - Forwarded [6]. Цей протокол отримав назву MESIF. Однак в MESIF немає оптимізації за рахунок стану Owner, як у використовуваному в Opteron протоколі MOESI [7].

Буфери швидкої переадресації TLB в Nehalem також вдосконалені. Доробки були спрямовані на підвищення ефективності роботи з додатками, автівно використовують пам'ять великої ємності.

B Nehalem зріс розмір D-TLB кеша першого рівня - до 64 рядків для сторінок ємністю 4 Кбайт; TLB містить ще 32 рядки для великих сторінок (ємністю 2/4 Мбайт). I-TLB кеша першого рівня має ємність 128 рядків (по 64 рядки на кожну нитку в HT) для стандартних сторінок і 7 рядків - для великих сторінок. TLB другого рівня ємністю 512 рядків для стандартних сторінок служить і для команд, і для даних. D-TLB першого рівня і TLB другого рівня динамічно розділяються між нитками. Промах в D-TLB першого рівня при попаданні в TLB другого рівня дає затримку всього сім тактів [3].

QPI і контролер оперативної пам'яті. У Nehalem інженери Intel відмовилися від контролера пам'яті в північному мосту MCH на користь більш ефективного варіанту - інтегрованого в процесор контролера пам'яті (IMC), що забезпечує масштабування пропускної здатності оперативної пам'яті з числом процесорів в системі. Перевагою IMC є, зокрема, зменшення затримок, які в сучасних варіантах DDR і так зростають (в FB-DIMM затримки можуть бути ще вище). У підтримуваної IMC технології DDR3 типові затримки CAS складають сім-дев'ять тактів (у DDR2 - зазвичай п'ять-шість тактів), причому в більш надійних буферизованих DIMM вони вище, ніж в небуферізованних. IMC працює з DIMM обох типів.

Кожен IMC підтримує по три канали DDR3-800, DDR3-1066 або DDR3-1333. Вбудований характер IMC робить двопроцесорні сервери з Xeon 55XX НЕ SMP-, а ccNUMA-Cистема, як Opteron. Для DDR3-1333 затримка звернення в віддалену пам'ять, з'єднані з IMC в іншому процесорі, становить ~ 90 нс (це навіть менше, ніж ~ 100 нс в Harpertown c FSB1600) проти 60 нс для локальної оперативної пам'яті. Пропускна здатність віддаленої оперативної пам'яті приблизно в півтора рази нижче локальної (наші заміри на тестах stream для одного процесу дали 32-34% падіння пропускної здатності).

В IMC реалізовані просунуті можливості попередньої вибірки і при необхідності проводиться агресивне переупорядочение запитів в пам'ять, що дозволяє приховувати затримки. Раніше апаратура попередньої вибірки була оптимізована для роботи з даними на кордоні 64 байт; IMC ефективно працює і з невирівняні даними. При випадковому зверненні в пам'ять (скажімо, при роботі з базами даних) таку вибірку рекомендувалося відключати, хоча для HPC-додатків вона могла давати виграш. В IMC такого відключення робити не треба. У Nehalem кожне ядро ​​відпрацьовує паралельно до 10 промахів за даними в кеші і до 16 транзакцій в оперативну пам'ять одночасно може виконуватися в розщепленому режимі; для порівняння, в Core2 ці показники дорівнюють 8 і 14 відповідно [2, 4, 8].

Застосування DIMM DDR3 c Nehalem має цілий ряд тонкощів [9]. Так, в разі приєднання по два модулі DIMM на канал пропускна здатність знижується на один щабель - наприклад, з 1333 до 1066, а при приєднанні більшого числа модулів - до 800. Несиметричні по заселеності каналів оперативної пам'яті конфігурації також призводять до зниження пропускної спроможності, навіть якщо модулі розташовані на всіх каналах пам'яті. Дають найвищу продуктивність небуферізованних модулі DIMM можуть застосовуватися тільки по одному на канал.

Щоб отримати пікову пропускну здатність каналу, треба число передач в секунду помножити на 8 (ширину каналу в байтах), тобто для DDR3-800 / 1066/1333 виходить відповідно 6,4 / 8,5 / 10,7 Гбайт / с. У розрахунку на процесорний роз'єм це число треба помножити на 3 (кількість каналів). У Opteron Shanghai, для порівняння, IMC підтримує DDR2-800 (пропускна здатність 6,4 Гбайт / с) і всього два канали на процесор.

Для забезпечення когерентності кешей і пам'яті в багатопроцесорних серверах з Xeon 55XX і для роботи з зовнішніми пристроями в Nehalem застосовується послідовне межсоединение типу «точка-точка», QPI. Старі його назва - СSI (Common System Interface). Це двунаправленноие канали, де в кожному напрямку за такт передається 20 біт (2 байт плюс 4 біт на детектування помилок і підтримку протоколу роботи). У QPI використовується диференціальна сигнальна схема і пакетна передача даних. Розмір пакета становить 80 біт: 64 біт даних плюс CRC, біти flow control і т.п .; на передачу пакета може йти від 4 до 16 тактів. QPI забезпечує 6,4 млрд передач в секунду, тобто має пікову пропускну здатність 12,8 Гбайт / с, або 25,6 Гбайт / с при двобічної передачі [8].

Доступні сьогодні моделі Xeon 5500, що дозволяють будувати двопроцесорні системи, мають по два канали QPI на процесор. Один з QPI при цьому для введення / виведення, другий - для межпроцессорного спілкування. Пікова пропускна здатність FSB у Intel раніше також досягла 12,8 Гбайт / с. Але QPI допускає одночасну обробку транзакцій на запис і читання, а FSB - тільки читання або тільки запис. Навіть якщо обробляються тільки транзакції в одному напрямку, застосування QPI забезпечує велику пропускну здатність, ніж FSB: на відміну від FSB, QPI не пропускають через себе йде через IMC трафік оперативної пам'яті (якщо не брати до уваги міжпроцесорних обмінів для забезпечення когерентності кешей).

Реалізація Nehalem. Обмежений обсяг статті не дозволяє розглянути ще ряд цікавих особливостей мікроархітектури Nehalem. Згадаємо лише нові засоби EPT (Extended Page Table), що сприяють підвищенню продуктивності модних нині коштів віртуалізації - за рахунок зменшення числа переходів між віртуальними машинами і зменшення затримок таких переходів приблизно в півтора рази [3, 4].

Процесори Xeon / Nehalem містять 751 млн транзисторів (у Shanghai - 758 млн) при площі 263 кв. мм (проти 258 кв. мм у Shanghai) і виготовляються по КМОП-технології з типорозміром 45 нм з використанням діелектрика з великою діелектричною проникністю [6]. Діапазон підтримуваних тактових частот становить від 1,8 до 3,33 ГГц, максимальний розрахунковий тепловиділення ТDP (Thermal Design Power) - в зависмости від моделі процесора - від 60 Вт до 130 Вт; значення TDP для середини лінійки - 80 Вт.

Для Зменшення тепловіділення Nehalem має даже Спеціальний вбудований мікроконтролер Power Control Unit, Який стежа за температурою и использование електроживлення ядрами. ОКРЕМІ ядра могут буті відключені Повністю, при цьом споживання Їм електроживлення буде близьким до нуля. Природно, є засоби автоматичного зниженя частоти при більш низьких навантаженні и інші відомі Ранее кошти. У HPC-додатках ці можливості зазвичай не використовуються і відключаються на рівні операційної системи, щоб не знижувати продуктивність. А в BIOS краще відключити можливість зниження енергоспоживання QPI шляхом переходу в стан L0s і L1.

У Nehalem реалізована і протилежна можливість - якщо процесор при роботі не перегрівається, можливо тимчасове підвищення частоти окремих ядер вище офіційно декларованої (так званий «турборежим»).

Для двопроцесорних систем Intel пропонує набір мікросхем i5520 (Tylersburg), чиє основне завдання - підтримка каналів PCI-E v.2.0 (старіші пристрої підтримуються традиційними мікросхемами ICH9 / 10). У типовій конструкції одна мікросхема 5520 приєднується до двох каналах QPI, по одному на процесор, однак при необхідності досягнення високої продуктивності введення / виведення до кожного процесору може приєднуватися своя мікросхема 5520 [6].

тестування продуктивності

Вже з даних табл. 1 видно значну перевагу Nehalem над конкурентами по продуктивності для різних типів робочої нагрузкі1.

Схоже, останнім часом AMD більше приділяє увагу показнику «продуктивність в розрахунку на ват». Однак на тестах SPECpower_ssj2008 X5570 / 2,93 ГГц на восьми ядрах показав результат 1877 SSJ-операцій на ват, а Opteron 2377 EE / 2,3 ГГц - 1379.

Є численні дані, що показують лідерство Nehalem в додатках - як настільних, так і серверних. З області ERP / OLTP можна згадати, наприклад, тести SAP SD (дворівневі), Oracle Charbench, Dell DVD Store і ін., Що показують перевагу Opteron над Shanghai. Великі переваги в продуктивності були показані, здається, для більшості відомих програмних комплексів в області HPC - для Fluent 6 (СFD), LS-Dyna (моделювання зіткнень автомобілів), Schlumberger Eclipse (для задач нафтовидобутку) і ін., А також Linpack HPC [ 6]. Однак cреди завдань молекулярного моделювання дані для Nehalem нам відомі тільки для програмного комплексу VASP. Нижче в статті наведені деякі отримані автором результати для найбільш розвиненого комерційного комплексу програм Gaussian2.

Наші вимірювання продуктивності виконані на сервері з двома Xeon 5520 (виміряна частота 2,26 ГГц) з серверної платою Supermicro X8DTI і пам'яттю DDR3-1066 (по одному модулю DIMM / 2Гбайт на кожен з шести каналів). Використовувалися компілятори gcc / gfortran -4.3.3, Intel Fortran Professional 11.0.038 і бібліотека MKL з його складу, які працювали під управлінням останньої версії 64-розрядної операційної системи OpenSuSE Linux 11.1 з ядром 2.6.27. Використовувалася та ж методика тестування, що і в наших тестах Opteron Barcelona.

В процесі тестування була виявлена ​​помилка ядер OpenSuSE 11 при роботі з Nehalem через невірне визначення розмірів таблиці SRAT (в ній описується конфігурація процесорів і приєднаної до них пам'яті). Ця помилка знайдена і в ряді інших дистрибутивів Linux і проявляється у вигляді неправильного вмісту каталогу / sys / devices / system / node. В результаті неправильно працюють засоби NUMA-розподілу оперативної пам'яті і процесорів. Отримані від розробників OpenSuSE латки дозволили виправити проблему, але це сталося вже при підготовці статті до друку.

Наслідком цієї помилки є зниження продуктивності на (в першу чергу розпаралелених) тестах, де продуктивність лімітується інтенсивною роботою з оперативною пам'яттю. До них відносяться, зокрема, розпаралеленого в OpenMP тести stream, що вимірюють пропускну здатність пам'яті. В табл. 3 результати для stream наведені з виправленим ядром.

Було знайдено, що пропускна здатність пам'яті в Nehalem вище, ніж у Opteron, навіть в разі, коли використовуються модулі DDR, що має однакову пропускну здатність. Крім того, забезпечується істотне масштабування пропускної здатності пам'яті з числом ядер в процесорі і ниток OpenMP - до 27-28 Гбайт / с c DDR3-1066 на восьми ядрах і восьми нитках (до 37-39 Гбайт / с - для DDR3-1333). Для переходу від одного до двох ядер масштабування ідеально, а при переході від чотирьох до восьми ядер пропускна здатність пам'яті змінюється лише трохи - очевидно, через конкуренцію з доступу ниток в оперативну пам'ять.

В табл. 4 представлені результати наших вимірів для Мікротест Linpack і множення матриць з плаваючою комою з подвійною точністю (dgemm). Ці результати цікаво зіставити з отриманими для процесора Barcelona. Досягнутий відсоток від пікової продуктивності для послідовних тестів вище в Nehalem. Якщо нормувати продуктивність Linpack на одиницю тактової частоти, то Nehalem виявляється ефективніше, ніж Barcelona. Однак прискорення при розпаралелювання Linpack (n = 1000) для Opteron 2350 було вище. Падіння ефективності розпаралелювання на восьми ядрах в цих тестах було зафіксовано і для Opteron (на MKL і acml).

В табл. 5 наведені досягнуті нами прискорення при розпаралелювання різних методів квантової хімії (CIS, MP2 і DFT) в Gaussian зі спільним застосуванням засобів распраллеліванія OpenMP і Linda. Час розрахунку виявилося менше, ніж в Opteron 2350 (крім методу DFT, що можна пояснити оптимізацією коду під одноядерні моделі Opteron), і отримано хороше масштабування продуктивності, близьке до даних для Opteron.

література

  1. HO Bugge, An evaluation of Intel's Core i7 architecture using a comparative approach. Comp. Sci. - Research & Development, Vol. 23, No. 3-4 (2009), p. 203-209.

  2. Intel 64 and IA-32 Architectures Optimization Reference Manual. Order Number: 248966-018, Intel Corp., March 2009.

  3. R. Singhal, Inside Intel Next Generation Nehalem Microarchitecture. Intel Corp., IDF, 2008.

  4. JD Gelas, Everything you need to know about Intel's new architceture. www.anandtech.com .
  5. MJ Frisch, GW Trucks et al. Gaussian-03, Revision C.02. Gaussian, Inc., Wallingford CT, 2004.

Михайло Кузьмінський ( [email protected] ) - старший науковий співробітник установи РАН «Інститут органічної хімії ім. Н.Д. Зелінського »(Москва).

Таблиця 1. Деякі результати тестів SPEC (пікові / базові значення)

Таблиця 2. Ієрархія кеш-пам'яті в Nehalem

Таблиця 3. Деякі результати на тестах STREAM, Мбайт / с

Таблиця 4. Продуктивність на Мікротест Linpack і dgemm

Таблиця 5. Прискорення при розпаралелювання на Gaussian-03 з E5520 / Nehalem

Чотириядерні процесори Barcelona

Всі універсальні високопродуктивні серверні мікропроцесори мають ряд спільних рис - не став винятком і чотирьохядерний процесор AMD Opteron 2350 (Barcelona).

http://www.osp.ru/os/2008/09/5714215

1 Можливість застосування автоматичного розпаралелювання компілятором для послідовних кодів, що допускається тестами SPECcpu2006, з точки зору автора, неприродна і робить результати зіставлення різних процесорів не зовсім чіткими, однак перевага Intel все одно очевидно. - Прим. автора.

2 Нами використана двійкова версія, оптимізована кілька років тому для одноядерних процесорів Opteron [10]. - Прим. автора.