LINUX.ORG.RU

Зависимость скорости расчетов от времени работы ОС


0

0

Я занимаюсь разработкой и реализацией новых базовых алгоритмов линейной алгебры (см. мою страницу http://www.thesa-store.com/products/ ). Заметил, что чем больше времени прошло от загрузки ОС, тем больше скорость счета. С чем это может быть связано?

anonymous

Юрий, Вы и сюда пробрались?!

annoynimous ★★★★★
()

Наверное электроны в процессоре со временем притираются и он начинает считать быстрее.

anonymous
()

Единственное реальное объяснение - это погрешность измерения из за загрузки процессора и памяти другими процессами. Напоминаю что даже в "чистой" ОС есть наверное сотня процессов которые потенциально могут загружать процессор, так что реальное время и процессорное время не есть одно и то же.

anonymous
()

Да элементарно дисковый кэш разогревается. Самое простое объяснение.

В качестве примера - у сервера Exchange 2007 с памятью 32GB и приличной нагрузкой (4-5 тысяч пользователей) на разогрев уходит 45-60 минут (зависит от активности пользователей, конечно).

Могут быть и другие причины, само собой.

anonymous
()
Ответ на: комментарий от anonymous

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

В то же время в случае с Иксчендж с его базой мессагов _на диске_ это пожалуй наиболее узкое место.

anonymous
()
Ответ на: комментарий от anonymous

Ну так это вполне естественно. Снова же надо разогревать.

anonymous
()
Ответ на: комментарий от anonymous

Good point, но другое объяснение пока что на ум не приходит. А используется диск или нет и насколько интенсивно, элементарно отслеживается тем же perfmon'ом.

anonymous
()
Ответ на: комментарий от anonymous

Ну как его база вся полностью в дисковый кеш попадает так он и начинает летать. Чую если после запуска сделать банальный fread всех файлов базы, а потом запустить Exchange, то "разогрева" никакого не будет, а он сразу "взлетит".

Reset ★★★★★
()

Для начала определимся, что же собственно измеряется.

> Заметил, что чем больше времени прошло от загрузки ОС, тем больше скорость счета.

$SUBJ.

Dselect ★★★
()
Ответ на: комментарий от anonymous

Таки определяемся, что меряется.

> Скорость счёта измеряется.

Определение "скорости счёта" -- в студию. Или хотя бы покажите команду (функцию, или что там у Вас), которой Вы меряете эту загадочную величину.

> Умные мысли будут?

Не лезьте в бутылку. Ваш вопрос (мягко говоря) нечётко сформулирован.

Dselect ★★★
()
Ответ на: комментарий от Reset

> Чую если после запуска сделать банальный fread всех файлов базы, а потом запустить Exchange, то "разогрева" никакого не будет, а он сразу "взлетит".

К изначальному вопросу всё это не имеет отношения. Числодробильня -- она настолько CPU bound, что всяким (недо)почтовикам и в кошмарном сне не приснится.

Dselect ★★★
()
Ответ на: комментарий от anonymous

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

Если мерять с помощью getrusage(), и глядеть на ru_utime, то наличие других процессов частично учитывается. Частично -- потому что тяжело оценить потери на лишние переключения контекста и вытекающие из них гадости (сброс конвейера, "вылет" данных из кеша процессора, сброс TLB, и т.п.). Но поскольку автор вопроса молчит, как партизан, (видимо, у него секретный метод измерения), можно только строить предположения.

Dselect ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.