Posts tagged ‘10G’

Четыре порта 10G в Cluster Interconnect

После выхода FAS8000 и Data ONTAP 8.2.1, обновилась рекомендация NetApp по использованию и числу портов 10G Ethernet, задействованных в кластерном интерконнекте, закрытой внутренней сети обмена данными между контроллерами, входящими в один кластер (тот, что именно кластер, в терминах clustered Data ONTAP, или, по старому, C-mode).
Если раньше для подключения в Interconnect использовались два порта 10G на каждом контроллере (каждый - в свой коммутатор, конечно, для надежности и отказоустойчивости, то новая рекомендация - использовать для старших систем по два таких порта, итого - четыре на контроллер. Так как onboard портов у FAS8040/8060 как раз четыре на контроллер, то эта рекомендация не будет создавать особенных сложностей.

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

Трафик интерконнекта состоит, в первую очередь, из трафика между LIF, то есть логического интерфейса SVM, Stotage Virtual Machine (или, по старому, VServer), и ее данными, которые могут оказаться, например в результате миграции SVM, на дисках, обслуживаемых другими контролерами. В этом случае трафик, входя через физические порты, привязанные к LIF с одного контроллера, достигнет своих данных, расположенных на дисках другого контроллера, пройдя через кластерный интерконнект (в терминах NetApp это называется remote workload).
А так как увеличившаяся мощность контроллера и объем NVRAM существенно лучше обрабатывают ряд “трудных” для контроллеров NetApp нагрузок, например linear-типа, способных нагрузить интерконнект трафиком, возникла необходимость рекомендовать решение, снимающее это потенциальное узкое место.

Конечно, если вы используете 7-mode и младшие модели, то вас это все пока не очень касается, но если вы строите по настоящему мощную систему, то советую заранее присмотреться к этой рекомендации. Кстати, следует отметить, что сама процедура добавления дополнительных портов в интерконнект сравнительно проста, доступна для уже построенной системы, и никаких значительных перенастроек в ней не требуется, все внутренние компоненты Data ONTAP, использующие интерконнект, самостоятельно перебалансируются, обнаружив дополнительный интерфейс.

iSCSI или FC? Цена решения.

Недавно один мой коллега провел “для себя” небольшой подсчет цен на решение SAN, сравнив стоимость “железа” для построения сети передачи данных iSCSI и FC разной пропускной способности.

Данные оказались любопытными, и я упросил его разрешить мне их опубликовать.

image

По оси X – количество подключаемых в SAN хостов-серверов, по Y – цена оборудования без учета стоимости работы и времени, только “железо”.

Цены брались “real-life” и “street price” (не list price). Разумеется dual fabric и по два порта на хост, и так далее, как положено в реал лайфе. Выбиралось оборудование за минимальную цену, выполняющее поставленную задачу, но, естественно, из доступного данному партнеру списка вендоров (поэтому, главным образом, Cisco и IBM (Brocade)). В подсчет включались HBA и NIC, коммутаторы, SFP, кабеля, лицензии на порты, где нужны, и так далее.

Результат любопытен, и показывает неоднозначность вопроса “дороговизны”. Так, например, на 1-8 хостов стоимость решения 10G Ethernet в разы перекрывает тот же 8G FC, а вот на 16-24 хоста в SAN все уже не столь очевидно (больше 24 хостов анализ не производился, там уже начинаются “директоры” и совсем иного класса оборудование).

Также было бы очень любопытно сделать анализ динамики цен, например, в прошлом году и через год. Тоже, подозреваю, много интересного получится подумать. Обещаю вернуться к вопросу через год.

10Gb Ethernet в NetApp

Любопытные сведения найдены в блоге одного из сотрудников NetApp:

  • NetApp была первой компанией из производителей систем хранения, представившей поддержку 10Gb Ethernet в своей продукции, еще в 2006 году.
  • Количество отгружаемых компанией “портов” 10Gb Ethernet за год, с июня 2008 по июнь 2009 выросло на 150%
  • В настоящий момент более 11% всех портов на поставляемых в системы хранения картах расширения Ehernet это порты 10Gb Ethernet.

«Передний край» – iWARP

Что есть что на горизонте.

Стремительное продвижение технологий в повседневность IT-служб иногда поразительно. Сегодня, когда интерфейсы Gigabit Ethernet устанавливаются уже даже в ноутбуки, реальностью становится 10Gigabit Ethernet, который еще пару лет назад был чем-то из области лабораторных изысканий. Что же принесет нам этот виток скоростной гонки интерфейсов – давайте посмотрим.

RDMA

RDMA это Remote DMA. Для тех, кто за заботами сегодняшнего дня забыл об основах, позволю себе немного поликбезничать.
DMA, или Direct Memory Access, это классическая технология ввода-вывода данных с помощью специального программируемого контроллера DMA – прямого доступа к памяти.

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

Проблема с загрузкой процессора при вводе-выводе была решена использованием процедуры DMA – Direct Memory Access. Процессор единожды сообщает специальному контроллеру DMA, с какого или в какой адрес в памяти он желает осуществить перемещение данных, а контроллер исполняет, по завершении уведомляя процессор об исполнении. Получает или передает байты жестким дискам, выводит массивы данных в видеоконтроллер или превращает «цифру» в звук.
Результат обычно весьма впечатляющ. IT-шники со стажем должны помнить, какой эффект давал переход жестких дисков персональных компьютеров с режима PIO (Programmed Input-Output) к DMA (и в дальнейшем к UltraDMA), степень загрузки процессора на интенсивных дисковых операциях снижалась в разы.

Но DMA это лишь локальные операции, проще говоря, возможные только в области памяти и устройств одного компьютера. А что если сделать технологию DMA возможной для разных и между компьютерами?
Так родилась идея RDMA Remote Direct Memory Access.

Технология эта отнюдь не нова. За ее разработкой следит представительный RDMA Consortium, куда входят многие гранды индустрии, такие как IBM, Cisco, NetApp, EMC, HP, Intel, Microsoft, общим числом около 50. Она шумела как новинка еще в 1998 году, а в 2003 году RDMA Consortium объявил о завершении всех запланированных спецификаций. Однако множество проблем в реализации ограничили ее применение high-end HPC (high-performance computing) системами. RDMA той или иной форме применялась на системах Cray, Silicon Graphics и ряде других, столь же легендарных «небожителей».
Однако шли годы, и то, что было уделом экспериментальных и сверхвысокопроизводительных вычислений стало нашей повседневностью, вот и до 10G Ethernet очередь дошла.

Основной идеей, родившей и развивающей RDMA как концепцию, была «размещать нужные данные непосредственно в память приложения», минуя многочисленное каскадное буферирование «из буферов сетевого адаптера в буфера сетевого протокола, из него в буфера OS, из них в буфера дисков, и так далее». ??менно поэтому в приложении к RDMA часто используется термин «zero-copy», то есть «отсутствие копирования», имея ввиду, конечно же, вот такое вот многократное промежуточное копирование между источником и получателем данных.

Наиболее известной реализацией RDMA и его «zero-copy» в применении к системам передачи данных на сегодняшний день является Infiniband, разработанный в соответствии с этими требованиями. На сегодняшний день это наиболее известная сетевая система для высокопроизводительных кластерных интерконнектов, в свое время, за счет своей открытости и меньшей цены, вытеснившая из этой области проперитарный Myrinet.

iSCSI – SCSI over IP
Я уже не раз писал о iSCSI, и останавливаться подробно наверное нет смысла. Сегодня уже все так или иначе находящиеся в теме систем хранения знают что это. iSCSI это способ передавать обычные и привычные SCSI-пакеты «упакованными» (модное словечко: «инкапсулированными») в IP-пакеты, и транспортировать их в любой среде передачи IP, например по Ethernet-сети. Тем самым между сервером и его жесткими дисками может находиться не традиционный 68-жильный кабель WideSCSI, а сетевые карты, ethernet-коммутаторы, провода Cat5, СКС, и прочие привычные скорее для «сетевиков» вещи. В наше время, когда в области передачи данных все явственнее происходит конвергенция «все в Ethernet-провод», когда даже будущее такого консервативного протокола как FibreChannel его основным локомотивом, компанией Bocade, видится, по ее заявлениям, в виде FCoE – FibreChannel-over-Ethernet, ничего удивительного, что iSCSI нашел себе сегодня широчайшее применение.

TOE – TCP Offload Engine
iSCSI, как протокол в целом, состоит, по сути, из двух независимых частей. Также отдельно они, как правило, и реализуются в оборудовании. Одна часть – «SCSI», и все относящееся к этому протоколу. Вторая – «i» - TCP/IP и все касающееся его.
Как известно, iSCSI может быть реализован полностью программно, и, в ряде случаев это совсем неплохой выбор, недорогой и исключительно гибкий. При этом задачи поддержки протокола осуществляет специальная программа – iSCSI Initiator, которые сейчас существуют во всех распространенных операционных системах. Эта программа создает в системе «виртуальный SCSI-адаптер», с которым могут обычным образом взаимодействовать прикладные программы. В дальнейшем она производит на центральном процессоре системы собственно задачи инкапсуляции SCSI-пакетов в IP-пакеты и отправку их драйверу сетевого интерфейса Ethernet, как обычное приложение или драйвер.

Такая модель дает нам беспрецедентную гибкость реализации, однако, очевидно, создает дополнительную нагрузку на центральный процессор, которую, при скоростях вплоть до Gigabit Ethernet еще можно обычно игнорировать, но на скоростях 10Gigabit Ethernet это уже становится сложно. Поэтому для 10GigE-систем как правило применяются те или иные «аппаратные» реализации.

«Аппаратизация» iSCSI может быть осуществлена раздельно по рассмотренным выше частям. Мы можем сделать сетевую карту, которая будет самостоятельно производить всю TCP/IP-шную рутину, такую как расчет контрольных сумм и сборка фрагментов, такое устройство называется TCP Offload Engine – TOE. При этом «SCSI-адаптер» в системе у нас остается виртуальным.

Либо сделать полную реализацию обоих частей протокола, то есть аппаратный SCSI-адаптер, на выходе которого будет не WideSCSI-разъем, а сетевой интерфейс, медный или оптический. Реализация же самого протокола для системы и ее приложений, как и ранее, будет для приложения и операционной системы полностью скрыта.

Как правило адаптеры 10Gbit Ethernet имеют в себе либо TCP Offload Engine, сохраняя программную реализацию SCSI, на CPU системы, в драйвере. Либо полную аппаратную реализацию. Такие адаптеры принято называть, как и в FibreChannel-системах – HBA – Host Bus Adapter.

iWARP
iWARP это Internet Wide Area RDMA Protocol – протокол работы RDMA по IP-сетям, основанный на концепциях Virtual Inerface Architecture, и, в определенном смысле, может рассматриваться как некий «Infiniband-over-IP».

С того момента, когда возросшие скорости Ethernet-сетей стали явной проблемой для чисто программной реализации TCP/IP, разработчики задумались над методами разгрузки процессоров, и одним из них стал TOE – TCP Offload Engine – аппаратная реализация TCP/IP на микросхеме контроллера ethernet-адаптера. Такое решение значительно разгружает центральный процессор от задач поддержки передачи данных, которая теперь, в значительной мере, может осуществляться самим контроллером сети. Особенно это стало важно при увеличении скорости и переходе к 10Gbit Ethernet, работа над такими объемами может серьезно нагрузить и довольно мощный современный процессор. А ведь у него есть и другие задачи, кроме как считать контрольные суммы IP-пакетов.

Чаще всего с помощью iWARP передаются такие «вышележащие» протоколы, как SCSI RDMA Protocol (SRP), iSCSI Extensions for RDMA (iSER), Sockets Direct Protocol (SDP) и NFS-over-RDMA.
Как видите, интерес Network Appliance к данной технологии понятен и объясним.

iSER – iSCSI Extensions for RDMA - это расширение протокола iSCSI, позволяющее ему работать по сетям, предоставляющим RDMA-сервис, например по Infiniband или iWARP. Он позволяет передавать данные непосредственно из и в буфер данных SCSI, минуя многочисленные промежуточные копирования данные из одного буфера в другой при традиционной обработке и передаче данных.
Целью создания iSER была попытка избежать проблемы фрагментации TCP при работе «классического» iSCSI, который, как вы помните, унаследовал от TCP/IP сетей, кроме массы полезного, и неприятную проблему фрагментации, которая, на больших скоростях передачи, характерных для 10Gbit Ethernet может приводить к заметному ухудшению latency. Суть проблемы заключается в том, что, при передаче, согласно природе TCP, пакеты могут приходить получателю в произвольном порядке, и дело получателя расставить их в нужном порядке, прежде чем передавать на обработку. Однако, пока получателю не придет пакет «номер два», он не может передать в SCSI буфер уже принятые пакеты номер «один», «три», «четыре» … «десять», которые вынуждены дожидаться прихода заплутавшего по сети «второго».
Вследствие этого возможны плохопредсказуемые задержки, которые были незначительны на небольших скоростях, но уже не могут игнорироваться на высоких.
Для решения этой проблемы iSER использует «zero-copy»-возможности RDMA вместо обычного способа инкапсуляции в TCP.
В качестве протокола передачи на транспортном уровне может использоваться, кроме «нативного» SDP – Socket Direct Protocol, и специально разработанный для потоковых передач протокол SCTP – Stream Control Transmission Protocol (RFC4960), являющийся функционально объединяющим преимущества TCP и UDP для целей передачи «потоковых» данных.

Первоначально этот протокол разрабатывался для целей передачи телефонии через IP, но прекрасно подошел и для других потоковых нужд современной Сети. Поддержка SCTP широко присутствует во множестве распространенных операционных системах, например IBM AIX v5, Cisco IOS v12, FreeBSD v7, Linux 2.4/2.6, HP-UX, Sun Solaris 10.
RDMA и NetApp

Компанию NetApp и RDMA связывает многое. NetApp является одним из учредителей вышеупомянутого RDMA Consortium, и еще в 2002 году начала продавать любопытный продукт для своих систем хранения - DAFS Database Accelerator, решение, базирующееся на протоколе DAFS – Direct Access File System. Это RDMA-based протокол, ориентированный на работу с высокопроизводительными базами данных.
Однако, несмотря на хорошие бенчмарки, согласно которым доступ к сетевому хранилищу NFSv4 через сетевой интерфейс (использовалась специальная карта Emulex VirtualInterface) превосходил по параметрам доступ к локальным дискам системы, продукт не стал бестселлером, и вскоре незаметно исчез из прайс-листа, по видимому придя на рынок слишком рано.

Но сегодня продукты c RDMA появляются на рынке, используя уже широко и активно распространяющиеся 10Gbit Ethernet-системы. Среди их производителей стоит назвать, например, такие имена, как Chelsio Communications, производящий такой интересный продукт, как Chelsio S310SR – 10G-адаптер с TCP Offload Engine, аппаратным iSCSI, виртуализацией и RDMA. Причем цена за пару, в так называемом Evaluation Kit на сайте производителя, показана ниже чем 2000$ за карты с SR optical interface и ниже 1500$ за карты с «медным» CX4.
Существуют и версии в «мезонинном» исполнении, для установки в blade-системы, например в HP Type II Blade Systems или IBM Blade Center H.

Любопытно будет также ознакомиться с тестами и бенчмарками. Они, хотя и «вендорские бенчмарки», относиться к которым надо достаточно осмотрительно, но показывают потенциальные возможности новой технологии.

Experiences with NFS over IB and iWARP RDMA
OpenFabric Workshop, Sonoma, CA
May 1, 2007

InfiniBand and 10-Gigabit Ethernet for I/O in Cluster Computing
July 26-28 Cluster Symposium 2005

Performance Characterization of a 10-Gigabit Ethernet TOE

Head-to-TOE Evaluation of High-Performance Sockets over Protocol Offload Engines