Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

5855

.pdf
Скачиваний:
0
Добавлен:
21.11.2023
Размер:
671.91 Кб
Скачать

МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего образования

«Нижегородский государственный архитектурно-строительный университет»

Д. И. Кислицын

ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ ДЛЯ СИСТЕМ С ОБЩЕЙ ПАМЯТЬЮ НА ЯЗЫКЕ C#

Учебно-методическое пособие

по подготовке к лекциям и практическим занятиям (включая рекомендации по организации самостоятельной работы) для обучающихся по дисциплине «Параллельное программирование для систем с общей памятью на языке C#» по направлению подготовки 09.03.02 Информационные системы и технологии, направленность (профиль) «Информационные системы и технологии»

Нижний Новгород

2022

МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего образования

«Нижегородский государственный архитектурно-строительный университет»

Д. И. Кислицын

ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ ДЛЯ СИСТЕМ С ОБЩЕЙ ПАМЯТЬЮ НА ЯЗЫКЕ C#

Учебно-методическое пособие

по подготовке к лекциям и практическим занятиям (включая рекомендации по организации самостоятельной работы) для обучающихся по дисциплине «Параллельное программирование для систем с общей памятью на языке C#» по направлению подготовки 09.03.02 Информационные системы и технологии, направленность (профиль) «Информационные системы и технологии»

Нижний Новгород ННГАСУ

2022

1

УДК 681.3 (075)

Кислицын Д. И. Параллельное программирование для систем с общей памятью на языке C#: учебно-методическое пособие / Д. И. Кислицын; Нижегородский государственный архитектурно-строительный университет. – Нижний Новгород: ННГАСУ, 2022. - 9 с. - Текст: электронный.

Даются тематика лекций и практических занятий, их краткое содержание, а также методические рекомендации по самостоятельной работе обучающихся по дисциплине «Параллельное программирование для систем с общей памятью на языке C#». Указывается необходимая литература и источники, разъясняется последовательность их изучения, выделяются наиболее сложные вопросы и даются рекомендации по их изучению, приводится тематика расчётных работ.

Предназначено для обучающихся в ННГАСУ по дисциплине «Параллельное программирование для систем с общей памятью на языке C#» по направлению подготовки 09.03.02 Информационные системы и технологии.

© Д. И. Кислицын, 2022 © ННГАСУ, 2022

2

Учебно-методическое пособие по подготовке к лекциям и практическим занятиям (включая рекомендации по организации самостоятельной работы) по дисциплине «Параллельное программирование для систем с общей памятью на языке C#» предназначены для студентов, обучающихся по направлению 09.03.02 Информационные системы и технологии, и содержат программу для проведения лекционных и практических занятий, а также методические рекомендации по самостоятельной работе.

Цель учебно-методического пособия: помочь студентам при изучении учебной программы с использованием лекционных материалов и рекомендуемой учебно-методической литературы при формировании необходимых компетенций дисциплины «Параллельное программирование для систем с общей памятью на языке C#».

Целями освоения дисциплины «Параллельное программирование для систем с общей памятью на языке C#» являются изучение архитектур параллельных вычислительных систем. Формирование практических навыков по разработке программ для систем с общей памятью на языке C#.

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

На лекциях по дисциплине «Параллельное программирование для систем с общей памятью на языке C#» широко используются активные формы проведения занятий. Такие формы организации образовательного процесса, способствуют разнообразному (индивидуальному, групповому, коллективному) изучению учебных вопросов (проблем), активному взаимодействию студентов и преподавателя, живому обмену мнениями между ними, нацеленному на выработку правильного понимания содержания изучаемой темы и способов ее практического использования.

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

Самостоятельная работа направлена на развитие компетенций дисциплины:

-ПК-1. Способность выполнять интеграцию программных модулей и компонент;

-ПК-2. Способность выполнять работы по созданию (модификации) и сопровождению информационных систем.

3

Виды и формы самостоятельной работы студентов по дисциплине:

-систематическая проработка лекций, основной и дополнительной литературы;

-выполнение расчётно-графической работы;

-подготовка к экзамену.

Содержание разделов дисциплины «Параллельное программирование для систем с общей памятью на языке C#» представлено в таблице 1.

Таблица 1 Содержание разделов дисциплины

 

 

 

 

Аудиторные занятия

 

 

 

 

 

 

 

(в часах)

 

 

Перечень

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Самост

компетенций,

 

 

 

 

 

Лабораторные

 

семинар,Практика

Наименование раздела

Всего

Лекции

 

оятельн

формируемых в

п/п

дисциплины

часов

 

ая

процессе

 

 

 

 

 

 

 

 

 

 

 

 

работа

освоения

 

 

 

 

 

 

 

 

 

раздела

 

 

 

 

 

 

 

 

 

 

1

Принципы

построения

9

4

 

 

 

 

ПК-1

параллельных

 

 

 

 

5

 

 

 

 

 

 

 

 

 

вычислительных систем.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Технология

разработки

 

 

 

 

 

 

 

2

многопоточных

120

12

 

 

32

 

ПК-1, ПК-2

приложений для систем с

 

 

76

 

 

 

 

 

 

 

 

общей памятью.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Модели вычислений и

 

 

 

 

 

 

 

3

методы

анализа

16

4

 

 

 

12

ПК-1, ПК-2

 

эффективности.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Анализ

 

 

 

 

 

 

 

 

4

коммуникационной

17

6

 

 

 

 

ПК-1, ПК-2

трудоемкости

 

 

 

 

11

 

 

 

 

 

 

 

 

 

параллельных

 

 

 

 

 

 

 

 

 

алгоритмов.

 

 

 

 

 

 

 

 

5

Принципы

разработки

18

6

 

 

 

12

ПК-1

 

параллельных методов.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ИТОГО

 

180

32

 

 

32

116

 

 

 

 

 

 

 

 

 

 

 

На консультациях в течение семестра студенты могут обсуждать с преподавателем различные вопросы по выполнению расчётно-графической работы (РГР).

Рекомендуется проработать конспект лекций, затем повторить теоретический материал, пользуясь рекомендованной литературой. Если после

4

этого остаются вопросы, рекомендуется выписать их и обратиться к преподавателю на консультациях.

Целями выполнения РГР при изучении дисциплины «Параллельное программирование для систем с общей памятью на языке C#» являются:

-самостоятельное углублённое изучение отдельных разделов курса;

-закрепление навыков программирования, полученных в течение всего срока обучения.

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

ивыполнении РГР. Результатом выполнения РГР является пояснительная записка, описывающая проектирование приложения и программный код. При выставлении оценки (от 2,0 до 5,0 баллов) за РГР оценивается способность студента составлять алгоритм в соответствии с индивидуальным заданием и разрабатывать на его основе многопоточное приложение.

В конце семестра студенты проходят электронное тестирование по всем разделам курса. В конце тестирования студент видит, в каких разделах и сколько ошибочных ответов он дал и получает балл в диапазоне от 0,0 до 5,0. Перед зачётом студентам выдаётся список примерных вопросов, по которым можно понять, на что нужно сделать упор при подготовке к экзамену.

Студент допускается к экзамену, если он сдал все лабораторные работы и РГР. При подготовке к экзамену после получения перечня вопросов рекомендуется:

1) внимательно прочитать материал лекций; 2) постараться разобраться с непонятными, в частности, новыми терминами,

используя рекомендованную литературу; 3) выписать вопросы для подробного обсуждения с преподавателем на

консультации.

Перечень примерных вопросов, выносимых на экзамен:

1.Схемы многопроцессорных систем с однородным и неоднородным доступом.

2.Основные виды топологии сети.

3.Что понимается под параллельными вычислениями?

4.Что понимается под суперкомпьютером?

5.Типы систем по классификации Флинна.

6.Что такое паракомпьютер?

7.Что такое ускорение параллельного алгоритма?

8.Что такое эффективность параллельного алгоритма?

5

9.Что такое стоимость параллельного алгоритма?

10.Чему равняется идеальная эффективность Ep (в предельном случае)?

11.Чем характеризуются адаптивные методы выбора маршрута?

12.Реализация какого метода передачи данных требует разработки более сложного аппаратного и программного обеспечения сети?

13.Перечислите этапы при разработке параллельных алгоритмов.

14.В каком случае применяется агрегация подзадач на этапе масштабирования?

15.В чём отличие функционального параллелизма от параллелизма по

данным?

16.Что необходимо выполнить при недостаточном количестве подзадач для загрузки всех доступных к использованию процессоров?

17.Какие основные требования должны быть обеспечены при разработке параллельных алгоритмов?

18.Что такое проблема гонки данных в параллельной программе и когда она возникает?

19.Влияет ли размер критических секций в приложении на эффективность распараллеливания?

20.Что содержит информацию о текущем состоянии потока?

21.Что может быть рабочим элементом потока?

22.Аргумент какого типа может иметь метод, использующийся в качестве рабочего элемента потока?

23.Создан массив потоков (Thread[] Thr = new Thread[N]). Какое значение ManagedThreadId примет первый элемент массива Thr?

24.Какой метод приостанавливает выполнение потока?

25.Какие средства можно использовать для синхронизации потоков?

Показатели оценки по зачёту представлены в таблице 2.

Таблица 2 Показатели оценки по зачёту

Показатели

Бал-

 

 

 

 

 

 

 

оценивания

 

Оценка

Критерий оценки

лы

 

компетенций

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Результаты

4,5

-

«отлично»

ставится

 

обучающемуся,

освоения

5,0

 

 

показавшему

 

глубокие

дисциплины

 

 

 

систематизированные

знания

соответствует

 

 

 

учебного материала, в полной

требованиям

 

 

 

мере

соответствующие

ФГОС

 

 

 

требованиям

к

уровню

 

 

 

 

подготовки

 

обучающегося,

 

 

 

 

проявившему

 

творческие

 

 

 

 

способности

в

понимании,

 

 

 

 

изложении

и

использовании

 

 

 

 

учебного

материала

при

 

 

 

 

решении поставленных задач,

 

 

6

 

 

 

 

 

Показатели

 

Бал-

 

 

 

 

 

 

 

 

оценивания

 

 

Оценка

 

Критерий оценки

 

лы

 

 

компетенций

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

умеющему

 

обобщать

 

 

 

 

 

информацию,

 

 

 

 

 

 

 

 

аргументировано

 

и

 

 

 

 

 

практически

без

ошибок

 

 

 

 

 

ответившему на все вопросы.

Результаты

 

3,5

-

«хорошо»

ставится

 

обучающемуся,

освоения

 

4,4

 

 

продемонстрировавшему

дисциплины

 

 

 

 

достаточно

полные

 

знания

соответствует

 

 

 

 

учебного материала, в целом

требованиям

 

 

 

 

соответствующие

 

 

ФГОС

 

 

 

 

требованиям

к

уровню

 

 

 

 

 

подготовки

 

обучающегося,

 

 

 

 

 

способность

к

 

их

 

 

 

 

 

самостоятельному

 

 

 

 

 

 

 

восполнению и обновлению в

 

 

 

 

 

ходе решения поставленных

 

 

 

 

 

задач,

 

 

умение

 

 

 

 

 

систематизировать

 

 

 

 

 

 

 

информацию,

допустившему

 

 

 

 

 

негрубые

 

ошибки

и

 

 

 

 

 

недочеты.

 

 

 

 

Результаты

 

2,5

-

«удовлетворите

ставится

 

обучающемуся,

освоения

 

3,4

 

льно»

показавшему уровень знаний

дисциплины

 

 

 

 

учебного материала в объёме,

соответствует

 

 

 

 

минимально

необходимом

требованиям

 

 

 

 

для

решения

поставленных

ФГОС

 

 

 

 

задач,

знание

 

основ

 

 

 

 

 

дисциплины,

владеющего

 

 

 

 

 

навыками

 

логического

 

 

 

 

 

мышления

и

допустившему

 

 

 

 

 

непринципиальные

ошибки

 

 

 

 

 

при ответе на вопросы.

 

Результаты

 

0,0

-

«не

ставится

 

обучающемуся,

освоения

 

2,4

 

удовлетворител

показавшему

существенные

дисциплины

НЕ

 

 

ьно»

пробелы в знании основного

соответствует

 

 

 

 

учебного

 

материала,

требованиям

 

 

 

 

допустившему

 

 

ФГОС

 

 

 

 

принципиальные ошибки при

 

 

 

 

 

применении знаний,

которые

 

 

 

 

 

не позволяют ему приступить

 

 

 

 

 

к

решению

поставленных

 

 

 

 

7

 

 

 

 

 

 

 

Показатели

Бал-

 

 

 

 

 

оценивания

Оценка

 

Критерий оценки

 

 

лы

 

 

 

компетенций

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

задач

без дополнительной

 

 

 

 

 

подготовки.

 

 

Перечень основной и дополнительной учебной литературы, необходимой

для освоения дисциплины.

 

 

 

 

Основная литература:

1.Биллиг, В. А.. Основы программирования на C# : учебное пособие. / Биллиг, В. А. ; В. А. Биллиг. – Москва : Интернет-Университет Информационных Технологий (ИНТУИТ), Ай Пи Ар Медиа, 2021. – 573 с. – URL: URL: http://www.iprbookshop.ru/102033.html. – ISBN ISBN 978-5-4497-0893-9.

2.Биллиг, В. А.. Параллельные вычисления и многопоточное программирование : учебник. / Биллиг, В. А. ; В. А. Биллиг. – Москва : Интернет-Университет Информационных Технологий (ИНТУИТ), Ай Пи Ар Медиа, 2021. – 310 с. – URL: URL: http://www.iprbookshop.ru/102044.html. – ISBN ISBN 978-5-4497-0936-3.

3.Кариев, Ч. А.. Разработка Windows-приложений на основе Visual C# : учебное пособие. / Кариев, Ч. А. ; Ч. А. Кариев. – Москва : Интернет-Университет Информационных Технологий (ИНТУИТ), Ай Пи Ар Медиа, 2021. – 978 с. – URL: URL: http://www.iprbookshop.ru/102057.html. – ISBN ISBN 978-5-4497-0909-7.

8

Кислицын Дмитрий Игоревич

ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ ДЛЯ СИСТЕМ С ОБЩЕЙ ПАМЯТЬЮ НА ЯЗЫКЕ C#

Учебно-методическое пособие

по подготовке к лекциям и практическим занятиям (включая рекомендации по организации самостоятельной работы) для обучающихся по дисциплине «Параллельное программирование для систем с общей памятью на языке C#» по направлению подготовки 09.03.02 Информационные системы и технологии, направленность (профиль) «Информационные системы и технологии»

Федеральное государственное бюджетное образовательное учреждение высшего образования «Нижегородский государственный архитектурно-строительный университет»

603950, Нижний Новгород, ул. Ильинская, 65. http://www.nngasu.ru, srec@nngasu.ru

9

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]