Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Ознайомитися з наведеним у методичних вказівках прикладом та теорією розглянутою на Лекції 14

Работа добавлена на сайт samzan.net:


Лабораторана робота №6 Технологія розподілених систем та паралельних обчислень

Завдання:

1. Ознайомитися з наведеним у методичних вказівках прикладом та теорією, розглянутою на Лекції 14.

2. Розробити програму розрахунку функції за індивідуальним завданням (див. табл. 6.1). Для розрахунку кожного блоку функції організувати окремий потік за допомогою базового класу Thread у відповідності з наведеною у завданні схемою. У кожному потоку організувати обчислення суми вирахуваних значень функцій для i=0,1, результат обчислень – сума усіх блоків.

3. Забезпечити можливість запуску потоків у послідовному та паралельному вариантах.

4. Створити форму для виведення результатів обчислень та організації діалогу з користувачем.

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

Таблиця 6.1 – Варіанти індивідуальних завдань

№ п/п

Потоки

Схема

P1

P2

P3

P4

P5

1

sin(i)

cos(i)

cos(i)+ sin(i)

i

cos(i)1

Р1

Р2

Р3

Р4

Р5

2

cos(i)

sin(i)

i-sin(i)

cos2(i)

cos2(i)+1/i

Р1

Р2

Р3

Р4

Р5

3

cos(i)/ sin2(i)

sin(i)cos(i)

i+cos(i)

sin(2i)/2i

cos(atan(i))

Р1

Р2

Р3

Р4

Р5

4

sin(i)+ cos(i)

cos(i)

sin(i)+i

cos(i)/i

sin(i)

Р1

Р2

Р4

Р5

Р3

5

cos(i)

isin(i)

sin(i)

cos(3i)

cos2(i)+i

Р3

Р1

Р2

Р4

Р5

6

sin(i)/2

cos(i)/2

arcctg(i)

sin(i)/i

i+1/i

Р1

Р2

Р3

Р4

Р5

7

cos(i)

sin(i)

sin(i)+cos(i)

sin2(i)

cos2(i)

Р2

Р3

Р5

Р1

Р4

8

i+i

sin(cos(i))

sin(i)+i

sin(i)cos(i)

cos(i)

Р2

Р3

Р4

Р5

Р1

9

sin(i)

cos(i+ sin(i))

sin2(i)+ cos2(i)

i+ cos2(i+i)

i+i

Р3

Р4

Р5

Р1

Р2

10

cos(i)

sin(i+ cos(i))

cos(sin(i))

sin2(i)* cos2(i)

sin2(i)

Р3

Р4

Р5

Р1

Р2

11

sin(i)/2i

cos(2*i)

sin(i2)

sin(i)/i

i+sin(i)+ cos(i)

Р3

Р4

Р5

Р2

Р1

12

i*cos(i)- 2i

sin2( cos(i))

cos(i+2)

sin(i)

i+1/i+1/(2*i)

Р1

Р2

Р5

Р4

Р3

13

i/2+i/3

cos(i)

sin(i+3)

cos(i)/2

cos2(i2)

Р3

Р1

Р2

Р4

Р5

14

cos(i)/3

sin(i2)/2

cos2(2*i)

4*sin(i) +3*cos(i)

(5*i)/ sin(i)

Р4

Р2

Р5

Р1

Р3

15

(1)i

cos(i+ sin2(i)

sin(i+ cos(i)

sin(i+1)

sin(i)

Р3

Р5

Р4

Р1

Р2

16

cos(i)/4

sin2(cos(i))

i+i

sin(i)

cos(i)

Р1

Р5

Р3

Р4

Р1

17

cos(sin(i))

sin2(i)

cos2(2*i)

cos(i)

(3*i)/sin(i)

Р2

Р1

Р4

Р5

Р3

18

cos(2*i)

sin(i)

cos2(i)

cos(2*i)

i+ cos(i+i)

Р5

Р2

Р3

Р1

Р4

19

i/3+i/5

sin(i)/i

cos(i)/2

sin2(i)+ cos2(i)

sin(i)

Р3

Р1

Р5

Р4

Р2

20

cos(i)

cos(i)

sin2(i)

sin(i)+ 2*i

abs(sin(i))

Р1

Р2

Р5

Р4

Р3

21

1/i+3/i

cos(i)/5

(2*i)/sin(i)

i+i

i+ cos2(i+i)

Р4

Р2

Р3

Р1

Р5

22

cos(sin(i))

i/3+i/2

cos(sin(cos(i)))

cos(i)

(2*i)/sin(i)

Р1

Р2

Р5

Р4

Р3

23

sin2(i)+ cos2(i)

abs(cos (i))

i+i/7

sin(i)/i

sin(i/4)

Р2

Р1

Р4

Р5

Р3

24

cos(i)

sin2(i)

sin(cos(sin(i)))

sin(i/2)/2*i

cos(i)/4

Р3

Р5

Р2

Р4

Р1

25

sin(i)

sin2(i)

sin(i)i

cos(i)

i+2*i+ 3*i

Р5

Р2

Р3

Р4

Р1

26

sin(i)

cos(i5)

cos( sin(i))

sin2(i)

cos(i)

Р2

Р5

Р4

Р3

Р1

27

cos(i)

cos2(i)

sin2(i)

cos(2*i)

sin(i)

Р4

Р3

Р5

Р1

Р2

28

sin(i)

sin(cos(sin(i)))

sin(i)

cos( sin(i))

cos(i)/2

Р2

Р4

Р5

Р1

Р3

29

i/4+i/6

cos(sin(i))

cos(i)/2

i+cos2(i)

sin(i)

Р3

Р4

Р1

Р5

Р2

30

sin(i)

sin(i+cos(i))

cos(i)/3

cos(i)

sin(cos(sin(i)))

Р4

Р2

Р3

Р1

Р5

31

sin(i)+ cos(i)

tan(i)+ cos(i)

Р1

Р2

Таблиця 6.2 – Результати роботи програми при різній кількості ітерацій kIter

kIter

Багатопотокове виконання T1

Послідовне виконання T2

|T1T2|/T2

500

750

1 000

2 000

3 000

4 000

5 000

6 000

8 000

10 000

15 000

ПРИКЛАД РОЗРОБКИ БАГАТОПОТОКОВОЇ ПРОГРАМИ (ВАРІАНТ №31)

При розв’язанні задачі послідовним способом схема рішення має наступний вигляд:

P1

P2

P3

де  Р1 – перший блок;

Р2 – другий блок;

Р3 = Р1 + Р2 – обчислення суми блоків.

При розв’язанні задачі паралельним способом, враховуючи, що блоки Р1 та Р2 незалежні, схема має наступний вигляд:

P1

P2

P3

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

Реалізація.

1. Відкрийте Visual Studio 2010. У меню File виберіть New | Project. Відкриється діалогове вікно New Project (див. рис. 6.1). У групі Installed Templates виберіть мову Visual C# та шаблон Windows Forms Application. У полі Location введіть ім'я папки, де буде зберігатися проект. Наприклад, введіть назву папки D:\work\. У полі Name форми вкажіть її ім'я. Натисніть кнопку ОК.

Рис. 6.1. Вікно Add New Project під час створення проекту

2. На формі розмістіть текстове поле з іменем kIterTB для введення значення кількості ітерацій, елемент richTextBox для відображення результатів обчислень та три кнопки “Паралельно”, “Послідовно”, “Вихід”, як показано на рис. 6.2.

Рис. 6.2. Форма Windows-проекту

3. Двічі клацнувши мишкою на кнопці “Паралельно”, створіть для неї обробник події Click. Додайте до нього код, що містить виклик функцій у вигляді окремих потоків (див. Лістінг 6.1).

Лістінг 6.1. Обробник події Click для кнопки “Паралельно”

4. Двічі клацнувши мишкою на кнопці “Послідовно”, створіть для неї обробник події Click. Додайте до нього код, що містить послідовний виклик функцій (див. Лістінг 6.2).

Лістінг 6.2. Обробник події Click для кнопки “Послідовно”Лістінг

5. Двічі клацнувши мишкою на текстовому полі kIterTB, створіть для неї обробник події TextChanged. Додайте до нього код, що містить послідовний виклик функцій (див. Лістінг 6.3).

Лістінг 6.3. Обробник події TextChanged  для текстового поля kIterTB

6. Натисніть кнопку F5, щоб запустити проект. Переконайтеся, що програма успішно працює.




1. Реферат- Оценка бескупонных облигаций (облигаций с нулевым купоном)
2. ТЕМА 2 ОСНОВНЫЕ ПРИЕМЫ ЧЕРЧЕНИЯ В utoCD Черчение с помощью сетки
3. Классификация потребностей А Маслоу
4. 2011 года Согласовано Зам
5. Деякі параметри планети Плутон рухається навколо Сонця по еліптичній орбіті зі значним ексцентриситето
6. Периодизация истории развития административной юстиции в России
7. Роль электропривода в хозяйстве Российской Федерации
8. Тема Словообразование
9. Автоматизированные системы управления Разработка элементов информационной системы средства
10. Основы классификации страхования
11. 97 Правительство Российской Федерации и Правительство Республики Беларусь желая заключить Соглашение об
12. 1998 Методические указания разработаны кандидатом экономических наук Лукашевичем Виталием Матвеевичем д
13. Расчет теплообменного аппарата
14. Реферат- Анализ эксплуатационного обслуживания
15. ВАРИАНТЫ КОНТРОЛЬНЫХ РАБОТ по дисциплине Макроэкономика для студентов заочного отделения Специальн
16. Лабораторная работа 3 ОЦЕНКА ЭФФЕКТИВНОСТИ ЗАЩИТНОГО ЗАЗЕМЛЕНИЯ Цель работа- оценка эффективности з.
17. отцов и детей Заключение.
18. тематику и в некоторой степени специализируется на майнкрафте
19. Понятие о музыкальных интервалах и аккордах
20. ресурс который помогает Вам поддерживать связь с Вашими старыми и новыми друзьями.html