Міркування при виборі процесорів AMD через Intel


13

Я працюю в компанії з великою кількістю застарілих веб-додатків LAMP, де ми намагаємось оновити наше обладнання від ~ 250 фізичних серверів до ~ 40 нових серверів без віртуалізації. Ми отримали дві пропозиції від постачальників - одна пропонує пропозиції процесорів Intel, а друга AMD.

Одне, що мені подобається у великій кількості основних процесорів з AMD, - це те, що ми зможемо присвятити сердечники VM, а це означає, що ми маємо менший шанс додатків перешкоджати один одному через шипи, що певною мірою більше важливі для мене, ніж пікові показники.

Інші міркування, які я маю на увазі:

  • Споживання електроенергії може бути різним (це не проблема в нашому випадку.)
  • Інструкції CPU, такі як CRC32 (SSE 4.2), не підтримуватимуться (Редагувати: Схоже, MySQL 5.6 підтримує SSE4.2. Не впевнений у Apache)
  • MySQL не масштабується ідеально після ~ 16 / ~ 32 ядер (я готовий прийняти цю торгівлю.)

Які ще міркування мені не вистачає?

(Примітка модераторам. Я знаю цю тему - я вважаю питання дещо іншим.)


Редагувати: Припустимо, що завдання є винятково паралельними (веб-сервери), і що мені байдуже, що сервери баз даних не такі паралельні.


вам може бути це цікаво: it20.info/2007/10/intel-amd-vmware-and-aircrafts
ToastMan

Якщо ваша програма може розділити запити читання / запису на різні пули серверів, ви, можливо, зможете обійти деякі проблеми продуктивності MySQL, запустивши другий екземпляр, щоб довірити зчитування. Я не знаю достатньо вашої архітектури чи навантаження, щоб знати, чи це ідеальна робота, чи це просто додасть багато непотрібних витрат і складності, але це варіант, який слід розглянути.
jgoldschrafe

Мені знайоме, як працює читання / запис спліт. Це не підходить для підвищення продуктивності в цьому випадку.
Морган Токер

Відповіді:


10

Було багато інформації щодо останньої пропозиції процесорів AMD під назвою Bulldozer. "Серверна" версія цієї частини ще не вийшла, але пропозиція на робочому столі - це прекрасний огляд деяких потенційних проблем нового матеріалу.

Що стосується поточного покоління серверної частини, то загалом ця рекомендація є досить хорошою на загальному рівні. Робота з веб-сервісом та (більшістю) базами даних значною мірою базується на Integer, а процесори AMD добре справляються з обчисленнями Integer. Крім того, розміщення веб-служб є (загалом) проблемою, яка може бути сильно паралельною. AMD акцентує особливу увагу на тому, що "багато ядер роблять для швидшої роботи", і LAMP (знову ж таки, загалом) прагне добре реагувати на це.

Однією з областей, на яку вам дійсно потрібно звернути увагу, є однопоточні залежності у ваших програмах. Частини AMD не розширюються настільки, як запчастини Intel, тому процеси, які є принципово однопотоковими, можуть значно обмежити вашу загальну систему набагато швидше, ніж на швидших частинах процесора. Тільки ви знаєте, стосується вас це чи ні. Деякі операції з базою даних можуть бути краще обслуговуватись від більш швидких процесорів Intel з меншими числами ядер, так що ці кілька жирових ниток можуть справді кричати.

Код програми має значення і тут. Деякі тривалі процеси веб-сервера можуть пережовувати багато однопотокового часу, а також хотіти більш швидких годин. Це може бути вирішене через перезапис необхідності цього довгого запущеного процесу, але до цього приємного годинника було б добре.

Але загалом, для робочих навантажень у стилі lot-o-webserver-vm ці 12-ядерні частини можуть далеко заробити. Якщо ви зіткнулися з деякими проблемами з одним потоком, прийняття компромісу з більш високими тактовими 8-ядерними частинами буде прийнятним компромісом.


Дякую, на жаль, система AMD не буде бульдозером. Це AMD Opteron 6140 (або подібний).
Морган Токер

@MorganTocker Як це буває, я знайомий з цим класом процесора, і саме тому я написав свій пост. Бульдозер має певні проблеми, в які я не вступав.
sysadmin1138

4

Здебільшого ви виявите, що обидва процесори дуже порівнянні. Процесори AMD мають незначну перевагу в швидкості оперативної пам'яті (зазвичай) через 4-го каналу. Процесори Intel, як правило, мають нижчий CPI (можливо, тим більше, ніж у HT , хоча це дуже залежить від завантаженості). AMD, як правило, дешевше.

Більшість цих факторів дасть перевагу тому чи іншому, залежно від вашої завантаженості. Жоден з них не буде значно гіршим, ніж інший (якщо припустити розумні конфігурації та приблизно рівний CapEx).


2

Ви повинні врахувати відмінності в продуктивності, які може принести різна архітектура оперативної пам’яті, і чи є це вирішальним фактором для вашої організації.

Крім того, як частина побічної ноти, хоча ви, можливо, не турбуєтеся про пікову продуктивність, якщо у ваших віртуальних машин не буде декількох ядер, і / або конкретні завдання в межах є однопотоковими, є значна перевага в продуктивності core, ніж AMD, навіть якщо загальна кількість ядер менша.


Припустимо, що наші програми підходять багатопотоково (веб-сервери готові визнати, що MySQL не повністю).
Морган Токер

2

Основна відмінність - у підході; У середньому діапазоні AMD робить невеликий акцент на сердечниках у частині, яка коштує приблизно стільки ж, як і на частину Intel. Частина Intel матиме менше ядер, накручених вище.

Отже, для віртуалізованих завантажень веб-додатків ви, ймовірно, захочете віддати перевагу системам AMD.

Якщо немає великої різниці в цінах, я б не турбувався про долари. Я б більше придивився до підсистеми IO. І TCO на 40 серверах буде здебільшого підтримкою, ліцензуванням програмного забезпечення, якщо така є, та персоналом, ймовірно, не самими серверами.

Як мінімум, вам потрібно зробити собі послугу, залучити обох постачальників і запустити ваші системи на їх апаратному забезпеченні, перш ніж взяти на себе 40 серверів з будь-якого. Тільки ви можете відповісти на питання належним чином для вашого конкретного навантаження.


Спасибі за вашу відповідь! У нас немає одного навантаження - у нас є кілька. Отже, щоб залучити постачальника, нам знадобиться повністю перенестись, а потім знову перейти, щоб спробувати і те й інше. Я розумію, що це оптимально, в нашому випадку це просто не практично. Ми можемо вибрати меншу кількість ролей для переміщення та проектування, але для цього нам потрібно знати, що нам слід вимірювати / шукати; звідси моє запитання;)
Морган Токер

Під навантаженням я маю на увазі, що у вас є ВІДОМНЕ навантаження, що складається з (імовірно) безлічі різних серверів, які роблять різні речі. Ви повинні мати можливість перетворити підмножину ключових серверів у віртуальні зображення досить легко в даний час (з програмним забезпеченням, яке може це допомогти), яке можна завантажити на сервери, які ви збираєтеся придбати. Не мізерна задача, але єдиний спосіб бути впевненим, що не тільки процесор, але і підсистема вводу-виводу та все інше працюють на вашу користь. Інакше всі махають руками і здогадуються. :)
alphadogg

1

Ще одне, що потрібно викинути туди, будьте обережні, якщо ви використовуєте віртуалізацію будь-якого типу, що переміщення гостей з Intel на AMD може бути справжньою проблемою, а згуртування брендів зовсім не є на картках. Дотримуйтесь однієї платформи для кожного кластеру і прийміть, що важко перестрибувати з одного на інший.


Жива міграція між архітектурою з KVM з'являється в значній мірі буде не проблема на 64-бітному: linux-kvm.org/page / ...
Ophidian

Користувач сказав "спадковий LAMP"; що пахне, мов там можуть бути 32-бітні гості. І все-таки приємно знати, що KVM стає на вершині проблеми! Дякую за замітку.
Марк

Так, деякі гості 32-розрядні, але ми плануємо перейти і бути 64-бітними.
Морган Токер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.