Масштабируемый когерентный интерфейс - Scalable Coherent Interface

Масштабируемый согласованный интерфейс и Ассоциация пользователей, разработчиков и производителей Serial Express
SCIzzL logo.gif
Группа, поддерживающая стандарт
Сокращенное название SCIzzL
Формирование 1996 г.
Тип Некоммерческая
Веб-сайт www .scizzl .com

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

IEEE Std 1596-1992, Стандарт IEEE для масштабируемого когерентного интерфейса (SCI) был одобрен комиссией по стандартам IEEE 19 марта 1992 года. Он нашел применение в 1990-х годах, но так и не получил широкого распространения и был заменен другими системами от начало 2000-х гг.

История

Вскоре после проекта Fastbus (IEEE 960), следующего за Futurebus (IEEE 896) в 1987 году, некоторые инженеры предсказали, что он будет уже слишком медленным для рынка высокопроизводительных вычислений к тому моменту, когда он будет выпущен в начале 1990-х годов. В ответ на это исследование , группа «Superbus» была образована в ноябре 1987 года Другая рабочая группа стандартов ассоциации из Института инженеров электротехники и электроники (IEEE) отделилась , чтобы сформировать стандарт , ориентированных на этом рынке в июле 1988 года он был по существу подмножество функций Futurebus, которые можно легко реализовать на высокой скорости, наряду с небольшими дополнениями, упрощающими подключение к другим системам, таким как VMEbus . Большинство разработчиков имели опыт работы с высокоскоростными компьютерными автобусами . Представители компаний компьютерной индустрии и исследовательского сообщества включали Amdahl, Apple Computer, BB&N , Hewlett-Packard , CERN, Dolphin Server Technology, Cray Research , Sequent, AT&T, Digital Equipment Corporation, McDonnell Douglas, National Semiconductor, Stanford Linear Accelerator Center, Tektronix, Texas Instruments, Unisys, Университет Осло, Университет Висконсина .

Первоначальная цель заключалась в едином стандарте для всех шин в компьютере. Вскоре рабочей группе пришла в голову идея использовать двухточечную связь в виде вставных колец. Это позволило избежать сосредоточенной емкости, проблем с ограниченной физической длиной / скоростью света и отражений от шлейфов в дополнение к возможности параллельных транзакций. Использование вставных колец приписывают Манолису Катевенису, который предложил это на одном из первых заседаний рабочей группы. Рабочую группу по разработке стандарта возглавляли Дэвид Б. Густавсон (председатель) и Дэвид В. Джеймс (заместитель председателя).

Дэвид В. Джеймс внес большой вклад в написание спецификаций, включая исполняемый C-код. Группа Стейна Гьессинга из Университета Осло использовала формальные методы для проверки протокола согласованности, а Dolphin Server Technology реализовала микросхему контроллера узла, включая логику согласованности кеша.

Блок-схема одного примера

Различные версии и производные SCI были реализованы такими компаниями, как Dolphin Interconnect Solutions , Convex, Data General AViiON (с использованием микросхем контроллера кеша и контроллера связи от Dolphin), Sequent и Cray Research. В решениях Dolphin Interconnect Solutions реализована производная SCI с подключением через PCI и PCI-Express, обеспечивающая некогерентный доступ к общей памяти. Эта реализация использовалась Sun Microsystems для своих высокопроизводительных кластеров, Thales Group и ряда других, включая объемные приложения для передачи сообщений в кластерах HPC и медицинской визуализации. SCI часто использовался для реализации неоднородных архитектур доступа к памяти . Он также использовался Sequent Computer Systems в качестве шины памяти процессора в своих системах NUMA-Q. Numascale разработал производную для связи с последовательным HyperTransport .

Стандарт

Стандарт определяет два уровня интерфейса:

  • Физический уровень, который имеет дело с электрическими сигналами, разъемами, механическими и тепловыми условиями.
  • Логический уровень, который описывает адресное пространство, протоколы передачи данных, механизмы согласованности кэша, примитивы синхронизации, регистры управления и состояния, а также средства инициализации и исправления ошибок.

Эта структура позволила легко адаптировать новые разработки в технологии физических интерфейсов без каких-либо изменений на логическом уровне.

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

SCI определяет 64-битное плоское адресное пространство (16 эксабайт), где 16 бит используются для идентификации узла (65 536 узлов) и 48 бит для адреса внутри узла (256 терабайт). Узел может содержать много процессоров и / или памяти. Стандарт SCI определяет сеть с коммутацией пакетов .

Топологии

SCI можно использовать для построения систем с различными типами топологий коммутации от централизованной до полностью распределенной коммутации:

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

Наиболее распространенный способ описания этих многомерных топологий - k-арные n-кубы (или торы). В стандартной спецификации SCI в качестве примеров упоминается несколько таких топологий.

2-D тор представляет собой комбинацию колец в двух измерениях. Для переключения между двумя измерениями требуется небольшая коммутационная способность в узле. Это можно расширить до трех или более измерений. Концепция складывающихся колец также может быть применена к топологиям Torus, чтобы избежать любых длинных соединительных сегментов.

Сделки

SCI отправляет информацию пакетами. Каждый пакет состоит из непрерывной последовательности 16-битных символов. Символ сопровождается битом флага. Переход флагового бита с 0 на 1 указывает на начало пакета. Переход от 1 к 0 происходит за 1 (для эхо-сигналов) или за 4 символа до конца пакета. Пакет содержит заголовок с адресной командой и информацией о состоянии, полезную нагрузку (от 0 до необязательной длины данных) и контрольный символ CRC. Первый символ в заголовке пакета содержит адрес узла назначения. Если адрес не входит в домен, обрабатываемый принимающим узлом, пакет передается на выход через байпасный FIFO. В другом случае пакет подается в очередь приема и может быть передан в кольцо в другом измерении. Все пакеты маркируются при прохождении через скруббер (узел устанавливается как скруббер при инициализации кольца). Пакеты без действительного адреса назначения будут удалены при прохождении скруббера во второй раз, чтобы избежать заполнения кольца пакетами, которые в противном случае циркулировали бы бесконечно.

Согласованность кеша

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

Вместо этого SCI использует протокол согласованности распределенного кэша на основе каталогов со связанным списком узлов, содержащих процессоры, которые совместно используют определенную строку кэша. Каждый узел содержит каталог для основной памяти узла с тегом для каждой строки памяти (длина строки равна длине строки кэша). Тег памяти содержит указатель на заголовок связанного списка и код состояния для строки (три состояния - исходный, свежий, ушел). С каждым узлом также связан кэш для хранения удаленных данных с каталогом, содержащим прямые и обратные указатели на узлы в связанном списке, совместно использующие строку кеша. Тег для кеша имеет семь состояний (недопустимый, только свежий, свежий заголовок, только грязный, заголовок грязный, средний допустимый, хвост действительный).

Распределенный каталог масштабируемый. Накладные расходы на согласованность кэша на основе каталогов - это постоянный процент памяти и кеша узла. Этот процент составляет порядка 4% для памяти и 7% для кеша.

Наследие

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

Густавсон возглавил группу под названием Scalable Coherent Interface and Serial Express Users, Developers, and Manufacturers Association и поддерживал веб-сайт, посвященный этой технологии, начиная с 1996 года. В течение 1999 года проводился ряд семинаров. После первого издания 1992 года последующие проекты определены общие форматы данных в 1993 году, версия, использующая низковольтную дифференциальную сигнализацию в 1996 году, и интерфейс памяти, известный как Ramlink позже в 1996 году. В январе 1998 года была создана корпорация SLDRAM для хранения патентов на попытку определить новый интерфейс памяти. это было связано с другой рабочей группой под названием SerialExpress или Local Area Memory Port. Однако к началу 1999 года от нового стандарта памяти отказались.

В 1999 г. была опубликована серия статей в виде книги по SCI. Обновленная спецификация была опубликована в июле 2000 года Международной электротехнической комиссией (IEC) Международной организации по стандартизации (ISO) как ISO / IEC 13961.

Смотрите также

использованная литература