Остарявам. По времето ми, ако искахте първокласна производителност на процесора, трябваше да използвате чип от висок клас x86 или, ако имате по-дълбоки джобове, можете да получите нещо екзотично, като PowerPC система. Зависимостта на индустрията от процесори x86 изглежда се увеличава, а не намалява.
Преди десет години Apple се присъедини към x86 клуба и това накара много наблюдатели да заключат, че ерата на процесорите, които не са x86 на масовия пазар, е приключила. Само няколко години по-късно те трябваше да изядат думите си и отново Apple имаше нещо общо с това. ARM сървърите идват и те биха могли да ревитализират сървърната индустрия.
Тъй като парадигмата се измести и основните потребители прегърнаха смартфони и таблети, бързо стана очевидно, че x86 чиповете от Intel, AMD и VIA просто не отговаряха на задачата. Докато x86 беше най-плодовитата инструкция на планетата, това не беше добър избор за мобилни устройства по редица причини. Всъщност набор от инструкции на Intel все още не е популярен избор за мобилни процесори, въпреки че това започва да се променя благодарение на технологичния лидер на Intel в леярството. Във всеки случай, когато става въпрос за този пазарен сегмент, x86 не е толкова ефективен, колкото другите CPU архитектури, а именно процесори, базирани на 32-битовите ARMv7 и 64-битови набори от инструкции ARMv8 на ARM.
През последното десетилетие, и особено през последните пет години, ARM процесорите доминираха в пейзажа на смартфоните и таблетите и те имаха много неща за тях. Те предлагаха много производителност на ват, бяха евтини за проектиране, производство и внедряване. Големите доставчици могат да закупят необходимите градивни елементи и да проектират свои собствени процесори, базирани на ARMv7 или ARMv8, като добавят други компоненти според техните нужди (високоскоростни модеми и различни графични процесори, за да назоват двойка).
Това накара някои чип дизайнери да възприемат малко по-различен подход и да проектират свои собствени CPU ядра. Qualcomm и Apple водеха, и двете компании се превърнаха в големи играчи на пазара на мобилни System-on-Chip (SoC) и тяхното разработване на сложни персонализирани ядра изигра съществена роля за техния успех. Въпреки това потребителските ARM ядра все още се използват в процесори от висок клас, докато всички останали пазарни сегменти са покрити от стандартни ARM Cortex CPU ядра, като 32-битовите Cortex-A8, A9, A7 и A15, последвани от 64-битови дизайни като Cortex-A53, A57 и новото ядро A72, което е на път да започне да се доставя.
Другата предпоставка за успеха на ARM е провалът на Microsoft.
Windows работеше само на процесори x86, така че ако Microsoft се утвърди в мобилните устройства, това ще наклони везните в полза на Intel. В края на последното десетилетие обаче стана очевидно, че Редмънд е пуснал топката и е отстъпил този доходоносен пазар на Google и Apple. Говорейки за топки, дългогодишният изпълнителен директор на Microsoft Стив Балмър напусна компанията преди няколко години, признавайки, че той и екипът му не са успели да разпознаят потенциала на смартфоните и таблетите. Както и да е, това вече не е проблем на Балмър: той има други топки в ума си в момента, по-точно баскетболни топки.
Мобилните устройства обаче не са първият или единствен пазарен сегмент, който е свидетел на провал на Microsoft с епични размери. Другият е сървърният пазар. На пръв поглед смартфоните и центровете за данни нямат много общо, но от технологична и бизнес гледна точка те се припокриват.
Независимо дали проектирате смартфон или сървър, трябва да наблегнете на подобни аспекти на вашата хардуерна платформа, като енергийна ефективност, добри термични характеристики, производителност на долар и т.н. Най-важното - вие всъщност не се нуждаят от x86-базиран процесор за смартфони и много видове сървъри. Благодарение на провалите на Microsoft, тези пазарни сегменти не са доминирани от никакъв вкус на Windows. Те разчитат UNIX-базирани операционни системи вместо това: Android, iOS и различни дистрибуции на Linux.
Microsoft също се опита да използва потенциала на ARM процесорите, затова се опита да разработи версия на Windows, която да работи на ARM хардуер, което удобно ме отвежда до следващия провал на Microsoft: Windows RT. В крайна сметка Microsoft извади щепсела на Windows RT или „Windows на ARM“, както първоначално се наричаше. Най-новите таблети Surface на Microsoft използват процесори x64 и стандартен Windows 10. Линията смартфони Lumia на Microsoft (на име Nokia Lumia) все още използва ARM процесори от House of Qualcomm, но Windows Phone е почти мъртъв като основна платформа за смартфони.
В момента имаме няколко милиарда смартфони и таблети в дивата природа и по-голямата част са базирани на ARM процесори. ARM чиповете обаче не пробиват път в други пазарни сегменти. Има само шепа изчислителни платформи с голям обем, базирани на ARM, които не попадат в категорията смартфони и таблети. Google Chromebook са може би най-известният пример. ARM чиповете обаче се използват в купища други устройства: рутери, декодери и интелигентни телевизори, интелигентни часовници, някои игрални устройства, автомобилни информационно-развлекателни системи и т.н.
Ами ARM сървърите?
Тук става трудно. Чувам разговори за ARM сървъри от 2010 г., но напредъкът е бавен и ограничен. Пазарният дял на ARM в сървърния сегмент остава незначителен, а екосистемата остава доминирана от x86 Xeon и Opteron части съответно от Intel и AMD. Тъй като AMD има проблеми със света на процесора, през последните години Intel успя да увеличи лидерството си на пазарен дял.
Но защо ARM сървърите звучат като добра идея за начало?
Пари. Бих могъл да опитам да изброя всички отвратителни точки, които правят ARM жизнеспособна алтернатива на x86 на сървърния пазар, но в края на деня става дума най-вече за пари, така че ще се опитам да го обясня в няколко реда.
Нямаме нужда от огромен и скъп процесор Xeon за всичко. Освен това използването на остарели процесори x86 за справяне с неизискващите натоварвания не е добър вариант поради тяхното потребление на енергия. Не забравяйте, че говорим за сървъри, а не за вашия MacBook или настолен компютър. Сървърите работят денонощно, така че всяко повишаване на ефективността, включително относително малки, е важно. Не е просто за получаване на по-голяма сметка за електричество; центровете за данни трябва да се охлаждат и поддържат, така че процесорите с по-нисък рейтинг на топлинна мощност (TDP) са много по-ценни за корпоративните потребители, отколкото за отделните лица.
И така, за какъв вид корпоративно приложение са подходящи ARM процесорите?
Е, ARM очаква да получи огромното по-голямата част от дизайна печели за мрежови инфраструктурни приложения. Поради своята гъвкавост, малък размер, ефективност и ниска цена, ARM процесорите са чудесен избор за инфраструктура. Можете да използвате ARM процесори в рутери, високопроизводителни решения за съхранение и определени видове сървъри.
ARM обаче очаква по-голямата част от растежа на предприятието това десетилетие да идва от сървъри, тъй като другите му сегменти вече са зрели и той има здравословен пазарен дял в тях. Натоварванията на сървърите също се променят и тази тенденция е свързана с растежа на облачните услуги. В резултат на това сървърите трябва да се справят с нарастващия брой по-малки задачи.
Много организации предпочитат да оставят опциите си отворени, така че те произвеждат хардуер от множество доставчици. Това е добра новина за ARM сървърните процесори, защото те могат да се предлагат на пазара от редица различни компании. В допълнение, лицензионните политики на ARM и модулният подход към дизайна на процесора могат да бъдат използвани за проектиране на персонализирани процесори за специфични приложения. Това очевидно е нещо, което не е опция за малките компании, но какво може да се случи, ако големи играчи като Amazon, Facebook или Google започнат да искат специални сървърни процесори, предназначени да превъзхождат едно конкретно приложение?
Що се отнася до „залепването му за Intel“, трябва да отбележа, че нямам предвид Intel никаква вреда и не искам да виждам как той се проваля или изтласква от различни пазарни сегменти, но в същото време съм загрижен, че Доминирането на Intel може в крайна сметка да потисне растежа и иновациите. По-голямата конкуренция трябва да доведе до по-ниски цени за крайните потребители и това е всичко, за което са ARM сървърите.
Само преди десетилетие многоядрените x86 процесори бяха запазени за високопроизводителни компютри и сървъри, но сега можете да получите четириядрени x86 чипове в таблетки за $ 100.
В ранните дни на многоядрените изчисления все още се нуждаете от големи ядра на процесора, за да получите адекватни нива на производителност. Много софтуер не успя да се възползва от тези нови процесори и техните допълнителни ядра, така че добрата ефективност с една нишка беше жизненоважна. Нещата със сигурност са се променили; в днешно време имаме осмоядрени смартфони, четириядрени таблети и телефони Intel и 16-ядрени сървърни процесори x86.
Има основателна причина за това. Изграждането на многоядрен процесор е напълно логично от технологична и финансова гледна точка. Много по-лесно е да се разпредели натоварването на няколко по-малки, по-ефективни ядра на процесора, отколкото да се разработи едно, огромно ядро, способно да работи при високи честоти. Многоядреният подход гарантира превъзходна ефективност и добив на чипове.
ARM има потенциала да изведе основната мания на следващото ниво. Процесорните ядра ARM обикновено са по-малки от така наречените „големи ядра“ на Intel, използвани в сървърни и настолни части (атомите на Intel с „малко ядро“ са запазени за мобилни устройства, въпреки че също са налични базирани на Atom сървърни части). Това обаче не означава, че скоро ще видим 128-ядрени или 256-ядрени ARM процесори, въпреки че на теория те са възможни. Това зависи от това как новата реколта от сървърни процесори ARMv8 се справя с многонишкови товари. Има някои обнадеждаващи признаци и има вероятност ARM сървърите да бъдат добър избор за редица натоварвания, които биха могли да се възползват от техните многоядрени процесори.
Първият сървърен процесор на Qualcomm има 24 процесорни ядра ARMv8 и производителят на чипове даде да се разбере, че бъдещите модели ще разполагат с още повече ядра. Помните ли AMD и неговите проблеми на сървърния пазар? Е, компанията представи своя отдавна закъснял ARM-базиран Opteron A1100 процесор само преди няколко седмици. Qualcomm обяви това през октомври, така че и двата продукта ще станат достъпни през следващите няколко месеца.
Разбира се, Intel няма да присъства на това ARM парти, но Qualcomm и AMD не са единствените чип съоръжения, работещи върху ARM-базирани корпоративни чипове. Производители на чипове като Broadcom, Calxeda, Cavium Networks и Huawei HiSilicon са работили и върху ARM-базирани сървърни продукти. Nvidia и Samsung, двама тежки тежести в бизнеса със SoC и GPU, също експериментираха с ARM сървърни части до преди няколко години, когато решиха да спрат разработката. Texas Instruments, Xilinx и Marvell също проучват ARM сървърните части.
Някои от тези компании също са работили върху персонализирани ARM ядра, но единственото 64-битово ARM ядро, което не е от Apple, налично днес, е Nvidia’s Denver, което получи само шепа дизайнерски победи.
Знам, че повечето хора не могат да бъдат притеснени да следят всички индустриални ниши, включително процесорното пространство, така че мисля, че сега би било подходящо време да обясня какво прави ARM ядрата различни и какви всъщност са ядките по поръчка. Няма да дисектирам процесори и да обяснявам разликата между наборите инструкции x86 и ARM, но ще очертая разликите от гледна точка на бизнеса.
Виждате ли, ARM не се различава само защото използва различен набор от инструкции, въпреки че това би направило бързо и отвратително обяснение, според мен най-голямата разлика между Intel, AMD и ARM не е архитектурата, а бизнес моделът . Освен това архитектурите се променят, новите CPU дизайни се представят редовно, но подходът на ARM към маркетинга и лицензирането на технологията не се е променил от години.
Ето един прост пример.
Процесор Intel е разработен от Intel, като се използват набори от инструкции на Intel. Произвежда се в леярна на Intel, опакова се и се доставя с “Intel Inside” брандиране. Може да звучи просто, но нека не забравяме милиардите, които са влезли в научноизследователска и развойна дейност през десетилетията, или факта, че Intel разчита на собствените си фабрики за производство (и ако сте на пазара за 14-нанометрова леярна, уверете се, че имате резервни промяна на вас, защото чип фабриката струва колкото ядрен самолетоносач).
Ами продуктите ARM? Е, ARM не е производител на чипове , това е чип дизайнер или a „Fabless“ чип компания, така че тя не се занимава с производство и не продава собствена марка чипове. ARM продава нещо много по-интересно: интелектуална собственост . Това означава, че клиентите на ARM могат да изберат всеки от редица различни лицензионни планове и да започнат да правят свои собствени проекти. Повечето от тях избират вътрешни дизайни на ARM (CPU от серия Cortex, графични процесори от серия Mali), така че плащат лицензионна такса за всяко CPU / GPU ядро, което произвеждат.
Клиентът обаче не трябва да лицензира тези готови за работа процесори; вместо това може да лицензира зададената архитектура и да разработи a персонализирано ядро въз основа на ARM набор от инструкции . Това прави Apple. Той използва набор от инструкции ARMv8 за изграждане на големи и мощни 64-битови процесорни ядра за своите iOS устройства. Процесорът на Nvidia в Денвър е подобен в това отношение, както и потребителските ядра на Qualcomm (32-битова серия Krait и 64-битова Kryo).
Проектирането на персонализирано ядро на процесора не е лесно. Не е като да откриете чип-дизайнери без работа и да предлагате да проектирате персонализиран процесор в Craigslist, така че този подход обикновено е запазен за големи играчи, които разполагат с необходимите технически, финансови и човешки ресурси, за да го извлекат. Следователно повечето компании вместо това използват готови ARM Cortex ядра (64-битовото ядро Cortex-A57 може да се използва в сървърна среда и се използва от повечето ARM сървърни процесори от следващо поколение).
Важно е да се отбележи, че на практика ARM-базирани чипове са проектирани по поръчка но Ядрата на процесора, използвани в повечето, не са .
По-голямата част от ARM процесорите разчитат на стандартни ARM CPU дизайни (Cortex CPU), а не на персонализирани CPU ядра. Това означава, че производителите на чипове могат да избират някое от множество ARM CPU ядра, графични процесори на трети страни и други компоненти и да приспособят процесор, за да отговори на техните нужди, без да се налага да разработват персонализирано CPU ядро. Това е евтин начин да направите архитектурата по-гъвкава и има повече общо с лицензионните политики на ARM, отколкото с инженеринга.
Също така е важно да се отбележи, че тези предстоящи ARM сървъри, базирани на най-новата ARM 64-битова архитектура на процесора, нямат много общо с експерименталните ARM сървъри от минали години. Например, един от нашите колеги се е заиграл със ARM сървърите на Scaleway, но те са базирани на ARMv7 процесори и имат редица хардуерни ограничения (например Scaleway използва споделени I / O контролери и липсата на 64-битова поддръжка създава друг набор от предизвикателства). Новото поколение ARM-базирани сървъри няма да страдат от тези проблеми със зъбите; те са много по-близо до хардуера на Intel по отношение на характеристики и стандарти.
Проблемът с ARM сървърите е, че те обикновено се използват за малки ниши и не са подходящи за малки разработчици, които могат да живеят с всеки сървър. Въпреки че някои големи компании ги намират за привлекателни, ARM сървърите, които в момента са на разположение, не са подходящи за повечето индивидуални разработчици .
Предстоящите сървърни решения обаче са различни и трябва да се харесат на повече ниши. Ето какво може да ги накара да се обърнат към много по-широка потребителска база:
Трябва да подчертая, че на този етап някои от тези точки са теоретични, тъй като хардуерът все още не е излязъл. Въпреки това, въпреки че не мога категорично да твърдя, че знам какво ще се случи през следващите няколко тримесечия, уверен съм, че новата порода ARM сървъри ще донесе тези (и повече) предимства. Защо съм толкова уверен? Е, ако те нямаха потенциала да направят разлика, ARM, Qualcomm, AMD и други компании нямаше да си губят времето и да горят пари за тяхното развитие.
И така, какво ще кажете за недостатъците на ARM сървъра? Има доста, а някои от тях са големи. За щастие индустрията работи усилено, за да се справи с тях.
Проблемите, свързани със софтуера, вероятно ще бъдат най-голямата непосредствена грижа. Докато много популярни услуги ще работят на ARM сървъри, софтуерната поддръжка ще бъде проблем . Не е достатъчно просто да пренасяте неща към нов хардуер; трябва да се уверим, че всичко функционира правилно, за да няма удари в производителността или грешки. С други думи, пренесеният софтуер трябва да е зрял. Никой няма да разработи и внедри услуга, изградена на основи на бъги.
С всички пари, които трябва да бъдат спечелени на пазара на сървъри, може да се очаква бърз напредък, но това не винаги е така. Приемането на нов хардуер и настройването на целия софтуер, който работи на него, никога не е лесно и темпът зависи от приемането на пазара. Размерът на сървърната екосистема ARM е (много) ограничен и се съмнявам, че няколко нови процесора биха довели до голяма разлика в краткосрочен план. Докато влиятелни компании като ARM и Qualcomm имат голям интерес да видят търсене на ARM сървъри, те не могат да направят много за софтуера. Те нямат почти никакво влияние върху разработчиците на софтуер, така че не могат да ги принудят да добавят ARM поддръжка към съществуващи продукти.
Накратко: Разгледайте добре стека си и се опитайте да разберете дали всичко ще работи правилно на ARM хардуера. Като се има предвид достатъчно време, разработчиците ще започнат да добавят поддръжка за ARM хардуер, но това няма да е бърз процес. Те ще трябва да променят рамки и приложения, за да вземат предвид нова архитектура и подозирам, че много от тях няма да се притесняват, докато там няма достатъчно ARM сървъри (което може да отнеме години). Поддръжката на наследения софтуер е друг очевиден проблем.
Това ни води до следващата точка: Наличност на пазара и потенциални проблеми с внедряването. Няма толкова много ARM сървъри, така че изборът е ограничен, както и наличността. Година-две по пътя можехме да видим редица ARM-базирани хостинг пакети, но няма да видим твърде много. По-лошото е, че има голяма вероятност тези сървъри да бъдат концентрирани в определени части на света, което ги прави по-малко привлекателни за някои разработчици. Има много неизвестни, свързани с внедряването, така че все още е рано да се каже как ще се развият нещата.
Бавното осиновяване може да създаде друг набор от предизвикателства. Те не са ограничени до ARM сървъри; те се прилагат за повечето корпоративни технологии. Много организации са длъжни да проучат възможността за използване на ARM сървъри, но това не означава непременно, че те действително ще ги използват. За да се осигури достатъчно развитие и потребителско търсене, приемането на пазара трябва непрекъснато да нараства. В противен случай хората, склонни към риск, вероятно ще стоят настрана, като приемат изчаквателния подход. Другият потенциален проблем е икономически: Ако разработчиците не са сигурни, че екосистемата расте достатъчно бързо, те биха могли да заключат, че потенциалната възвръщаемост просто не си струва усилията.
Ами тези стари навици? Е, тъй като сървърното пространство не се развива бързо, хората са склонни да придържайте се към доказани платформи , а именно x86 хардуер. Девизът е прост: Ако не е счупен, не го поправяйте . Индустриалните ветерани може да видят ARM сървърите като възможност и да залагат на тях. Би било необходимо доста смелост и увереност, за да се обвърже част от сложен проект с това, което много хора все още възприемат като непроверена или незряла хардуерна платформа. Страхувам се, че много хора няма да са готови да се впуснат, поне не толкова рано.
Прекарах по-голямата част от живота си за възрастни, обхващайки авангарден силиций и моят личен подход към ARM сървърите е, че те имат много потенциал, но, не са за всеки . Те биха могли да изиграят жизненоважна роля в утрешния интернет, като осигурят евтини градивни елементи за инфраструктурата и обработват нишовите натоварвания на сървърите.
В същото време обаче не мога да избегна усещането, че ARM сървърите са свръххипертирани. Въпреки това не ги виждам като мода. Мисля, че те са тук, за да останат, но продавачите трябва да създадат няколко специфични ниши, които наистина могат да се възползват от новата архитектура.
С други думи, няма да видим много прости сървъри за уеб хостинг LAMP, базирани на ARM, но бихме могли да видим много от тях в по-екзотични ниши (и някои ужасно скучни). ARM процесорите могат да бъдат идеално пригодени за конкретни товари, особено тези, които могат да се възползват от голям брой малки физически CPU ядра, неща, които не са обвързани с CPU. Може да не звучи много, но това всъщност обхваща много потенциални употреби: регистриране на данни, голям обем прости заявки, определени видове бази данни, различни услуги за съхранение и т.н.
Бих могъл да продължа, изброявайки различни случаи на употреба, плюсове и минуси на ARM сървърите и потенциални проблеми, но в края на деня подозирам, че приемането на ARM сървър ще зависи от добрите стари пари. Настрана от технологията, ARM сървърите ще имат смисъл само ако икономическият компонент се провери. С други думи, те ще трябва да предложат много повече пари, отколкото процесорите x86, ако искат да оправдаят съществуването си.
Тъй като това е горе-долу целият смисъл на въвеждането на тази нова архитектура в сървърната индустрия, очаквам атрактивни цени, но ще минат няколко месеца, преди да разберем със сигурност.