Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

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

История [ править ]

Вскоре после проекта Fastbus (IEEE 960), следующего за Futurebus (IEEE 896) в 1987 году, некоторые инженеры предсказали, что он будет уже слишком медленным для рынка высокопроизводительных вычислений к тому моменту, когда он будет выпущен в начале 1990-х годов. В ответ на это исследование , группа «Superbus» была образована в ноябре 1987 года Другая рабочая группа стандартов ассоциации из Института инженеров электротехники и электроники (IEEE) отделилась , чтобы сформировать стандарт , ориентированных на этом рынке в июле 1988 года [2] По сути, это было подмножество функций 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, Университет Осло, Университет Висконсина .

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

Дэвид В. Джеймс внес большой вклад в написание спецификаций, включая исполняемый 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 года. [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]

См. Также [ править ]

  • Решения Dolphin Interconnect
  • Список пропускной способности устройства
  • NUMAlink
  • QuickRing
  • HIPPI
  • IEEE 1355
  • RapidIO
  • Myrinet
  • QsNet
  • Futurebus
  • InfiniBand

Ссылки [ править ]

  1. ^ a b Стандарт IEEE для масштабируемого когерентного интерфейса (SCI) . IEEE Std 1596-1992 . Совет по стандартам IEEE. 1992. ISBN. 9780738129501.
  2. Дэвид Б. Густавсон (сентябрь 1991 г.). «Масштабируемый последовательный интерфейс и проекты связанных стандартов» (PDF) . Публикация SLAC 5656 . Стэнфордский центр линейных ускорителей . Проверено 31 августа 2013 года .
  3. ^ a b «Масштабируемый согласованный интерфейс и Ассоциация пользователей, разработчиков и производителей 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. DOI : 10.1109 / 40.683105 .
  10. Дэвид Ламмерс (19 февраля 1999 г.). «ISSCC: группа SLDRAM трансформируется в DDR II» . EE Times .
  11. ^ Германн Хельвагнер; Александр Райнефельд, ред. (1999). SCI: Масштабируемый согласованный интерфейс: архитектура и программное обеспечение для высокопроизводительных вычислительных кластеров . Конспект лекций по информатике. Springer. ISBN 978-3540666967.
  12. ^ Масштабируемый когерентный интерфейс (SCI) (PDF) . Международный стандарт ISO / IEC 13961 IEEE Std 1596 . 10 июля 2000 г.