Сетевые интерфейсы

Все узлы в мультикомпьютере имеют съемную плату, на которой находятся средства подключения узла к схеме соединений, которая и формирует мультикомпьютер. Конструкция этих плат и способ их подключения к основному центральному процессору и оперативной памяти имеют существенное значение для операционной системы.
В этом разделе будет дан краткий обзор некоторых связанных с этим вопросов, который частично основан на работе Bhoedjang (2000).

Фактически на всех мультикомпьютерах интерфейсная плата содержит объемную оперативную память для хранения исходящих и входящих пакетов. Как правило, перед передачей на первый коммутатор исходящий пакет должен быть скопирован в оперативную память интерфейсной платы. Такая конструкция продиктована тем, что
многие схемы соединений являются синхронизированными, поэтому как только начнется передача пакета, поток битов должен идти с постоянной скоростью. Если пакет находится в основной оперативной памяти, непрерывный исходящий поток данных в сеть не может быть гарантирован из-за того, что шина занята обеспечением обмена и другими данными. Использование выделенной оперативной памяти на интерфейсной плате устраняет проблему. Эта конструкция показана на рис. 8.18.


Такая же проблема существует и для входящих пакетов. Биты поступают из сети с постоянной и зачастую очень высокой скоростью. Если плата сетевого интерфейса не может сохранить их в реальном масштабе времени по мере поступления, данные будут потеряны. Здесь попытка передачи данных по системной шине (например, по шине PCI) в оперативную память также слишком рискованна. Поскольку сетевая плата обычно вставляется в слот шины PCI, то это единственное имеющееся у нее подключение к основной оперативной памяти, поэтому неминуемо соревнование за захват этой шины между платой и всеми другими устройствами ввода-вывода. Входящие пакеты интерфейсной плате безопаснее хранить в собственной оперативной памяти, а чуть позже копировать их в основную оперативную память.


Интерфейсные платы могут иметь в своем составе один и более DMA-каналов или полноценный центральный процессор (или, может быть, даже несколько центральных процессоров).

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

Многие интерфейсные платы имеют полноценные центральные процессоры, возможно, вдобавок к одному или нескольким DMA-каналам. Они называются сетевыми процессорами (network processors) и становятся все более и более мощными (El Ferkouss et al., 2011). Такая конструкция означает, что основной центральный процессор может переложить часть работы на сетевую плату: например, обеспечение надежной передачи
данных (если базовое оборудование может терять пакеты), многоканальную рассылку (отправление пакета более чем одному получателю), сжатие-распаковку, кодирование- декодирование и осуществление защиты данных в системе с несколькими процессами. Но наличие двух центральных процессоров подразумевает синхронизацию их работы во избежание возникновения состязательных условий, что влечет за собой дополнительные издержки и увеличение объема работы для операционной системы.

Копирование данных через уровни проходит безопасно, но не всегда эффективно. Например, браузер, запрашивающий данные с удаленного веб-сервера, создаст запрос в браузерном адресном пространстве. Затем этот запрос будет скопирован в ядро, чтобы появилась возможность его обработки в соответствии с протоколами TCP и IP. После этого данные будут скопированы в память сетевого интерфейса. В то же время будет происходить обратный процесс: данные будут скопированы из сетевой карты в буфер ядра, а из него — в веб-сервер. Копий, к сожалению, получается довольно много. Каждая копия влечет за собой издержки, связанные не только с самим копированием, но и с загрузкой кэша, TLB и т. д. Как следствие, задержка в таких сетевых соединениях получается довольно большой.

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

8.2.2.

<< | >>
Источник: Э. ТАНЕНБАУМ Х. БОС. СОВРЕМЕННЫЕ ОПЕРАЦИОННЫЕ СИСТЕМ Ы 4-е ИЗДАНИЕ. 2015

Еще по теме Сетевые интерфейсы:

  1. Джеф Раскин. Интерфейс: новые направления в проектировании компьютерных систем, 2005
  2. Раскин Джефф. Интерфейс: новые направления в проектировании компьютерных систем, 2005
  3. Рождение сетевой журналистики.
  4. Модель сетевого анализа коммуникационных сетей.
  5. Нет-мен или каково быть сетевым журналистом?
  6. 6. СИСТЕМА СМИ. ОСОБЕННОСТИ ИНФРАСТРУКТУРЫ ПЕЧАТНЫХ, ВЕЩАТЕЛЬНЫХ, СЕТЕВЫХ СМИ. ВЛИЯНИЕ ТЕХНОЛОГИЧЕСКИХ ОСОБЕННОСТЕЙ НА ПРОДУКТ ЖУРНАЛИСТСКОЙ ДЕЯТЕЛЬНОСТИ.
  7. В .А. Галкин, Ю .А. Григорьев. Телекоммуникации и сети, 2003
  8. В. Г. Олифер, Н. А. Олифер. 54 Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. 3-е изд, 2006
  9. Е. В. Михеева, О. И.Титова.. Информатика : учебник для сред. проф. образования, 2007
  10. Конвергенция СМИ.
  11. Взгляд (мнение)
  12. 4. Интернет.
  13. 3. Договоры, заключаемые на розничных рынках электроэнергии
  14. Помните о пятерке
  15. Новость или репортаж
  16. Журналистика на пороге нового тысячелетия (заключение)
  17. Григорьев Ю.А., Ревунков Г.И.. Банки данных, 2002
  18. ТВОРЧЕСТВО В СТИЛЕ ON-LINE
  19. 2. Договоры, заключаемые на оптовом рынке электроэнергии