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

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

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

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

История

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

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

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

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

Различные версии и производные SCI были внедрены такими компаниями, как Решения Dolphin Interconnect, Выпуклый, Общие данные 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 года.[3] В течение 1999 г. проводился ряд семинаров. После первого выпуска 1992 г.[1] в последующих проектах были определены общие форматы данных в 1993 г.,[5] версия с использованием низковольтная дифференциальная сигнализация в 1996 г.[6] и интерфейс памяти, известный как Ramlink позже в 1996 году.[7]В январе 1998 г. SLDRAM корпорация была создана для того, чтобы иметь патенты на попытку определить новый интерфейс памяти, который был связан с другой рабочей группой под названием SerialExpress или Local Area Memory Port.[8][9]Однако к началу 1999 года от нового стандарта памяти отказались.[10]

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

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

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

  1. ^ а б Стандарт IEEE для масштабируемого когерентного интерфейса (SCI). IEEE Std 1596-1992. Совет по стандартам IEEE. 1992 г. ISBN  9780738129501.
  2. ^ Дэвид Б. Густавсон (сентябрь 1991 г.). «Проекты по масштабируемому согласованному интерфейсу и связанным стандартам» (PDF). Публикация SLAC 5656. Стэнфордский центр линейных ускорителей. Получено 31 августа, 2013.
  3. ^ а б «Масштабируемый согласованный интерфейс и Ассоциация пользователей, разработчиков и производителей Serial Express». Веб-сайт группы. Получено 31 августа, 2013.
  4. ^ «1596 WG - Рабочая группа по масштабируемому когерентному интерфейсу». Веб-сайт рабочей группы. Получено 31 августа, 2013.
  5. ^ Стандарт IEEE для форматов общих данных, оптимизированных для процессоров с масштабируемым когерентным интерфейсом (SCI). IEEE 1596.5-1993. Совет по стандартам IEEE. 25 апреля 1994 г. ISBN  9780738112091.
  6. ^ Стандарт IEEE для низковольтных дифференциальных сигналов (LVDS) для масштабируемого когерентного интерфейса (SCI). IEEE IEEE 1596.3-1996. Совет по стандартам IEEE. 31 июля 1996 г. ISBN  9780738131368.
  7. ^ Стандарт EEE для интерфейса памяти с высокой пропускной способностью на основе технологии передачи сигналов с масштабируемым когерентным интерфейсом (SCI) (RamLink). IEEE IEEE 1596.4-1996. Совет по стандартам IEEE. 16 сентября 1996 г. ISBN  9780738131375.
  8. ^ Дэвид Б. Густавсон (10 февраля 1999 г.). «Организация для альтернатив».
  9. ^ Дэвид В. Джеймс; Дэвид Б. Густавсон; Б. Флейшер (май – июнь 1998 г.). «SerialExpress - высокопроизводительное межкомпонентное соединение для рабочих станций». IEEE Micro. IEEE: 54–65. Дои:10.1109/40.683105.
  10. ^ Дэвид Ламмерс (19 февраля 1999 г.). "ISSCC: группа SLDRAM трансформируется в DDR II". EE Times.
  11. ^ Герман Хельвагнер; Александр Рейнефельд, ред. (1999). SCI: Scalable Coherent Interface: архитектура и программное обеспечение для высокопроизводительных вычислительных кластеров. Конспект лекций по информатике. Springer. ISBN  978-3540666967.
  12. ^ Масштабируемый когерентный интерфейс (SCI) (PDF). Международный стандарт ISO / IEC 13961 IEEE Std 1596. 10 июля 2000 г.