Главная /
Параллельные вычисления и многопоточное программирование
Параллельные вычисления и многопоточное программирование - ответы на тесты Интуит
Данный учебный курс представляет введение в параллельное и многопоточное программирование. Он знакомит читателя с общими свойствами параллельных вычислений, моделью параллельных вычислений и ее характеристиками.
Список вопросов:
- # Под параллельными вычислениями в данном курсе понимается параллельное выполнение:
- # Что такое мультипрограммный режим работы?
- # Если полагать, что единственным общим ресурсом является оперативная память, то какие проблемы характерны для параллельных вычислений, выполняемых на системах с общей памятью:
- # Если полагать, что единственным общим ресурсом является оперативная память, то какие проблемы характерны для параллельных вычислений, выполняемых на системах с распределенной памятью (кластеров):
- # Какое соотношение имеет место для временных характеристик?
- # Если полагать, что единственным общим ресурсом является оперативная память, то что понимается под гонкой данных?
- # Укажите корректную формулу, связывающую эффективность и ускорение:
- # Что такое суперкомпьютер?
- # Что такое блокировка в параллельных вычислениях?
- # Если полагать, что единственным общим ресурсом является оперативная память, то какие проблемы параллельных вычислений не связаны с блокировкой:
- # Сколько классов компьютеров в классификации Флинна:
- # Векторные процессоры согласно классификации Флинна относятся к классу:
- # Графические процессоры согласно классификации Флинна относятся к классу:
- # Из закона Амдаля следует:
- # Законы Амдаля и Густавсона-Барсиса:
- # Укажите истинные высказывания:
- # Если задан граф зависимостей, то легко считаются следующие характеристики:
- # Разбиение исходной задачи на подзадачи меньшей размерности:
- # Если задан граф зависимостей, то время выполнения критического пути задает:
- # Укажите истинные высказывания:
- # Укажите истинные высказывания:
- # Операционная система создает процесс для каждого:
- # Укажите высказывания, истинные для процессов ОС:
- # Процессы ОС:
- # Потоки ОС:
- # Укажите высказывания, истинные для потоков:
- # Отметьте высказывания, истинные для потоков и процессов:
- # Какие переходы из одного состояния в другое невозможны для потоков?
- # По какой причине поток может перейти в состояние "ожидания":
- # Какие переходы из одного состояния в другое возможны для потоков?
- # Укажите истинные высказывания, связанные с управлением памятью:
- # Укажите истинные высказывания, связанные с управлением памятью:
- # Что называется свопингом в стратегии управления памятью операционной системой:
- # Какая информация содержится в контексте потока?
- # Укажите истинные высказывания:
- # Потоко – безопасный модуль это:
- # Укажите истинные высказывания:
- # Реентерабельный модуль это:
- # Укажите истинные высказывания:
- # Что понимается под чисткой цикла?
- # Цикл может допускать распараллеливание, если:
- # Рассмотрим цикл for(int i =0; i <N; i++ ) { x[i] = expr; } с одним оператором присваивания в теле цикла. Цикл допускает распараллеливание, если выражение expr представимо в виде:
- # Цикл не допускает распараллеливания, если:
- # Рассмотрим цикл for(int i =0; i <N; i++ ) { x = F(…); } с одним оператором присваивания в теле цикла. Какие утверждения являются справедливыми в зависимости от вида функции F?
- # Для вычисления суммы элементов массива можно использовать:
- # Укажите истинные высказывания, связанные с вычислением суммы элементов массива:
- # Укажите истинные высказывания, связанные с вычислением суммы сходящегося ряда:
- # Алгоритм вычисления определенного интеграла:
- # Последовательный алгоритм умножения матриц C = A * B содержит три цикла – цикл по строкам матрицы A, по столбцам матрицы В, внутренний цикл, вычисляющий скалярное произведение строки на столбец. У каких циклов итерации независимы?
- # Какой сложности в идеале можно добиться на суперкомпьютере для задачи умножения квадратных матриц размерности N * N?
- # Сколько способов существует для параллельного вычисления числа ПИ:
- # Какие утверждения справедливы для алгоритма пузырьковой сортировки?
- # Какие утверждения справедливы для шагового алгоритма пузырьковой сортировки?
- # Какой формулой задается сложность шагового алгоритма пузырьковой сортировки?
- # Сложность шагового алгоритма пузырьковой сортировки задается формулой . Справедливость каких утверждений следует из этого?
- # Какие утверждения справедливы для алгоритма сортировки "чет – нечет"?
- # Укажите высказывания, истинные для алгоритма сортировки "чет-нечет":
- # Сколько классов содержится в пространстве имен Threading?
- # Сколько конструкторов у класса Thread?
- # Что можно передать в качестве фактического аргумента конструктору класса Thread с одним аргументом?
- # В момент создания объекта класса Thread конструктору класса передается метод. Что можно сказать о сигнатуре этого метода?
- # В момент создания потока ему нужно передать:
- # Программисту необходимо, чтобы в потоке выполнялся метод, имеющий три аргумента. Конструктору потока передать такой метод невозможно. Какие решения позволяют справиться с возникшей ситуацией?
- # При выполнении программы был создан поток thread_one. Что происходит в результате выполнения оператора thread_one.Start;?
- # При выполнении программы встретилось корректное объявление: Thread thread_one = new Thread(My_method); Что происходит в результате объявления?
- # При выполнении программы встретилось объявление: Thread thread_one; Что происходит в результате объявления?
- # Какие методы есть в классе Thread, позволяющие потоку приостановить выполнение:
- # Какие методы есть в классе Thread, позволяющие потоку прервать выполнение дочерних потоков:
- # Какими свойствами обладают объекты класса Thread?
- # Что происходит с потоком, когда вызывается метод Abort для прерывания работы потока?
- # Что происходит с потоком, когда вызывается метод Interrupt для прерывания работы потока?
- # Что происходит, когда поток завершает выполнение метода?
- # Укажите высказывания, истинные для параллельного алгоритма вычисления определенного интеграла:
- # В параллельном алгоритме пузырьковой сортировки элементы массива потоков создаются при выполнении следующего оператора: threads[i] = new Thread(sorts[i].BubbleSortPart);. Какие утверждения являются справедливыми?
- # Параллельные версии алгоритмов пузырьковой сортировки и быстрой сортировки, представленные в этой главе, реализованы по-разному. Какие утверждения являются истинными?
- # Что понимается под гонкой данных (гонкой условий):
- # Что понимается под общими ресурсами потоков, участвующими в гонке:
- # При переходе от потоко - опасного класса Account к потоко - безопасному классу AccountSafe какое решение следует выбрать, следуя хорошему стилю программирования?
- # Какие утверждения справедливы по отношению к критическим секциям:
- # Какие утверждения справедливы по отношению к критической секции?
- # Работая в цикле, Поток_1 выполняет код: N = rnd.Next(0,2), а Поток_2 выполняет параллельно код: if(N > 0) Sum = 1000 else Sum = 0; (Переменные объявлены надлежащим образом, блокировки не предусмотрены) Какие результаты гарантируются?
- # Каково назначение оператора lock?
- # Критическая секция может быть закрыта оператором lock(Locker), где объект Locker играет роль замка на входе в секцию. Каковы утверждения справедливы для объекта Locker?
- # Какие утверждения справедливы относительно блокировки, осуществляемой оператором lock?
- # Какие утверждения справедливы для ситуации клинча?
- # Клинч возникает, если:
- # Как справиться с ситуацией клинча?
- # Укажите высказывания, истинные для класса ReaderWriterLockSlim:
- # Сколько методов, включающих блокировку, имеется у класса ReaderWriterLockSlim?
- # Что понимается под мягкой блокировкой?
- # Какие утверждения справедливы по отношению к классу Monitor?
- # Какие высказывания являются истинными по отношению к методу Wait из класса Monitor?
- # Какие высказывания являются истинными по отношению к методу Pulse(obj) из класса Monitor?
- # Какие утверждения справедливы для классической задачи "Обедающие философы"?
- # Какие утверждения справедливы для метода Wait класса SemaphoreSlim?
- # Какие утверждения справедливы для класса SemaphoreSlim?
- # Что такое пул потоков?
- # Класс ThreadingPool - это:
- # Объект класса ThreadingPool – это:
- # Укажите высказывания, истинные при работе с пулом потоков:
- # Что не может делать программист при работе с пулом потоков?
- # Что может делать программист при работе с пулом потоков?
- # Как связать метод, определяющий задачу, с потоком из пула?
- # Какие утверждения справедливы относительно метода QueueUserWorkItem?
- # Какие утверждения справедливы относительно параметров метода QueueUserWorkItem?
- # Какие утверждения являются истинными по отношению к пулу потоков?
- # Укажите достоинства работы с пулом потоков:
- # Укажите недостатки работы с пулом потоков:
- # TPL (Task Parallel Library) – библиотека параллельных задач – это библиотека:
- # Какие утверждения справедливы относительно классов Task и Task<TResult>:
- # Сколько конструкторов у класса Task?
- # Каково назначение метода ContinueWith класса Task?
- # Какие свойства имеет класс Task?
- # Какие методы имеет класс Task?
- # Укажите истинные высказывания:
- # Укажите истинные высказывания:
- # Каким отношением связаны классы Task и Task<TResult>?
- # При распараллеливании цикла:
- # Что происходит при замене обычного цикла for на его аналог Parallel.For?
- # Определить, являются ли итерации цикла независимыми, может:
- # Какой из операторов может встречаться только в итерации обычного цикла for, но не Parallel.For?
- # Каких методов нет у класса Parallel?
- # При распараллеливании цикла сложно:
- # Какие методы есть у класса Parallel?
- # Каких методов нет у класса Parallel?
- # Какой из операторов может встречаться только в итерации цикла Parallel.For, но не в обычном for?
- # Отметьте высказывания, истинные по отношению к методу, реализующему тело цикла Parallel.For:
- # Метод For класса Parallel является:
- # Тело цикла Parallel.For:
- # Как узнать при выполнении Parallel.For номер минимальной итерации, на которой происходит прерывание цикла, инициируемое выполнением оператора (метода) Break?
- # Какие утверждения правильно описывают семантику выполнения метода Parallel.For:
- # Отметьте высказывания, истинные по отношению к методу Parallel.For:
- # Какие из следующих высказываний справедливы по отношению к распараллеливанию цикла while:
- # Какие высказывания справедливы по отношению к методу Parallel.Invoke?
- # Отметьте высказывания, истинные по отношению к семантике двух методов Parallel.For и Parallel.ForEach:
- # Какие утверждения справедливы по отношению исключений, выбрасываемых на итерациях циклов Parallel.For и Parallel.ForEach:
- # Какие высказывания истинны для цикла Parallel.ForEach:
- # При выполнении методов Parallel.For и Parallel.ForEach на одной или нескольких итерациях могут возникать исключительные ситуации. Правда ли, что:
- # Какие утверждения справедливы относительно понятия интерфейс?
- # Что понимается под понятием "бизнес-логика" в данном контексте?
- # Какие утверждения справедливы по отношению к взаимодействию двух частей приложения – интерфейса и бизнес-логики?
- # Работа с какими классами ведется в интерфейсной части приложения?
- # При разработке бизнес-логики приложения какой тип проекта, скорее всего, следует предпочесть?
- # Какие утверждения справедливы по отношению к интерфейсу, задаваемому двумя типами проектов – консольным приложением и приложением Windows.Forms:
- # Под наблюдаемыми параметрами понимаются:
- # Под управляемыми параметрами понимаются:
- # Построение многопоточного приложения, в котором интерфейс приложения выполняется в одном потоке, а бизнес-логика – в другом, необходимо для того, чтобы:
- # Для того, чтобы корректно работать с элементами управления, созданными в другом потоке, можно использовать следующие методы:
- # Что происходит, когда в многопоточном приложении один поток пытается непосредственно обращаться к элементам управления визуального интерфейса, созданным в другом потоке?
- # В многопоточном приложении элементы управления визуального графического интерфейса, созданные в одном потоке:
- # Какие утверждения справедливы относительно метода Invoke, вызываемого при работе с элементами управления?
- # Какие утверждения справедливы относительно метода Invoke, вызываемого при работе с элементами управления?
- # Какие утверждения справедливы по отношению к методам Invoke, BeginInvoke, EndInvoke:
- # Приложение представляет модель взаимодействия управляющего и управляемого процессов. Это взаимодействие может быть основано на механизме:
- # Какие утверждения являются справедливыми в ситуации, когда управление бизнес-логикой приложения осуществляется в визуальном интерфейсе, работающем в потоке, отличном от потока, в котором работает бизнес-логика?
- # Рассмотрим ситуацию, когда управление бизнес-логикой приложения осуществляется в визуальном интерфейсе, работающем в потоке, отличном от потока, в котором работает бизнес-логика. Какой недостаток можно отметить в организации взаимодействия управляющего и управляемого процесса, основанного на взаимных ссылках?