- •Министерство образования и науки российской федерации
- •«Самарский государственный технический университет»
- •Ю. В. Калмыков, а. В. Тараканов
- •Введение
- •1. Содержание и объем курсовой работы
- •2. Оформление курсовой работы
- •3. Распараллеливание обработки
- •4. Потоковая обработка информации
- •4.1. Организация потоковой обработки информации
- •4 14 .2. Построение программ коммутации
- •Программа коммутации
- •5. Организация параллельных
- •6. Пример создания мультипоточного
- •В качестве альтернативного способа достижения высокой скорости вычислений является написание программного кода на языке ассемблера.
- •7. Определение временных
- •Первоначально необходимо установить настройки среды программирования, как показано на рис. 7.1 – 7.3.
- •8. Порядок выполнения работы
- •9. Содержание расчетно-пояснительной
- •Сызрань 2010 Приложение п2
- •1) Функция изменения состояния синхронизирующего объекта события, устанавливающая его в состояние “Включено”.
- •Продолжение прил. П2
- •Продолжение прил. П2
- •Продолжение прил. П2
- •Окончание прил. П2
- •Продолжение прил. П3
- •Продолжение прил. П3
- •Продолжение прил. П3
- •Продолжение прил. П3
- •Продолжение прил. П3
- •Окончание прил. П3
- •Приложение п5
- •Продолжение прил. П5
- •Продолжение прил. П5
- •Окончание прил. П5
- •Приложение п6
- •Библиографический список
- •Оглавление
- •Системное программное обеспечение
- •443100, Г. Самара, ул. Молодогвардейская, 244. Главный корпус
- •446001, Г. Сызрань, ул. Советская, 45
1. Содержание и объем курсовой работы
Курсовая работа состоит из расчетно-пояснительной записки (РПЗ).
Объем РПЗ – 25-30 листов машинописного текста на листах формата А4.
В расчетной части необходимо представить:
1) информационный граф;
2) программу коммутации;
3) схему коммутации счета в соответствии с заданием.
Согласно схеме коммутации счета написать программу, реализующую вычисление арифметического выражения на языке С/С++. Программа составляется для операционной системы Windows с использованием функций интерфейса прикладного программирования (API). Кроме того, в программе параллельные вычисления должны осуществляться с использованием четырех тредов. Программа на Ассемблере должна реализовывать последовательное вычисление арифметического выражения. При программировании необходимо учесть так называемые исключительные ситуации, например, деление на ноль.
В качестве задания каждому студенту выдается индивидуальное арифметическое выражение (прил. П6).
2. Оформление курсовой работы
Расчетно-пояснительная записка оформляется в соответствии с существующими стандартами. Оформление программного кода и других должно соответствовать примерам, приведенным в данном пособии.
Первый лист РПЗ является титульным листом, который не нумеруется. Образец оформления титульного листа приведен в приложении П1. На первом (заглавном) листе РПЗ помещают содержание. Слово с о д е р ж а н и е записывают в виде заголовка симметрично к тексту прописными буквами.
Далее с абзаца приводят наименования разделов, подразделов и приложений РПЗ и указывают номера листов, с которых они начинаются. На заглавном листе РПЗ делают рамку и помещают штамп в соответствии со стандартом. В основной надписи штампа указывается обозначение курсовой работы. Например: КР …, где за буквами КР ставится шифр специальности и специализации, учебной группы и шифр варианта в виде последовательности цифр.
Текст РПЗ набирается на компьютере шрифтом Times New Roman, размер шрифта – 14, поля сверху, снизу и слева – 20 мм, справа – 10 мм. Схемы, рисунки и код также оформляются на компьютере в масштабе, позволяющем ясно различить их элементы.
Излагать материал в РПЗ следует от первого лица множественного числа (определяем, выбираем, принимаем и т.д.) или использовать неопределенную форму (определяется, выбирается, принимается и т.п.).
В конце РПЗ приводится список использованной литературы, включающий учебники, учебные пособия, справочники, государственные стандарты и др. Литературу в списке нумеруют арабскими цифрами и располагают в порядке появления ссылок на нее в тексте РПЗ. При ссылках проставляется номер литературного источника в квадратных скобках в соответствии со списком, например: [9]. В качестве примеров записи можно использовать список литературы в конце данного методического пособия.
3. Распараллеливание обработки
ИНФОРМАЦИИ – СПОСОБ ДОСТИЖЕНИЯ
ВЫСОКОЙ ПРОИЗВОДИТЕЛЬНОСТИ
ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
Когда необходимо выполнить работу за ограниченное время и это превышает возможности одного исполнителя, то стремятся разделить эту работу на ряд взаимосвязанных действий и распределить их между одновременно занятыми исполнителями. Такое распределение более эффективно, если допускает одновременные и независимые действия всех исполнителей. Это и есть распараллеливание. Однако идеальное распараллеливание далеко не всегда возможно: в общем случае работы можно представить лишь частично упорядоченными во времени множествами параллельно-последовательных работ.
Сейчас ни одно используемое, разрабатываемое или перспективное вычислительное средство не рассматривается вне проблемы привлечения новых резервов распараллеливания работ. Возникла самостоятельная проблема построения параллельных архитектур вычислительных систем, а также организации и планирования в них параллельных вычислительных процессов для достижения максимальной производительности. При этом параллельный процесс подсказывает целесообразную архитектуру так же, как архитектура диктует параллельный процесс.
Говоря о производительности, отметим, что каждая вычислительная система (ВС) может обладать как собственной характеристикой лишь значением пиковой производительности – суммарным числом выполняемых в единицу времени операций при полной загрузке всех исполнительных устройств. Для конкретных задач с учетом возможностей их распараллеливания, соотношения типов операций, режима вычислений в данной вычислительной системе и накладных расходов на организацию вычислительного процесса определяется значение реальной производительности. Отклонение реальной производительности от пиковой может характеризовать, насколько данная архитектура вычислительной системы действительно приспособлена к решению данной задачи или класса задач. Важными показателями при решении конкретных задач, комплексов взаимосвязанных задач, классов задач могут служить коэффициенты загрузки отдельных исполнительных устройств вычислительной системы или найденный усреднением на их основе коэффициент загрузки вычислительной системы. Указанные коэффициенты загрузки определяются отношением времени занятости соответствующих устройств работами по решению задачи к времени решения этой задачи. Таким образом, коэффициент загрузки вычислительной системы есть отношение реальной производительности к пиковой.
Самым простым способом наращивания производительности (пиковой) вычислительных средств является построение многомашинных вычислительных систем на базе нескольких ЭВМ, объединенных каналами передачи информации или устройствами общей памяти. Такие многомашинные вычислительные системы предназначены для совместного решения распараллеленных задач или для выполнения сложных программных комплексов. Построение многопроцессорной вычислительной системы с общей оперативной памятью значительно расширяет возможности распараллеливания решения отдельных задач, так как практически исключает потери времени на передачу данных при выполнении информационно взаимосвязанных программных модулей на разных процессорах вычислительной системы.
О
8
Таким образом, можно ввести понятие именованной или потенциально именованной работы, которая рассматривается в качестве неделимой в общей совокупности взаимосвязанных работ, подлежащих распараллеливанию в вычислительной системе. Такие работы могут быть определены (снабжены именем) выражениями вида "процедура решения задачи целочисленного линейного программирования", "расчет значения полинома", "нахождение sinα", "сложение значений а и b", "умножение двух компонент векторов" и т. д. Другими словами, именованная работа отражается в программе вычислительной системы на алгоритмическом языке или в ее коде в виде программного модуля, отдельной инструкции или операции над данными. Совокупность именованных работ задает пользователь.
Во-вторых, выделим два уровня распараллеливания:
распределение отдельных задач, взаимодействующих программных модулей, процедур и т. д. (соответствует построению многопроцессорных вычислительных систем или многомашинных вычислительных систем);
распределение отдельных инструкций программы между исполнительными устройствами решающего поля (соответствует построению вычислительной системы на решающих полях).
Отметим тенденцию совмещения в одной вычислительной системе двух уровней распараллеливания. Вычислительные системы развиваются как многопроцессорные, процессоры в которых располагают сложными АЛУ – решающими полями.
Классификация вычислительных систем по реализуемым уровням распараллеливания, возможно, не является столь универсальной, она более близка к предложенной классификации, на основе таких характеристик, как число устройств управления (или процессоров), число АЛУ, связанных с каждым из них, параметры конвейерной реализации устройств и разрядность машинного слова.
