Билет № 21

1. ЭВМ с нетрадиционной архитектурой. Классификация ЭВМ по Флину.

Для увеличения скорости ЭВМ в ее состав включают несколько процессоров. Различают:

а) Однопроцессорные ЭВМ

б) Мультипроцессорные ЭВМ (можно также выделить квазипроцессорные ЭВМ),

состоят как из однотипных, так и из разнотипных процессоров (неоднородные ЭВМ).

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

1. ОКОД (SISD, одиночный поток команд одиночный поток данных). Такое структурное построение характерно для классических машин фон Неймана.

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

2. ОКМД (SIMD, одиночный поток команд множественный поток данных). Для данной ВС обычный поток команд воздействует на несколько процессорных блоков одновременно, которые обрабатывают различные данные по одной команде. Память в такой ВС является разделенной.

Первоначально типовыми представителямитаких ВС были супер-ЭВМ (ILLIAC IV, STARAN, PEPE, ПС-300). ВС с такой структурной организацией направлены на решение задач с естественным параллелизмом. В современных ЭВМ это реализовано в Pentium MMX.

3. МКОД (MISD, множественный поток команд одиночный поток данных). Эту ВС обычно рассматривают как результат идей локального параллелизма. Иначе их называют конвейерные ВС. Операционная часть Вс является регулярной и представляет собой цепочку последовательно (линейно) соединенных процессорных блоков, которые образуют конвейер процессора.

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

4. МКМД (MIMD, множественный поток команд множественный поток данных) - общий случай мультипроцессорной системы. В общем случае связи между элементарными процессорами являются перестраевыми.

 

Такая ВС позволяет повысить не только производительность, но и надежность. Как правило отказ одного процессора не приводит к выходу из строя всей системы. При такой организации ВС возникают сложности взаимодействия управления, при решение одной задачи. Иногда MIMD называют «моделью коллектива вычислителей»

2. Методы разработки структуры программ.

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

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

3. Количественные показатели надежности ИС. Вероятность безотказной работы. Интенсивность отказов.

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

Показатели надежности - это количественные характеристики одного или нескольких свойств, определяющих надежность системы. В основе большинства показателей надежности лежат оценки наработки, т.е. продолжительности или объема работы, выполненной объектом. По отношению к ЭВМ и ее элементам в качестве наработки рассматривают продолжительность работы. Когда система работает с перерывами, учитывается суммарная наработка. Если объект эксплуатируется в различных режимах, влияющих на показатели надежности, то наработки могут суммироваться для каждого режима отдельно. Показатель надежности, относящийся к одному из свойств, определяющих надежность объекта, называется единичным.

Комплексный показатель надежности относится к нескольким свойствам, определяющим надежность системы. И единичные и комплексные показатели являются вероятностными характеристиками, т.е. случайными величинами. При рассмотрении показателей надежности следует различать:

наименование показателя;

формулировку показателя, содержащую указание о способах экспериментального или расчетного определения его численного значения;

численные значения показателя.

Вероятность безотказной работы P(t) - вероятность того, что в пределах заданной наработки отказ не возникает (наработка - это продолжительность или объем работы): где Т - случайное время работы объекта до отказа; t - заданная наработка. Этот показатель обладает следующими свойствами:

· P(t)=1 т.е до начала работы (t=0) система являлась безусловно работоспособной;

· P(t) - невозрастающая функция времени;

· Limt>∞ P(t)=0 т.е. объект не может сохранять свою работоспособность неограниченно долго.

Интенсивность отказов - условная плотность вероятности возникновения

отказа невосстанавливаемого объекта, определяется для рассматриваемого момента времени при условии, что до этого момента отказ не возник:Интенсивность отказов показывает, какая часть элементов выходит из строя в единицу времени по отношению к среднему числу исправно работающих элементов.

 

Hosted by uCoz