The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Оценка производительности планировщиков ввода/вывода в Linux

12.05.2012 22:24

Ресурс Phoronix провёл тестирование производительности трёх планировщиков ввода/вывода для Linux - CFQ (используется по умолчанию), Noop с реализацией модели FIFO и Deadline. Тестирование проводилось как при использовании жесткого диска, так и для SSD-накопителя. Во всех тестах использовалась Ubuntu 12.04 (x86_64) с предварительной версией ядра Linux 3.4 и файловой системой Ext4.

  • В тестах FS-Mark планировщики показали примерно одинаковые результаты.
  • В тесте BlogBench, оценивающем производительность записи, Noop и Deadline оказались почти в два раза быстрее CFQ на SSD-накопителе, но немного отстали от него на жестком диске.
  • В тесте CompileBench, оценивающем скорость сборки, лучшие результаты на SSD-накопителе показал CFQ, который обогнал Noop и Deadline примерно на 25%. На жестком диске с небольшим отрывом победил Deadline, на втором месте CFQ и на третьем Noop;
  • В тесте IOzone на SSD с незначительным отрывом лидирует CFQ, а на жестком диске Noop;
  • В тесте Threaded I/O Teste разница в показателях незначительная.


  1. Главная ссылка к новости (http://www.phoronix.com/scan.p...)
  2. OpenNews: Представлена четвёртая версия планировщика задач SCHED_DEADLINE для ядра Linux
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/33832-io
Ключевые слова: io, scheduler, cfq, noop, deadline, linux
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (28) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, pavlinux (ok), 22:51, 12/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Я вот даже смотреть небуду, угадаю цифры не глядя!

    По алгоритму Фроников - одна цифра с опережением,
    одна цифра с отставанием, остальные в пределах 2%-погрешности.

     
     
  • 2.2, Анонимный (?), 23:01, 12/05/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    не угадал
     
     
  • 3.9, mine (ok), 11:47, 13/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Очень даже угадал.
     
  • 2.8, ach (ok), 07:34, 13/05/2012 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Хотя б доперло в этот раз, что не надо на виртуалках тестировать.
     
     
  • 3.13, Аноним (-), 14:42, 13/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Хотя б доперло в этот раз, что не надо на виртуалках тестировать.

    Точно? Может, у него просто образы на соответствующих носителях лежали, а работало это, как обычно, в vbox под виндой?

     

  • 1.3, Аноним12 (?), 23:18, 12/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А на обычных дисках был включен AHCI на контроллере, потому как вроде если используется аппаратная очередь cfq показывает не очень хорошие результаты по сравнению с тем же noop
     
     
  • 2.22, Аноним (-), 13:29, 14/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Если диск и чипсет поддерживают NCQ, то noop всех рвет.
     

  • 1.4, Raiden (ok), 23:31, 12/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    без bfq не интересный тест
     
     
  • 2.5, Анонимкус Рождественский (?), 00:16, 13/05/2012 [^] [^^] [^^^] [ответить]  
  • +5 +/
    добавьте заведомо +1% к максимально имеющимся и спите спокойно. Думаете что найдут  и откроют "новую галактику" без вас... ;) А на практике(у каждого) бутылочное горлышко будет все равно в другом месте
     
  • 2.6, Аноним (-), 02:31, 13/05/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > без bfq не интересный тест

    Ну придумайте что-нибудь сами. Это же фороникс, все равно достоверности никакой :)

     
     
  • 3.17, Аноним (-), 12:41, 14/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну придумайте что-нибудь сами. Это же фороникс, все равно достоверности никакой :)

    А давайте наоборот: вы сделаете кучу тестов, а мы их обосрем, без предоставления других, которые лучше.

     
     
  • 4.23, Аноним (-), 15:24, 14/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > А давайте наоборот: вы сделаете кучу тестов, а мы их обосрем, без предоставления других, которые лучше.

    Пожалуйста: армя^Wтеплое лучше мягкого.
    Обсирайте.

     

  • 1.7, mma (?), 06:24, 13/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Чтото непонятна цель тестирования. Тут как бы и без тестов понятно что десктоп CFQ и сервер deadline. Но даже тут между ними разница формальна, проявляется она лишь деталях и с производительностью в тестах никак не связана.
     
     
  • 2.12, Аноним (-), 14:41, 13/05/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Но даже тут между ними разница формальна, проявляется она лишь деталях и с производительностью в тестах никак не связана.

    Мы-то это понимаем, а студент-недоучка по имени phoronix - нет.

     
     
  • 3.18, Аноним (-), 12:42, 14/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Мы-то это понимаем, а студент-недоучка по имени phoronix - нет.

    Ну так сделайте ваши тесты. Что, очкуете что другие анонимы их обосрут не хуже форониксовых? :)

     
     
  • 4.24, Аноним (-), 15:25, 14/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну так сделайте ваши тесты. Что, очкуете что другие анонимы их обосрут не хуже форониксовых? :)

    Научно сравнить теплое с мягким - не ахти какой труд. И обосрут его заслуженно.
    Фороникс, опять-таки, этого не понимает.

     
  • 2.15, anonymous (??), 21:04, 13/05/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >и без тестов понятно что десктоп CFQ и сервер deadline.

    Обоснуйте преимущества deadline не сервере.

     
     
  • 3.25, Аноним (-), 23:46, 14/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Обоснуйте преимущества deadline не сервере.

    Зависит от сервера. Если там всего один демон с диском работает - преимущества deadline очевидны, имхо.

     
  • 2.16, Deffic (?), 00:48, 14/05/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Чтото непонятна цель тестирования. Тут как бы и без тестов понятно что
    > десктоп CFQ и сервер deadline. Но даже тут между ними разница
    > формальна, проявляется она лишь деталях и с производительностью в тестах никак
    > не связана.

    Да и совсем нет.
    CFQ -- для серверов где много одновременно работающих с диском программ (однозначно не десктоп)
    DEADLINE -- десктоп (не SSD) или сервера BD где с диском работает только одна программа.
    NOOP -- любые машины на SSD, любые виртуализированные сервера и десктопы.

    Конечно существуют смешанные конфигурации, тогда всё немного сложнее.

     
     
  • 3.27, Аноним (-), 11:20, 15/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    >> десктоп CFQ и сервер deadline. Но даже тут между ними разница
    >> формальна, проявляется она лишь деталях и с производительностью в тестах никак
    >> не связана.
    > Да и совсем нет.
    > CFQ -- для серверов где много одновременно работающих с диском программ (однозначно
    > не десктоп)
    > DEADLINE -- десктоп (не SSD) или сервера BD где с диском работает
    > только одна программа.
    > NOOP -- любые машины на SSD, любые виртуализированные сервера и десктопы.
    > Конечно существуют смешанные конфигурации, тогда всё немного сложнее.

    доктор, доктор, у меня жёсткие диски, но они сата, на южнике которого есть АХСИ. Какой планировщик мне использовать? таки ссдишный нооп или цфкью?

     
  • 3.28, pavlinux (ok), 03:29, 24/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Конечно существуют смешанные конфигурации, тогда всё немного сложнее.

    Гы :)




    echo "2048" > /sys/block/sdb/queue/read_ahead_kb
    echo "2048" > /sys/block/sdc/queue/read_ahead_kb
    echo "2048" > /sys/block/sdb/queue/nr_requests
    echo "2048" > /sys/block/sdc/queue/nr_requests

    blockdev --setra 16384 /dev/sda
    blockdev --setra 32768 /dev/sdb
    blockdev --setra 32768 /dev/sdc

    echo "1" >  /sys/block/sda/queue/rotational;

    echo "1" > /sys/block/sda/queue/rq_affinity
    echo "1" > /sys/block/sdb/queue/rq_affinity
    echo "1" > /sys/block/sdc/queue/rq_affinity

    echo "noop"     > /sys/block/sda/queue/scheduler
    echo "deadline" > /sys/block/sdb/queue/scheduler
    echo "cfq"      > /sys/block/sdc/queue/scheduler


     

  • 1.10, iZEN (ok), 13:00, 13/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Интересно, что с приходом SSD упрощаются алгоритмы планирования дисковых операций, так как не нужно принимать во внимание механические задержки разной длительности и рассчитывать на их основе очередь команд. Для этих случаев на первое место выходят алгоритмы кэширования файловых систем и распределения свободной оперативной памяти, так как SSD по скорости и задержкам (относится больше к технологиям SLC и MRAM) становится в какой-то мере частью пространства памяти, а не внешней системы хранения. "Бутылочное горлышко" SATA интерфейса при наличии достаточно большого объёма ОЗУ при работе с часто используемыми данными перестаёт оказывать влияние на эффективность использования не только SSD, но и HDD, а значит разработка новых алгоритмов планировщиков ввода/вывода под большим вопросом.
     
     
  • 2.11, XoRe (ok), 14:14, 13/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > "Бутылочное горлышко" SATA интерфейса

    Если не секрет, в чем проявляется бутылочное горлышко?
    sata-2 - до 3 Гбит/с  (300 МБайт/с).
    sata-3 - до 6 Гбит/с (600 МБайт/с).

    Этого с головой хватает для десктопов и серверов начального уровня.
    А для более серьёзных серверов есть другие технологии.

     
     
  • 3.21, Аноним (-), 12:51, 14/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Если не секрет, в чем проявляется бутылочное горлышко?
    > sata-2 - до 3 Гбит/с  (300 МБайт/с).
    > sata-3 - до 6 Гбит/с (600 МБайт/с).

    В том что этот болванчик как ни странно прав. Флеш - это чипы памяти. Как минимум на чтение доступ там произвольный. И 600 Мбайт/сек там совсем не предел мечтания для идиота. Особенно с современным навернутым контроллером который делает interleaving на кучу чипов. Как бы 600Мб/сек это скорость работы памяти характерная для времен первых атлонов. Не больно то и дофига.

    > Этого с головой хватает для десктопов и серверов начального уровня.
    > А для более серьёзных серверов есть другие технологии.

    Ну да, ssd @ pcie по конским ценам, например одна из них. При том конская цена и pci-e все-таки намекают что крутым парням sata иногда может натурально не хватить :)

     
  • 2.14, Аноним (-), 15:10, 13/05/2012 [^] [^^] [^^^] [ответить]  
  • –3 +/
    чё чушь несёшь. Во-первых, весь этот гемор уходит в сам SSD девайс и сама логика планирования стала на порядки сложнее.  А для приложения всё это выливается в вообще в непредсказуемость задержек IO.

    И, кстати, дисбалланс для random IO и линейного никуда не делася.

     
     
  • 3.20, Аноним (-), 12:48, 14/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > И, кстати, дисбалланс для random IO и линейного никуда не делася.

    У флеша seek time намного лучше. В плане чтения - 100%, потому что никакие головы передвигать не надо, а передавать адреса по шинам - быстро. С записью - могут быть приколы, основанные на том что флеш крупноблочная память с брейнфакерскими правилами записи. Контроллер SSD конечно пытается это спрятать, но физику процесса то не обманешь: некоторые типы нагрузок при записи будут куда как более удобны чем некоторые другие.

     
  • 2.19, Аноним (-), 12:45, 14/05/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Интересно, что с приходом SSD упрощаются алгоритмы планирования дисковых операций, так
    > как не нужно принимать во внимание механические задержки разной длительности

    Зато неплохо бы принимать во внимание кучу иных факторов.

    > "Бутылочное горлышко" SATA интерфейса при наличии достаточно большого объёма ОЗУ

    Да, конечно. Если сделать рамдиск - он тормозить не будет, независимо от скорости sata. Правда, у него есть недостаток: он энергозависимый и не переживает ребут :)

     

  • 1.26, Аноним (-), 11:13, 15/05/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ээ, не понял про компиляцию. у меня все 4 ядра обычно заняты на 100%, то есть даже на хдд отстаёт проц, а не ио. значит все планировщики должны быть равны, или пофиг
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру