edo:
> 1. запрос может уложиться в один блок (т.е. чтение производится только с одного диска)Правильно. Я же говорил, что это - тема часа на два, а то и более. Тут мы сталкиваемся с вопросом о быьоре "блока черелования": если чётные секторы логического диска находятся на одном физическом, а чётные на другом (RAID-0 из двух дисков), то при запросе более одного сектора задержка сразу вырастает с полуоборота до двух/третей.
Предлагаю специалистам (тем, кто считает себя таковыми) решить задачу о выборе оптимального размера "блока черелования".
Иными словами, на маленьком запросе особой выгоды мы не получим - выгода возможна только на больших запросах - больше, чем оптимальный размер "блока черелования". Для того, чтобы оперировать такими запросами, надо иметь нехилый объём оперативной памяти на борту.
> 1a. куча мелких запросов достаточно равномерно распредляется между дисками и мы видим фактически уменьшение времени доступа по сравнению с однодисковой системой
Да - для этого RAID-контроллер должен работать в SCSI-стиле: принимать пачку запросов и распределять их самомтоятельно. И иметь на себе нехилый объём собственной памяти (десятки мегабайт).
Плюс к тому, следует различать операции чтения (которые в принципе можно полностью буферизовать при большом объёме RAM) и операции записи (которые придётся делать на случая сбоя питания).
Те, кто знакомы с понятием "транзакция", знают, что диск (дисковая система) не имеет права менять очер`дность выполнения операций записи, выполняющихся в ходе одной транзакции; так что свобода маневра у RAID-контроллера сильно ограничена.
> 2. блок может быть достаточно большим (то есть за время, пока с первого диска читается блок второй диск ищет следущий - начальное состояние второго диска уже не имеет значения)
Это я рассмотрел выше.
> 3. есть raid1. при правильной организации надо брать
{интеграл от 0 до 1} ( {интеграл от 0 до 1} ( min(X,Y) dX dY ) )
Это если контроллер умеет посылать запрос сразу к двум дискам и выбирать отает от того, кто ответил первым. Такое умение отражено в документации?
Дмитрий:
> Ну и у задержки есть предел ;-) !
Да - при увеличении количества дисков задержка стремится к полному обороту диска.
> И на сколько нам интересна первоначальная задержка?
Обрати внимание, что продавцы указывают именно скрорость вращения (главный параметр, определяющий задержку), а не скорость чтения/записи! Да ради снижения задержки производители перешли от пятидюймовых дисков к трёхдюймовым, потеряв в два с лишним раза площадь поверхности (и, соответвтсенно, ёмкости)!!! Ну так что же важнее, а?
> Если только нам делать больще нечего, то пожалуй. Если ввести асинхронность в процесс обмена с дисками, и считаем задачу выполненной после значительного количества найденных и прочитанных блоков самым невезучим диском, то некоторое увеличение начальной задержки не имеет значения.
Есть вещи, которые нельзя выполнять асинхронно - см.выше про "транзакции".
> RAID лишь немногим хуже одинночного диска по затратам времени на каждое позиционнирование.
При двух дисках - в 1.33 раза. Это немного?
toor99:
> У теоретиков все так: если практика не сходитсч с теорией, то тем хуже для практики. Забей.
Не далее как вчера я спорил со студентом МФТИ. Я говорил, как OS (любая) должна работать с виртуальной памятью по моемУ мнению; а он говорил, что программирует под Linux, и там всё не так. Он позвонил другому преподу, потом полез в листинги компиляции - и выяснилось, что я такИ прав. И действительно - не могли же авторы Linux не додуматься до тех вещей, которые мне очевидны!