Удаленный непосредственный доступ к памяти

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

В данных сценариях придется платить уменьшением количества копирований. Поэтому некоторыми сетевыми интерфейсами поддерживается технология удаленного непосредственного доступа к памяти (Remote Direct Memory Access (RDMA)), которая позволяет одной машине выполнять непосредственный доступ к памяти с одного компьютера на другой. Технология RDMA не связана ни с одной операционной системой, и данные непосредственно извлекаются из памяти приложения или записываются в эту память.

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

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

8.2.3.

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

Еще по теме Удаленный непосредственный доступ к памяти:

  1. Непосредственный доступ и предсказания
  2. Упражнение № 3. Удаление обид
  3. ПРЕДСТАВЛЕНИЕ ПАМЯТИ
  4. Глава 16 НЕПОСРЕДСТВЕННОЕ ПОСТУПЛЕНИЕ ИНФОРМАЦИИ
  5. Прямой доступ к информации и предузнавание
  6. Непосредственное спутниковое ТВ
  7. • выявления непосредственных мотивов
  8. § 6. Равный доступ к государственной службе
  9. 3. Доступ к источникам информации.
  10. 2. До беседы и непосредственно перед ней
  11. 2. До беседы и непосредственно перед ней