<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Во FreeBSD появился &quot;упреждающий&quot; дисковый планировщик</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/48339.html</link>
    <description>Luigi Rizzo предлагает (http://lists.freebsd.org/pipermail/freebsd-stable/2009-January/047597.html) пользователям FreeBSD 7-STABLE протестировать новую инфраструктуру для реализации внешних планировщиков ввода-вывода дисковой подсистемы, построенную на базе системы GEOM.&lt;br&gt;&lt;br&gt;&lt;br&gt;В качестве демонстрации возможностей системы, представлен планировщик, реализующий алгоритм &quot;anticipatory scheduling&quot;. С целью уменьшения перемещений головок по диску планировщик пытается упорядочить поступающие запросы для более последовательного обращения к диску, вводя небольшую дополнительную задержку (2..5мс) перед фактической отправкой запроса и объединяя поступившие за это время новые запросы с ожидающими в очереди.&lt;br&gt;&lt;br&gt;&lt;br&gt;По приведенным результатам тестов видно, что включение данного механизма позволяет ускорить параллельное выполнение задач, требующих последовательного и произвольного доступа к дисковой подсистеме.&lt;br&gt;&lt;br&gt;URL: http://lists.freebsd.org/pipermail/freebsd-stable/2009-January/047597.html&lt;br&gt;Новость: http://www.opennet.ru/opennew</description>

<item>
    <title>Во FreeBSD появился &apos;упреждающий&apos; дисковый планировщик (zuborg)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/48339.html#22</link>
    <pubDate>Thu, 22 Jan 2009 11:47:38 GMT</pubDate>
    <description>все современные винты в любой момент времени используют только одну головку&lt;br&gt;винты с независимыми головками и коромыслами настолько дорогие что проще и дешевле взять несколько обычных винтов&lt;br&gt;кроме того LBA адресация устроена так что для offset-A &amp;lt; offset-B будет trackN-A &amp;lt;= trackN-B&lt;br&gt;то есть в общем случае для любого одиночного винчестера пачку из нескольких запросов оптимальней всего выполнять в порядке увеличения LBA, для минимизации пути дергания головок&lt;br&gt;</description>
</item>

<item>
    <title>Странный алгоритм (Аноним)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/48339.html#21</link>
    <pubDate>Thu, 22 Jan 2009 07:01:16 GMT</pubDate>
    <description>Я конечно хотел сказать &apos;для ssd дисков&apos;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Странный алгоритм (Аноним)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/48339.html#20</link>
    <pubDate>Thu, 22 Jan 2009 07:00:29 GMT</pubDate>
    <description>Выводу неверные. Каким-то там процессам в будущем могут понадобиться (а могут и нет) данные из кеша, которые вы не хотите вытеснять, а здесь и сейчас уже точно нужные данные на чтение, что очевидно приоритетнее чего-то там неопределенного в далеком будущем. Задержка нужна для того чтобы оптимизировать движение головок, не более. В SSD дисках стоит самый простой планировщик из возможных безо всяких задержек. Так что думайте еще.&lt;br&gt;</description>
</item>

<item>
    <title>Во FreeBSD появился &apos;упреждающий&apos; дисковый планировщик (ReWire)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/48339.html#19</link>
    <pubDate>Thu, 22 Jan 2009 06:21:42 GMT</pubDate>
    <description>Более того, в серверах (и уже все чаще не только в них) используются RAID контроллеры, где подобная технология не только не поможет, но и реально может ухудшить перфоманс...&lt;br&gt;</description>
</item>

<item>
    <title>Во FreeBSD появился &apos;упреждающий&apos; дисковый планировщик (moralez)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/48339.html#18</link>
    <pubDate>Thu, 22 Jan 2009 03:41:52 GMT</pubDate>
    <description>А откуда система знает сколько у винта головок? &lt;br&gt;</description>
</item>

<item>
    <title>Странный алгоритм (Дмитрий Ю. Карпов)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/48339.html#17</link>
    <pubDate>Wed, 21 Jan 2009 18:28:26 GMT</pubDate>
    <description>Размышляя над вопросами ввода-вывода, я пришёл к таким выводам:&lt;br&gt;&lt;br&gt;Допустим, в очереди на исполнение находятся несколько процессов в состоянии ready. Выполняющийся в данный момент процесс сделал запрос на чтение. Нужно ли сразу отправлять этот запрос на диск (если диск не занят выполнением запросов)? Нет, не нужно, т.к. прочитанные данные должны вытеснить из кэша другие данные, которые могут понадобиться другим задачам. Нужно притормозить выполнение задачи, запросившей чтение с диска. Иными словами, нужно поддерживать баланс между количеством задач в очереди на исполнение и количеством отложенных запросов на чтение с диска. Разумеется, задания на чтение с диска можно и нужно переупорядочивать для того, чтобы диск мог выполнять их эффективнее.&lt;br&gt;</description>
</item>

<item>
    <title>Во FreeBSD появился &apos;упреждающий&apos; дисковый планировщик (sds)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/48339.html#16</link>
    <pubDate>Wed, 21 Jan 2009 18:24:50 GMT</pubDate>
    <description>&amp;gt;&amp;gt;Как оно будет на SCSI и SAS ? &lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;Это ведь надстройка через GEOM - там фиолетово что внизу... &lt;br&gt;&lt;br&gt;а ежели внизу FC диски с глубиной очереди 64?&lt;br&gt;</description>
</item>

<item>
    <title>Во FreeBSD появился &apos;упреждающий&apos; дисковый планировщик (zuborg)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/48339.html#15</link>
    <pubDate>Wed, 21 Jan 2009 17:38:10 GMT</pubDate>
    <description>Премного благодарю за обьяснение, сударь (или мсье?)&lt;br&gt;Позвольте обратить Ваше внимание на следующий момент:&lt;br&gt;В любой момент времени для даной очереди запросов к даному устройству есть только один активный запрос (который сейчас отрабатывает механика устройства). &lt;br&gt;Все остальные запросы ждут своей очереди в очереди устройства (хардварной очереди самого устройства если это например scsi-винт или рейд или софтовой очереди драйвера устройства, например ata() для каждого канала держит свою очередь)&lt;br&gt;&lt;br&gt;Задержка отправки запроса на устройство приводит к тому, что его в очереди самого устройства не будет вообще эти 2-5ms.&lt;br&gt;&lt;br&gt;А теперь рассмотрим последовательное выполнение запросов из очереди в порядке возрастания offset каждого bio&lt;br&gt;пусть в очереди лежат запросы ... , A &amp;lt; B, ...&lt;br&gt;&lt;br&gt;пришел запрос Y , такой что A &amp;lt; Y &amp;lt; B - мы отложили этот запрос Y в надежде что появится другой перед ним, не шлем его драйверу устройства&lt;br&gt;&lt;br&gt;но допустим что нагрузка есть, очередь устройства не пуста, драйвер шлет запросы из нее по одному</description>
</item>

<item>
    <title>Во FreeBSD появился &apos;упреждающий&apos; дисковый планировщик (Аноним)</title>
    <link>https://www.opennet.dev/openforum/vsluhforumID3/48339.html#14</link>
    <pubDate>Wed, 21 Jan 2009 17:08:17 GMT</pubDate>
    <description>&amp;gt; Это что-то наподобие программного NCQ получается?&lt;br&gt;&lt;br&gt;во FreeBSD ata(4) не поддерживает NCQ на SATA-дисках&lt;br&gt;</description>
</item>

</channel>
</rss>
