Тормоза при одновременном обращении к HDD
От: Feonyf  
Дата: 11.09.10 12:39
Оценка: :))) :)))
С самой Windows95 и выше наблюдаю явление:
если поставить копировать большой файл а потом начать что нибудь читать с одного и того же винчестера то копирование снижается непропорционально количеству потоков.

Т.е. если имеем три потока данных то скорость, такое ощущение, делится не на 3 а на 10.

вопросы:
1. это мне кажется или оно таки есть ?
2. если оно так и есть, то почему программисты до сих пор не сделали грамотное разделение ресурсов диска ?

Это применимо не только к виндусным системам.

27.09.10 11:22: Перенесено модератором из 'Философия программирования' — Odi$$ey
Моя строка построения буста:
.\bjam link=static threading=multi runtime-link=static -j %NUMBER_OF_PROCESSORS% --with-filesystem --with-thread --with-date_time address-model=64
Re[2]: Тормоза при одновременном обращении к HDD
От: A.Lokotkov Россия http://www.linkedin.com/pub/alexander-lokotkov/a/701/625
Дата: 11.09.10 13:42
Оценка: 1 (1) +3
Здравствуйте, Torie, Вы писали:

T>Так и есть. Квант переключения потоков маленький, а затраты на перемещение головки — очень большие. Вот она и мотается туда-обратно... [ship]

T>Теоретически, в таких случаях ось могла бы вести себя поумнее, но M$ не до того

Можно пример кода какого-нибудь драйвера IDE-контроллера, где можно было бы увидеть связь "маленького кванта переключения потоков" с затратами на перемещение головки и общим торможением? Или хотя бы более подробное описание порочного принципа, лежащего в основе? И заодно хотелось бы знать, как бы могла себя вести ось в этой связи. Спасибо.
bloß it hudla
Re[6]: Тормоза при одновременном обращении к HDD
От: Pavel Dvorkin Россия  
Дата: 13.09.10 13:40
Оценка: 85 (2)
Здравствуйте, Torie, Вы писали:

T>Посмотри в BIOS — SATA Mode. Если стоит режим AHCI — то NCQ включен, если IDE — отключен.

T>И кстати, если при установке винды стоял режим IDE, то переключить режим так просто не получится — винда будет показывать синий экран при загрузке. Придется попрыгать с бубном.

Особых прыжков не требуется

You can install the Miscrosoft standard AHCI driver from within Vista
throught Device Manager. In Device Manager select you IDE/Sata cotroller
and properties and selected updriver. The select browse my computer for
driver software. Select let me pict from list. In the screen untick the
box "show compatible hardward". Scroll dowwn under the Manufactuer
column and select the Standard AHCHI driver and select next. This should
the Microsoft AHCI driver. Reboot. Then go into the bios and change your
IDE configuration to AHCI. Once your reboot you can then install the
AHCI driver for your particular motherboard.

Взято отсюда

http://www.eggheadcafe.com/software/aspnet/29976834/ahcisataide.aspx

Попробовал — работает, Windows 7. Правда, в результате при установленном в BIOS режиме SATA == IDE Windows 7 теперь не загружается. Наверное, можно откатить с помощью Safe Mode.
With best regards
Pavel Dvorkin
Re: Тормоза при одновременном обращении к HDD
От: Torie  
Дата: 11.09.10 12:54
Оценка: 1 (1) -1
Здравствуйте, Feonyf, Вы писали:

F>1. это мне кажется или оно таки есть ?

F>2. если оно так и есть, то почему программисты до сих пор не сделали грамотное разделение ресурсов диска ?

Так и есть. Квант переключения потоков маленький, а затраты на перемещение головки — очень большие. Вот она и мотается туда-обратно, снижая общую скорость до уровня плинтуса. NCQ уменьшает потери за счет перестановки команд в буфере винчестера, но ненамного. (проверь, что он у тебя активирован)

Теоретически, в таких случаях ось могла бы вести себя поумнее, но M$ не до того
Re[3]: Тормоза при одновременном обращении к HDD
От: Ромашка Украина  
Дата: 15.09.10 01:54
Оценка: 1 (1) +1
14.09.2010 7:50, Здравствуйте, Feonyf:
> Р>Потому что это дело не программистов, а админов.
> Почему ?

Потому что админы определяют что им важнее, скорость чтения или размер
хвостов.

> Вы пробовали ? Каковы изменения для двухпоточного чтения из больших

> файлов по сравнению со стандартной конфигурацией ?

Сорри, винты перебивать не буду, сделал грубовато, но все равно
получается интересно:

1. Seagate ST3250410AS, NTFS 4K кластер (системный)
1 поток: 85Мб/сек
2 потока: 20Мб/сек

2. MAXTOR STM3500320AS, NTFS 32K кластер
1 поток: 75Мб/сек
2 потока: 50Мб/сек
каждый следующий -1Мб/сек.

На втором попробовал запустить больше потоков. Каждый последующий
отбирает совсем чуть-чуть от общей скорости.

> Как вы считаете, на что я потом буду жаловаться когда я выполню Вашу

> просьбу по большому кластеру ?

Это не просьба, это совет. Его можно проигнорировать.

> (я буду жаловаться на то что нет фичи по

> сжатию файлов и у меня много маленьких файлов которым большой кластер не
> подходит)

Я и говорю — решают админы. Фича по сжатию файлов вроде как от размера
кластера не зависит. Кстати, посмотрел сколько у мну файлов на 500Гб
винте: 150 000. Ну потеряется там три гига, как по мне, ну и черт с ними.

> Итого вопрос: а можно всё и вместе или нельзя ? Если нет то почему ?


Нет. Точнее да, но зависит сколько вы за это готовы платить.
Posted via RSDN NNTP Server 2.1 beta


Всё, что нас не убивает, ещё горько об этом пожалеет.
Re[5]: Тормоза при одновременном обращении к HDD
От: Torie  
Дата: 11.09.10 13:52
Оценка: :))
Здравствуйте, SE, Вы писали:

SE>Насколько долго должна бытьотложена запись файла.


Я бы предложил задержку в пределах 0.3-0.5 секунды, но конечно могу ошибаться

SE>Или наоборот, вот пишется файл, если ждать долго, то фильм начнет "заикаться"


там есть буферизация

SE>И что? Снова Билл Гейтс — нетрадиционного сексуально ориентирован?


Не знаю, этим вопросом я не интересовался.
Re[8]: Тормоза при одновременном обращении к HDD
От: SE Украина  
Дата: 11.09.10 19:55
Оценка: +1 :)
Здравствуйте, ononim, Вы писали:

SE>>Ну почему же. Не далее как вчера киевский девелопер на местной юзергрупе рассказал про то, как он в феврале создал реквест на множественные активные рекордсеты в Azure (его поддержало множество девелоперов из разных стран), и они эту фичу таки получили уже в апреле.

SE>>Другое дело, что в случае с Виндовс придется ждать года три до новой версии.
O>А что мешает самому взять да написать драйвер-фильтр который подвесится над disk.sys и будет "оптимизировать" запросы?
Мешает, наверно, тот факт, что мне это ни разу не сдалось. Предложите лучше топиккастеру или Torie.
Re[7]: Тормоза при одновременном обращении к HDD
От: Pzz Россия https://github.com/alexpevzner
Дата: 17.09.10 15:03
Оценка: 1 (1)
Здравствуйте, vitasR, Вы писали:

R>софтовый NCQ, как я понимаю, не так уж и просто сделать. Надо знать истинную геометрию диска, ремапы, положение головок и прочее


Железный NCQ, безусловно, всеми этими знаниями обладает. Только не из чего не следует, что он их как-либо использует
Re[5]: Тормоза при одновременном обращении к HDD
От: Torie  
Дата: 11.09.10 13:55
Оценка: :)
Здравствуйте, SE, Вы писали:

SE>Все же хотелось бы получить ответ на

SE>

SE>И заодно хотелось бы знать, как бы могла себя вести ось в этой связи. Спасибо.


http://rsdn.ru/forum/philosophy/3954533.1.aspx
Автор: Torie
Дата: 11.09.10

Вообще говоря, они прекрасно могли реализовать софтовый аналог NCQ, и давно. А не ждать, пока производители железа подтянут за них спустившиеся у MS штаны

SE>Вдруг в мелкософте прочитают, да сделают все как надо. А не прочитают, мы сами им скажем.


Ну это из области крайне ненаучного фэнтези.
Re[6]: Тормоза при одновременном обращении к HDD
От: Pzz Россия https://github.com/alexpevzner
Дата: 11.09.10 20:43
Оценка: +1
Здравствуйте, Torie, Вы писали:

T>Вообще говоря, они прекрасно могли реализовать софтовый аналог NCQ, и давно. А не ждать, пока производители железа подтянут за них спустившиеся у MS штаны


Очередь-то там есть (ну может не в 9x, но в NT точно есть). Вопрос в том, как ее сортировать. Потому что возьмут 5 программ, и накидают в эту очередь запросов, и будет бедная венда головками туда-сюда ворочать вместо того, чтобы делом заниматься. На эту тему написано сто пиццот миллионов штук научных статей, но судя по тому, что любая ОС при потоке несвязанных запросов от большого количества задач ведет себя так себе, нормального решения так и не придумали. Вот введут везде SSD, и проблема отпадет сама собой (зато появится другая, про которую пока и науки-то вроде нет).
Re[9]: Тормоза при одновременном обращении к HDD
От: Torie  
Дата: 12.09.10 03:30
Оценка: +1
Здравствуйте, SE, Вы писали:

SE>Мешает, наверно, тот факт, что мне это ни разу не сдалось. Предложите лучше топиккастеру или Torie.


Если я брошусь переписывать всё, где вижу недостатки — никаких рук не хватит. У меня и так свой проект есть
Re[6]: Тормоза при одновременном обращении к HDD
От: vitasR  
Дата: 12.09.10 06:37
Оценка: +1
Здравствуйте, Torie, Вы писали:

T>http://rsdn.ru/forum/philosophy/3954533.1.aspx
Автор: Torie
Дата: 11.09.10

T>Вообще говоря, они прекрасно могли реализовать софтовый аналог NCQ, и давно. А не ждать, пока производители железа подтянут за них спустившиеся у MS штаны

софтовый NCQ, как я понимаю, не так уж и просто сделать. Надо знать истинную геометрию диска, ремапы, положение головок и прочее
Re[6]: Тормоза при одновременном обращении к HDD
От: Centaur Россия  
Дата: 12.09.10 10:48
Оценка: +1
Здравствуйте, Torie, Вы писали:

T>Посмотри в BIOS — SATA Mode. Если стоит режим AHCI — то NCQ включен, если IDE — отключен.

T>И кстати, если при установке винды стоял режим IDE, то переключить режим так просто не получится — винда будет показывать синий экран при загрузке. Придется попрыгать с бубном.

У меня вот, помнится, последний раз, когда пробовал, в режиме AHCI Windows XP вообще ставиться не хотела — кажется, говорила «тут ставиться не на что».
Re: Тормоза при одновременном обращении к HDD
От: Ромашка Украина  
Дата: 13.09.10 12:25
Оценка: -1
11.09.2010 15:39, Здравствуйте, Feonyf:
> 1. это мне кажется или оно таки есть ?

Есть.

> 2. если оно так и есть, то почему программисты до сих пор не сделали

> грамотное разделение ресурсов диска ?

Потому что это дело не программистов, а админов.

ЗЫ. Включи кеш на запись, переформати винт и поставь кластер побольше
(32К, например).
Posted via RSDN NNTP Server 2.1 beta


Всё, что нас не убивает, ещё горько об этом пожалеет.
Re[2]: Тормоза при одновременном обращении к HDD
От: Feonyf  
Дата: 14.09.10 04:50
Оценка: +1
Здравствуйте, Ромашка, Вы писали:

Р>Потому что это дело не программистов, а админов.


Почему ?

Р>ЗЫ. Включи кеш на запись, переформати винт и поставь кластер побольше

Р>(32К, например).

Вы пробовали ? Каковы изменения для двухпоточного чтения из больших файлов по сравнению со стандартной конфигурацией ?

Как вы считаете, на что я потом буду жаловаться когда я выполню Вашу просьбу по большому кластеру ? (я буду жаловаться на то что нет фичи по сжатию файлов и у меня много маленьких файлов которым большой кластер не подходит)
Итого вопрос: а можно всё и вместе или нельзя ? Если нет то почему ?
Моя строка построения буста:
.\bjam link=static threading=multi runtime-link=static -j %NUMBER_OF_PROCESSORS% --with-filesystem --with-thread --with-date_time address-model=64
Re: Тормоза при одновременном обращении к HDD
От: Sinix  
Дата: 11.09.10 12:43
Оценка:
Здравствуйте, Feonyf, Вы писали:

F>Т.е. если имеем три потока данных то скорость, такое ощущение, делится не на 3 а на 10.


Матчасть. В буквальном смысле. Хинт: дорожек несколько больше, чем головок
Re: Тормоза при одновременном обращении к HDD
От: andrey82  
Дата: 11.09.10 12:53
Оценка:
Здравствуйте, Feonyf, Вы писали:

F>вопросы:

F>1. это мне кажется или оно таки есть ?

Да, так и есть. Время позиционирования головки на нужную дорожку ~единиц миллисекунд на современных винтах. Ели переключаться с одной дисковой задачи на другую несколько раз в секунду, то записать мало чего можно успеть.

F>2. если оно так и есть, то почему программисты до сих пор не сделали грамотное разделение ресурсов диска ?


Кое-что сделали...например
NCQ

F>Это применимо не только к виндусным системам.
Re: Тормоза при одновременном обращении к HDD
От: SE Украина  
Дата: 11.09.10 12:54
Оценка:
Здравствуйте, Feonyf, Вы писали:

F>1. это мне кажется или оно таки есть ?


Так и есть.

F>2. если оно так и есть, то почему программисты до сих пор не сделали грамотное разделение ресурсов диска ?


Поскольку используются файлы с разных частей диска, то если файлы расположены на одной пластине, на одной ее стороне, то головка мечется между позициями для считывания. Это обычно слышно даже как "дырчание".
Re[2]: Тормоза при одновременном обращении к HDD
От: Feonyf  
Дата: 11.09.10 13:03
Оценка:
Здравствуйте, Torie, Вы писали:

T>Теоретически, в таких случаях ось могла бы вести себя поумнее, но M$ не до того


Добавили бы они флаг с названием "Желательно записывать большими кусками" в функцию CreateFile.

Блин, чё так все плохо то...
Моя строка построения буста:
.\bjam link=static threading=multi runtime-link=static -j %NUMBER_OF_PROCESSORS% --with-filesystem --with-thread --with-date_time address-model=64
Re: Тормоза при одновременном обращении к HDD
От: okman Беларусь https://searchinform.ru/
Дата: 11.09.10 13:10
Оценка:
Здравствуйте, Feonyf, Вы писали:

почему программисты до сих пор не сделали грамотное разделение ресурсов диска ?

Сделали RAID. Только не программисты.
Re[3]: Тормоза при одновременном обращении к HDD
От: Torie  
Дата: 11.09.10 13:11
Оценка:
Здравствуйте, Feonyf, Вы писали:

F>Блин, чё так все плохо то...


Се ля ви. Правило 95%
А NCQ все-таки проверь, что оно включено.
Re[2]: Тормоза при одновременном обращении к HDD
От: SE Украина  
Дата: 11.09.10 13:32
Оценка:
Здравствуйте, Torie, Вы писали:

T>Теоретически, в таких случаях ось могла бы вести себя поумнее, но M$ не до того


Откуда же оси знать, какой из файлов важнее. Что ни сделай пользователи останутся недовольны.

Ну, а фактически они хотя бы дефрагментацию сделали
Re[3]: Тормоза при одновременном обращении к HDD
От: Torie  
Дата: 11.09.10 13:41
Оценка:
Здравствуйте, SE, Вы писали:

SE>Откуда же оси знать, какой из файлов важнее. Что ни сделай пользователи останутся недовольны.


Да ей и не надо про это знать.
Тут ведь какая проблема, вот допустим потоки А и Б одновременно читают с винта. Головка переместилась чтобы прочитать данные для А, хоп — ее тут же дергает поток Б на другое место. А потом в обратную сторону. Вот так и мечется
Что надо было сделать — это отслеживать перемещения головки. Если она только что переместилась и читает данные, то попытки считать данные из другого места надо откладывать на небольшой промежуток, чтобы дать текущей операции чтения закончиться.
Re[4]: Тормоза при одновременном обращении к HDD
От: SE Украина  
Дата: 11.09.10 13:46
Оценка:
Здравствуйте, Torie, Вы писали:

T>Здравствуйте, SE, Вы писали:


SE>>Откуда же оси знать, какой из файлов важнее. Что ни сделай пользователи останутся недовольны.


T>Да ей и не надо про это знать.

T>Тут ведь какая проблема, вот допустим потоки А и Б одновременно читают с винта. Головка переместилась чтобы прочитать данные для А, хоп — ее тут же дергает поток Б на другое место. А потом в обратную сторону. Вот так и мечется
T>Что надо было сделать — это отслеживать перемещения головки. Если она только что переместилась и читает данные, то попытки считать данные из другого места надо откладывать на небольшой промежуток, чтобы дать текущей операции чтения закончиться.

Ну вот вам пример. У меня играет фильм, это операция на чтение. Я смотрю одним глазом фильм и правлю важный для меня файл.
Насколько долго должна бытьотложена запись файла. Допустим при этом, что ИБП у меня с севшей батарее, и вдруг отключают подачу электроэнергии?
Или наоборот, вот пишется файл, если ждать долго, то фильм начнет "заикаться"
И что? Снова Билл Гейтс — нетрадиционного сексуально ориентирован?
Re[3]: Тормоза при одновременном обращении к HDD
От: Torie  
Дата: 11.09.10 13:48
Оценка:
Здравствуйте, A.Lokotkov, Вы писали:

AL>Можно пример кода какого-нибудь драйвера IDE-контроллера


Проблема никаким боком не связана с драйверами. А почему вы про это спрашиваете?
Re[4]: Тормоза при одновременном обращении к HDD
От: SE Украина  
Дата: 11.09.10 13:50
Оценка:
Здравствуйте, Torie, Вы писали:

T>Здравствуйте, A.Lokotkov, Вы писали:


AL>>Можно пример кода какого-нибудь драйвера IDE-контроллера


T>Проблема никаким боком не связана с драйверами. А почему вы про это спрашиваете?


Все же хотелось бы получить ответ на

И заодно хотелось бы знать, как бы могла себя вести ось в этой связи. Спасибо.


Вдруг в мелкософте прочитают, да сделают все как надо. А не прочитают, мы сами им скажем.
Re[6]: Тормоза при одновременном обращении к HDD
От: SE Украина  
Дата: 11.09.10 14:05
Оценка:
Здравствуйте, Torie, Вы писали:

SE>>Вдруг в мелкософте прочитают, да сделают все как надо. А не прочитают, мы сами им скажем.


T>Ну это из области крайне ненаучного фэнтези.


Ну почему же. Не далее как вчера киевский девелопер на местной юзергрупе рассказал про то, как он в феврале создал реквест на множественные активные рекордсеты в Azure (его поддержало множество девелоперов из разных стран), и они эту фичу таки получили уже в апреле.
Другое дело, что в случае с Виндовс придется ждать года три до новой версии.
Re[4]: Тормоза при одновременном обращении к HDD
От: Feonyf  
Дата: 11.09.10 15:26
Оценка:
Здравствуйте, Torie, Вы писали:

T>А NCQ все-таки проверь, что оно включено.


С помощью чего ? У меня ноутбук, диск seagate, vista.
Моя строка построения буста:
.\bjam link=static threading=multi runtime-link=static -j %NUMBER_OF_PROCESSORS% --with-filesystem --with-thread --with-date_time address-model=64
Re[5]: Тормоза при одновременном обращении к HDD
От: Torie  
Дата: 11.09.10 15:38
Оценка:
Здравствуйте, Feonyf, Вы писали:

F>С помощью чего ? У меня ноутбук, диск seagate, vista.


Посмотри в BIOS — SATA Mode. Если стоит режим AHCI — то NCQ включен, если IDE — отключен.
И кстати, если при установке винды стоял режим IDE, то переключить режим так просто не получится — винда будет показывать синий экран при загрузке. Придется попрыгать с бубном.
Re[7]: Тормоза при одновременном обращении к HDD
От: ononim  
Дата: 11.09.10 18:16
Оценка:
SE>Ну почему же. Не далее как вчера киевский девелопер на местной юзергрупе рассказал про то, как он в феврале создал реквест на множественные активные рекордсеты в Azure (его поддержало множество девелоперов из разных стран), и они эту фичу таки получили уже в апреле.
SE>Другое дело, что в случае с Виндовс придется ждать года три до новой версии.
А что мешает самому взять да написать драйвер-фильтр который подвесится над disk.sys и будет "оптимизировать" запросы?
Как много веселых ребят, и все делают велосипед...
Re[6]: Тормоза при одновременном обращении к HDD
От: Pzz Россия https://github.com/alexpevzner
Дата: 11.09.10 20:35
Оценка:
Здравствуйте, Torie, Вы писали:

T>Посмотри в BIOS — SATA Mode. Если стоит режим AHCI — то NCQ включен, если IDE — отключен.

T>И кстати, если при установке винды стоял режим IDE, то переключить режим так просто не получится — винда будет показывать синий экран при загрузке. Придется попрыгать с бубном.

Хорошая система. Дружественная к пользователю
Re[3]: Тормоза при одновременном обращении к HDD
От: Pzz Россия https://github.com/alexpevzner
Дата: 11.09.10 20:36
Оценка:
Здравствуйте, Feonyf, Вы писали:

T>>Теоретически, в таких случаях ось могла бы вести себя поумнее, но M$ не до того


F>Добавили бы они флаг с названием "Желательно записывать большими кусками" в функцию CreateFile.


Зачем? Можно же зааллоцировать большой буфер, и читать/писать большими кусками
Re[7]: Тормоза при одновременном обращении к HDD
От: Torie  
Дата: 12.09.10 03:29
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Потому что возьмут 5 программ, и накидают в эту очередь запросов, и будет бедная венда головками туда-сюда ворочать вместо того, чтобы делом заниматься.


Вот сейчас именно так всё и происходит
Re[7]: Тормоза при одновременном обращении к HDD
От: x905  
Дата: 13.09.10 04:24
Оценка:
Здравствуйте, Pzz, Вы писали:

Pzz>Вот введут везде SSD, и проблема отпадет сама собой (зато появится другая, про которую пока и науки-то вроде нет).


какая проблема появится ?
Re: Тормоза при одновременном обращении к HDD
От: ZevS Россия  
Дата: 13.09.10 12:04
Оценка:
Здравствуйте, Feonyf, Вы писали:

F>почему программисты до сих пор не сделали грамотное разделение ресурсов диска ?


Потому что придумали не они — SSD вам в помощь.
Re[7]: Тормоза при одновременном обращении к HDD
От: mike_rs Россия  
Дата: 16.09.10 07:01
Оценка:
Здравствуйте, Centaur, Вы писали:

C>Здравствуйте, Torie, Вы писали:


T>>Посмотри в BIOS — SATA Mode. Если стоит режим AHCI — то NCQ включен, если IDE — отключен.

T>>И кстати, если при установке винды стоял режим IDE, то переключить режим так просто не получится — винда будет показывать синий экран при загрузке. Придется попрыгать с бубном.

C>У меня вот, помнится, последний раз, когда пробовал, в режиме AHCI Windows XP вообще ставиться не хотела — кажется, говорила «тут ставиться не на что».


надо ставить IDE, сетап запустится и когда будет первая перезагрузка, переключить в AHCI. ТОгда будет все ок.
Re[7]: дополнение
От: Pavel Dvorkin Россия  
Дата: 17.09.10 14:33
Оценка:
PD>Попробовал — работает, Windows 7. Правда, в результате при установленном в BIOS режиме SATA == IDE Windows 7 теперь не загружается. Наверное, можно откатить с помощью Safe Mode.

Как выяснилось, это еще не все.

Работать-то он работает, но все же в Device Manager устройства (HDD и CD-ROM) остались под ATA channel. Впрочем, это у меня с моей материнкой (M4A77TD) и AMD чипсетом, так что, возможно, для других будет иначе. В конце концов выяснилось, что надо скачать AMD SATA драйвер и попросить этот самый установленный AHCI SATA контроллер проапдейтить драйвер насильно. Драйвер для AMD SATA идет без сопровождения, так что ставил я его вручную. В результате появился AMD SATA controller, и HDD, и CD-ROM пересели к нему. Почему этот AMD SATA драйвер не ставился с диска материнки — бог знает.

Так что без танцев с бубном все же не обошлось.
With best regards
Pavel Dvorkin
Re[5]: Тормоза при одновременном обращении к HDD
От: Erop Россия  
Дата: 17.09.10 14:51
Оценка:
Здравствуйте, SE, Вы писали:

SE>И что? Снова Билл Гейтс — нетрадиционного сексуально ориентирован?

В этом нет никаких сомнений, но не ясно при чём предыдущая телега про кино, под которое редактируют важный файл?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[2]: Тормоза при одновременном обращении к HDD
От: BulatZiganshin  
Дата: 18.09.10 07:13
Оценка:
Здравствуйте, SE, Вы писали:

SE>Поскольку используются файлы с разных частей диска, то если файлы расположены на одной пластине, на одной ее стороне, то головка мечется между позициями для считывания. Это обычно слышно даже как "дырчание".


ты думаешь, что головки ходят независимо?
Люди, я люблю вас! Будьте бдительны!!!
Re[3]: Тормоза при одновременном обращении к HDD
От: SE Украина  
Дата: 18.09.10 16:45
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>Здравствуйте, SE, Вы писали:


SE>>Поскольку используются файлы с разных частей диска, то если файлы расположены на одной пластине, на одной ее стороне, то головка мечется между позициями для считывания. Это обычно слышно даже как "дырчание".


BZ>ты думаешь, что головки ходят независимо?


Хм... раньше думал
Re: Тормоза при одновременном обращении к HDD
От: Feonyf  
Дата: 19.09.10 20:52
Оценка:
Я заметил что многие обсуждают NCQ. Обращаю внимание на это.

NCQ это хорошо когда оно есть и можно его обсудить. Но стартовое сообщение не об этом.

Когда оптимизировано на всех уровнях это хорошо. Хочется чтобы так оно и было.

Поэтому предложения:
1. создать про NCQ отдельную ветку, если нужно
2. в это ветке говорить только об операционной системе: почему она так тормозит, кто виноват, как это исправить, сколько это стоит, и когда это будет исправлено.

Т.е. философствовать т.к. врятли это когда либо исправят. А хочется чтобы исправили, поэтому и философствуем
Моя строка построения буста:
.\bjam link=static threading=multi runtime-link=static -j %NUMBER_OF_PROCESSORS% --with-filesystem --with-thread --with-date_time address-model=64
Re[2]: Тормоза при одновременном обращении к HDD
От: Ромашка Украина  
Дата: 20.09.10 00:05
Оценка:
19.09.2010 23:52, Здравствуйте, Feonyf:
> Т.е. философствовать т.к. врятли это когда либо исправят. А хочется
> чтобы исправили, поэтому и философствуем

Блин, ну неисправимо это... Это физическое свойство жесткого диска — для
перевода головок требуется время, причем довольно длительное. NCQ не
спасает совершенно, он даст прирост начиная с 5-6 потоков. Именно из-за
этой особенности сейчас идет вторая волна его внедрения на SATA винтах,
в сказевых винтах TCQ давно и успешно трудится. Но покупать на десктоп
их один черт не имеет смысла — прирост будет ощутим только на серверах.
Posted via RSDN NNTP Server 2.1 beta


Всё, что нас не убивает, ещё горько об этом пожалеет.
Re[3]: Тормоза при одновременном обращении к HDD
От: Feonyf  
Дата: 20.09.10 06:37
Оценка:
Здравствуйте, Ромашка, Вы писали:

Р>Блин, ну неисправимо это... Это физическое свойство жесткого диска — для

Р>перевода головок требуется время, (...)

Неверю. Вот рассуждение:

Пошлём читать один файл. Допустим скорость в результате этого опыта 10 МБ/с. Характеристика HDD: скорость переключения на другой файл 20 мс (произвольный доступ головкой).
Теперь, пошлём читать два файла сразу.
В худшем случае будет: 4 килобайта считали переключились на второй файл, 4 килобайта считали переключились на первый и.т.д.
В лучшем случае будет: тоже самое только считываем по 10 мегабайт.

Понятно что во втором случае скорость произвольного доступа влияет на скорость гораздо меньше и ей (если она 20 мс) можно пренебречь.

Рассуждение верно ?

Еще случай:
Есть два приложения которые копируют файлы, и которые хотят сообщить операционной системе что для них важна скорость чтения а не отзывчивость.
Риторический вопрос: что будет если они пойдут одновременно читать разные большые файлы с CD-ROM ? (наверно тоже самое что в рассуждении выше, только ситуация ввиду долгого произвольного доступа будет в 10 раз хуже).
Моя строка построения буста:
.\bjam link=static threading=multi runtime-link=static -j %NUMBER_OF_PROCESSORS% --with-filesystem --with-thread --with-date_time address-model=64
Re[2]: Тормоза при одновременном обращении к HDD
От: shks57  
Дата: 22.09.10 18:22
Оценка:
Здравствуйте, andrey82, Вы писали:

A>Здравствуйте, Feonyf, Вы писали:


F>>вопросы:

F>>1. это мне кажется или оно таки есть ?

A>Да, так и есть. Время позиционирования головки на нужную дорожку ~единиц миллисекунд на современных винтах. Ели переключаться с одной дисковой задачи на другую несколько раз в секунду, то записать мало чего можно успеть.


F>>2. если оно так и есть, то почему программисты до сих пор не сделали грамотное разделение ресурсов диска ?


A>Кое-что сделали...например

A>NCQ

F>>Это применимо не только к виндусным системам.


Непонятно какие на диске дорожки и головки. Там же контроллер стоит. Он показывает что диск имеет 256 головок. А на самом деле их две, может больше. И как он интерпретирует команду записи непонятно. Может в буфер пишет, а потом вываливает на диск большим куском.
Re[3]: Тормоза при одновременном обращении к HDD
От: andrey82  
Дата: 22.09.10 18:46
Оценка:
Здравствуйте, shks57, Вы писали:

S>Непонятно какие на диске дорожки и головки. Там же контроллер стоит. Он показывает что диск имеет 256 головок. А на самом деле их две, может больше. И как он интерпретирует команду записи непонятно. Может в буфер пишет, а потом вываливает на диск большим куском.


Что значит "какие головки" обычные, физические, для чтения и записи... обычно от 2 до 8 штук. Независимо от алгоритма интерпретации данные на диск все равно в итоге потребуется сбрасывать, т.к. буфер невелик (16, 32, изредка 64Мб, при этом скорость линейной записи на современных винтах что-то около 50Мб/c)
Re[3]: Тормоза при одновременном обращении к HDD
От: Тот кто сидит в пруду Россия  
Дата: 27.09.10 09:08
Оценка:
Здравствуйте, SE, Вы писали:

T>>Теоретически, в таких случаях ось могла бы вести себя поумнее, но M$ не до того


SE>Откуда же оси знать, какой из файлов важнее. Что ни сделай пользователи останутся недовольны.


Как это откуда? Ей об этом должны сообщить прикладные программы через соответствующие API. В висте, кстати, появилась кое-какая поддержка для этого.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.