Проверяем чтение с использованием кэша (прокэшировано ~100%) на моем каталоге /lib/modules:
# du -sh /lib/modules 365M /lib/modules Погонял несколько предварительный тестов пока прокэшировалось и скорость стало показывать стабильно. Проверяем для одного потока: > ./simreadtest /lib/modules -n 1 ... CHILD00: printing results: files: 12890 bytes: 340750735 speed: 1893669821 bytes/sec time usecs: 179942 ... Получаем скорость: 1806Мб/с, время: 0.179942с Проверяем для двух потоков: > ./simreadtest /lib/modules -n 2 ... CHILD01: printing results: files: 6445 bytes: 163305639 speed: 1485055735 bytes/sec time usecs: 109966 ... CHILD00: printing results: files: 6445 bytes: 177445096 speed: 1206182295 bytes/sec time usecs: 147113 ... Получаем суммарную скорость: 2209Мб/с, время: 0.147113с Итого: на моей машине 2 ядра, при использовании 2х потоков общая скорость увеличилась на (2209-1806)/1806=22.3%, скорость на ядро уменьшилась на (1806-2209/2)/1806=38.8% Проверяем для четырёх потоков: > ./simreadtest /lib/modules -n 4 ... CHILD04: printing results: files: 2 bytes: 1460 speed: 42941176 bytes/sec time usecs: 34 ... CHILD03: printing results: files: 3222 bytes: 85661152 speed: 921097560 bytes/sec time usecs: 92999 ... CHILD02: printing results: files: 3222 bytes: 77683236 speed: 924283270 bytes/sec time usecs: 84047 ... CHILD00: printing results: files: 3222 bytes: 95082054 speed: 1469288303 bytes/sec time usecs: 64713 ... CHILD01: printing results: files: 3222 bytes: 82322833 speed: 704312249 bytes/sec time usecs: 116884 ... Получаем суммарную скорость: 2780Мб/с, время: 0.116884с Итого: на моей машине 2 ядра, при использовании 4х(5ти) потоков общая скорость увеличилась на (2780-1806)/1806=53.9%, скорость на ядро уменьшилась на (1806-2780/4)/1806=61.5% относительно одного потока. Вывод: При ~100% эффективности кэша скорость чтения растёт с увеличением количества потоков даже превышающих количество реальных ядер, но растёт сильно не линейно. В Пнд, 23/03/2009 в 18:21 +0300, Alexey Pechnikov пишет: > Hello! > > On Monday 23 March 2009 12:03:05 Покотиленко Костик wrote: > > > http://meteor.dp.ua/reference/simreadtest/simreadtest-0.1.tar.gz > > > http://meteor.dp.ua/reference/simreadtest/simreadtest-19.03.2009-01.ods > > > http://meteor.dp.ua/reference/simreadtest/simreadtest-19.03.2009-01.pdf > > > > По ходу дела хочу отметить тот факт, что в этой рассылке процветает > > демагогия, а когда дело доходит до дела... > > А где у вас дело? Есть стандартные паттерны использования диска, вы их даже > не > смотрели. Гляну позже. Если дашь ссылку, буду благодарен. > Средняя скорость чтения в 13 Мб/с это полная ерунда. Реально > получается в разы быстрее. Для небольших непрокэшированных файлов это как раз та скорость. На больших она приближается к скорости линейного чтения, той, что hdparm -t показывает. > Почему - я отписался в предыдущем письме. Вы же, > вместо того чтобы проверить, абсолютно ошибочно заявляете, что кэш не влияет > на многопоточное чтение (хотя его в основном для многопоточного чтения и > сделали). Что-то не помню чтобы я такое заявлял. Я говорил, что в тех тестах, которые я делал, кэш оказался не эффективен. Напомню, что файлы читались последовательно, каждый один раз. Суммарный объём в несколько раз больше кэша, поэтому он был не эффективен. Напомню ещё, что изначально в этой теме речь шла о чтении с диска, может я зря не дописал, но имелось в виду именно с диска, без кэша ФС. И, получается, да, я был не прав считая, что увеличение количества потоков не увеличит скорость чтения при 100%-ой эффективности кэша. Для меня остаётся 2 загадки, почему при использовании 2х ядер такой маленький прирост 22.3% скорости, почему при 4х потоках на 2х ядрах скорость всё ещё увеличивается. -- Покотиленко Костик <cas...@meteor.dp.ua> -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org