Skip to content

AdvancedJavaLabs/lab1-java-quicklybly

 
 

Repository files navigation

Review Assignment Due Date

Лабораторная работа № 1: определение достижимости параллелизма и реализация параллельных алгоритмов.

Шаги выполнения:

  1. Выберите один из алгоритмов обхода графа (BFS или BFS).
  2. Разберитесь с выбранным алгоритмом и выделите основные этапы его выполнения. Идентифицируйте зависимости между этапами и выберите те, которые можно эффективно распараллелить (для этого постройте граф зависимостей (можно в голове))
  3. Напишите программу на выбранном вами языке программирования (java, c++), реализующую выбранный алгоритм с учётом параллельных возможностей.
  4. С помощью инструментов (ThreadSanitizer && Helgrind для С++, JCStress тесты для Java) проанализировать программу на предмет отсутствия ошибок синхронизации данных. Если ошибок не нашлось, то внести их и найти.
  5. Эксперименты и анализ результатов:
    Проведите эксперименты, измеряя производительность параллельной реализации алгоритма на различных объемах входных данных. Сравните результаты с последовательной версией и опишите полученные выводы.
  • Постройте график зависимости времени выполнения параллельной версий алгоритма от выделенных ресурсов.
  • Постройте график зависимости времени выполнения параллельной и последовательной версий алгоритма в зависимости от объема входных данных.

    Загрузить графики в отдельную директорию в репозитории
    Для построения графиков можно воспользоваться чем угодно

About

parallelprogramming2025-lab1_java-parallel_lab1 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 83.1%
  • Kotlin 16.9%