Методи та технології паралельного програмування - Робоча програма навчальної дисципліни (Силабус)

Реквізити навчальної дисципліни

Рівень вищої освіти Другий (магістр)
Галузь знань 12 Інформаційні технології
Спеціальність 126 Інформаційні системи та технології
Освітня програма Інформаційне забезпечення робототехнічних систем
Статус дисципліни Нормативна
Форма навчання очна(денна)
Рік підготовки, семестр 2 курс, 1 семестр
Обсяг дисципліни 90 годин (10 годин – Лекції, 12 годин – Практичні)
Семестровий контроль/ контрольні заходи Залік/контрольні роботи
Розклад занять http://roz.kpi.ua
Мова викладання Українська
Інформація про керівника курсу / викладачів

Лектор: к.т.н., Крилов Євген Володимирович

ekrylov1964@gmail.com

моб. +38(050)387-16-45

Лабораторні: к.т.н., доцент, Крилов Євген Володимирович

Розміщення курсу https://campus.kpi.ua

Програма навчальної дисципліни

Опис навчальної дисципліни, її мета, предмет вивчання та результати навчання

Опис дисципліни. При проходженні даної дисципліни, студенти познайомляться з поняттям «паралельне програмування», та детальніше вивчатимуть методи та засоби створення систем паралельного програмування. На лабораторних заняттях опанують етапи проектування паралельних алгоритмів. В курсі передбачений контроль якості отриманих знань у вигляді експрес-контрольних та модульних контрольних робіт. На лекціях проводитимуться практичні групові заняття.

Предмет навчальної дисципліни: основні поняття теорії паралельного програмування, принципи розробки паралельних алгоритмів, побудова семафорів, використання змінних для розробки паралельних систем, використання моніторів, критичні секції.

Міждисциплінарні зв’язки. Дисципліна Методи та технології паралельного програмування

базується на дисциплінах: Програмування – 1. Основи програмування; Програмування – 2. Теорія алгоритмів.

Мета навчальної дисципліни. Підготовка висококваліфікованих фахівців, які володіють основними поняттями теорії паралельних алгоритмів, термінами паралельного програмування, моделюванням предметної області для побудови паралельних програмних систем.,

Основні завдання навчальної дисципліни

Знання:

  • ролі та місця методів паралельного прорамування в інформаційно-технологічному середовищі їх використання;

  • методів та технологій створення паралельних систем ;

  • основних понять синхронізації процесів;

  • загальні відомості про систему семафорів, моніторів, критичних секцій;

Уміння:

  • аналізувати предметну область, визначену рамками певного проекту;

  • розробляти послідовно-паралельні алгоритми;

  • використовувати новітні методи паралельного програмування (змінні, семафори, монітори, критичні секції) ;

.

Пререквізити та постреквізити дисципліни (місце в структурно-логічній схемі навчання за відповідною освітньою програмою)

Пререквізити: вміти користуватися комп’ютером на рівні адміністратора, базові знання в області програмування, вміти будувати алгоритми.

Постреквізити: проектування та реалізація паралельних програмних систем.

Після проходження дисципліни студенти зможуть відтворити базові етапи паралельних систем, а саме виконувати аналіз предметної області, будувати оптимальні с точки зору швидкодії паралельні алгоритми, використовувати паралельні програмні засоби,розробляти складні паралельні системи.

Зміст навчальної дисципліни

Очна форма

Лекційні заняття

Лекція 1. Паралельні комп’ютерні системи.

Лекція 2. Процеси.

Лекція 3. Завдання взаємного виключення.

Лекція 4. Завдання синхронізації процесів.

Лекція 5. Семафори.

Лекція 6. Вирішення завдання взаємного виключення.

Лабораторні заняття

1. Аналіз предметної області.

2. Розробка технічного завдання системи паралельного програмування.

3. Побудова імітаційної моделі.

4. Візуалізація процесів предметної області

Навчальні матеріали та ресурси

Базова література

  1. Элементы параллельного программирования/ Э. Вальковский и др.-М.: Мир, 1988.

  2. Хоар Ч. Взаимодействующие последовательные процессы. – М.: Мир, 1988.-264 с.

  3. Автономное управление асинхронными процессами в ЭВМ и дискретных системах / Под ред. В.И. Варшавского. - М. : Наука, 1986.- 400 с.

Допоміжна література

  1. Жуков І.А., Корочкін О.В. Паралельні та розподілені обчислення. «Корнійчук» Київ 2005.

.

Навчальний контент

Методика опанування навчальної дисципліни (освітнього компонента)

Очна форма

Лекційні заняття

№ з/п Назва теми лекції та перелік основних питань
(перелік дидактичних засобів, посилання на літературу та завдання на СРС)
1

Лекція 1.

Паралельні комп’ютерні системи. Загальна структура комп’ютерної системи, що ґрунтується на паралельній організації.

Комп’ютерні системи з розподільною пам’яттю. Структура КС з розподіленою пам’яттю. Взаємодія процесів.

Дидактичні матеріали: Презентація PowerPoint, комп’ютер, проектор.

Література: [4, стор. 10-15]

2

Лекція 2.

Розподілені комп’ютерні системи. Структура розподіленої комп’ютерної ситеми. Модель взаємодії вузлів у РКС. Кластерні обчислювальні системи.

Дидактичні матеріали: Презентація PowerPoint, комп’ютер, проектор.

Література: [4, стор. 16-17]

3

Лекція 3.

Процеси. Поняття процесу. Стан процесу. Керування процесами. Процеси в мові Java. Процеси в мові Ада. Паралельні алгоритми.

Дидактичні матеріали: Презентація PowerPoint, комп’ютер, проектор.

Література: [4, стор. 19-45]

4

Лекція 4.

Завдання взаємного виключення. Загальна схема вирішення задачі взаємного виключення. Алгоритм виконання операцій ВХІДКД. Алгоритм виконання операцій ВИХІДКД.

Дидактичні матеріали: Презентація PowerPoint, комп’ютер, проектор.

Література: [4, стор. 51-53]

Завдання синхронізації процесів. Завдання синхронізації двох процесів. Синхронізація за поліями.

Дидактичні матеріали: Презентація PowerPoint, комп’ютер, проектор.

Література: [4, стор. 54]

5

Лекція 5.

Семафори. Семафори в мові Ада. Семафори в бібліотеці Win 32.

Монітори. Монітори в мові Ада95. Монітори в мові Java.

Дидактичні матеріали: Презентація PowerPoint, комп’ютер, проектор.

Література: [4, стор. 55-71]

Вирішення завдання взаємного виключення. Вирішення завдання взаємного виключення в мові Ада. Вирішення завдання взаємного виключення в Win 32. Вирішення завдання взаємного виключення в мові Java.

Вирішення завдання синхронізації. Вирішення завдання синхронізації в мові Ада. Вирішення завдання синхронізації в бібліотеці Win 32. Вирішення завдання синхронізації в мові Java.

Дидактичні матеріали: Презентація PowerPoint, комп’ютер, проектор.

Література: [4, стор. 73-102]

Лабораторні заняття

Назва лабораторної роботи Кількість ауд. годин
1

Лабораторна робота 1. Аналіз предметної області.

Необхідно проаналізувати, знайти відповідний матеріал для заданої теми предметної області. Результатом проведеної роботи повинні бути опис предметної області мінімум на сторінку А4

2
2

Лабораторна робота 2. Розробка технічного завдання системи паралельного програмування

Студент отримає типове технічне завдання. Він повинен зробити опис предметної області (постановка задачі). Обов’язкова умова повинні буди послідовні та паралельні процеси. Розробка паралельного алгоритму, вимоги до візуалізації, вимоги до log файлу системи.

4
3

Лабораторна робота 3. Візуалізація процесів предметної області.

Необхідно розробити імітаційну модель паралельної системи відповідно до алгоритму, якій був описаний в технічному завданні.

4
4

Лабораторна робота 4. Прорамування log файлу

Необхідно всі дії системи фіксувати в спеціальному файлі.

2

Самостійна робота студента/аспіранта

Очна форма

№ з/п

Назва теми, що виноситься на самостійне опрацювання Кількість годин СРС
1 Загальна схема вирішення задачі взаємного виключення 4
2 Розподілені обчислення. Сокети. 4
2 Розподілені обчислення. Віддалені процедури. 4
2 Розподілені обчислення. Java сокети. Java RMI. 4
3 Програмування для комп’ютерних систем зі спільною пам’яттю 4
4 Програмування для комп’ютерних систем з локальною пам’яттю 4
5 Програмування для розподілених комп’ютерних систем 4
6 Підготовка до заліку по всьому матеріалу модуля. 10

Політика та контроль

Політика навчальної дисципліни (освітнього компонента)

Система вимог, які ставляться перед студентом:

  • відвідування лекційних та лабораторних занять є обов’язковою складовою вивчення матеріалу;

  • на лекції викладач користується власним презентаційним матеріалом; відпрацьовує практичну частину на віртуальній машині з встановленою відповідною РСУБД; використовує гугл-диск для викладання матеріалу поточної лекції, додаткових ресурсів, лабораторних робіт та інше; викладач відкриває доступ до певної директорії гугл-диска для скидання електронних лабораторних звітів та відповідей на МКР;

  • на лекції заборонено відволікати викладача від викладання матеріалу, усі питання, уточнення та ін. студенти задають в кінці лекції у відведений для цього час;

  • лабораторні роботи захищаються у два етапи – перший етап: студенти виконують завдання на допуск до захисту лабораторної роботи; другий етап – захист лабораторної роботи. Бали за лабораторну роботу враховуються лише за наявності електронного звіту;

  • модульні контрольні роботи пишуться на лекційних заняттях без застосування допоміжних засобів (мобільні телефони, планшети та ін.); результат пересилається у файлі до відповідної директорії гугл-диску;

  • заохочувальні бали виставляються за: активну участь на лекціях; участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць; презентацій по одній із тем СРС дисципліни тощо. Кількість заохочуваних балів не більше 10;

  • штрафні бали виставляються за: невчасну здачу лабораторної роботи. Кількість штрафних балів не більше 10.

Види контролю та рейтингова система оцінювання результатів навчання (РСО) (очна форма)

Рейтинг студента з дисципліни складається з балів, що він отримує за:

  1. виконання контрольних робіт (4 експрес-контрольних на лабораторних заняттях);

  2. виконання та захист 4 лабораторних робіт;

  3. виконання 2 модульних контрольних робіт (МКР);

  4. заохочувальні та штрафні бали.

Система рейтингових балів та критерії оцінювання

Експрес-контрольні роботи:

«відмінно» – повна відповідь (не менше 90% потрібної інформації) – 5 балів;

«добре» – достатньо повна відповідь (не менше 75% потрібної інформації) або повна відповідь з незначними недоліками – 4 балів;

«задовільно» – неповна відповідь (не менше 60% потрібної інформації) та незначні помилки – 1-3 бали;

«незадовільно» – відповідь не відповідає вимогам до «задовільно» – 0 балів.

Лабораторні роботи:

«відмінно», повна відповідь на питання під час захисту (не менш ніж 90% потрібної інформації) та оформлений належним чином електронний протокол до лабораторної роботи – 15/13 балів;

«добре», достатньо повна відповідь на питання під час захисту (не менш ніж 75% потрібної інформації) та оформлений належним чином електронний протокол до лабораторної роботи – 12/11 бали;

«задовільно», неповна відповідь на питання під час захисту (не менш ніж 60% потрібної інформації), незначні помилки та оформлений належним чином електронний протокол до лабораторної роботи – 10/8 бал;

«незадовільно», незадовільна відповідь та/або не оформлений належним чином електронний протокол до лабораторної роботи – 0/3 балів.

За кожне заняття запізнення з поданням лабораторної роботи до захисту від встановленого терміну оцінка знижується на 1 бал.

Модульні контрольні роботи:

«відмінно», повна відповідь (не менш ніж 90% потрібної інформації) – 9-10 балів;

«добре», достатньо повна відповідь (не менш ніж 75% потрібної інформації), або повна відповідь з незначними помилками – 7-8 балів;

«задовільно», неповна відповідь (але не менш ніж 60% потрібної інформації) та незначні помилки – 5-6 бали;

«незадовільно», незадовільна відповідь (неправильний розв’язок задачі), потребує обов’язкового повторного написання в кінці семестру – 0-4 балів.

Заохочувальні бали

– за виконання творчих робіт з кредитного модуля (наприклад, участь у факультетських та інститутських олімпіадах з навчальних дисциплін, участь у конкурсах робіт, підготовка оглядів наукових праць тощо); за активну роботу на лекції (питання, доповнення, зауваження за темою лекції, коли лектор пропонує студентам задати свої питання) 1-2 бали, але в сумі не більше 10;

– презентації по СРС – від 1 до 5 балів.

Міжсесійна атестація

За результатами навчальної роботи за перші 7 тижнів максимально можлива кількість балів – 37 балів (2 лабораторні, МКР-1, 2 експрес-контрольні, 7 заохочувальних балів). На першій атестації (8-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 15 балів.

За результатами 13 тижнів навчання максимально можлива кількість балів – 53 балів (4 лабораторні, МКР-2, 2 експрес-контрольні, 13 заохочувальних балів). На другій атестації (14-й тиждень) студент отримує «зараховано», якщо його поточний рейтинг не менший ніж 25 балів.

Максимальна сума вагових балів контрольних заходів протягом семестру складає:

RD = 4*rлаб+2*rмкр+5*rек + (rз - rш)=4*15+2*10+2*5+ (rз - rш)=100 + (rз - rш),

де rлаб – бал за лабораторну роботу (0…15);

rмкр – бал за написання МКР (0…10);

rек – бал за написання експрес-контрольної роботи (0…4);

rз – заохочувальні бали за активну участь на лекціях, презентації, участь в олімпіадах, конкурсі роботи, наукові роботи за тематикою дисципліни (0…10);

rзш – штрафні бали.

Залік:

Студенти, які виконали всі умови допуску до семестрової атестації (не мають заборгованостей з лабораторних робіт, наявні усі електронні звіти) та набрали протягом семестру необхідну кількість балів (RD ≥ 60), отримують залікову оцінку (залік) так званим «автоматом» відповідно до набраного рейтингу (табл. 1, що наведена нижче). У такому разі до заліково-екзаменаційної відомості вносяться бали RD та відповідні оцінки.

Студенти, які набрали протягом семестру менше ніж 60 балів та не мають заборгованостей, зобов’язані виконувати залікову контрольну роботу.

На заліку студенти виконують письмову контрольну роботу. Кожне завдання містить три теоретичних питання і два практичних. Перелік питань наведений у методичних рекомендаціях до засвоєння кредитного модуля. Кожне питання оцінюється у 20 балів.

Студентам, які протягом семестру набрали більш ніж 60 балів та виконали всі умови допуску, надається можливість виконувати залікову контрольну роботу з метою підвищення оцінки. В такому разі, попередній рейтинг студента з кредитного модуля скасовується і він отримує оцінку з урахуванням результатів залікової контрольної роботи (табл. 1, що наведена нижче).

Система оцінювання питань:

«відмінно», повна відповідь (не менше 90% потрібної інформації) – 18-20 балів;

«добре», достатньо повна відповідь (не менше 75% потрібної інформації, або незначні неточності) – 13-17 балів;

«задовільно», неповна відповідь (не менше 60% потрібної інформації та деякі помилки) – 7-12 балів;

«незадовільно», незадовільна відповідь – 0-6 балів.

Сума набраних балів RD або балів за залікову роботу переводиться до залікової оцінки згідно з таблицею:

Таблиця 1. Переведення рейтингових балів до оцінок за університетською шкалою

Кількість балів Оцінка
100-95 Відмінно
94-85 Дуже добре
84-75 Добре
74-65 Задовільно
64-60 Достатньо
Менше 60 Незадовільно
Не виконані умови допуску Не допущено

Додаткова інформація з дисципліни (освітнього компонента)

  • передбачена можливість закривати частину лабораторного та лекційного матеріалу шляхом здобування сертифікатам по online курсам відповідних розділів та тем дисципліни;

  • перелік теоретичних питань, які виносяться на семестровий контроль наведено в Додатку 1;

Робочу програму навчальної дисципліни (Силабус):

Складено доцент, к.т.н., Крилов Євген Володимирович

Ухвалено кафедрою ІСТ (протокол № 1 від .08.2021 р.)

Погоджено Методичною комісією факультету[1] (протокол № 1 від .09.2021 р.)

Додаток 1

Перелік теоретичних питань на залік

1. Паралельні комп’ютерні системи.

2. Загальна структура комп’ютерної системи, що ґрунтується на паралельній організації..

3. Комп’ютерні системи з розподільною пам’яттю.

4. Структура КС з розподіленою пам’яттю.

5. Взаємодія процесів.

6. Розподілені комп’ютерні системи.

7. Структура розподіленої комп’ютерної системи.

8. Модель взаємодії вузлів у РКС

9. Кластерні обчислювальні системи.

10. Поняття процесу.

11. Керування процесами.

12. Процеси в мові Java.

13. Процеси в мові Ада.

14. Паралельні алгоритми.

15. Завдання взаємного виключення.

16. Загальна схема вирішення задачі взаємного виключення.

17. Алгоритм виконання операцій ВХІДКД.

18. Алгоритм виконання операцій ВИХІДКД.

19. Завдання синхронізації процесів.

20. Завдання синхронізації двох процесів

21. Синхронізація за поліями.

22. Семафори.

23. Монітори..

24. Вирішення завдання взаємного виключення.

25. Вирішення завдання синхронізації

[1] Методичною радою університету – для загальноуніверситетських дисциплін.