Каким будет новое поколение систем TOE

Шридхар Мукунд 1

 

27 мая этого года из всемирной штаб-квартиры компании Adaptec, Inc. в г.Милпитас (Калифорния, США) сообщили о совместной демонстрации компаниями Adaptec и Microsoft новой технологии разгрузки TCP/IP на основе сетевой интерфейсной платы Adaptec и новой архитектуры разгрузки TCP/IP, разработанной компанией Microsoft.

стройство систем разгрузки TCP (TCP Offload Engines, TOE) первого поколения предоставляет широкие возможности для усовершенствования. В то время как решения, основанные на использовании процессоров общего назначения, дали необходимый толчок к развитию в этой области, мультипроцессорные системы на основе специализированных интегральных схем ASIC совершили настоящий прорыв благодаря своей широкой функциональности, высокой производительности, надежности и экономичности. Однако инженерам-проектировщикам придется столкнуться с непростыми проблемами, связанными с проектированием и программированием систем TOE.

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

Фактически системы TOE (или просто транспортные процессоры) следующего поколения позволят отказаться от обращения к центральным процессорам в сетях TCP/IP. Эта технология способна обслуживать байтовые потоки TCP, файловые потоки NAS, блоки iSCSI, очереди сообщений для внешних процессов и виртуальные сегменты памяти iWARP. Функции разгрузки включают фильтры отказа в обслуживании (Denial-of-Service) на уровне IP, алгоритмы шифрования и аутентификации IPsec, встроенную технологию нуль-копирования (Zero-Copy) iSCSI, маршрутизацию данных NAS и обобщенную технологию нуль-копирования iWARP.

Поставщики TOE могут на свое усмотрение осуществлять контроль маршрутизации с привлечением хост-системы или без нее. Кроме того, по желанию проектировщиков хост-система может устанавливать и прекращать подключение к TCP.

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

Использование программных средств общего назначения оправдывает себя в тех случаях, когда высокая производительность не требуется, или на начальной стадии развития сети, до падения цен на альтернативное оборудование. Этот подход, однако, тормозит наращивание пропускной способности, затрудняет экономию полезного пространства и электроэнергии и сокращение расходов. Хотя процессоры общего назначения поддерживают иерархическое кэширование, они могут использовать лишь одну память, что ограничивает их возможности. Процессоры, применяемые на данном этапе, могут быть усовершенствованы путем интеграции логического интерфейса и нескольких точечных акселераторов (вычислительных блоков контрольного суммирования и CRC).

Применение ASIC-схем позволяет распределить задачи между массивами данных и управления. Массив данных реализован в ASIC при помощи программируемых элементов процессорного конвейера, в то время как массив управления располагается либо на процессоре общего назначения рабочей станции, либо непосредственно на главном процессоре.

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

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

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

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

Программируемость и механизмы проверки — важнейшие аспекты проектирования TOE. При использовании ASIC-схем контрольный массив занимает большую долю сложного программирования — на него приходится более 80% строк кода. Поэтому его необходимо программировать на языке Си специально для работы в какой-нибудь из распространенных операционных систем.

Программирование десятков процессоров в массиве данных ASIC может быть гораздо более сложным делом, чем программирование одиночного массива управления процессора общего назначения. Правильный подход здесь состоит в том, чтобы заранее планировать архитектуру и инструменты так, чтобы программист видел десятки параллельных процессоров как один процессор.

Таким образом, программирование массива данных должно быть на довольно высоком уровне. До тех пор пока объекты данных не визуализированы как биты и байты, структура управления языком близка к ассемблированному программированию. Главное условие — наличие среды для параллельного проектирования, в которой предусмотрена возможность быстрого возврата от кодирования к отладке и обратно практически в реальном времени. Рассматриваемая система вполне удовлетворяет этому условию, так как она в несколько раз быстрее, чем RTL, и, в отличие от RTL, обладает систематизированной структурой.

КомпьютерПресс 7'2003

Наш канал на Youtube

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует