Научная статья на тему 'Анализ и сравнение микроархитектур SMP и numa для создания вычислительных систем платформы IMS'

Анализ и сравнение микроархитектур SMP и numa для создания вычислительных систем платформы IMS Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
305
66
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Максименко В. Н., Филиппов А. А.

Рассматривается проблема потребности сетей связи как современных, так и последующих поколений в вычислительных ресурсах. Рассматриваются наиболее распространенные микроархитектуры многопроцессорных вычислительных систем с точки зрения наибольшей эффективности при работе в процессах оказания услуг IMS, обоснован выбор наиболее оптимального решения.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Максименко В. Н., Филиппов А. А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Анализ и сравнение микроархитектур SMP и numa для создания вычислительных систем платформы IMS»

16 декабря 2011 г. 17:59

T-Comm #10-2010

(Технологии информационного общества)

Анализ и сравнение микроархитектур 8МР и ]>ШМАдля создания вычислительных систем платформы 1М8

Рассматривается проблема потребности сетей связи как современных, так и последующих поколений в вычислительных ресурсах. Рассматриваются наиболее распространенные микроархитектуры многопроцессорных вычислительных систем с точки зрения наибольшей эффективности при работе в процессах оказания услуг /А/У. обоснован выбор наиболее оптиматного решения.

Максименко В.Н.,

профессор кафедры АИТСС М1УСИ

Филиппов А.А.

аспирант кафедры АИТСС МТУСИ, voidlI01@mail.ni

В телекоммуникационных областях потоки данных большие по определению. Причем, не только передаваемой информации (полезной нагрузке каналов передачи данных), но и служебной - в том числе и необходимой для исследования и управления качеством поставляемых услуг связи. Именно ей в последнее время все больше и больше уделяется внимания и именно для обработки этих данных требуются большие вычислительные мощности. Стоит отмстить, что сети новых поколений, активно использующие пакетную передачу данных, нуждаются в серьезных вычислительных ресурсах. Это. в особенности, касается и такого направления развития услуг как IMS (Internet Multimedia Subsystems). Для управления услугами и пакетами, сбора технических, статистических и прочих данных требуются вычислительные системы большой мощности ориентированные на многозадачность.

Современный рынок высокопроизводительных серверов предлагает множество готовых устройств, построенных на центральных процессорах (ЦП) специфичных архитектур, которых, по сути, не так уж и много. В ста-

CPU0

CPU1

FSB

тье рассматриваются два наиболее значимых и широко используемых решения в многопроцессорных архитектурах - Uniform Memory Access - Symmetric Multiprocessing (SMP) и Non-Uniform Memory Access (NUMA). Цель - определить, какая из них наилучшим образом подходит под нужды задач телекоммуникационной среды, наиболее эффективно будет справляться с потоком поступающих запросов, вызовов и прочих операций спонтанного и запланированного характера. То есть, будь то абонентские запросы на подключение или процедуры мониторинга сети, система должна быть готова к их приему, обработке и предоставлению результатов.

Симметричная мультипроцессорность

Симметричная мультипроцессорность (SMP) - архитектура. подразумевающая разделение между несколькими процессорами общей оперативной памяти (RAM). На сегодняшний день она пока остается самой распространенной.

chipset

I/O

DDR RAM Ч

S N

Рис. 1. Упрошенная схема многопроцессорной архитектуры SMP

В SMP все процессоры могут обращаться к данным из любой области общей памяти по обшей системной шине (FSB). При этом задачи довольно просто можно перераспределять между процессорами (эта возможность реализована во всех современных ОС). Однако, при обращении ЦП к памяти (которая работает гораздо медленнее него), вся система затрачивает значительное время только на получение данных, а поскольку лишь один процессор может производить операции с памятью

единовременно, ситуация сильно усугубляется даже при грамотно построенной очереди обращений. Кроме того, на системной шине работает не только контроллер памяти. но и все периферийные устройства [2].

Такая система напоминает ситуацию с централизованной системой хранения данных (СХД), к которой идут обращения от многих узлов, что можно часто видеть на практике.

Неоднородная архитектура памяти

М.'МА - схема организации оперативной памяти в многопроцессорных системах в которой блоки памяти разделены между однородными процессорами и имеют различное время доступа для разных процессоров. Это означает, что у каждого ЦІІ есть «свой» блок внешней разделяемой КАМ. к которой он может обращаться в

любое время с максимальным приоритетом, испытывая при этом минимальные задержки по времени. Вместе с тем. ЦП может обращаться и к «соседской» памяти, что будет происходить несколько медленнее т.к. эта память расположена дальше (топологически и физически) и приоритет при таком обращении ниже, чем у ЦП, которому она «принадлежит».

DDR

DDRRAM

Wa

її [

DDRRAM

сся Hyper

memory -r®n»pot

COTtf свет ю

з

DDR

ІЯЄЯ9* cortrcrte- ІЮ

Ж

DC* Hyper

memo-y r*1SOO-

ІЮ

Ї)

OCR hyper

mtr-oy re r»00-

oortroHe- ІЮ

х16

Рис. 2. Упрощенная схема многопроцессорной архитектуры NUMA ЭВМ ка базе ЦП AMD Opteron

Преимущество такой архитектуры очевидно - обращение каждого ЦП к «своей» памяти происходит практически без задержек. При достаточном для выполнения программы объеме RAM и NUMA-оптимизированном алгоритме обращения к «чужой» памяти минимально, за счет чего система избавляется от эффекта горлышка бутылки в шине памяти [3].

Однако для достижения максимальной производительности нужно иметь и соответствующим образом написанные и оптимизированные приложения. Более того - поддержка NUMA-платформ должна поддерживаться на уровне ОС, чтобы как минимум «видеть» всю имеющуюся память и уметь распределять процессы по процессорам [6].

Первая и наиболее удачная реализация NUMA -Cache-Coherent Non-Uniform Memory Architecture. ccNUMA - в широко доступных серверных платформах была представлена компанией Advanced Micro Devices (AMD) на базе процессоров Opteron начиная с 200-х и 800-х серий [5].

Эти ЦП имеют два уровня неразделяемой между ядрами кэш-памяти (L1 и L2) и общий для них всех кэш L3. В процессор встроен быстрый контроллер оперативной памяти, а также универсальный скоростной интер-

фсйс Hyper Transport для взаимодействия ЦП с другими ЦП или другими устройствами.

Исследование пропускной способности подсистемы памяти (ПСП), проведенное лабораторией iXB T.com доказало эффективность такого решения [1]. А именно - в случаях разнесения однопоточных приложений по процессорам или использования NUMA-оптимизированных приложений наблюдается реальное увеличение скорости обращения к памяти в два раза в двухпроцессорной конфигурации.

На практике

В реальности, технология NUMA. сама по себе напоминающая кластер, и применяется, в основном, в тех областях. где нужны мощные вычислительные машины для параллельных расчетов. Это не обязательно научноисследовательские задачи - современные кластерные суперкомпьютеры применяются повсеместно: для обсчета сцен в кинематографе, для моделирования физических процессов, в системах прогнозирования природных явлений. в сетевых поисковых системах, для обслуживания предприятий. Особсішо остро вопрос времени выполнения задач стоит перед системами управления бизнес-процессами и системами управления сетями связи - ведь на них, в буквальном смысле, держится все.

56

Поступление вызова от абонента X

Запрос по ID абонента

Получение сведений об абоненте

Запрос по ID| тарифа к БД а бон е нто в

Получение сведений о тарифах и услугах 1 абонента

Комплексный!

^ запрос БД тарифов

Операции с аккаунтом и балансом абонента

Принятие решения о разрешении вызова

Служба (service)

Рис. 3. Структурная схема алгоритма обработки вызова абонента

Эффективность внедрения построенных на NUMA-платформах систем можно подтвердить простым примером. В любой области предоставления услуг связи существует поток независимых входящих вызовов. В любой момент времени система биллинга должна принять и обработать запрос абонента на предоставления услуг. Алгоритм обработки вызова, возможно, не слишком сложен математически, но крайне высоки требования к скорости его выполнения. Специальная служба (постоянно работающее приложение, запущенное в момент загрузки ОС) отслеживает входящие вызовы, и для каждого из них создает отдельный поток (thread) для выполнения алгоритма обработки. Очевидно что эти потоки представляют собой несвязанные параллельные алгоритмы, что как нельзя лучше вписывается в идеологию NUMA. Учитывая, что обмен с внешней средой минимален. можно смело говорить о самом благоприятном режиме работы ЦП и памяти.

Таким образом, на основе полученных ранее данных напрашивается вывод о том. что NUMA-платформы являются на сегодняшний день наиболее эффективным решением в рассмотренном случае и ему подобных.

На рынке серверов решения, построенные по принципу NUMA. уже давно реализуют такие производители как Sun. IBM. HP. Dell и другие. На многопроцессорных платформах AMD Opteron построены многие кластерные суперкомпьютеры, входящие в ТорЮО самых быстрых в мире.

Стоит заметить также, что эти процессоры обладают наилучшим соотношением цена/ производительность в своем классе среди конкурентов и хорошими показателями энсргоэффсктивностн.

Компания Intel начала выпуск микропроцессоров со встроенными контроллерами памяти сравнительно недавно - начиная с ядра Nchalem [4]. Современные модели серверных процессоров Intel Хеоп также включаются согласно архитектуре NUMA.

Литература

1. Дмитрий Веселии. Non-Uniform Memory Architecture (NUMA): исследование подсистемы памяти двухпроцессорных платформ AMD Opteron с помощью RightMark Memory Analyzer. http: www.ixbt.comi-pu rmma-numa.sluml.

2. Kai Hwang. Ad\anced Computer Architecture, ISBN 007-113342-9.

3. NUMA Frequently Asked Questions, http: lsc.sourccforge.net numa faq.

4. David Ranter. Inside Nchalem: Intel’s Future Processor and System [http: ww w.realworldtcch.com includes templates articlcs.cfin?ArticlclD=RWT040208182719&mode=print].

5 Станислав Гармапок. CMP vs. SMP на платформе AMD: SMP-системы на базе Opteron 250 и двухъядерного Opteron 275. hup: Vwww.ixbt.com cpu amd-cmp-vs-smp.shtml.

6. Marlin .1. Bligh. Matt Dobson, Darren Hart. Cerrit Hui/enga. Linux on NUMA Systems. OLS2004-numa_paper.pdf.

57

i Надоели баннеры? Вы всегда можете отключить рекламу.