- •Лабораторна робота №2.
- •Приклад документованого тексту програми.
- •Виклик утiлiти Javadoc з командного рядка.
- •Завдання:
- •Лабораторна робота №3.
- •Теоретичнi вiдомостi.
- •Завдання
- •Iндивiдуальнi завдання до захисту роботи
- •Лабораторна робота №4.
- •Теоретичнi вiдомостi.
- •Завдання
- •Iндивiдуальнi завдання до захисту роботи
- •Рекурсивна версiя засувки
- •Завдання
- •Iндивiдуальнi завдання до захисту роботи
- •Використання семафорiв для сигналiзацiї
- •Рахуючий семафор
- •Обмежуючий семафор
- •Потоки стандартного вводу / виводу
- •Стандартний поток виводу System.Out
- •Стандартний поток вводу System.In
- •Стандартний поток помилок System.Err
- •Потоки вводу / виводу пакету java.Io
- •Файловий ввод / вивід
- •Рядковий ввод / вивід
- •Завдання:
- •Опанувати методику створення розподiлених програм з використанням часової синхронiзацiї паральних потокiв.
- •Приклад використання класу CountDownLatch
- •Опанувати методику створення розподiлених програм з використанням часової синхронiзацiї паральних потокiв.
- •Приклад вiдстеження моменту закiнчення роботи декiлькох потокiв
- •Завдання:
- •Опанувати методику створення розподiлених програм з використанням обмiнникiв.
- •Завдання:
- •Iндивiдуальнi завдання до захисту роботи
- •Мережі і сокети
- •Приклад: віддалене читання файлу
- •Сервер читання файлів мовою Java
- •Клієнт читання файлів мовою Java
- •Порядок компіляції та запуску програм
- •Завдання:
- •Контрольні питання:
- •Iндивiдуальнi завдання до захисту роботи
- •Опанувати методику створення розподiлених програм з використанням конвейеру команд.
- •Опанувати методику побудови моделi обчислень у виглядi графа "операцiї-операнди".
- •Приклад паралельного алгоритму для обчислення площi прямокутника
- •Завдання:
- •Iндивiдуальнi завдання до захисту роботи
- •Опанувати методику створення розподiлених програм з використанням портфеля задач.
- •Приклад використання портфеля задач за допомогою ExecutorService.
- •Завдання:
- •Iндивiдуальнi завдання до захисту роботи
- •Опанувати методику створення розподiлених програм з використанням бар'єрної синхронiзацiї.
- •Приклад використання бар'ера
- •Завдання:
- •Iндивiдуальнi завдання до захисту роботи
- •Опанувати методику синхронiзацiї паральних процесiв з використанням блокуючої черги.
- •Приклад реалiзацiї блокуючої черги
- •Приклад використання блокуючої черги
- •Завдання:
- •Iндивiдуальнi завдання до захисту роботи
- •Вимоги до звiту
- •Iндивiдуальнi завдання для самостiйної роботи
- •Вимоги до звiту
- •Iндивiдуальнi завдання для самостiйної роботи
- •Вимоги до звiту
- •Iндивiдуальнi завдання для самостiйної роботи
- •Додатковi завдання для пiдвищення балiв з курсу “Паралельне програмування”
Завдання:
Розглянути, вiдкомпiлювати та запустити на виконання наведенi приклади.
З'ясувати принципи взємодiї та синхронiзацiї потокiв при використаннi конвейеру команд.
З'ясувати особливостi програмування та застосування конвейеру команд.
Iндивiдуальнi завдання до захисту роботи
Побудувати паралельний конвеєр команд для обрахунку виразу y = ( a + b + c + d ) * e + f g + h i - j k * l m * n + q r
Побудувати паралельний конвеєр команд для обрахунку виразу y = a b - ( c + d ) + e + f g * h i * j * k l - ( m * n - p + q )
Побудувати паралельний конвеєр команд для обрахунку виразу y = ( a b + c + d ) * ( e * f - ( g + h ) ) ( i * j - k l ) + ( m + n ) * p q
Побудувати паралельний конвеєр команд для обрахунку виразу y = ( a + b c + d - e f * ( g + h ) ) * ( ( i * j + k * l ) + ( m n - ( p - q ) )
Побудувати паралельний конвеєр команд для обрахунку виразу y = ( ( ( a + b ) + c * d ) - ( e + f ) + ( g + h ) ) - ( i * j + k l - ( m * n - p * q )
Побудувати паралельний конвеєр команд для обрахунку виразу y = ( ( a * b - c d ) - ( e * f - g * h ) ) + ( i * j + k* l + m * n p * q )
Побудувати паралельний конвеєр команд для обрахунку виразу y = ( ( a - b ) * c * d ) + e + f g h + ( i * j + k + l ) * m + n p - q
Побудувати паралельний конвеєр команд для обрахунку виразу y = ( a * b - c d * e + f g - h ) * ( ( i + j ) * ( k + l ) - ( m n + p * q ) )
Побудувати паралельний конвеєр команд для обрахунку виразу y= a + b c - d + ( e - f ) * ( g - h ) ( i * j + k l ) * ( ( m - n ) + ( p - q ) )
Побудувати паралельний конвеєр команд для обрахунку виразу y = ( a + b ) * ( c - d ) ( e + f ) * ( g - h ) * ( i * j - ( k + l ) ) * m + n p - q
Побудувати паралельний конвеєр команд для обрахунку виразу y = a * b c + d * ( ( e - f ) + g h ) i + j k * l - ( m l - p q )
Побудувати паралельний конвеєр команд для обрахунку виразу y = ( a b + c d ) * ( e f + g h ) i - j k - l * m * n p - q
Побудувати паралельний конвеєр команд для обрахунку виразу y = a * b c + d + e - f g * h ( i j * k l ) * m - n p - q
Побудувати паралельний конвеєр команд для обрахунку виразу y = a + b c * d e * f g - h * i - j k - l m n - p q
Побудувати паралельний конвеєр команд для обрахунку виразу y = a * b - c * d - e * f + g h ( i + j ) * k l * ( m n - p q )
Побудувати паралельний конвеєр команд для обрахунку виразу y = a b + c d ( e - f ) * g h + i j - k * l m - n p * q
Побудувати паралельний конвеєр команд для обрахунку виразу y = ( a - b ) * c d e f - g * h + i - j k * l * ( ( m + n ) - p * g )
Побудувати паралельний конвеєр команд для обрахунку виразу y = a + b - c * d e f + g * h * ( i + j k * l + m * n * p q )
Побудувати паралельний конвеєр команд для обрахунку виразу y = a * b c - d - e - f g * h + ( i j + k * l ) * m * n p * q
Побудувати паралельний конвеєр команд для обрахунку виразу y = a * b + c * d e * f - g * h * i j - k l ( m - n ) * ( p + q )
Побудувати паралельний конвеєр команд для обрахунку виразу y = a - b c - d * ( e f + g h ) * ( i * j k + l + m n * p q )
Побудувати паралельний конвеєр команд для обрахунку виразу y = a * b c + d * e * f g - h - i j * k l * ( m n + p q )
Побудувати паралельний конвеєр команд для обрахунку виразу y = ( a + b c - d + e * f g * h ) * ( ( i + j ) * k l + m n * p q )
Побудувати паралельний конвеєр команд для обрахунку виразу y = ( a + b c * d - ( e f - g h ) ) * ( i - j k - l + m n * p q )
Побудувати паралельний конвеєр команд для обрахунку виразу y = ( a - b ) * c d - e f * g h i + j k * l * m - n p + q
Побудувати паралельний конвеєр команд для обрахунку виразу (a * x - b * y) + (c * x - d * y) + (e * x - f * y)
Побудувати паралельний конвеєр команд для обрахунку виразу a ⋅ x + b ⋅ y + c ⋅ z a + b + c
Лабораторна робота №13.
Тема: Розподiлене програмування на мовi Java з використанням портфеля задач.
Мета:
