ВОПРОСЫ К ТЕСТУ ПО КУРСУ «ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ»

1. Принципы построения параллельных вычислительных систем (15)

1. Схемы многопроцессорных систем с однородным и неоднородным доступом.

2. Основные виды топологии сети.

3. Что понимается под параллельными вычислениями?

4. Принципы построения вычислительной сети для достижения параллелизма?

5. Что понимается под многозадачным режимом выполнения независимых частей программы?

6. Для каких параллельных алгоритмов обработка данных при распределённых вычислениях более эффективна?

7. Что понимается под суперкомпьютером?

8. Как называется группа компьютеров, объединённых в локальную сеть и способных работать в качестве единого вычислительного ресурса?

9. Что такое "Beowulf"?

10. Типы систем по классификации Флинна.

11. Каждый процессор параллельной системы может использовать только свою локальную память, в то время как для доступа к данным, располагаемым на других процессорах, необходимо явно выполнить операции передачи сообщений. О какой системе идёт речь?

12. Что понимается под топологией сети передачи данных?

13. Частным случаем какой топологии является топология "гиперкуб" ?

14. В каком случае два процессора имеют прямое соединение между собой в топологии "гиперкуб"?

15. Дайте определение понятиям «диаметр», «связность», «стоимость»?

2. Моделирование и анализ параллельных вычислений (12)

1. Что понимается под понятием «паракомпьютер»?

2. Чему равно минимально возможное время выполнения параллельного алгоритма?

3. Пусть для некоторой вершины вывода в вычислительной схеме алгоритма существует путь из каждой вершины ввода. Кроме того, пусть входная степень вершин схемы (количество входящих дуг) не превышает 2. Тогда какой величиной ограничено снизу минимально возможное время выполнения параллельного алгоритма (T∞(G))?

4. Дайте определение понятию «ускорение (speedup)»

5. Дайте определение понятию «эффективность (efficiency)»

6. Дайте определение понятию «стоимость (cost)»

7. Дайте определение понятию «сверхлинейное (superlinear) ускорение»

8. Чему равняется идеальная эффективность Ep (в предельном случае) ?

9. Чему равняется идеальное ускорение Sp?

10. Может ли быть распараллелен алгоритм суммирования, представленный на схемах 1, 2 и 3. Если может, то укажите, на каких схемах.

 

11. Укажите максимально возможное ускорение (согласно закону Амдаля) от использования параллелизма, если алгоритм содержит 10% последовательных команд.

12. В каком случае параллельный алгоритм называют масштабируемым (scalable)?

3. Оценка коммуникационной трудоемкости параллельных алгоритмов (12)

1. Чем характеризуются оптимальные алгоритмы маршрутизации?

2. Чем характеризуются детерминированные методы выбора маршрута?

3. Чем характеризуются адаптивные методы выбора маршрута?

4. Укажите вариант, соответствующий Методу Передачи Сообщений

5. Реализация какого метода передачи данных (МПП или МПС) требует разработки более сложного аппаратного и программного обеспечения сети?

6. Реализация какого метода передачи данных (МПП или МПС) может значительно увеличить накладные расходы на время подготовки и передачи служебных данных?

7. Какой метод передачи данных (МПП или МПС) в большинстве случаев приводит к более быстрой пересылке данных?

8. Какой метод передачи данных (МПП или МПС) требует меньший объём буфера памяти для хранения пересылаемых данных при организации приёма-передачи сообщений?

9. За сколько этапов, согласно приведённой схеме, может быть выполнена рассылка данных от одного процессора всем остальным процессорам сети?

10. За сколько этапов, согласно приведённой схеме, может быть выполнена рассылка данных от одного процессора всем остальным процессорам сети?

11. Сколько процессорных узлов в каждый текущий момент времени может быть задействовано при использовании 8-портового концентратора (Hub) при передаче данных от одного процессора другому?

12. Для какого метода передачи сообщений (МПП или МПС) время пересылки данных tпд размером m байт по маршруту длиной l при достаточно длинных сообщениях определяется выражением

tпд = tн + m tк l ?

4. Параллельное программирование на основе MPI (46)

1. Какой подход в рамках MPI используется для распараллеливания поставленной задачи на нескольких процессорах?

2. Как называется модель организации параллельных вычислений в рамках MPI?

3. Что включает в себя понятие MPI?

4. Что понимается под параллельной программой в рамках MPI?

5. Что понимается под рангом в рамках MPI?

6. Что понимается под коммуникатором в MPI?

7. Какие операции могут выполняться между процессами принадлежащими одному и тому же коммуникатору?

8. Назначение и особенности использования функции MPI_Init() в параллельной программе

9. Назначение и особенности использования функции MPI_Comm_size()

10. Назначение и особенности использования функции MPI_Comm_rank()

11. Назначение и особенности использования функции MPI_Send()

12. Назначение и особенности использования функции MPI_Recv()

НЕ нашли? Не то? Что вы ищете?

13. Назначение и особенности использования функции MPI_Send()

14. Назначение и особенности использования функции MPI_Recv()

15. Назначение и особенности использования функции MPI_Bcast()

16. Назначение и особенности использования функции MPI_Reduce()

17. Назначение параметра MPI_ANY_SOURCE

18. Назначение параметра MPI_COMM_WORLD

19. Какой функции соответствует эта схема операций с данными?

20. Какой функции соответствует эта схема операций с данными?

21. Какой тип операции редукции данных иллюстрирует данная схема?

22. Назначение и особенности использования функции MPI_Barrier()

23. Назначение и особенности использования функции MPI_Ssend()

24. Назначение и особенности использования функции MPI_Bsend()

25. Назначение и особенности использования функции MPI_Rsend()

26. Перечислите неблокирующие модификации функции MPI_Send()

27. Назначение и особенности использования функции MPI_Sendrecv()

28. Какие процессы принимают участие в коллективных операциях над данными?

29. Какой функции соответствует эта схема операций с данными?

30. Какой функции соответствует эта схема операций с данными?

31. При помощи какой MPI-функции может быть получена операция сбора и обработки данных с получением всех частичных результатов редуцирования?

32. Назначение и особенности использования функции MPI_Bcast()

33. Назначение и особенности использования функции MPI_Reduce()

34. Назначение и особенности использования функции MPI_Scan()

35. Назначение и особенности использования функции MPI_Scatter()

36. Назначение и особенности использования функции MPI_Gather()

37. Назначение и особенности использования функции MPI_Alltoall()

38. Как называется последовательность описаний входящих в тип значений, через указание типа и смещения адреса месторасположения от некоторого базового адреса {(type0, disp0), (type1, disp1), …, (typen-1, dispn-1)}?

39. Особенности использования непрерывного способа конструирования производных типов данных в MPI

40. Особенности использования векторного способа конструирования производных типов данных в MPI

41. Особенности использования индексного способа конструирования производных типов данных в MPI

42. Особенности использования структурного способа конструирования производных типов данных в MPI

43. Определение коммуникатора в MPI

44. Путём выполнения каких операций над имеющимися группами можно создать новую группу процессов в MPI?

45. Назначение и особенности использования функции MPI_Group_size()

46. Виртуальная топология какого вида поддерживается в MPI?

5. OpenMP (18)

1. Какой архитектуре соответствует стандарт OpenMP?

2. С какой средой разработки (языки программирования) взаимодействует OpenMP?

3. Каковы особенности распараллеливания последовательной программы с использованием OpenMP?

4. Перечислите принципы организации параллелизма в OpenMP

5. Какой номер может иметь master поток?

6. Перечислите все способы для указания числа потоков, которые увидит OpenMP.

7. Сколько потоков увидит OpenMP, если специально их количество в программе не определять?

8. Какой параметр определяет список переменных, которые будут локальными для каждого потока; переменные создаются в момент формирования потоков параллельной области; перед использованием инициализируются значениями исходных переменных?

9. Какая директива используется для распределения вычислений между потоками для раздельных фрагментов кода?

10. Назначение и особенности использования директивы #pragma omp sections.

11. Назначение и особенности совместного использования директив #pragma omp parallel и #pragma omp for

12. Назначение и особенности директивы Master

13. Назначение и особенности директивы Single

14. Назначение и особенности директивы Critical

15. Сопоставьте директивы синхронизации их назначению

16. Назначение и особенности применения директивы Barrier

17. Назначение и особенности применения директивы Flush

18. Какая функция возвращает номер потока?

6. Принципы разработки параллельных методов (16)

1. Перечислите этапы при разработке параллельных алгоритмов.

2. В каком случае применяется агрегация подзадач на этапе масштабирования?

3. Может ли выполнить параллельную программу на однопроцессорном (одноядерном) компьютере?

4. Отличие функционального параллелизма от параллелизма по данным.

5. Что понимается под очередью сообщений, в которую можно отправлять и извлекать данные в модели «Процессы-каналы»?

6. Что характерно для уровня декомпозиции с формированием максимально возможного количества подзадач?

7. Что характерно для уровня декомпозиции с использованием достаточно крупных подзадач?

8. Для каких схем передачи данных в каждый момент времени передачи данных выполняются только между небольшим числом подзадач?

9. Для каких схем передачи данных моменты и участники информационного взаимодействия фиксируются на этапах проектирования и разработки параллельных программ?

10. Особенности синхронного способа взаимодействия

11. Особенности асинхронного способа взаимодействия

12. Что необходимо выполнить при недостаточном количестве подзадач для загрузки всех доступных к использованию процессоров?

13. Что необходимо выполнить для сокращения количества подзадач на этапе масштабирования?

14. Для каких вычислительных систем возможно «ручное» (программистом) управление распределением нагрузки для процессоров?

15. Что понимается под относительной долей времени, в течение которой процессоры использовались для вычислений, связанных с решением исходной задачи?

16. Какие основные требования должны быть обеспечены при разработке параллельных алгоритмов?