Привязка ввода/вывода
В информатике завершения ограничение ввода-вывода относится к состоянию, при котором время, необходимое для завершения вычислений , определяется главным образом периодом, потраченным на ожидание ввода-вывода операций , что можно сопоставить с ограничением ЦП . Это обстоятельство возникает, когда скорость запроса данных ниже скорости их потребления или, другими словами, на запрос данных тратится больше времени, чем на их обработку. [1]
Ввод-вывод связан как неотъемлемая проблема вычислений
[ редактировать ]Состояние ограничения ввода-вывода было идентифицировано как проблема в вычислениях почти с момента его создания. Архитектура фон Неймана , которая используется во многих вычислительных устройствах, включает в себя множество возможных решений, таких как реализация логически отдельного центрального процессора , который наряду с хранением инструкций программы также извлекает фактические данные, обычно из основной памяти , и использует их более эффективно. доступные данные для работы. Когда процесс завершается, он записывает результаты обратно в исходное хранилище (обычно в основную память ).
Поскольку данные должны перемещаться между процессором и памятью по шине , которая имеет ограниченную скорость передачи данных , существует условие, известное как узкое место фон Неймана . Проще говоря, это означает, что пропускная способность передачи данных между ЦП и памятью имеет тенденцию ограничивать общую скорость вычислений. Что касается реальной технологии, из которой состоит компьютер, «узкое место фон Неймана» предсказывает, что легче заставить процессор выполнять вычисления быстрее, чем снабжать его данными с необходимой скоростью, чтобы это было возможно.
В новейшей истории узкое место фон Неймана стало более очевидным. Философия проектирования современных компьютеров основана на физически раздельном процессоре и основной памяти. Можно заставить ЦП работать с высокой скоростью передачи данных, поскольку данные перемещаются между местами внутри них на небольшие расстояния. Однако физическое разделение между ЦП и основной памятью требует наличия шины данных для перемещения данных. сравнительно большие расстояния в сантиметры и более. Проблема заставить эту часть системы работать достаточно быстро, чтобы не отставать от центрального процессора, была большой проблемой для проектировщиков. [2]
Связанный ввод-вывод как практическая проблема
[ редактировать ]Состояние привязки ввода-вывода считается нежелательным, поскольку оно означает, что ЦП должен приостановить свою работу, ожидая загрузки или выгрузки данных из основной памяти или вторичного хранилища . Поскольку более высокая скорость вычислений является основной целью новых компьютерных конструкций, а такие компоненты, как ЦП и память, являются дорогостоящими, существует настоятельная необходимость избегать состояний, связанных с вводом-выводом, и их устранение может привести к более экономическому повышению производительности, чем модернизация ЦП. или память.
По мере того, как процессор становится быстрее, процессы, как правило, становятся более привязанными к вводу-выводу.
Или проще:
По мере того, как ЦП становится быстрее, скорость процессов, как правило, не увеличивается пропорционально скорости ЦП, поскольку они все больше связаны с вводом-выводом.
Это означает, что процессы, связанные с вводом-выводом, медленнее, чем процессы, не связанные с вводом-выводом, а не быстрее. Это связано с увеличением скорости обработки данных в ядре, при этом скорость передачи данных из хранилища в процессор при этом не увеличивается. По мере увеличения тактовой частоты ЦП, что позволяет выполнять больше инструкций в заданном временном окне, ограничивающим фактором эффективного выполнения является скорость, с которой инструкции могут быть доставлены в процессор из хранилища и отправлены из процессора к месту назначения. Короче говоря, программы естественным образом становятся все более и более привязанными к вводу-выводу. [3]
Сравнение с привязанным к процессору
[ редактировать ]Предположим, у нас есть один процесс, привязанный к ЦП, и множество процессов, связанных с вводом-выводом. Поскольку процессы протекают вокруг системы, может возникнуть следующий сценарий. Процесс, связанный с ЦП, получит и удержит ЦП. За это время все остальные процессы завершат ввод-вывод и перейдут в очередь готовности, ожидая ЦП. Пока процессы ждут в очереди готовности, устройства ввода-вывода простаивают. В конце концов, процесс, связанный с ЦП, завершает нагрузку на ЦП и переходит к устройству ввода-вывода. Все процессы, связанные с вводом-выводом, которые имеют короткие нагрузки на ЦП, выполняются быстро и возвращаются в очереди ввода-вывода. В этот момент процессор простаивает. Процесс, привязанный к ЦП, затем вернется в очередь готовности, и ему будет выделен ЦП. Опять же, все процессы ввода-вывода в конечном итоге ждут в очереди готовности, пока не завершится процесс, связанный с процессором. Возникает эффект конвоя , поскольку все остальные процессы ждут, пока один большой процесс выйдет из ЦП. Этот эффект приводит к более низкой загрузке ЦП и устройств, чем это было бы возможно, если бы более короткие процессы запускались первыми. [4]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Идентификация систем с дисковым вводом-выводом
- ^ Блог Эрика Энгбрехта: Что на самом деле означает ограничение ввода-вывода?
- ^ слебетман . «почему-io-связанные-процессы-быстрее» . Проверено 9 августа 2014 г.
- ^ Зильбершац, Авраам; Гэлвин, Питер Б.; Ганье, Грег (2013). Концепции операционной системы . Том. 9. Джон Уайли и сыновья. ISBN 978-1-118-06333-0 .