WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

Zero-copy (досл. ноль копирований) — описывает операции, в ходе которых процессор не выполняет задачу копирования данных из одной области памяти в другую. Термин применяется для описания технологий, которые помогли уменьшить количество копирований между промежуточными буферами[1].

Обзор

Версии zero copy для элементов операционной системы, таких как драйверы устройств, файловые системы и стеки сетевых протоколов, значительно увеличивают производительность определенных прикладных программ и более эффективно используют системные ресурсы. Производительность улучшается за счет предоставления возможности процессору переходить к другим задачам во время копирования данных, выполняемого параллельно в другой части машины. Кроме того, операции zero copy снижают число затратных по времени переключений между режимами ядра и пользователя. Системные ресурсы используются более эффективно, так как использование такого сложного устройства как процессор для выполнения операций копирования, что само по себе является довольно простой задачей, весьма расточительно, если прочие более простые компоненты системы самостоятельно могут выполнить копирование.

Способы создания ПО с поддержкой zero copy включают в себя использование копирование на основе технологии DMA и отображение в памяти (memory mapping) через блок управления памятью (MMU). Эти особенности требуют специфической аппаратной поддержки и обычно включают в себя определенные требования к выделению памяти.

Протоколы с zero copy очень важны для высокоскоростных сетей, в которых ёмкость сетевого соединения приближается к или превосходит возможности обработки процессором. В этом случае процессор проводит почти все время копируя передаваемые данные, и таким образом становится узким местом («бутылочным горлышком»), устанавливающим ограничение скорости соединения ниже его возможностей. Приближенный подсчет, используемый в индустрии, говорит, что примерно один тактовый цикл процессора требуется для обработки одного бита входящих данных. Например, процессор с тактовой частотой в 1 ГГц может обрабатывать сетевое соединение с пропускной способностью в 1 Гбит/сек при обычном копировании данных, но этот же самый процессор «захлебнется», работая с 10-гигабитным соединением. Именно поэтому ПО с поддержкой zero copy становится крайне необходимым. Сетевые соединения свыше 1 Гбит/сек и, следовательно, и сетевое ПО с поддержкой zero copy, на данный момент ограничены использованием лишь в суперкомпьютерных кластерах, крупных индустриальных (особенно государственных, научных и коммерческих) центрах данных (ЦОД) и так далее. Однако, по мере развития информационных технологий и по мере того, как сети с пропускной способностью в 1 Гбит/сек, 10 Гбит/сек и даже 100 Гбит/сек становятся все более распространенными, решения с zero copу также начинают пользоваться все большим спросом, так как пропускная способность сетей растет быстрее производительности процессоров.

Протоколы zero copу обладают некоторыми первоначальными накладными расходами, связанными с подготовкой регионов памяти для DMA-операций, так что отказ от программного ввода-вывода (PIO) приемлем только для больших пакетов данных, либо для больших потоков и адаптированного ПО.

В основе протоколов RDMA (англ. Remote Direct Memory Access) лежат методики zero copу.

Некоторые операционные системы (включая Linux) поддерживают технологии zero copу для передачи файлов в сеть за счет специфических API-функций, как например, sendfile и sendfile64, splice, vmsplice.

Реализации и примеры использования

Корпорация Oracle Corporation разработала и внедрила в свои продукты протокол RDS, в значительной мере опирающийся на технологию zero copу.

Примечания

  1. Эффективный перенос данных с помощью zero copy. IBM (17.02.2009). Проверено 26 ноября 2013.

См. также

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии