Студопедия — Тестирование производительности подсистемы памяти и кэша
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Тестирование производительности подсистемы памяти и кэша






4. Какую команду нужно ввести в поле «Выполнить» чтобы посмотреть список автозагрузок?

5. Перечислите основные корневые разделы системного реестра.

Практическая работа №5

Под термином «подсистема памяти» понимается связка «процессор-чипсет-память». Сюда входит блок ввода-вывода процессора, канал межпроцессорного обмена и кон­троллер памяти с самими модулями памяти. Система кэширования, состоящая из кэшей нескольких уровней, обычно первого и второго, обеспечивает поддержу кэширования в процессоре.

Давайте в первую очередь вспомним, от каких факторов зависит производительность оперативной памяти. Естественно было бы основным фактором производительности оперативной памяти назвать ее пропускную способность, т.е. количество мегабайт в секунду, которое способна считать (записать) оперативная память. Разумеется, пропу­скная способность оперативной памяти напрямую зависит от частоты работы чипов памяти и от ширины шины, связывающей память и процессор, и обычно определяется как произведение ширины шины на частоту работы памяти. Например, при ширине шины 64 бита (8 байт) и частоте работы памяти 100 МГц, пропускная способность со­ставляет 8 байт х 100 МГц = 800 Мбайт/с.

Но пропускная способность - не единственный фактор, определяющий производитель­ность подсистемы памяти. Важнейшим параметром также является время доступа, т.е. временная задержка между запросом на выдачу какой-либо информации из памяти и ее реальной выдачей.

Какая память лучше: с малой задержкой и малой пропускной способностью или с большой задержкой и большой пропускной способностью? Однозначного ответа на этот вопрос, конечно, быть не может. Если конкретная программа работает с большими массивами не­прерывных данных, т.е. лишь однажды получает доступ, а затем линейно считывает, то для такой программы оптимальна память с большой пропускной способностью. А если программа оперирует малыми блоками данных, т.е. постоянно получает доступ к разным областям памяти и понемногу читает из каждой области, то оптимальна память с малым временем доступа, а пропускная способность имеет меньшее значение. Так как обычно на компьютере исполняются разные приложения, то очень трудно найти компромисс.

В общем случае, естественно, необходимо стремиться к тому, чтобы и время доступа и пропускная способность памяти были оптимальными.

Теперь разберемся с тем, какую роль играет кэширование. Кэширование операции чтения (спекулятивное чтение) не может ускорить доступ к внешней памяти выше то­го, что может сама подсистема памяти, оно убирает паузы в обмене. Кэширование за­писи (отложенная запись) может несколько замаскировать время операции записи при том условии, что эти операции будут редки. Отложенная запись называется так пото­му, что сама операция физической записи на диск может быть отложена на некоторое время и выполниться позднее. Данные, предназначенные для записи, временно сохра­няются в кэше. Причем, в выполняемую программу сразу посылается признак о за­вершении операции записи. Это позволяет программе не тратить время на ожидание завершения операции ввода-вывода. При постоянной записи или при переписывании кэширование записи только затормаживает процесс. Причем, чтение по случайным адресам вообще невозможно ускорить кэшированием, в отличие от записи, которая может выполняться в то время, когда контроллер памяти будет не слишком занят.

Таким образом, если программа не часто записывает, то сами операции записи в па­мять выполняются прозрачно, не останавливая процессор для ожидания окончания операции ввода-вывода. Проблемы возникают, когда программа начинает записывать слишком часто. При этом отложенная запись «съедает» место в кэше, и подсистема памяти не знает, когда лучше перейти от незаметной к постоянной записи, которая уже никак не будет невидимой и будет «тормозить» процессор, точнее, его блок ввода-вывода.

Как и по каким правилам будет выполняться запись, если программе требуется делать это часто, - целиком зависит от аппаратной реализации подсистемы памяти. В руках программиста очень мало средств повлиять на этот механизм. Можно поменять прин­цип кэширования или отключить его вовсе для какого-либо региона или всей памяти, но это малоэффективно и редко используется. В SSE появились команды прямой запи­си в RAM минуя кэширование. Эффективность может составлять до 30% (по данным AMD) из-за того, что кэш не засоряется.

Спекулятивность чтения заключается в чтении памяти блоками, равными размеру стро­ки кэша, и попытке начать операцию чтения следующего блока сразу по завершении ввода текущего. Как правило, программа читает и исполняет последовательные ячейки памяти. Но это «как правило» и в этом может быть больше вреда, чем пользы. Операция чтения с участием кэша выполняется аналогично записи, только «наоборот». Если про­цессору потребовались данные и их не оказалось в кэше, то посылается запрос на чтение в контроллер памяти. После получения этого запроса контроллер формирует адрес и начинает последовательное чтение блока данных из внешней памяти. Не дожидаясь окончания чтения блока, контроллер начинает посылку данных в процессор по мере счи­тывания. При поступлении в процессор они автоматически копируются в кэш. И сразу возникает проблема - размер кэша не бесконечен и при поступлении новых данных при­ходится выкидывать старые. А если это были данные отложенной записи, и они не были записаны? Естественно, эти данные обязательно надо записать, но, пока идет чтение, это не возможно. Возникает еще один конфликт: контроллер внешней памяти не может вы­полнять чтение и запись одновременно. Приходится решать проблему первоочередности операций. Но записывающая программа решить такую проблему не может, сказав «брось все, записывай». Это решается на уровне контроллера.

Тестирование производительности подсистемы памяти и кэша в SiSoftware Sandra вы­полняется двумя модулями: Тест пропускной способности памяти (Memory Bandwidth Benchmark) и Тест кэш и памяти (Cache & Memory Benchmark).







Дата добавления: 2015-09-19; просмотров: 917. Нарушение авторских прав; Мы поможем в написании вашей работы!



Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Принципы, критерии и методы оценки и аттестации персонала   Аттестация персонала является одной их важнейших функций управления персоналом...

Пункты решения командира взвода на организацию боя. уяснение полученной задачи; оценка обстановки; принятие решения; проведение рекогносцировки; отдача боевого приказа; организация взаимодействия...

Что такое пропорции? Это соотношение частей целого между собой. Что может являться частями в образе или в луке...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

Словарная работа в детском саду Словарная работа в детском саду — это планомерное расширение активного словаря детей за счет незнакомых или трудных слов, которое идет одновременно с ознакомлением с окружающей действительностью, воспитанием правильного отношения к окружающему...

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

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия