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

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

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






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

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

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

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

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

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

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

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

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

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

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

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

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







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



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

Эффективность управления. Общие понятия о сущности и критериях эффективности. Эффективность управления – это экономическая категория, отражающая вклад управленческой деятельности в конечный результат работы организации...

Мотивационная сфера личности, ее структура. Потребности и мотивы. Потребности и мотивы, их роль в организации деятельности...

Классификация ИС по признаку структурированности задач Так как основное назначение ИС – автоматизировать информационные процессы для решения определенных задач, то одна из основных классификаций – это классификация ИС по степени структурированности задач...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

Плейотропное действие генов. Примеры. Плейотропное действие генов - это зависимость нескольких признаков от одного гена, то есть множественное действие одного гена...

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