Синхронизация параллельных процессов. Производитель-потребитель.

Выполнен
Заказ
2805897
Раздел
Программирование
Предмет
Антиплагиат
Не указан
Срок сдачи
9 Дек 2019 в 11:54
Цена
Договорная цена
Блокировка
10 дней
Размещен
2 Дек 2019 в 11:54
Просмотров
164
Описание работы

Лабораторная работа №1

Синхронизация параллельных процессов. Производитель-потребитель.

1 Задание на лабораторную работу

1.     Разработать параллельную программу, выполняющую копирование данных из одного массива (A) в другой массив (B) с использованием промежуточного буфера. Программа должна состоять из двух потоков. Первый поток – производитель – содержит исходный массив А и копирует данные из него в буфер по одному элементу. Второй поток содержит массив В и производит чтение данных из буфера по одному элементу и запись их в массив В. Запись в буфер возможна при наличии в нем хотя бы одного свободного элемента. Чтение из буфера возможно при наличии в нем хотя бы одного несчитанного элемента. С буфером связаны два счетчика: первый счетчик содержит индекс первого доступного элемента для чтения (начало данных), второй счетчик содержит индекс первого доступного для записи элемента. Если счетчики равны, буфер пуст. Буфер циклический, то есть второй счетчик может быть меньше первого. Если второй счетчик меньше первого на 1, то буфер заполнен. Альтернативным подходом может служить учет только занятых элементов буфера. В этом случае первый счетчик содержит индекс первого занятого элемента, второй счетчик содержит индекс последнего занятого элемента.

2.    Измерить время работы программы для различных значений длины буфера. Размер массивов должен таким, чтобы массивы A, B и буфер

заполняли максимум свободной оперативной памяти. Минимальный размер массива A – 10 в 8 степени элементов. Размер буфера – от 10 элементов до половины длины массива A. Рекомендуется использовать не менее 10 различных значений размера буфера при проведении вычислительных экспериментов.

3.     Объяснить наблюдаемые изменения длительности работы программы.

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

5.    Объяснить наблюдаемые закономерности.

6.    Составить отчет по результатам работы.

2 Содержание отчета

1.    Постановка задачи.

2.    Словесное описание работы параллельного алгоритма.

3.    Исходный текст различных вариантов программы.

4.    Результаты вычислительных экспериментов с объяснением полученных зависимостей. Результаты должны содержать таблицы с длительностью различных вариантов программы и ускорением. Графики достаточно построить только для ускорения.

5.    Выводы по работе.

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу1 год
Средний балл4.53
СтоимостьНазначаете сами
ЭкспертВыбираете сами
Уникальность работыот 70%
Время выполнения заказа:
6 дней 12 часов 45 минут
Выполнен в срок
Отзыв о выполненном заказе
Предыдущий заказ
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Прямой эфир