Переупорядочение запросов
Для накопителей SCSI эта техника не в новинку. Переупорядочение запросов (команд) становится возможным благодаря очереди команд - специальному буферу, в котором команды ждут своего выполнения. В настоящее время эта очередь имеется в распоряжении только SCSI-накопителей, поэтому использование переупорядочения запросов ограничивается этим классом винчестеров.
При отсутствии техники переупорядочения команд жесткие диски должны выполнять команды из очереди в том же порядке, в котором они их получают. В результате головки чтения/записи случайным образом перескакивают с одного места на другое, последовательно обслуживая все запросы из очереди.
В основе техники переупорядочения команд лежит изменение порядка их выполнения таким образом, чтобы свести к минимуму случайный характер перемещения головок. Сегодня применяются две основные схемы переупорядочения команд: - Первыми выполняются команды с наименьшим временем поиска. При использовании этого метода запросы переупорядочиваются таким образом, что из всех находящихся в очереди команд следующей выполняется та, у которой наименьшее время поиска. Проблема с этой схемой состоит в том, что ее разрушают законы усреднения: наименьшее время поиска в большинстве случаев оказывается у команд, обращающихся к трекам, расположенным ближе к середине диска. Данная схема переупорядочения склонна игнорировать команды, обращающиеся к данным на внешних или внутренних треках, поскольку время поиска для них обычно оказывается большим.
- Элеваторный поиск. Он является улучшением предыдущего метода. При его использовании принимается в расчет не только время поиска, переупорядочиваются команды таким образом, чтобы головки чтения/записи перемещались вперед и назад над всей рабочей поверхностью пластин. Благодаря этому устраняются некоторые из максимальных задержек с обработкой обращений к внутренним и внешним трекам, свойственных первой схеме переупорядочения. Впрочем, если время поиска треков и общее время обработки запросов уменьшаются, то возрастает процент задержек на вращение. И по мере совершенствования алгоритмов переупорядочения на долю задержек на вращение приходится чрезмерно большой процент общего времени случайного доступа.
Сегодня производители уменьшают влияние задержек на вращение путем переупорядочения запросов таким образом, чтобы накопитель мог снять как можно больше запрошенных данных за один оборот пластин. В частности, предложенный компанией Quantum алгоритм Optimized Reordering Command Algorithm (ORCA) поднимает технику переупорядочения команд на новый уровень, вычисляя оптимальную последовательность поисков так, чтобы минимизировать суммарное время поиска и задержки.
Обычно винчестер, используя технику переупорядочения запросов, просматривает поступившие в очередь команды поиска. Он принимает во внимание трек, над которым в данное время расположены головки, и сортирует ждущие выполнения команды, чтобы сократить перемещения привода головок. Это уменьшает время на выполнение поисков. Тем не менее при выполнении очередного поиска может оказаться, что интересующий сектор только что ушел из-под головок и им придется ждать его целый оборот пластин. Если накопитель способен предвидеть, что при следующем поиске произойдет подобное, он может перейти к выполнению следующей команды и вернуться к пропущенной в более удобный момент.
Как раз так и поступает применяемый Quantum алгоритм ORCA. Он анализирует положение как искомого трека на диске, так и нужного сектора на треке. Благодаря этому команды в очереди переупорядочиваются в более эффективную последовательность, увеличивая пропускную способность данных в среднем на 20%.
При отсутствии техники переупорядочения команд жесткие диски должны выполнять команды из очереди в том же порядке, в котором они их получают. В результате головки чтения/записи случайным образом перескакивают с одного места на другое, последовательно обслуживая все запросы из очереди.
В основе техники переупорядочения команд лежит изменение порядка их выполнения таким образом, чтобы свести к минимуму случайный характер перемещения головок. Сегодня применяются две основные схемы переупорядочения команд: - Первыми выполняются команды с наименьшим временем поиска. При использовании этого метода запросы переупорядочиваются таким образом, что из всех находящихся в очереди команд следующей выполняется та, у которой наименьшее время поиска. Проблема с этой схемой состоит в том, что ее разрушают законы усреднения: наименьшее время поиска в большинстве случаев оказывается у команд, обращающихся к трекам, расположенным ближе к середине диска. Данная схема переупорядочения склонна игнорировать команды, обращающиеся к данным на внешних или внутренних треках, поскольку время поиска для них обычно оказывается большим.
- Элеваторный поиск. Он является улучшением предыдущего метода. При его использовании принимается в расчет не только время поиска, переупорядочиваются команды таким образом, чтобы головки чтения/записи перемещались вперед и назад над всей рабочей поверхностью пластин. Благодаря этому устраняются некоторые из максимальных задержек с обработкой обращений к внутренним и внешним трекам, свойственных первой схеме переупорядочения. Впрочем, если время поиска треков и общее время обработки запросов уменьшаются, то возрастает процент задержек на вращение. И по мере совершенствования алгоритмов переупорядочения на долю задержек на вращение приходится чрезмерно большой процент общего времени случайного доступа.
Сегодня производители уменьшают влияние задержек на вращение путем переупорядочения запросов таким образом, чтобы накопитель мог снять как можно больше запрошенных данных за один оборот пластин. В частности, предложенный компанией Quantum алгоритм Optimized Reordering Command Algorithm (ORCA) поднимает технику переупорядочения команд на новый уровень, вычисляя оптимальную последовательность поисков так, чтобы минимизировать суммарное время поиска и задержки.
Обычно винчестер, используя технику переупорядочения запросов, просматривает поступившие в очередь команды поиска. Он принимает во внимание трек, над которым в данное время расположены головки, и сортирует ждущие выполнения команды, чтобы сократить перемещения привода головок. Это уменьшает время на выполнение поисков. Тем не менее при выполнении очередного поиска может оказаться, что интересующий сектор только что ушел из-под головок и им придется ждать его целый оборот пластин. Если накопитель способен предвидеть, что при следующем поиске произойдет подобное, он может перейти к выполнению следующей команды и вернуться к пропущенной в более удобный момент.
Как раз так и поступает применяемый Quantum алгоритм ORCA. Он анализирует положение как искомого трека на диске, так и нужного сектора на треке. Благодаря этому команды в очереди переупорядочиваются в более эффективную последовательность, увеличивая пропускную способность данных в среднем на 20%.
Компьютерная газета. Статья была опубликована в номере 28 за 1997 год в рубрике hard :: технологии