Скачать тест — (Методы параллельной обработки данных.ти_baf70bef.pdf)
- Какая классификация параллельных архитектур основана на количестве потоков команд и потоков данных?
- Что означает аббревиатура SISD в классификации Флинна?
- Какая архитектура лучше всего подходит для задач, требующих выполнения одной и той же операции над большим объемом данных?
- Какая архитектура характеризуется общей памятью, используемой всеми процессорами?
- Что такое когерентность кэша?
- Какая архитектура состоит из группы независимых компьютеров, соединенных сетью?
- Какой протокол чаще всего используется для обмена данными между узлами кластера?
- Какая архитектура характеризуется очень большим количеством процессоров и специализированной сетью для высокоскоростной связи?
- Что означает аббревиатура GPU?
- Какой язык программирования обычно используется для программирования GPU?
- Что означает термин GPGPU?
- Какая архитектура интегрирует несколько процессорных ядер и другие компоненты на одном чипе?
- В каких устройствах чаще всего используются SoC?
- Какая модель предоставления вычислительных ресурсов осуществляется по требованию через интернет?
- Что является ограничением на ускорение, которое можно достичь за счет параллелизации, согласно закону Амдала?
- Что является основным преимуществом использования облачных вычислений для параллельной обработки данных?
- Какая архитектура характеризуется распределенной памятью?
- Какая архитектура наиболее энергоэффективна?
- Что такое масштабируемость?
- Какая топология сети обычно используется в MPP-системах?
- Что такое модель параллельного программирования?
- В какой модели параллельного программирования потоки взаимодействуют через общую область памяти?
- Какой механизм используется для синхронизации потоков в модели с разделяемой памятью, чтобы избежать гонок данных?
- В какой модели параллельного программирования процессы взаимодействуют путем обмена сообщениями?
- Что такое MPI?
- В какой модели параллельного программирования одна и та же операция применяется одновременно к разным элементам данных?
- Что такое CUDA?
- В какой модели параллельного программирования программа разбивается на независимые подзадачи, которые выполняются параллельно?
- В какой модели параллельного программирования система состоит из множества независимых “акторов”, взаимодействующих путем отправки и получения асинхронных сообщений?
- Какой язык программирования часто используется для реализации модели акторов?
- В какой модели параллельного программирования программа строится из чистых функций, не имеющих побочных эффектов?
- Что такое чистая функция?
- Какой язык программирования поддерживает функциональный параллелизм?
- Какая проблема может возникнуть при использовании модели с разделяемой памятью, когда несколько потоков одновременно пытаются записать в одну и ту же область памяти?
- Что такое взаимоблокировка (deadlock)?
- Какой из перечисленных вариантов НЕ является преимуществом модели распределенной памяти?
- В какой модели параллельного программирования управление задачами обычно осуществляется менеджером задач?
- Какой из перечисленных вариантов НЕ является преимуществом модели акторов?
- Какой из перечисленных факторов НЕ следует учитывать при выборе модели параллельного программирования?
- Какая модель программирования наиболее подходит для гетерогенных вычислительных систем (например, CPU + GPU)?
- Что такое распараллеливание алгоритма?
- Какой метод распараллеливания заключается в разделении данных между процессорами/потоками?
- Какой метод распараллеливания заключается в разбиении алгоритма на независимые задачи, которые могут выполняться параллельно?
- Какой метод распараллеливания заключается в разделении алгоритма на последовательные этапы, через которые данные проходят как по конвейеру?
- Какой метод распараллеливания подходит для алгоритмов, основанных на рекурсии?
- Что необходимо учитывать при разделении данных, чтобы обеспечить эффективное распараллеливание?
- Что необходимо учитывать при использовании конвейеризации?
- Какой тип зависимости возникает, когда результат одной операции используется в качестве входных данных для другой операции?
- Какой тип балансировки нагрузки предполагает распределение работы между процессорами/потоками до начала вычислений?
- Какой тип балансировки нагрузки предполагает распределение работы между процессорами/потоками во время вычислений?
- Какова цель минимизации коммуникаций в параллельных программах?
- Какой из перечисленных методов НЕ относится к методам минимизации коммуникаций?
- Что такое зернистость (granularity) в контексте параллельных вычислений?
- Алгоритм сортировки слиянием (Merge Sort) хорошо подходит для распараллеливания с использованием какого метода?
- Алгоритм умножения матриц часто распараллеливают с использованием какого метода?
- Какой метод анализа зависимостей определяет, какие операции должны выполняться последовательно, а какие могут выполняться параллельно?
- Какой фактор НЕ следует учитывать при выборе метода распараллеливания?
- Что такое “критический путь” в параллельном алгоритме?
- Что такое “ускорение” (speedup) в контексте параллельных вычислений?
- Что такое “эффективность” (efficiency) в контексте параллельных вычислений?
- Что ограничивает максимальное ускорение параллельной программы согласно закону Амдала?
- Какой закон утверждает, что с увеличением количества процессоров можно решать задачи большего размера за то же время?
- Как рассчитывается ускорение (Speedup) параллельной программы?
- Что показывает метрика масштабируемости (Scalability) параллельной программы?
- Как рассчитывается эффективность (Efficiency) параллельной программы? (где N — количество процессоро)
- Какой процесс используется для измерения производительности различных частей программы с целью выявления узких мест?
- Какой инструмент используется для поиска и устранения ошибок в параллельных программах, позволяя выполнять программу по шагам и просматривать значения переменных?
- Что такое “гонка данных” (data race)?
- Какой метод оптимизации коммуникаций предполагает передачу только необходимых данных, избегая передачи избыточной информации?
- Какой метод оптимизации памяти предполагает организацию данных в памяти таким образом, чтобы близлежащие данные использовались вместе?
- Что такое “ложное разделение” (false sharing)?
- Какой метод оптимизации памяти предполагает размещение данных в памяти по границам, кратным размеру данных, для повышения скорости доступа?
- Какой метод оптимизации памяти предполагает предотвращение частого выделения и освобождения памяти, что может быть дорогостоящим?
- Что такое балансировка нагрузки (load balancing)?
- Какой тип балансировки нагрузки предполагает распределение работы до начала вычислений?
- Что такое RDMA (Remote Direct Memory Access)?
- Какой из перечисленных инструментов используется для профилирования CUDA-приложений на GPU NVIDIA?
- Что означает “сильная масштабируемость” (strong scalability)?
- Что означает “слабая масштабируемость” (weak scalability)?
- Что из перечисленного НЕ является методом оптимизации производительности параллельной программы?