- •Міністерство освіти і науки, молоді та спорту України
- •Лабораторний практикум і методичні вказівки до його виконання
- •8.05010104 «Системи штучного інтелекту»
- •Частина 1. Лабораторний практикум
- •Лабораторні завдання
- •Контрольні питання
- •Вимоги до звіту
- •Лабораторне завдання
- •Варіанти завдань
- •Лабораторне завдання
- •Варіанти завдань
- •Контрольні питання.
- •Лабораторне завдання
- •План практикуму
- •Рівень підготовки
- •Необхідне програмне забезпечення
- •Підтримуючі матеріали
- •Методичні рекомендації
- •1. Технічне завдання на розробку прототипу паралельної субд
- •1.1. Модельна база даних
- •1.2. Прототип паралельної субд
- •1.3. Мова запитів
- •1.4. Модульна структура прототипу паралельної субд
- •2. Розробка прототипу паралельної субд
- •Додаток . Опис контрольних тестів Відношення модельної бази даних
- •Відношення r0
- •Відношення r1
- •Ставлення r2
- •Запити контрольних тестів
- •Результат виконання запитів
2. Розробка прототипу паралельної субд
У ході розробки прототипу передбачається реалізація функцій, складових бібліотеку прототипу. Виконуючи компіляцію і збірку прототипу, стежте за тим, що при цьому використовуються вихідні тексти Вашої реалізації, а не об'єктний код бібліотеки.
Завдання 4 . Реалізація Виконавця запитів
Вивчіть в довіднику за функціями бібліотеки прототипу розділ Виконавець запитів. Виконайте реалізацію даної підсистеми. У показання до завдання
Вказівки до завдання 4
1. Розробіть алгоритм і виконайте реалізацію функції en_ExecuteQuery ("Виконати запит").
2. Виконайте компіляцію і збірку прототипу.
Точка контролю 2
Виконайте запуск прототипу на запитах 1, 2, 3 контрольних тестів. Переконайтеся, що отримані результати збігаються із зазначеними у додатку. В іншому випадку виконуйте наведені вище вказівки даного завдання до усунення помилок.
Завдання 5 . Реалізація Менеджера паралельних агентів
Вивчіть в довіднику за функціями бібліотеки прототипу розділ Менеджер паралельних агентів. Виконайте реалізацію даної підсистеми.
Вказівки до завдання 5
1. Розробіть алгоритми і виконайте реалізацію функцій Reset STORE ("Почати операцію збереження кортежів") і ExecuteSTORE ("Виконати операцію збереження кортежів").
2. Розробіть алгоритм і виконайте реалізацію функції am _ MakeAgent ("Створити паралельного агента").
3. Виконайте автономне тестування Менеджера паралельних агентів, використовуючи відповідну тестову програму; при наявності помилок виконуйте налагодження і тестування даної підсистеми до їх усунення.
4. Виконайте компіляцію і збірку прототипу.
Точка контролю 3
Виконайте запуск прототипу на запитах 1, 2, 3 контрольних тестів. Переконайтеся, що отримані результати збігаються з зазначеними у додатку. В іншому випадку виконуйте наведені вище вказівки даного завдання до усунення помилок.
Завдання 6 . Реалізація Параллелізатора запитів
Вивчіть в довіднику за функціями бібліотеки прототипу розділ Параллелізатор запитів. Виконайте реалізацію даної підсистеми.
Вказівки до завдання 1
1. Розробіть алгоритм реалізації функції pl _ ParallelizeQuery ("Побудувати дерево паралельного плану виконання запиту").
Рекомендуємо виконати "суху" налагодження даного алгоритму (без складання і запуску прототипу) на запитах контрольних тестів.
2. Виконайте реалізацію функції pl _ ParallelizeQuery.
3. Виконайте автономне тестування Параллелізатора запитів, використовуючи відповідну тестову програму; при наявності помилок виконуйте налагодження і тестування даної підсистеми до їх усунення.
4. Виконайте компіляцію і збірку прототипу.
Точка контролю 4
Виконайте запуск прототипу на запитах 1, 2, 3 контрольних тестів. Переконайтеся, що отримані результати збігаються з зазначеними у додатку. В іншому випадку виконуйте наведені вище вказівки даного завдання до усунення помилок.
5. Розробіть алгоритми реалізації наступних функцій:
ResetMERGE ("Почати операцію MERGE"), ExecuteMERGE ("Виконати операцію MERGE");
ResetGATHER ("Почати операцію GATHER"), ExecuteGATHER ("Виконати операцію GATHER");
ResetSPLIT ("Почати операцію SPLIT"), ExecuteSPLIT ("Виконати операцію SPLIT");
ResetSCATTER ("Почати операцію SCATTER"), ExecuteSCATTER ("Виконати операцію SCATTER").
Рекомендуємо виконати "суху" налагодження даних алгоритмів (без складання і запуску прототипу) принаймні на одному запиті контрольних тестів.
6. Виконайте реалізацію функцій
7. Виконайте компіляцію і збірку прототипу.
Точка контролю 5
Виконайте запуск прототипу на запитах 1, 2, 3 контрольних тестів. Переконайтеся, що отримані результати збігаються із зазначеними у додатку. В іншому випадку виконуйте наведені вище вказівки даного завдання до усунення помилок.
Завдання 7 . Реалізація Генератора послідовних планів
Вивчіть в довіднику за функціями бібліотеки прототипу розділ Генератор послідовних планів. Виконайте реалізацію даної підсистеми.
Вказівки до завдання 7
1. Розробіть алгоритми і виконайте реалізацію функцій Reset S CAN ("Почати операцію сканування відносини") і ExecuteS CAN ("Виконати операцію сканування відносини").
2. Розробіть алгоритми і виконайте реалізацію функцій ResetRE S TRICT ("Почати операцію вибірки") і Execute RESTRICT ("Виконати операцію вибірки").
3. Виконайте компіляцію і збірку прототипу.
Точка контролю 6
Виконайте запуск прототипу на запитах 1, 2, 3 контрольних тестів. Переконайтеся, що отримані результати збігаються з зазначеними у додатку. В іншому випадку виконуйте наведені вище вказівки даного завдання до усунення помилок.
4. Розробіть алгоритм функції Execute JOIN _ NestedLoops ("Виконати операцію з'єднання методом вкладених циклів").
Рекомендуємо виконати "суху" налагодження даних алгоритмів (без складання і запуску прототипу).
5. Виконайте реалізацію функції Execute JOIN _ NestedLoops.
6. Виконайте компіляцію і збірку прототипу.
Точка контролю 7
Виконайте запуск прототипу на запитах 1, 2, 3 і 4 контрольних тестів. Переконайтеся, що результати виконання запитів 1, 2 і або 3, або 4 збігаються із зазначеними в додатку (в залежності від того, яке з з'єднуються відносин знаходиться у внутрішньому циклі). В іншому випадку виконуйте наведені вище вказівки даного завдання до усунення помилок.
Завдання 8 . Реалізація Менеджера повідомлень
Вивчіть в довіднику за функціями бібліотеки прототипу розділ Менеджер повідомлень. Виконайте реалізацію даної підсистеми.
Вказівки до завдання 8
1. Визначте функції стандарту MPI, на основі яких буде реалізований Менеджер повідомлень. Розробіть алгоритми і виконайте реалізацію функцій Менеджера повідомлень.
2. Виконайте автономне тестування Менеджера повідомлень, використовуючи відповідну тестову програму; при наявності помилок виконуйте налагодження і тестування даної підсистеми до їх усунення.
3. Виконайте компіляцію і збірку прототипу.
Точка контролю 8
Виконайте запуск прототипу на запитах 1, 2, 3 контрольних тестів. Переконайтеся, що отримані результати збігаються із зазначеними у додатку. В іншому випадку виконуйте наведені вище вказівки даного завдання до усунення помилок.