Лекция по "Архитектуре ЭВМ"

Автор работы: Пользователь скрыл имя, 20 Января 2013 в 15:13, лекция

Описание работы

Классификации архитектур вычислительных систем. Введение: для чего нужны классификации?
Классификация Флинна: единственность или множественность потоков данных и команд.
Классификация Фенга: две простые численные характеристики параллелизма (пословный и поразрядный параллелизм).
Классификация Шора: шесть "типичных архитектур" вычислительных систем.

Файлы: 1 файл

Классификации архитектур вычислительных систем.docx

— 275.15 Кб (Скачать файл)

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

Например, на 100 процессорах  программа выполняется 20 минут. При  переходе на систему с 1000  процессорами можно достичь времени исполнения порядка 2  минут.  Однако для получения  большей точности решения имеет  смысл увеличить на порядок объём  решаемой задачи (например, решить систему  уравнений в частных производных  на более тонкой сетке).

Т.е.  при сохранении общего времени исполнения пользователи стремятся  получить более точный результат. Увеличение объёма решаемой задачи приводит к  увеличению доли параллельной части, так  как последовательная часть (ввод/вывод, менеджмент потоков, точки синхронизации  и т.п.)  не изменяется.  Таким  образом,  уменьшение доли f  приводит к перспективным значениям ускорения.

Тесты SPEC

Важность создания пакетов  тестов, базирующихся на реальных прикладных программах широкого круга пользователей  и обеспечивающих эффективную оценку производительности процессоров, была осознана большинством крупнейших производителей компьютерного оборудования, которые  в 1988 году учредили бесприбыльную корпорацию SPEC (Standard Performance Evaluation Corporation). Основной целью этой организации является разработка и поддержка стандартизованного набора специально подобранных тестовых программ для оценки производительности новейших поколений высокопроизводительных компьютеров. Членом SPEC может стать любая организация, уплатившая вступительный взнос.

Главными видами деятельности SPEC являются:

  1. Разработка и публикация наборов тестов, предназначенных для измерения производительности компьютеров. Перед публикацией объектные коды этих наборов вместе с исходными текстами и инструментальными средствами интенсивно проверяются на предмет возможности импортирования на разные платформы. Они доступны для широкого круга пользователей за плату, покрывающую расходы на разработку и административные издержки. Специальное лицензионное соглашение регулирует вопросы выполнения тестирования и публикации результатов в соответствии с документацией на каждый тестовый набор.
  2. SPEC публикует ежеквартальный отчет о новостях SPEC и результатах тестирования: "The SPEC Newsletter", что обеспечивает централизованный источник информации для результатов тестирования на тестах SPEC.

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

В настоящее время имеется  два базовых набора тестов SPEC, ориентированных  на интенсивные расчеты и измеряющих производительность процессора, системы  памяти, а также эффективность  генерации кода компилятором. Как  правило, эти тесты ориентированы  на операционную систему UNIX, но они  также импортированы и на другие платформы. Процент времени, расходуемого на работу операционной системы и  функции ввода/вывода, в общем  случае ничтожно мал.

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

Набор тестов CFP92, измеряющий производительность процессора при  обработке чисел с плавающей  точкой, состоит из 14 программ, также  выбранных из различных прикладных областей: разработка аналоговых схем, моделирование методом Монте-Карло, квантовая химия, оптика, робототехника, квантовая физика, астрофизика, прогноз  погоды и другие научные и инженерные задачи. Две программы из этого набора написаны на языке Си, а остальные 12 - на Фортране. В пяти программах используется одинарная, а в остальных - двойная точность.

Результаты прогона каждого  индивидуального теста из этих двух наборов выражаются отношением времени  выполнения одной копии теста  на тестируемой машине к времени  ее выполнения на эталонной машине. В качестве эталонной машины используется VAX 11/780. SPEC публикует результаты прогона  каждого отдельного теста, а также  две составные оценки: SPECint92 - среднее  геометрическое 6 результатов индивидуальных тестов из набора CINT92 и SPECfp92 - среднее  геометрическое 14 результатов индивидуальных тестов из набора CFP92.

Следует отметить, что результаты тестирования на наборах CINT92 и CFT92 сильно зависят от качества применяемых  оптимизирующих компиляторов. Для более  точного выяснения возможностей аппаратных средств с середины 1994 года SPEC ввел две дополнительные составные оценки: SPECbase_int92 и SPECbase_fp92, которые накладывает определенные ограничения на используемые компиляторы поставщиками компьютеров при проведении испытаний.

Составные оценки SPECint92 и SPECfp92 достаточно хорошо характеризуют производительность процессора и системы памяти при  работе в однозадачном режиме, но они  совершенно не подходят для оценки производительности многопроцессорных  и однопроцессорных систем, работающих в многозадачном режиме. Для этого  нужна оценка пропускной способности  системы или ее емкости, показывающая количество заданий, которое система  может выполнить в течение  заданного интервала времени. Пропускная способность системы определяется прежде всего количеством ресурсов (числом процессоров, емкостью оперативной и кэш-памяти, пропускной способностью шины), которые система может предоставить в распоряжение пользователя в каждый момент времени. Именно такую оценку, названную SPECrate и заменившую ранее применявшуюся оценку SPECthruput89, SPEC предложила в качестве единицы измерения производительности многопроцессорных систем.

При этом для измерения  выбран метод "однородной нагрузки" (homogenous capacity metod), заключающийся в том, что одновременно выполняются несколько копий одной и той же тестовой программы. Результаты этих тестов показывают, как много задач конкретного типа могут быть выполнены в указанное время, а их средние геометрические значения (SPECrate_int92 - на наборе тестов, измеряющих производительность целочисленных операций и SPECrate_fp92 - на наборе тестов, измеряющих производительность на операциях с плавающей точкой) наглядно отражают пропускную способность однопроцессорных и многопроцессорных конфигураций при работе в многозадачном режиме в системах коллективного пользования. В качестве тестовых программ для проведения испытаний на пропускную способность выбраны те же наборы CINT92 и CFT92.

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

С середины 1994 года SPEC ввела  две дополнительные составные оценки: SPECrate_base_int92 и SPECrate_base_fp92, которые накладывает  ограничения на используемые компиляторы.

Следует отметить, что SPEC объявила о полном переходе с середины 1996 года на новый (третий) комплект тестов - CINT95, CFP95. Эти тесты удовлетворяют  следующим ограничениям и требованиям:

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

 

Тесты TPC

По мере расширения использования  компьютеров при обработке транзакций в сфере бизнеса все более  важной становится возможность справедливого  сравнения систем между собой. С  этой целью в 1988 году был создан Совет  по оценке производительности обработки  транзакций (TPC - Transaction Processing Performance Council), который представляет собой бесприбыльную организацию. Любая компания или организация может стать членом TPC после уплаты соответствующего взноса. На сегодня членами TPC являются практически все крупнейшие производители аппаратных платформ и программного обеспечения для автоматизации коммерческой деятельности. К настоящему времени TPC создал три тестовых пакета для обеспечения объективного сравнения различных систем обработки транзакций и планирует создать новые оценочные тесты.

В компьютерной индустрии  термин транзакция (transaction) может означать почти любой вид взаимодействия или обмена информацией. Однако в мире бизнеса "транзакция" имеет вполне определенный смысл: коммерческий обмен товарами, услугами или деньгами. В настоящее время практически все бизнес-транзакции выполняются с помощью компьютеров. Наиболее характерными примерами систем обработки транзакций являются системы управления учетом, системы резервирования авиабилетов и банковские системы. Таким образом, необходимость стандартов и тестовых пакетов для оценки таких систем все больше усиливается.

До 1988 года отсутствовало  общее согласие относительно методики оценки систем обработки транзакций. Широко использовались два тестовых пакета: Дебет/Кредит и TPI. Однако эти  пакеты не позволяли осуществлять адекватную оценку систем: они не имели полных, основательных спецификаций; не давали объективных, проверяемых результатов; не содержали полного описания конфигурации системы, ее стоимости и методологии  тестирования; не обеспечивали объективного, беспристрастного сравнения одной  системы с другой.

Чтобы решить эти проблемы, и была создана организация TPC, основной задачей которой является точное определение тестовых пакетов для  оценки систем обработки транзакций и баз данных, а также для  распространения объективных, проверяемых  данных в промышленности.

TPC публикует спецификации  тестовых пакетов, которые регулируют  вопросы, связанные с работой  тестов. Эти спецификации гарантируют,  что покупатели имеют объективные  значения данных для сравнения  производительности различных вычислительных  систем. Хотя реализация спецификаций  оценочных тестов оставлена на  усмотрение индивидуальных спонсоров  тестов, сами спонсоры, объявляя  результаты TPC, должны представить  TPC детальные отчеты, документирующие  соответствие всем спецификациям.  Эти отчеты, в частности, включают  конфигурацию системы, методику  калькуляции цены, диаграммы значений  производительности и документацию, показывающую, что тест соответствует  требованиям атомарности, согласованности, изолированности и долговечности (ACID - atomicity, consistency, isolation, and durability), которые гарантируют, что все транзакции из оценочного теста обрабатываются должным образом.

Работой TPC руководит Совет  Полного Состава (Full Council), который принимает все решения; каждая компания-участник имеет один голос, а для того, чтобы провести какое-либо решение требуется две трети голосов. Управляющий Комитет (Steering Committee), состоящий из пяти представителей и избираемый ежегодно, надзирает за работой администрации TPC, поддерживает и обеспечивает все направления и рекомендации для членов Совета Полного Состава и Управляющего Комитета.

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

Тесты TPC

TPC определяет и управляет  форматом нескольких тестов для  оценки производительности OLTP (On-Line Transaction Processing), включая тесты TPC-A, TPC-B и TPC-C. Как уже отмечалось, создание оценочного теста является ответственностью организации, выполняющей этот тест. TPC требует только, чтобы при создании оценочного теста выполнялись определенные условия. Хотя упомянутые тесты TPC не являются характерными тестами для оценки производительности баз данных, системы реляционных баз данных являются ключевыми компонентами любой системы обработки транзакций.

Информация о работе Лекция по "Архитектуре ЭВМ"