Архитектура вычислительных систем

Автор работы: Пользователь скрыл имя, 30 Апреля 2015 в 17:32, контрольная работа

Краткое описание

Однокристальные ВС имеют чрезвычайно большую область применения. Однако наиболее широко они используются при разработке встраиваемых систем. т.е. там где важное значение имеют малые габариты, работа в реальном времени, низкое потребление энергии и простота сопряжения с разнообразными периферийными устройствами.
Это могут быть:
 системы управления оборудованием (электроприводы, промышленные станки, робототехника, военная и космическая техника).
 устройства сбора и обработки первичной информации (системы сбора информации с датчиков, модули GPS для ввода географических координат, скорости и времени, диагностическое оборудование)
 аудио - , видео, бытовая техника

Прикрепленные файлы: 1 файл

Архитектура вычислительных систем Контрольная Вариант 8.doc

— 156.00 Кб (Скачать документ)

T1=A*D=240*50=12 000 нс

 

2.Вычисляем время исполнения на ВС с конвейерной архитектурой. Оно определяется как произведение числа тактов, требуемых для исполнения программы, и продолжительности такта:

T2 = Q * B

 

Число тактов (для линейной программы, при исполнении которой не возникло ни одной коллизии) определяем как Q = C + D – 1.

T2 = (C + D - 1) * B = (4 + 50 - 1) * 80 нс = 4 240 нс

 

3. Вычисляем ускорение S = T1 / T2.

 

Таким образом, ускорение при переходе с ВС с неконвейерной архитектурой на ВС с конвейерной архитектурой составит 2,83.

 

 

Глава 4. RISC-архитектуры;

8. Какова структура АЛУ на  микропроцессоре Alpha 21264 ev6 и с какими  форматами данных оно работает?

Подсистема целочисленных операций (Ebox) содержит два "кластера". Каждый кластер имеет регистровый файл на 80 регистров и двух арифметических-логических устройства (АЛУ). Кластеры имеют сумматоры, сдвигатели, два блока логических команд, конвейерный целочисленный умножитель (умножает за семь тактов) и блок для операций поиска минимума/максимума.

Подсистема операций с плавающей запятой (Fbox) содержит регистровый файл из 72 физических регистров, конвейеризированный сумматор, конвейеризированный умножитель (умножает за четыре такта, что быстрее целочисленного умножения), неконвейеризированный блок деления и неконвейеризированный блок вычисления корня. Программно доступны только 32 регистр, остальные используются для реализации переименования.

Alpha 21264 ev6 обеспечивает работу  с целочисленными данными разрядностей 8, 16, 32, 64 и с данными с плавающей запятой в нескольких форматах размером 32 и 64 бита.

 

Задачи:

Задача1.

Гипотетический RISC микропроцессор имеет регистровый файл  с A глобальными регистрами, и Е окон из B регистров для входных параметров, C регистров для локальных переменных и D регистров для выходных параметров. Определите:

1) общее число регистров микропроцессора;

2) размер регистрового окна, видимого  подпрограмме;

3) размер регистров в области  пересечения двух окон.

 

Исходные данные:

A=10

B=6

C=10

D=6

E=8

 

Решение:

1) Общее число регистров микропроцессора Q- это сумма количества глобальных регистров и количества регистров в окнах. Число регистров, расположенных во всех регистровых окнах, - это произведение числа окон на сумму количества регистров для локальных переменных в окне и количества регистров для входных параметров (или количества выходных параметров, т.к. эти величины всегда равны):

Q = A + E * (C + B) = 10+8*(10+6)=138

 

2) Размер регистрового окна S1, видимого подпрограмме, равен сумме количества регистров для локальных переменных, количества регистров для входных параметров и количества регистров для входных параметров:

S = B + C + D = 6+10+6=22

 

3) Число регистров в области пересечения двух окон S2 равно B или D.

S2=B=D=6

 

Задача2.

Гипотетический RISC микропроцессор имеет регистровый файл, в котором всего A регистров, из которых B - глобальные. В каждом из E окон есть C регистров для входных параметров и D регистров для выходных параметров. Сколько регистров для локальных переменных есть в окне?

 

Исходные данные:

A=160

B=32

C=4

D=4

E=8

 

Решение:

Вычисляем число регистров, расположенных во всех регистровых окнах. Для этого от общего числа регистров A отнимаем число глобальных регистров B. Далее определяем размер окна, разделив число регистров, расположенных во всех регистровых окнах, на количество окон E . От размера окна отнимаем количество регистров для входных параметров C, получив искомую величину L - число регистров для локальных переменных в окне.

L = (A - B) / E - C = (160-32)/8 – 4=12

 

Задача3.

Гипотетический RISC микропроцессор имеет регистровый файл, в котором всего A регистров, из которых B - глобальные. В каждом из D окон есть C регистров для локальных переменных. Сколько всего в каждом окне есть регистров для входных и выходных параметров?

 

Исходные данные:

A=288

B=32

C=16

D=8

 

Решение:

Вычисляем число регистров, расположенных во всех регистровых окнах. Для этого от общего числа регистров A отнимаем число глобальных регистров B. Далее определяем размер окна, разделив число регистров, расположенных во всех регистровых окнах, на количество окон D. От размера окна отнимаем количество регистров для локальных переменных в окне C.

X = (A - B) / D - C = (288-32)/8 – 16=16

 

 

Глава 5. ВС с крупноблочным параллелизмом.

8.1. Каковы характерные черты  ВС с архитектурой NUMA?

 

NUMA системы представляют  из себя гибрид SMP и MPP.

Гибридная архитектура совмещает достоинства систем с общей памятью и относительную дешевизну систем с раздельной памятью.

 

Машины NUMA имеют следующие ключевые характеристики, которыми все они обладают и которые в совокупности отличают их от других мультипроцессоров:

 

  1. Система состоит из однородных базовых модулей (плат), состоящих из небольшого числа процессоров и блока памяти. Модули объединены с помощью высокоскоростного коммутатора. Поддерживается единое адресное пространство, аппаратно поддерживается доступ к удаленной памяти, т.е. к памяти других модулей. При этом доступ к локальной памяти в несколько раз быстрее, чем к удаленной. В случае, если аппаратно поддерживается когерентность кэшей во всей системе (обычно это так), говорят об архитектуре ccNUMA (cache-coherent NUMA)

 

  1. Масштабируемость NUMA-систем ограничивается объемом адресного пространства, возможностями аппаратуры поддежки когерентности кэшей и возможностями операционной системы по управлению большим числом процессоров. На настоящий момент, максимальное число процессоров в NUMA-системах составляет 512 (Origin3800).

 

  1. Обычно вся система работает под управлением единой ОС, как в SMP. Но возможны также варианты динамического "подразделения" системы, когда отдельные "разделы" системы работают под управлением разных ОС (например, Windows NT и UNIX в NUMA-Q 2000).

 

8.2. Какие существуют виды кластеров?

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

Кластерные системы могут использовать самые разные платформы и оборудование и , как правило, классифицируются не по набору комплектующих, а по областям применения.

Выделяют четыре типа кластерных систем:

  • вычислительные кластеры – Этот тип кластеризации применяется для организации научных вычислений, где требуется высокая масштабируемость и использование всех процессорных мощностей для решения одной задачи. Такие кластеры, как правило, используют пакетную обработку заданий и не имеют средств поддержания устойчивости. Используется механизм контрольных точек для возобновления вычислений в случае сбоя. Для вычислительных кластеров существенными показателями являются высокая производительность процессора в операциях над числами с плавающей точкой (flops) и низкая латентность объединяющей сети, и менее существенными — скорость операций ввода-вывода

 

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

 

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

 

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

Задачи:

 

1. Имеется гипотетический  кластер, имеющий в своем составе A счетных узлов. Каждый узел имеет оперативную память объема B Мб. Операционная система занимает C Мб оперативной памяти на каждом узле. Пользователь хочет запустить процесс физического моделирования на всех узлах кластера. Модель содержит двумерный массив для хранения значений переменных в равномерно расположенных (на равномерной сетке) точках пространства. В каждой точке для модели требуется иметь C переменных одинакового формата. Размер переменной D байт. Модель такова, что размер массива по вертикали всегда равен размеру по горизонтали. Массив разрезается на равные части и распределяется между узлами кластера. Крайние столбцы части массива (расположенные у линии разреза) дублируются в соседнем узле. Нулевой столбец части массива в первом узле и последний столбец части массива в последнем узле — не дублируются.

Оцените в соответствии с данными Вашего варианта, каков максимальный размер массива (число ячеек по вертикали или горизонтали) может быть использован для моделирования на кластере? Размером моделирующей программы и всех остальных ее данных принять равной 1 Мб.

 

Исходные данные:

A=32

B=512

C=50

D=8

 

Решение:

1. Определяем размер  памяти H, доступной для хранения массива на отдельном счетном узле. Для этого от объема оперативной памяти узла B отнимаем объем памяти, требуемый для ОС – C Мб, моделирующей программы и ее прочих данных 1Мб:

H = B - C - 1 = 512 - 50 - 1 = 461 Мб

2. Определяем размер  ячейки массива S. Он равен произведению числа хранимых в ячейке переменных C на их размер D.

S = C * D =50*8= 400 б

 

3. Вычисляем, сколько ячеек  массива Q можно было бы сохранить в памяти, доступной для хранения этого массива:

Q = floor(H / S) = floor(461Мб / 400 б) = floor(461*220 / 400) =1 208 483 б

 

 где floor - функция отсечения дробной части.

 

4. Так как способ разрезания  массива на части в условиях  задачи не задан, выбираем разрезание на прямоугольные области с разрезом по вертикали. Обозначим искомый размер как X. Для выбранного нами способа разрезания массива, размер областей (для всех узлов, кроме крайних) по вертикали будет X, а по горизонтали X/A + 2.

Число ячеек в областях будет (X/A + 2) * X. Оно не может превышать Q.

Получается неравенство:

(X/A + 2) * X <= Q

При этом X - натуральное. Размер не может быть дробным, нулем или отрицательным. Аналогично, X/A - натуральное.

Введем Z, которое может быть дробным.

 

(Z/A + 2) * Z = Q

Xmin = floor( floor(Z) / A ) * A   для положительного Z.

Xmax = floor(Z).

 

Искомое значение X принадлежит интервалу [Xmin; Xmax].

Решение квадратного уравнения (Z/A + 2) * Z = Q дает два его корня, из которых нам нужен только положительный.

Решим квадратное уравнение:

Z2 + 2AZ-AQ=0

Z2 + 64*Z-38 671 456=0

 

Положительный корень приблизительно равен 6 186,64

 

Xmin = floor(floor(6 186,72) / 32) * 32 = 6 176

 

Xmax = floor(6 186,72) = 6 186

 

X расположен на интервале [6 176; 6 186]

Ответом будет наибольшее значение X, для которого является истинным неравенство

(ceil( X / A ) + 2) * X <= Q,

где ceil - функция нахождения целого числа, которое не меньше, чем аргумент.

 

X = 6 176    удовлетворяет неравенству.

Ответ: размер квадратного массива по ширине и по высоте равен 6 176.

 

 

Глава 6. Анализ и измерение производительности ВС

8. Какие имеются виды аналитических  моделей с дискретным временем  и в чем их особенности?

 

Модели с дискретным временем делятся на две группы:

1) событийно-ориентированные (дискретно-событийные) - функционирование системы представляется как хронологическая последовательность событий. Событие происходит в определенный момент времени и знаменует собой изменение состояния системы.

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

Событийно-ориентированные модели годятся для самого широкого класса систем.

 

2) основанные на циклах

В моделях, основанных на циклах, все изменения в состоянии системы синхронизированы с модельным временем. Пример такой модели - модель микропроцессора, в которой состояние меняется на каждом цикле. Модели, основанные на циклах, в некотором смысле можно рассматривать как частный случай событийно-ориентированных, если считать начало цикла событием.

Задачи:

Задача1.

Разработчик решил установить Web-портал на машину, подключенную к сети Internet по каналу передачи данных с пропускной способностью A КБит/сек. Средний размер генерируемой по запросу пользователя страницы - B КБайт. Размер пакета данных с запросом принять равным 1 КБайт. Дайте оптимистическую оценку числа запросов, которые может обслужить портал за одни сутки. Пропускную способность канала в 1КБит/сек считать равной 1000 Бит/сек.

Информация о работе Архитектура вычислительных систем