Почитал статьи про процессорный кэш, что они ускоряют работу сокращая число обращений к памяти, возник такой общий вопрос.
На сколько кэш сокращает кол-во обращений к памяти для типовых программ (например возьмем Win+Office). Какого порядка числа? Ясно что каждая программа может вести себя особо и числа могут быть разными, но все же. Какой типовой порядок вообще для разных размеров кешей, например 512kb и 1mb: в два раза, в три, в 10 и т.п.?
PM>На сколько кэш сокращает кол-во обращений к памяти для типовых программ (например возьмем Win+Office). Какого порядка числа? Ясно что каждая программа может вести себя особо и числа могут быть разными, но все же. Какой типовой порядок вообще для разных размеров кешей, например 512kb и 1mb: в два раза, в три, в 10 и т.п.?
Берешь qemu, вставляешь туда лог обращений к памяти, получаешь его с прогона нужной программы и прогоняешь по модели кэша.
Будет у тебя всё, что нужно.
Или спрашивай у Интела.
Мой опыт — это не win+office, это древний dhrystone, — говорит, что кэш может устранить все промахи. И, AFAIR, разница между кэшем, вмещающим рабочее множество, и вдвое меньшим, составляла что-то процентов 10 промахов.
Общую оценку для Win+Office можно прикинуть из общих соображений. Конвейер современных процессоров простаивает 50-60% времени из-за обращений к памяти, каждый второй такт. Время обращения к памяти составляет 20-30 тактов при промахе. Получается, что он ловит 95-98% обращений.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
T>Берешь qemu, вставляешь туда лог обращений к памяти, получаешь его с прогона нужной программы и прогоняешь по модели кэша.
Можно измерить частоту промахов у уже имеющейся программы (например, у офиса)?
T>Мой опыт — это не win+office, это древний dhrystone, — говорит, что кэш может устранить все промахи.
dhrystone — это набор тестов, как они помогут устранить промахи?
Здравствуйте, PaulMinelly, Вы писали:
PM>На сколько кэш сокращает кол-во обращений к памяти для типовых программ (например возьмем Win+Office). Какого порядка числа?
Самое простое — отключить кэши L1/L2 и поработать с данными программами
Здравствуйте, Michael Chelnokov, Вы писали:
MC>Здравствуйте, PaulMinelly, Вы писали:
PM>>На сколько кэш сокращает кол-во обращений к памяти для типовых программ (например возьмем Win+Office). Какого порядка числа?
MC>Самое простое — отключить кэши L1/L2 и поработать с данными программами
T>>Берешь qemu, вставляешь туда лог обращений к памяти, получаешь его с прогона нужной программы и прогоняешь по модели кэша. PM>Можно измерить частоту промахов у уже имеющейся программы (например, у офиса)?
Да.
Запусти его на эмуляторе и смотри себе в удовольствие.
T>>Мой опыт — это не win+office, это древний dhrystone, — говорит, что кэш может устранить все промахи. PM>dhrystone — это набор тестов, как они помогут устранить промахи?
Опыт получен на dhrystone. Опыт говорит о том, что промахи могут быть устранены.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Здравствуйте, thesz, Вы писали:
T>>>Берешь qemu, вставляешь туда лог обращений к памяти, получаешь его с прогона нужной программы и прогоняешь по модели кэша. PM>>Можно измерить частоту промахов у уже имеющейся программы (например, у офиса)?
T>Да. T>Запусти его на эмуляторе и смотри себе в удовольствие.
Где скачать эмулятор?
T>>>Мой опыт — это не win+office, это древний dhrystone, — говорит, что кэш может устранить все промахи. PM>>dhrystone — это набор тестов, как они помогут устранить промахи?
T>Опыт получен на dhrystone. Опыт говорит о том, что промахи могут быть устранены.
T>>Да. T>>Запусти его на эмуляторе и смотри себе в удовольствие. PM>Где скачать эмулятор?
В качестве эмулятор может подойти qemu. Напильником, только, доработать.
T>>Опыт получен на dhrystone. Опыт говорит о том, что промахи могут быть устранены. PM>Можно ссылку на тест посмотреть?
dhrystone лежит где угодно.
Yours truly, Serguey Zefirov (thesz NA mail TOCHKA ru)
Здравствуйте, thesz, Вы писали:
T>>>Да. T>>>Запусти его на эмуляторе и смотри себе в удовольствие. PM>>Где скачать эмулятор?
T>В качестве эмулятор может подойти qemu. Напильником, только, доработать.
T>>>Опыт получен на dhrystone. Опыт говорит о том, что промахи могут быть устранены.
Каким образом dhrystone может скаазать что промахи в определенной программе могут быть устранены? Ведь dhrystone — это набор тестов и его тест измеряющий производительность кэша пользуясь определенной программой, причем такая программа имеет свой "working set" которая может умещаться целиком в кеше, а может и нет. Каким образом тесты dhrystone могут показать что промахи могут быть устранены? Ведь они могут только показать производительность кэша используя для этого определенный тест?
Здравствуйте, PaulMinelly, Вы писали:
PM>Здравствуйте, thesz, Вы писали:
T>>>>Да. T>>>>Запусти его на эмуляторе и смотри себе в удовольствие. PM>>>Где скачать эмулятор?
T>>В качестве эмулятор может подойти qemu. Напильником, только, доработать.
T>>>>Опыт получен на dhrystone. Опыт говорит о том, что промахи могут быть устранены. PM>Каким образом dhrystone может скаазать что промахи в определенной программе могут быть устранены? Ведь dhrystone — это набор тестов и его тест измеряющий производительность кэша пользуясь определенной программой, причем такая программа имеет свой "working set" которая может умещаться целиком в кеше, а может и нет. Каким образом тесты dhrystone могут показать что промахи могут быть устранены? Ведь они могут только показать производительность кэша используя для этого определенный тест?
Остался открытым вопрос, правильно ли я понял, каким образом отдельно взятый тест (работающий на программе производителя тестов) может помочь сделать заключение что промахи могут быть устранены в какой-то другой отдельно взятой программе (если я вообще правильно понял)? Т.е. понимаю так: берем тест, прогоняем, получаем какие-то скорости кэша, потом берем другую программу и что дальше, как статистика работы теста загружающего кэш (ведь тест кэша по сути просто тестирует скорость кэша и показывает кол-во промахов этой тестирующей программы) так вот каким образом статистика отдельной программы-теста поможет нам устранить промахи совсем в другой программе? если я правильно понял?