СибГУТИ Контрольная работа Архитектура вычислительных систем скачать бесплатно
Глава 1. Способы организации и типы ВС
8. Каковы области применения однокристальных ВС?
Однокристальные ВС имеют чрезвычайно большую область применения. Однако наиболее широко они используются при разработке встраиваемых систем. т.е. там где важное значение имеют малые габариты, работа в реальном времени, низкое потребление энергии и простота сопряжения с разнообразными периферийными устройствами.
Это могут быть:
системы управления оборудованием (электроприводы, промышленные станки, робототехника, военная и космическая техника).
устройства сбора и обработки первичной информации (системы сбора информации с датчиков, модули GPS для ввода географических координат, скорости и времени, диагностическое оборудование)
аудио - , видео, бытовая техника
Задача
Самостоятельно рассмотрите указанную область применения в плане предъявляемых ею требований к ВС: Карманный аудиоплейер для проигрывания звука, записанного в цифровом виде на компактный модуль flash памяти.
Решение:
1. Основное требование - малые физические размеры
2. Низкое энергопотребление
3. Выполнение интенсивных математических вычислений, характерных для алгоритмов цифровой обработки сигналов
4. Компактное программное обеспечение, возможно ПО будет записано («прошито») в микросхемы ПЗУ (или ППЗУ) на этапе производства и без возможности изменения.
5. Поддержка внешней flash памяти
6. Невысокая цена
Глава 2. Параллельная обработка информации.
8. Как была устроена коммутирующая сеть ВС ILLIAC IV, в чем заключались ее достоинства и недостатки?
ILLIAC IV – векторная суперЭВМ с матричной структурой. ILLIAC IV создана Иллинойским университетом и корпорацией Бэрроуз (Burroughs Corporation). Работы по созданию ILLIAC IV выполнялись под руководством Д. Л. Слотника и были начаты в 1966 г. в Иллинойском университете. Монтаж системы был закончен в мае 1972 г. в лаборатории фирмы Burroughs (Паоли, штат Панама), а установка для эксплуатации осуществлена в октябре 1972 г. в Научно-исследовательском центре НАСА им. Эймса (NASA’s Ames Research Center, штат Калифорния).
По первоначальному проекту она должна была включать в себя 256 процессорных элементов (ПЭ), разбитых на 4 группы – квадранты, каждый из которых должен был управляться специальным процессором (УП). Соответственно было бы 4 потока команд. Управление всей системой, содержащей кроме УП и ПЭ также внешнюю память и аппаратуру ВВ, предполагалось от центрального управляющего процессора (ЦУП).
В результате система была создана в составе одного квадранта (одиночный поток команд) и одного УП.
В квадранте 64 ПЭ образуют матрицу размером 8Х8. Реально действующая система ILLIAC-IV состоит, таким образом, из двух частей; центральной с устройством управления и 64 ПЭ, а также подсистемы ввода - вывода, включающей в себя универсальную ЭВМ В-6700, файловые диски и лазерную архивную память большой емкости. Каждый ПЭ состоит из собственно процессора и ОЗУ. Процессор оперирует с 64-разрядными числами и выполняет универсальный набор операций. Быстродействие процессора достаточно высокое: операция сложения 64-разрядных чисел выполняется за 240 нс, а умножения - за 400 нс. Таким образом, процессор выполняет в среднем 3 млн. операций в секунду, а следовательно производительность системы равна ЗХ64 200 млн. операций в секунду.
Емкость ОЗУ каждого ПЭ составляет 2048 64-разридных слов, длительность цикла обращения к памяти 350 нс. Память выполнена на интегральных схемах. Каждый процессор имеет счетчик адресов и индексный регистр, так что конечный адрес в каждом процессоре может формироваться как сумма трех составляющих: адреса, содержащегося в команде для данного ПЭ, кода. Это существенно повышает гибкость системы по сравнению с системой SOLOMON, где все ПЭ выбирают информацию по одному адресу.
Каждый процессор кроме индексного регистра имеет в своем составе пять программно-адресуемых регистров: накапливающийся сумматор, регистр для операндов, регистр пересылок, используемый при передачах от одного ПЭ к другому, буферный регистр на одно слово и регистр управления состоянием ПЭ. Регистр управления имеет 8 разрядов. В зависимости от содержимого этого регистра ПЭ становится активным или пассивным, а также выполняет ряд пересылочных операций. Если вычисления не требуют полной разрядности, то процессор может быть разбит на два 32-разрядных подпроцессора или даже восемь 8-раэрядных. Это позволяет в случае необходимости обрабатывать векторные операнды из 64, 2Х64=128 и 8Х64=512 элементов.
Недостатки системы :
1. Одной из проблем, связанной с машиной ILLIAC IV, является задержка, возникающая при маршрутизации длинных соединений для пересылки данных через матрицу, обусловленная ограниченным числом соединений между 64 процессорами и 64 банками памяти ПЭ (каждый ПЭ имеет связь только с ближайшими соседними ПЭ). Все попытки решить эту задачу с помощью системного программного обеспечения потерпели неудачу, в результате каждое приложение требовало ручного программирования передач коммутатора.
2. Не любая задача могла быть эффективно решена на данной системе. При построении параллельных алгоритмов необходимо было учитывать, что система ILLIAC IV управлялась одним потоком команд, т.е. структура системы позволяла одновременно выполнять одинаковые операции над 64 множествами данных, записанных в памяти различных ЭП. Следовательно, эффективные параллельные алгоритмы могли быть построены только для тех трудоемких задач, решение которых было связано с многократными вычислениями одной и той же функции для различных значений аргументов. Таких, например, как операции над матрицами, быстрое преобразование Фурье, линейное программирование, обработка сигналов, где как раз имеет место параллелизм данных или параллелизм независимых объектов.
3. Разработка программ для систем ILLIAC-IV, обеспечивающих высокую производительность, была весьма сложным делом.
4. Очень высокая стоимость конструкции. Стремление к использованию в проекте и конструкции компьютера ILLIAC IV самой совершенной технологии сделало её очень дорогой, ненадежной и очень трудной в эксплуатации.
Задачи
Задача 1.
МЗП клеточно-автоматная модель простейшего сумматора состоит из клеточного объекта - поля значений и двух правил: правило сложения и переноса и правило подъема. Клеточный объект в данном случае - это двумерный массив, элементами которого может быть 0 или 1. Строки клеточного объекта содержат двоичные представления чисел, которые сумматор должен сложить. Правила определяют, каким образом будут вычисляться новые значения ячеек клеточного массива. Каждое правило имеет правую и левую части. Правая часть означает условие применимости, а левая - новое значение после срабатывания правила.
Правило сложения и переноса:
x1 x0
01 -> 10
00 xx
(x в левой части означает, что значение клетки на поле может быть любым, x в правой части означает, что правило не изменяет значение клетки в соответствующей позиции на поле)
Правило подъема:
0 1
1 --> 0
0 0
Для заданных начальных значений клеточного массива размера 7x7, вычислите результат работы модели.
Исходные данные:
0000011
0000111
0001111
0000001
0000000
0000000
0000000
Решение:
Условные обозначения:
Участок поля 2x3, обведенный жирной рамкой – участок, к которому на данном шаге применимо правило сложения и переноса
Участок поля 1x3, закрашенный серым цветом – участок, к которому на данном шаге применимо правило подъема.
После шага 6 применимых правил больше нет – получили результат работы сумматора.
Задача 2.
Клеточно-автоматная модель для оконтуривания растрового изображения основана на следующем правиле, описанным как функция от параметров-клеток своей части и применяемого к клеточному массиву . Так как мы не оговорили, как применять правила на границе клеточного массива, когда левая часть правила выходит за его пределы, будем использовать клеточный массив, в котором все крайние клетки и их соседи равны 0. Левая часть правила такова, что оно применимо ко всем клеткам клеточного массива.
Правило оконтуривания:
ijk xxx
lmn -> xfx
opq xxx
где в левой части правила указаны девять переменных, принимающих значения из сооветствующей клетки клеточного массива, а x - не изменяет значение клетки в соответствующей позиции на поле, а f вычисляется по формуле:
f = (m != i) или (m != j) или(m != k) или (m != l) или(m != m) или (m != n) или(m != o) или (m != p) или(m!= q)
Клеточное поле данной задачи в исходном виде содержит коды пикселов растрового изображения (0 - черный, 1 - белый). Правило оконтуривания применяется к каждой клетке клеточного поля. Оно записывает в центральную клетку 1, если эта клетка - часть контура, или 0, если нет. К контуру она относится, если значение центральной клетки (той, для которой вычисляется новое значение) не равно значению хотя бы одной из оставшихся восьми клеток (клеток вокруг центральной клетки, или клеток окрестности).
Для заданных вариантами начальных значений клеточного массива, вычислите результат работы модели.
00000000000000000000000000000000
00000000000000000000000000000000
00000000000001111000000000000000
00000000000001111000000000000000
00000000000001111000000000000000
00000000000001111000000000000000
00000000011111111111100000000000
00000000011111111111100000000000
00000000011111111111100000000000
00000000011111111111100000000000
00000000000001111000000000000000
00000000000001111000000000000000
00000000000001111000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
Решение:
Условные обозначения:
Ячейка клеточного поля, которая содержит 0 обозначена черным цветом.
Ячейка клеточного поля, которая содержит 1 обозначена белым цветом.
Тогда исходное состояние системы можно представить рисунком1:
Рис.1
Результат применения правила оконтуривания система представлен на рисунке2.
Рис2.
Глава 3. Конвейерная архитектура.
8. Какие существуют способы предсказания ветвления и чем они отличаются?
Предсказание ветвления – выбор одной из возможных ветвей программы, возникающих после инструкции условного ветвления до того, как вычислено условие этого ветвления.
Существует два основных метода предсказания переходов: статический и динамический.
Статический метод предсказания реализуется по алгоритмам, заложенным в компиляторы в процессе трансляции программ. Известны особенности программ, характерные признаки того, что переходы по одним условиям, вероятнее всего, произойдут, а по другим – нет. Так, для циклических конструкций вероятность перехода на повторение цикла выше вероятности выхода из него. Некоторые системы программирования дают возможность программисту указывать предполагаемую вероятность перехода непосредственно в программе на языке высокого уровня.
Примерами статического предсказания могут служить тривиальное предсказание переходов, применявшееся в ранних процессорах архитектуры SPARC и MIPS (предполагается, что условные переходы никогда не выполняются), а также статическое предсказание, использующееся в современных процессорах в качестве «подстраховки» (предполагается, что любой обратный переход, т.е. переход на более младшие адреса, является циклом и выполняется, а любой прямой переход, т.е. на более старшие адреса, не выполняется).
В современных процессорах статические методы используются лишь в том случае, когда невозможно использование динамического предсказания.
Динамические методы, широко используемые в современных процессорах, подразумевают анализ истории ветвлений.
Динамическое предсказание опирается на предысторию вычислительного процесса — для каждой конкретной команды перехода (ее адреса в памяти) накапливается статистика поведения, на основе которой предсказывается переход.
Алгоритмы "динамического предсказания ветвлений" обычно задействуют одну из таблиц - для хранения истории предсказаний ветвлений (Branch History Table, BHT) или для хранения адресов инструкций (Branch Target Buffer, BTB). Либо используется сразу оба типа таблиц.
Примером динамического предсказания может служить двухуровневый адаптивный исторический алгоритм (англ. Bimodal branch prediction), использовавшийся процессорами архитектуры P6 (анализируется таблица истории переходов, содержащая младшие значимые биты адреса инструкции и соответствующую им вероятность условного перехода: «скорее всего, будет выполнен», «возможно, будет выполнен», «возможно, не будет выполнен», «скорее всего, не будет выполнен» и обновляемая после каждого перехода).
Как динамический, так и статический подходы к предсказанию переходов в условных операторах имеют свои преимущества и недостатки. Преимущество статического подхода – отсутствие необходимости интегрировать на чипе микропроцессора дополнительную аппаратуру предсказания переходов. Большинство современных микропроцессоров оборудованы различными средствами динамического предсказания переходов, производимого на базе анализа «предыстории». Динамическое предсказание переходов «мощнее» статического. Однако у динамического предсказания есть и свои слабые места – это проблемы, возникающие из-за ограниченности ресурсов для сбора статистики.
Статические методы предсказания используются совместно с динамическими методами.
Задача
1. ВС с неконвейерной архитектурой и временем исполнения любой инструкции A нс была заменена на ВС с идентичной системой команд, но с конвейерной архитектурой. Продолжительность такта - B нс, число стадий конвейера равно С. Вычислите полученное ускорение (отношение времени работы программы на старой ВС ко времени ее работы на новой ВС), учитывая стадию загрузки конвейера и считая, что при выполнении не возникло ни одной коллизии. Число инструкций в программе равно D.
Исходные данные:
A=240 нс
B=80 нс
C=4
D=50
Решение:
1.Вычисляем время исполнения на ВС с неконвейерной архитектурой. Так как программа линейная (не содержит переходов), оно равно произведению числа инструкций на время исполнения одной инструкции: T1 = A * D.
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)
2. Масштабируемость NUMA-систем ограничивается объемом адресного пространства, возможностями аппаратуры поддержки когерентности кэшей и возможностями операционной системы по управлению большим числом процессоров. На настоящий момент, максимальное число процессоров в NUMA-системах составляет 512 (Origin3800).
3. Обычно вся система работает под управлением единой ОС, как в 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 Бит/сек.
Исходные данные:
A=1024
B=40
Решение:
Вычисляем пропускную способность канала в сутки (в битах):
D=1024*60*60*24= 88 473 600 000 (Бит/сутки)
Вычисляем размер страницы в битах:
S=B*8*1024= 327 680 (бит)
Кроме страниц, в канале также передаются запросы, по 1-му запросу на 1 страницу. По условию запрос равен 1 Кбайту или 8192 бит.
Рассчитаем оптимистичную оценку числа обслуженных запросов Q:
Q =S/(D+ 8192)= 88 472 600 000 /327 680 =263 414.
Ответ: сервер за сутки может обработать не более 263 414 страниц.
Задача2.
Сервер для Web-портала из предыдущей задачи в среднем тратит на обработку каждого запроса одну секунду. Что в таком случае будет ограничивать оптимистическую оценку числа запросов - пропускная способность канала передачи данных или производительнсть самой ВС, на которой развернут портал?
Решение:
Сервер для Web-портала может обработать 86 400 запросов в сутки. По каналу передачи данных можно передать 263 414 запросов. Следовательно, узким местом будет производительность сервера.
Глава 7. Технология распределенной обработки данных.
8. Какие бывают схемы построения распределенных систем?
Схемы построения распределенных систем делятся на:
1) иерархические;
Иерархическая схема имеет древовидный вид. Вся сеть делится на несколько уровней (ярусов), работа с которыми производится по отдельности. Узлы каждого уровня в такой схеме различаются по масштабу вычислительных и архивных ресурсов, имеют разные роли и реализуют различный набор функций.
Достоинства иерархической схемы:
облегчает постановку задач при проектировании, поскольку каждый отдельный уровень можно реализовать в соответствии со специфическими требованиями определенной области охвата.
При иерархическом построении сети различного рода изменения реализовать гораздо проще, поскольку, как правило, они затрагивают лишь часть системы Это обстоятельство значительно упрощает наращивание иерархических сетей: оно реализуется добавлением новой сетевой области к существующему уровню или следующего уровня без необходимости перекройки всей структуры.
Недостатки:
Выход из строя узла верхнего уровня приводит к остановке работы всей системы
Необходима повышенная пропускная способность каналов верхнего уровня, по которым проходит большой поток информации
Обмен между двумя крайними машинами одного уровня затруднен
2) реализованные на основе равнозначных узлов;
Такие распределенные ВС делятся на однородные и неоднородные.
Узлы в неоднородной схеме имеют различающийся набор функций. Они могут, например, обрабатывать различные виды данных или управлять различным оборудованием .
Узлы в однородной схеме - равноправные элементы, реализующие одинаковый набор функций. Они могут соединяться друг с другом с помощью различных видов соединения (топологий), например:
Общая шина - предполагает использование одного кабеля (шина или магистраль), к которому подключаются все узлы системы.
Достоинства такой схемы:
Дешевизна (требуется меньшее количество оборудования);
Простота настройки;
Выход из строя рабочей станции не отражается на работе сети.
Недостатки:
Неполадки в сети полностью блокируют работу всей сети;
Имеет ограничения в плане расширяемости - добавлением новых рабочих станций падает производительность сети.
Звезда - взаимодействие узлов осуществляется через центральный коммутатор. Такая схема отличается простотой, но проигрывает по производительности и отказоустойчивости (основная нагрузка по передаче сообщений сосредоточена в одном месте – центральном коммутаторе).
Кольцо - каждый узел соединен линиями связи только с двумя другими. Такая топология более удачна с точки зрения отказоустойчивости, но время передачи сообщений в ней растет пропорционально числу закольцованных процессоров
Решетка - отличается регулярностью. Ее диаметр увеличивается пропорционально корню квадратному из числа узлов, поэтому она применима для построения систем большого размера
Куб и гиперкуб - широко применяется в вычислительных системах параллельного действия. Ее диаметр равен размерности гиперкуба, что обеспечивает быструю передачу сообщений. Однако, с увеличением размерности коэффициенты разветвления вершин и число каналов растут, усложняя аппаратуру сети межсоединений, а значит повышая стоимость вычислительной системы
Узловая связь (полное межсоединение) - каждый узел в которой непосредственно связан с каждым из других узлов. Эта топология характеризуется минимальным диаметром и очень высокой отказоустойчивостью. Однако, она требует реализации чрезвычайно большого числа каналов (в случае систем больших размеров), что на практике оказывается неприемлемым
3) составные схемы построения распределенных систем
Составные (комбинированные, гибридные) системы могут состоять из комбинации подсистем различных типов.
Например, в иерархической системе узлы нижнего уровня представляют собой подсистемы типа «общая шина»
Глава 8. Развитие архитектур, ориентированных на языковые средства и среду программирования.
8. Какие имеются примеры влияния программного обеспечения на архитектуры CISC и RISC микропроцессоров?
В RISC микропроцессорах влияние программного обеспечения на архитектуру проявилось, например, в организации регистровой памяти.
В CISC микропроцессоре Intel 80386 требования разработчиков операционных систем отразились на реализации аппаратной поддержки страничной виртуальной памяти. Для поддержки языковых средств высокого уровня было добавлено несколько команд, в частности команды enter (создание фрейма в стеке для параметров процедуры языка высокого уровня), leave (удаление фрейма в стеке), bound (проверка на выход за границы массива).