В Суб, 21/03/2009 в 17:04 +0300, Alexey Pechnikov пишет: > Hello! > > On Friday 20 March 2009 13:02:27 Покотиленко Костик wrote: > > О тесте: программа рекурсивно сканирует указанный каталог и составляет > > список обычных файлов, затем делит этот список на N частей. Далее > > программа создаёт N клонов с помощью fork(), каждый из которых читает > > файлы из своей части списка. По окончанию работы каждого клона выводится > > его статистика. > > Необходимо оценить средний размер файла. Пусть это будет 8 кБ согласно > паттерну работы с БД. Примечание: если реальные файлы больше, но запросов > много, то с диска они все равно будут читаться блоками, кратно 4 кБ (по > дефолту для ext3). > > 1. Необходимо обращаться к рандомному файлу. Каждый поток должен работать с > полным списком, случайным образом выбирая файл для чтения. Примечание: если > вы > посмотрите паттерны доступа от интел, то увидите, что для моделирования > работы > с БД и файлсервера предполагается именно 100% рандомный доступ (в первом > приближении стоит начинать именно с этого варианта). Учет этого фактора > незначительно ускорит многопоточное чтение. > > 2. Необходимо учесть "популярность" файлов - большинство обращений происходит > к одним и тем же файлам. Используйте гауссово распределение. Учет этого > фактора значительно оптимизирует работу файлового кэша и многократно ускорит > многопоточное чтение (в зависимости от параметров распределения). Это будет > второе приближение.
В случаях, когда кэш эффективен нет разницы параллельно читать или последовательно. -- Покотиленко Костик <[email protected]> -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

