Архитектура ЭВМ. Учебное пособие (лабораторный практикум)
.pdfК подуровню МАС относятся алгоритмы, реализация которых зависит или прямо связана с типом сетевого контроллера. Напри- мер, алгоритмы доступа к разделяемым каналам, коллективным ли- ниям связи и другие.
Оборудование и материалы
Для выполнения лабораторной работы необходим персональный компьютер со следующими характеристиками:
-процессор Intel Celeron G1850 OEMс,
-оперативная память не менее 512 Мбайт,
-свободное дисковое пространство не менее 320 Гбайт,
-устройство для чтения компакт-дисков, монитор типа Super
VGA (число цветов 256) с диагональю не менее 17².
Программное обеспечение – операционная система WINDOWS XP, пакет MathCAD, MicroSoft Office.
Указания по технике безопасности
См. Лабораторная работа 1.
Задания к лабораторной работе
Задание 1. Проанализируйте полученные в работе сведения и выскажите соображения о возможных сравнительных преимуще-
ствах и недостатках одноранговых сетей и сетей с выделенными серверами.
Задание 2. Составьте список соответствия между описанными в материалах лабораторной работы видами серверов и типовыми за- дачами, решаемыми в компьютерных сетях.
Задание 3. Сформулируйте причины, по которым потребовалась международная стандартизация и унификация сетевых систем и ин- терфейсов.
Задание 4. Задачи каких из уровней модели OSI решаются про- граммными, какие – аппаратными средствами, в решении каких может быть использовано как системное ПО, так и специализиро- ванная аппаратура.
Задание 5 . Выделите в операционной системе части, решаемые задачи которых относятся к задачам, описанным на верхних уров- нях модели OSI, и части, решаемые задачи которых относятся к за- дачам, описанным на нижних уровнях модели OSI.
51
Задание 6. Какие три типа адреса используются в сетевых систе- мах, на каких уровнях модели OSI используется каждый из этих трёх типов адресов?
Задание 7. С использованием каких адресов производится марш- рутизация данных, передаваемых по сети?
Задание 8. Свяжите материал работы с материалом первых лабо- раторных работ, тех, в которых рассматривались алгоритмы поме- хозащищённого кодирования. Какие из алгоритмов помехозащи-
щённого кодирования могли бы быть использованы в реализации высокоуровневого помехозащищённого кодирования, какие – в реа- лизации низкоуровневого помехозащищённого кодирования;
Содержание отчета и его форма
Отчет по лабораторной работе должен включать:
1)название лабораторной работы;
2)ответы на контрольные задания;
3)формулировки индивидуального задания и порядка его вы- полнения.
Отчет о выполнении лабораторной работы в письменном виде сдается преподавателю.
Контрольные вопросы
1.Для решения каких задач предназначены компьютерные сети?
2.Приведите классификацию компьютерных сетей. Дайте харак- теристику каждому виду.
3.На какие две группы делятся локальные сети?
4.Дайте характеристику одноранговой сети.
5.Охарактеризуйте локальные сети с выделенными серверами.
6.Какой компьютер в локальной сети с выделенным сервером называется клиентом, а какой – сервером?
7.Перечислите основные типы серверов и дайте их характери- стику.
8.Что понимается подсистемами телеобработки?
9.Модель открытых систем OSI. Общая характеристика.
10.Сформулируйте определение понятий «протокол» и «стопка протоколов».
11.Приведите примеры стопок протоколов.
12.Сколько уровней входит в структуру OSI? Назовите эти уровни.
52
13.Для решения каких задач предназначен прикладной уровень модели OSI?
14.Какие задачи решаются на уровне представления данных в модели OSI?
15.За решение каких задач отвечает сеансовый уровень модели OSI?
16.На каком из уровней модели OSI осуществляется коммутация сообщений и трансляция адресов?
17.Что представляет собой процесс маршрутизации? Какой уровней модели OSI отвечает за его выполнение?
18.Какой из уровней модели OSI отвечает за преобразование физических адресов в канальные?
19.Для решения каких задач предназначен канальный уровень модели OSI?
20.Охарактеризуйте физический уровень модели OSI.
21.Отличительные особенности применения модели OSI в ло- кальных вычислительных сетях.
Литература по данной теме
Основная: 1, 2, 3, 5, 6,
Дополнительная: 2, 4, 3, 5, 11.
9.ИЗУЧЕНИЕ МУЛЬТИПРОЦЕССОРНЫХ СИСТЕМ. ОСНОВНЫЕ ПОНЯТИЯ И КЛАССИФИКАЦИИ
Цель работы – без изучения особенностей конструкций тех или иных конкретных современных технологий построения многопро- цессорных (мультипроцессорных) ЭВМ разобраться с основными особенностями применения мультипроцессорных вычислителей, с их классификациями.
Формируемые компетенции
проектно-технологическая деятельность – ПК-12; производственно-технологическая деятельность – ПК-18; организационно-управленческая деятельность – ПК-19; монтажно-наладочная деятельность – ПК-29.
53
Теоретическая часть
Введение
Высокую производительность и реактивность пытаются полу- чить путем использования нескольких процессоров. Развитие мно- гопроцессорных систем началось в 70-е годы XX века. Пионеры: IBM, CDC, Cray, Burrougs, DEC, HP, Interdata. В последние годы применяются при построении ЭВМ класса «сервер» и так называе- мых «супер-ЭВМ» (супер-ЭВМ – многопроцессорная ЭВМ, ориен- тированная на решение сложных научных задач, преимущественно векторных). В последние годы применение многопроцессорных ЭВМ расширяется, многопроцессорными становятся и массовые компьютеры, вплоть до «персональных ЭВМ».
Условия эффективности применения для многопроцессорного вычислителя
Независимо от числа процессоров в составе ЭВМ, один поток инструкций всегда выполняется только на одном процессоре. По- этому увеличение числа процессоров имеет эффект только в следу- ющих случаях:
-многозадачная обработка (параллельное выполнение большого числа задач);
-выполнение так называемых «распараллеленных» задач (т. е. задач запрограммированных как множество отдельных и парал- лельно работающих потоков).
Многие современные задачи тяжело поддаются сколько-нибудь эффективному распараллеливанию, многие из тех, что потенциаль- но могут быть более-менее эффективно распараллелены, на практи- ке пока не распараллелены. Дальнейшие перспективы более широ- кого распространения многопроцессорных вычислителей тесно свя- заны с дальнейшими успехами отрасли в поисках новых путей бо-
лее эффективного распараллеливания и успехами в практическом распараллеливании наиболее типичных массовых задач.
Геометрическое и алгоритмическое распараллеливание
Грубо и приблизительно, можно выделить два вида распаралле- ливания:
- геометрическое;
54
- алгоритмическое.
Типичными задачами, поддающимися так называемому «гео-
метрическому распараллеливанию», являются, например, задачи анализа и синтеза изображений. Каждому процессору и работаю- щему на этом процессоре программному процессу передаётся уча- сток изображения, и соответственно различные участки обрабаты- ваются на разных процессорах, распределение нагрузки между про- цессорами естественно равномерное. Такое распараллеливание до- статочно часто реализуется и относительно просто и эффективно. По типу «геометрического распараллеливания», распараллеливают- ся и многие другие типы задач, такие, в которых равномерное рас-
пределение нагрузки между процессорами естественно и очевидно проистекает из особенностей самой задачи.
По типу «алгоритмического распараллеливания» распараллели-
ваются те задачи, в которых возможности и способы параллельного решения не присутствуют явно, очевидно. «Алгоритмическое рас- параллеливание» состоит в вычленении (и часто очень непростом) в алгоритме решаемой задачи тех ветвей и операций, которые все же могут быть выполнены параллельно и в соответствующем програм- мировании задач. Искусство алгоритмического распараллеливания является отдельной дисциплиной в рамках предмета «Технологии программирования» и требует особых навыков от программиста.
Попытки реализации в компиляторах технологий так называемого
«автоматического распараллеливания» (то есть создания компиля-
торов, способных автоматически, без особых усилий со стороны программиста, находить в исходном нераспараллеленном коде па-
раллельные ветви и операции и автоматически преобразовать не распараллеленное решение в распараллеленное) пока не увенчались особыми успехами. Данные разработки находятся на стадии иссле- дований.
Степень связанности распараллеленной задачи
Достаточно условно, но можно выделить два класса задач, под- дающихся распараллеливанию:
а) сильносвязанные распараллеленные задачи; б) слабосвязанные распараллеленные задачи.
Слабосвязанные задачи – те из распараллеленных задач, в кото- рых выполняющиеся параллельно отдельные ветви (потоки), в зна-
55
чительной степени – независимы друг от друга (обмен данными между потоками редок, и постоянная синхронизация (согласование хода выполнения) потоков не требуется).
Сильносвязанные задачи – те из распараллеленных задач, в кото- рых выполняющиеся параллельно отдельные ветви (потоки), в зна- чительной степени – связаны друг с другом (обмен данными между потоками требуется часто, или требуется постоянная синхронизация (согласование хода выполнения) потоков). К таким задачам, как правило, относятся, например, такие задачи в которых в потоках – обрабатываются одни и те же массивы данных.
Степень связанности распараллеленной задачи существенно влияет на требования, предъявляемые к многопроцессорному вы- числителю.
Слабосвязанные задачи могут достаточно эффективно решаться на любом многопроцессорном вычислителе, даже и таком, в кото- ром отдельные процессоры связаны – слабо (например, реализова- ны как отдельные ЭВМ связанные между собой скоростной локаль- ной сетью, такие многопроцессорные ЭВМ принято называть «кла- стерными вычислителями»). «Кластерные вычислители» очень ча-
сто рассматривают как особую разновидность многопроцессорной ЭВМ, но многие авторы, рассматривают этот класс вычислителей и отдельно, не относя к «многопроцессорным ЭВМ».
Сильносвязанные задачи могут эффективно решаться только на таких многопроцессорных ЭВМ, в которых обеспечены «широкие» (т. е. способные передать в течение интервала времени немалое кол- во данных) и «короткие» (или, другими словами, «низколатентные», т. е. способные доставлять данные от процессора к процессо- ру без существенных задержек доставки) каналы межпроцессорной связи. Такую связь возможно реализовать лишь используя для связи процессоров – специальные высокоскоростные каналы передачи данных («высокоскоростные каналы прямой межпроцессорной связи»), или используя «общий кэш» (или, другими словами, «разделяемый кэш» – кэш, прямой доступ к которому реализован для нескольких процессоров). Как вариант, для межпроцессорной связи может использоваться и «общее ОЗУ» («разделяемое ОЗУ»), но в
этом случае обмен данных между процессорами явно получается медленней чем через общий кэш, и во многих случаях медленней
чем при использовании специальных высокоскоростных каналов прямой межпроцессорной связи.
56
Классификация многопроцессорных ЭВМ
Классификация по симметричности / ассиметричности
Симметричные многопроцессорные ЭВМ содержат множе-
ство универсальных и одинаковых процессоров, которые в принци- пе могут быть взаимозаменяемы, любую ветвь задачи принципи- ально можно решать на любом из процессоров.
Ассиметричные многопроцессорные ЭВМ содержат множество специализированных процессоров, где отдельные процессоры вы- делены для отдельных подзадач и взаимонезаменяемы.
При решении любой распараллеленной (на количество ветвей, соответствующее или превышающее число процессоров) задачи возможно использовать все процессоры многопроцессорной ЭВМ.
Преимущества симметричных ЭВМ:
-в симметричных необязательно реализована, но потенциально реализуема «система резервирования», позволяющая перераспре- делять потоки между процессорами при выходе из строя части про- цессоров или других связанных с отдельными процессорами подси- стем. Разумеется, система резервирования повышает так называе- мую «живучесть вычислителя» (защищённость от отказов аппара- туры);
-в симметричных вычислителях при наличии избыточного числа процессоров переключение с одной задачи на другую или запись новой не обязательно требует переключения контекста, вместо это- го новая задача может быть запущена и на одном из простаиваю- щих процессоров (если такие имеются), эта возможность потенци- ально способна повысить реактивность вычислительной системы.
Преимущества ассиметричных:
–реализация специализированных процессоров очень часто позво-
ляет получить особенно высокую производительность именно на «критически трудоёмких задачах» (именно там, где она особенно важна) и производительность, намного превышающую производи- тельность универсального процессора и не достижимую для сим- метричных многопроцессорных ЭВМ;
– специализированные вычислители относительно недороги, по- этому часто возможно получить не только высокую производитель- ность, но и лучшее соотношение производительность / цена.
57
Классификация по степени связанности:
-слабосвязанные многопроцессорные ЭВМ;
-сильносвязанные многопроцессорные ЭВМ;
-кустовые многопроцессорные ЭВМ;
Слабосвязанные многопроцессорные ЭВМ – множество про-
цессоров (до десятков тысяч), каким-то образом связанных между собой относительно низкоскоростными каналами передачи данных.
В предельном случае каналами связи может выступать локальная сеть. В этом случае систему называют «кластерной».
Достоинства: относительно недорого можно построить много- процессорную ЭВМ, поддерживающую очень большое число про- цессоров, и получить высокую производительность на слабосвязан- ных задачах и в условиях развитой многозадачности.
Недостатки: малополезны при решении сильносвязанных задач.
Сильносвязанные многопроцессорные ЭВМ содержат относи-
тельно небольшое число процессоров, но зато хорошо связанных между собой высокоскоростными и низколатентными каналами пе- редачи данных, или такие, в которых процессоры работают с об-
щим полем памяти (ОЗУ или кэш).
Достоинства: достаточно эффективны для решения сильносвя- занных задач.
Недостатки: организация быстрой связи между множеством процессоров дорогостояща и технически осложнена, поэтому число
процессоров в таких системах пока ограничена величиной не более 64–128 процессоров, а наиболее применимы сильносвязанные мно- гопроцессорные ЭВМ с числом процессоров не более 16.
Кустовые многопроцессорные ЭВМ – многопроцессорный вы-
числитель, представляющий множество относительно слабо связан- ных между собой (по типу как процессоры в слабосвязанных мно- гопроцессорных ЭВМ) так называемых «кустов», но где каждый «куст» – это не один процессор, а сильносвязанная многопроцес- сорная ЭВМ.
В современных системах реально применяются кусты размером до 128 процессоров и используется число кустов в Кустовой много- процессорной ЭВМ до нескольких тысяч.
58
|
|
|
|
|
|
H |
|
|
|
|
|
|
|
|
|
|
|
|
|
Куст 1 |
|
|
|
|
|
Куст N |
|
||||
|
|
В |
|
|
|
|
|
|
В |
|
|
|
|
||
П |
|
|
|
П |
|
П |
|
|
|
П |
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В |
|
|
|
|
|
В |
|
В |
|
|
|
|
|
В |
|
|
|
П |
|
|
|
|
П |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 9.1. Схема построения кустовых многопроцессорных ЭВМ:
П – процессор; В – высокоскоростная связь; Н – низкоскоростная связь
Канонические и неканонические многопроцессорные ЭВМ Канонические многопроцессорные ЭВМ, или «традиционные
многопроцессорные ЭВМ» – такие ЭВМ, в которых связь между процессами и блоками ОЗУ неизменняема, не зависит ни от харак- тера решаемой задачи, ни от хода вычислительного процесса. Все современные широко используемые ЭВМ являются каноническими.
Неканонические многопроцессорные ЭВМ – так принято назы-
вать некоторые экспериментальные разработки, такие, в которых связь между процессорами и ОЗУ не является статичной, пересмат- ривается, перенастраивается в зависимости и от характера решае- мой задачи, и даже от хода вычислительного процесса.
Идея состоит в следующем: если практически невозможно орга-
низовать сильные связи между большим числом процессоров по принципу «каждый с каждым», то можно организовать такие высо- коскоростные связи, которые данным вычислительным процессом наиболее востребованы. Разумеется, такой вычислитель должен ли- бо иметь возможности «аппаратной перенастройки под задачу», ли- бо окажется не универсальным.
Многоядерные процессоры
Если не акцентировать внимание на некоторых непринципиаль- ных отличиях, многоядерный процессор аналогичен многопроцес- сорной вычислительной системе с несколькими процессорами, но только размещенными либо на одном кристалле, либо на несколь- ких отдельных кристаллах (подложках), но в одном корпусе.
59
Если попытаться предсказать возможные достоинства / недо- статки системы, построенной на многоядерном процессоре, по сравнению с многопроцессорной системой на равном числе отдель- ных процессоров, можно отметить:
-в многоядерном несложно организовать быструю связь между ядрами, высокоскоростные каналы между ядрами, размещёнными в одном корпусе, или даже общее поле кэш-памяти. Благодаря этому
многоядерный процессор может получить преимущества во многих (но не всех) сильносвязанных задачах;
-но с другой стороны, поскольку несколько ядер многоядерного процессора пользуются общим каналом доступа к ОЗУ, неизбежна конкуренция между ядрами за доступ к ОЗУ, и не каждое ядро все- гда будет иметь необходимый доступ к ОЗУ (особенно при увели- чении числа ядер многоядерного процессора). Из-за этого ЭВМ на многоядерном процессоре может оказаться в невыгодном положе- нии по сравнению с многопроцессорной ЭВМ, при решении задач, требующих быстрого доступа к локальным данным вычислитель-
ных процессов или требующих больших объёмов перекачки данных
вканалах доступа к ОЗУ.
Дальнейший прогресс в увеличении числа ядер зависит как от того, насколько удачным получится распараллеливание популярных задач, так и от роста характеристик канала памяти (ОЗУ). Могут потребоваться и новые технологии построения ОЗУ.
Оборудование и материалы
Для выполнения лабораторной работы необходим персональный компьютер со следующими характеристиками:
-процессор Intel Celeron G1850 OEMс,
-оперативная память не менее 512 Мбайт,
-свободное дисковое пространство не менее 320 Гбайт,
-устройство для чтения компакт-дисков,
-монитор типа Super VGA (число цветов 256) с диагональю не
менее 17².
Программное обеспечение – операционная система WINDOWS XP, пакет MathCAD, MicroSoft Office.
Указания по технике безопасности
См. Лабораторная работа 1.
60
