Главная / Программирование / Параллельные и распределенные вычисления

Параллельные и распределенные вычисления - ответы на тесты Интуит

Правильные ответы выделены зелёным цветом.
Все ответы: Курс знакомит с параллельными вычислениями и распределёнными системами обработки и хранения данных.
Смотрите также:
Каковы признаки распределенной системы?
(1) система состоит из отдельных слабо связанных сущностей (узлов/процессов/компьютеров), каждый из которых имеет собственную локальную память
(2) система имеет только одно вычислительное устройство (процессор/узел)
(3) система состоит из отдельных сущностей (узлов/процессов/компьютеров), соединенных посредством некоторой сети
(4) система имеет имеет одно адресное пространство для всех устройств, входящих в нее
Выберите верные утверждения.
(1) реляционные СУБД характеризуются на фиксированной схемой данных
(2) реляционные СУБД не поддерживают язык запросов SQL
(3) для работы с реляционными СУБД необходимо обладать информацией о физическом уровне хранения данных
(4) в реляционных СУБД данные хранятся построчно
Чем характеризуется concurrent-программа?
(1) программа порождает процессы, выполняющиеся "одновременно"
(2) программа порождает не более одного процесса за весь цикл своего выполнения
(3) программа может быть исполнена только на нескольких вычислительных машинах, соединенных сетью
(4) программа может быть исполнена только на ЭВМ с несколькими физическими процессорами
Чем характеризуется многопроцессность (concurrency) в контексте параллельных вычислений?
(1) обеспечение минимального времени выполнения одной программы
(2) первичность пропускной способности
(3) не требуется обеспечение максимальной изоляции процессов друг от друга
(4) обеспечение как можно более равномерного распределения ресурсов между процессами
Какой из стандартов параллельного программирования предназначен для использования в системах с общей памятью?
(1) OpenMP
(2) MPI
(3) OpenMPI
(4) MPICH
Какая базовая структура данных стоит в основе модели MapReduce?
(1) пара (ключ, значение)
(2) бинарное дерево
(3) массив произвольной длины
(4) функция высшего порядка
Что такое сокет в распределенной системе?
(1) протокол обмена сообщениями в распределенных хранилищах данных
(2) вид топологии файлообменной сети
(3) коммуникационный канал (программный интерфейс) для взаимодействия распределенных процессов
(4) специализированный инструмент для сериализации структур данных
Что характерно для горизонтального масштабирования?
(1) увеличение производительности каждого отдельного узла
(2) разбиение системы на более мелкие структурные элементы
(3) репликация выполнения одной задачи на различных узлах
(4) уменьшение количества узлов в системе
Каким образом в языке Java можно реализовать многопоточную программу?
(1) путем наследования класса Thread в пользовательских классах
(2) путем наследования класса Run в пользовательских классах
(3) путем реализации классов на основе интерфейса Runnable
(4) путем реализации интерфейса Thread
Симметричный мультипроцессор характеризуется
(1) однородным доступом к памяти всех процессорных устройств
(2) доступом каждого процессорного устройства к отдельной части физически распределенной памяти
(3) неоднородным доступом к памяти всех процессорных устройств
(4) однородным доступом части процессорных устройств к части общей памяти
К какой модели программирования относится модель, в которой все исполнители (потоки/процессоры) запускают одну программу, а разделение логики между ними основано на уникальных идентификаторах исполнителей?
(1) MPI
(2) Loop Parallelism
(3) SPMD
(4) Master/Worker
Выберите верное утверждение.
(1) функция reduce не имеет реализации в функциональных языках программирования
(2) функция reduce является функцией высшего порядка
(3) функция reduce не имеет реализации в объектно-ориентированных языках программирования
(4) функция reduce в качестве одного из аргументов может принимать структуру данных перечислимого типа, не являющуюся списком
Каким образом удается реализовать идентификацию клиентом сервера в случае изменяющегося IP-адреса сервера?
(1) через установку уникального признака для сервера и использование службы имен или каталогов (статических) для его идентификации клиентом
(2) через инициализацию сервера по его IP-адресу и номеру порта
(3) через рассылку сообщений в мультикаст-группу в локальной сети
(4) через инициализацию сервера по его статическому DNS и номеру порта
Какая из баз данных работает на основе стека Hadoop?
(1) HBase
(2) Dynamo
(3) Bigtable
(4) Cassandra
Что характерно для взаимного исключения (mutual exclusion) в многопоточной программе?
(1) обеспечение атомарности выполнения критической секции
(2) обеспечение свободного доступа всех потоков к одной области в пространстве регистров
(3) потоки ожидают освобождения занятой выполняющимся потоком секции
(4) выполнение критической секции более чем одним потоком
Выберите условия реализуемости расписания параллельного алгоритма.
(1) на каждой вычислительной единице все операции выполняются одна за другой
(2) количество операций, выполняющихся на каждом вычислительном устройстве, постоянно
(3) вычислительные устройства, выполняющие разные операции, не могут обмениваться информацией между собой
(4) каждая операция выполняется не более чем на одном вычислительном устройстве
Для чего применяется Java Fork/Join Framework?
(1) распараллеливание рекурсивных вычислений
(2) распараллеливание линейных вычислений
(3) распараллеливание задач с независимыми заданиями
(4) реализация принципа "Divide and Conquer" на рекурсивных данных
Выберите реализации MapReduce для систем с распределенной памятью.
(1) Phoenix
(2) Google MapReduce
(3) Yandex MapReduce
(4) Apache Hadoop
В чем отличия удаленного вызова процедуры от локального вызова?
(1) при RPC в общем случае не известно, была ли вызвана процедура
(2) при локальном вызове процедур не гарантируется семантика "не более одного вызова"
(3) удаленный вызов может не состояться по непредсказуемым причинам
(4) при RPC гарантируется корректное совершение вызова
Выберите верные утверждения о физической модели данных в HBase.
(1) строки таблицы неупорядочены
(2) пустые ячейки не хранятся
(3) нет встроенных типов данных
(4) данные семейств колонок хранятся совместно
Метод sleep (язык Java)
(1) определяет, выполняется ли поток
(2) останавливает выполнение только главного потока
(3) приостанавливает выполнение потока на заданное время
(4) определяет состояние потока
Что такое эффективность параллельного алгоритма?
(1) отношение ускорения алгоритма к количеству процессоров
(2) произведение минимального времени выполнения параллельного алгоритма и количества процессоров
(3) отношение размера входных данных к размеру выходных данных
(4) суммарное время, затрачиваемое всеми процессорами на выполнение алгоритма
Какая директива маркирует начало параллельной секции (OpenMP, язык C)?
(1) #pragma parallel
(2) #pragma init
(3) #pragma omp parallel
(4) #pragma mp start
Файловая система какого типа используется в инфраструктуре Google для интегрирования с MapReduce?
(1) дисковая журналируемая для носителей с произвольным доступом
(2) дисковая для носителей с произвольным доступом
(3) распределенная кластерная
(4) виртуальная
Какие из представленных ниже технологий реализуют уровень RPC?
(1) Google Protocol Buffers
(2) Java RMI
(3) Facebook Thrift
(4) CORBA
Какую операцию выполняет оператор Scan в HBase?
(1) атомарное изменение одной строки
(2) получение среза при чтении данных по диапазону в виде итератора по строкам
(3) атомарное чтение строки
(4) добавление нового столбца в строку
Выберите верные утверждения о приоритетах потоков исполнения в Java.
(1) потоки с одинаковыми приоритетами гарантированно получают одинаковое количество процессорного времени
(2) количество времени ЦП, получаемого потоком, зависит не только от его приоритета
(3) высокоприоритетный поток может вытеснить низкоприоритетный во время его работы
(4) поток с низким приоритетом получает меньше процессорного времени, чем поток с высоким приоритетом
Найдите согласно закону Густавсона ускорение масштабирования некоторой параллельной программы, если известно, что время последовательной части программы равно math мс, время части программы, которая может быть распаралелена, равно math мс, количество процессоров равно math. Ответ округлите до десятых.
1,1
Выберите верное утверждение об атрибуте private(list) директивы omp parallel в OpenMP.
(1) атрибут устанавливает, что все нити пользуются одной копией всех переменных и общих блоков, перечисленных в list
(2) атрибут устанавливает, что каждая нить имеет собственную локальную неинициализированную копию переменных и общих блоков, перечисленных в list
(3) атрибут устанавливает, что ни одна из нитей, перечисленных в list, не может войти в блок кода ниже данной директивы
(4) атрибут устанавливает, что только master thread может иметь доступ к переменным, перечисленным в list
Каковы функции Мастера в модели Google MapReduce?
(1) непосредственное выполнение свертки (reduce) и/или map-задания
(2) распределение map- и reduce-заданий между рабочими узлами
(3) предоставление информации о статусе вычислений
(4) подготовка исходных данных для каждой задачи
В чем отличие удаленных вызовов от локальных?
(1) удаленные вызовы "непрозрачны", то есть клиент не владеет полной информацией о внутреннем устройстве сервера
(2) удаленные вызовы имеют меньшую латентность, чем локальные
(3) ошибки при удаленном вызове могут быть не связаны с ошибками в программной реализации самих методов
(4) устройство сети никак не влияет на производительность RPC
Выберите верные утверждения о Cassandra.
(1) Master-server при распределении данных между узлами не используется
(2) стратегия consistent hashing используется для сортировки данных на узле по умолчанию
(3) распределение данным по узлам обеспечивается по умолчанию с помощью стратегии consistent hashing
(4) по умолчанию каждый узел хранит отсортированное множество ключей/записей
В чем причина возникновения взаимной блокировки в мнопоточных программах на языке Java?
(1) два потока реализованы путем реализации одинаковый методов в интерфейсе Runnable
(2) потоки имеют циклическую зависимость от пары синхронизированных объектов
(3) в одной программе имеются потоки, реализованные как расширением класса Thread, так и реализацией интерфейса Runnable
(4) в программе имеются потоки с разными приоритетами исполнения
Что представляет собой task parallelism?
(1) комбинация исходных вычислений в более крупную комплексную задачу
(2) декомпозиция рекурсивной процедурой исходной задачи на несколько более мелких
(3) декомпозиция линейной процедурой исходной задачи на несколько более мелких
(4) слияние однотипных задач в более крупную с помощью рекурсивной процедуры
Взаимодействуют ли процессы в MPI? Если взаимодействуют, то каким образом?
(1) процессы в MPI полностью изолированы друг от друга и не взаимодействуют
(2) процессы в MPI-1 полностью изолированы друг от друга и не взаимодействуют, в MPI-2 введена возможность доступа к общей памяти нескольких процессов
(3) процессы во всех редакциях стандарта MPI взаимодействуют между собой путем отправки и получения сообщений
(4) в стандарте MPI-2 имеется возможность доступа к памяти удаленного процесса
На каких узлах в Hadoop MapReduce выполняются map- и reduce-задачи?
(1) master nodes
(2) job submission nodes
(3) slave nodes
(4) namenodes
Каким образом в отказоустойчивых распределенных вычислительных системах перераспределяются задания после выхода из строя части узлов?
(1) задания не перераспределяются
(2) задания формируют пул, который ожидает подключения недостающих узлов для их выполнения
(3) задания, выполнявшиеся на отключившихся узлах, перераспределяются между работающими, промежуточные данные от расчетов могут сохраняться
(4) задания, выполнявшиеся на отключившихся узлах, передаются для выполнения одному заранее назначенному узлу
Какие три свойства нельзя обеспечить одновременно в распределенной системе?
(1) расширяемость
(2) доступность
(3) устойчивость к разделению
(4) согласованность данных
Какие решения необходимо применить для корректной реализации кругового буфера?
(1) считывание значений из буфера должно быть синхронизировано с записью значений в буфер
(2) буфер должен быть реализован на объектно-ориентированном языке программирования
(3) буфер должен содержать не более 10 значений
(4) заполнение буфера должно быть остановлено в тот момент, когда буфер полностью заполнен непрочитанными значениями
В каких случаях для вычислений применяется конвейерная обработка?
(1) данные поступают непрерывным односторонним регулярным потоком
(2) данные поступают в виде нестабильного двустороннего потока
(3) над каждым элементом из набора данных необходимо произвести обработку в несколько стадий
(4) данные принимаются однажды и требуют индивидуального подхода к обработке и анализу
Какая функция используется для завершения MPI (язык С)?
(1) MPI_End
(2) MPI_Delete
(3) MPI_Finalize
(4) MPI_Stop
Каковы функции TaskTracker в Hadoop MapReduce?
(1) распределение задач по узлам
(2) предоставление доступа к промежуточным файлам при выполнении кадой задачи
(3) загрузка кода и запуск задач в новой JVM
(4) разбиение заданий на отдельные задачи (task)
Какие признаки характерны для распределенных систем хранения данных?
(1) производительность всех узлов одинакова
(2) число узлов постоянно
(3) гарантируется одинаковая емкость всех узлов
(4) каждый узел обладает только ограниченной информацией о системе и других узлах
Выберите верные утверждения о Cassandra.
(1) для разрешения конфликтов используется timestamp, передаваемый клиентом при записи данных
(2) доступны гарантированные откаты при неудачной записи
(3) при записи не осуществляется проверка на уникальность row key
(4) не гарантируется отсутствие реплик в случае неудачной записи
Для чего предназначен метод notifyAll (язык Java)?
(1) возобновление исполнения всех потоков, из которых был вызван метод wait для того же самого объекта c предоставлением доступа одному из них
(2) блокировка исполнения потока, из которого был вызван метод wait для того же самого объекта
(3) возобновление исполнения потока, из которого был вызван метод wait для всех экземпляров данного класса
(4) возобновление исполнения всех потоков, из которых был вызван метод wait для того же самого объекта. Доступ предоставляется всем потокам одновременно
Что означает тот факт, что соотношение между временами вычислений и синхронизации приближается к единице в некоторой вычислительной системе?
(1) вычисления в этой системе недостаточно эффективны
(2) требуется увеличение подзадач
(3) требуется дополнительное разделение подзадач на более мелкие
(4) вычисления производятся в оптимальной форме и не требуют дополнительных преобразований
Какая функция возвращает количество процессов в группе в MPI (язык С)?
(1) MPI_Send
(2) MPI_Comm
(3) MPI_Proc
(4) MPI_Comm_size
Как реализован класс Mapper (Hadoop MapReduce, язык Java)?
(1) класс Mapper параметризован типами-парами "ключ-значение", используемыми на входе и выходе задачи
(2) класс Mapper является абстрактным
(3) класс Mapper имеет реализацию по умолчанию собственных методов, не являясь абстрактным
(4) класс Mapper параметризован специальным объектом -- контекстом
Какие из приведенных систем являются распределенными?
(1) BitTorrent
(2) суперкомпьютер Cray-2
(3) World Wide Web
(4) DNS
Выберите верные утверждения.
(1) реляционные СУБД изначально ориентированы на работу с большими объемами данных в распределенном режиме
(2) в реляционных СУБД для обеспечения отказоустойчивости применяется репликация данных
(3) по мере усложнения структуры реляционных СУБД производительность сложных запросов возрастает нелинейно
(4) в реляционных СУБД для обеспечения отказоустойчивости применяется статическое разбиение данных
Выберите верные утверждения.
(1) каждый процесс многопоточной программы порождает только один полностью изолированный поток
(2) каждый процесс многопоточной программы может породить несколько потоков
(3) каждый поток имеет свой стек исполнения
(4) потоки реализованы только в серверных дистрибутивах ОС UNIX
В каких ситуациях может быть реализован истинный параллелизм вычислений?
(1) вычисления производятся на ЭВМ с одноядерным процессором в многозадачной ОС
(2) вычисления производятся на ЭВМ с одноядерным процессором в однозадачной ОС
(3) вычисления производятся на многопроцессорном устройстве
(4) для вычислений применяется процессор, поддерживающий физическую векторизацию
Какие из реализаций стандарта параллельного программирования предназначены для использования в системах с распределенной памятью?
(1) OpenMP
(2) MPI
(3) OpenMPI
(4) MPICH
Опишите работу функции map.
(1) функция map возвращает некоторую функцию с аргументом в виде данного списка
(2) функция map объединяет поэлементно два и более списка, возвращая список пар элементов
(3) функция map осуществляет поиск данного элемента в списке-аргументе
(4) функция map применяет данную функцию к каждому элементу списка, возвращая список результатов
Какой класс в Java реализует "слушающий" TCP сокет?
(1) Socket
(2) ServerSocket
(3) Soc
(4) Listener
Что является ключом в webtable, порожденной поисковым роботом?
(1) загруженное содержание
(2) MIME-тип
(3) URL страницы
(4) объетк, описывающий структуру страницы
В чем состоят особенности многопоточного программирования?
(1) каждый поток выполняется в собственном контексте с точки зрения разделения памяти
(2) все потоки имеют общее адресное пространство и общую область оперативной памяти
(3) внутри одного потока могут порождаться несколько процессов
(4) многопоточные программы требуют дополнительной синхронизации при работе с общими ресурсами
Какие факторы препятствуют получению результата с ожидаемой точностью при распараллеливании арифметических расчетов?
(1) машинная операция сложения чисел не обладает свойством коммутативности (порядок сложения двух чисел важен)
(2) распараллеленные алгоритмы реализуются на одноядерном процессоре
(3) машинная операция умножения чисел не обладает свойством ассоциативности (важен порядок перемножения трёх чисел)
(4) машинная операция умножения чисел обладает свойством коммутативности (порядок перемножения двух чисел не важен)
Для чего предназначен шаблон Loop Parallelism?
(1) коммуникация внутри распределенной системы из вычислительных узлов, соединенных между собой по замкнутой цепи
(2) формирование очереди задач при конвейерных вычислениях
(3) распараллеливание циклов в программе путем распределения отдельных итераций между потоками
(4) балансировка нагрузки на процессоры при распределенных вычислениях
Выберите верное утверждение.
(1) функция reduce позволяет реализовать свертку списка
(2) функция reduce не имеет реализации в языках сценариев (JavaScript, Python)
(3) в некоторых реализациях функция reduce может принимать три аргумента
(4) функция reduce в качестве одного из аргументов всегда принимает некоторую функцию
Выберите верные утверждения.
(1) протокол TCP гарантирует целостность передаваемых данных
(2) протокол TCP гарантирует уведомление отправителя о результатах передачи данных
(3) протокол UDP гарантирует уведомление отправителя о результатах передачи данных
(4) механизм TCP предоставляет поток данных без предварительной установки соединения
Выберите верные утверждения.
(1) модель данных в HBase представлена поименованными таблицами, в строках которых хранятся данные
(2) новые колонки внутри семейства колонок таблиц в HBase могут быть созданы лишь однажды
(3) в HBase семейства колонок должны быть заданы при создании таблицы
(4) модель данных в HBase не поддерживает инициализацию строк в таблицах по каким-либо идентификаторам
Выберите верные утверждения.
(1) синхронизация потоков в Java осуществляется с помощью встроенного в язык механизма
(2) нельзя синхронизировать методы класса, исходный код которого недоступен для модификации
(3) для содания потока необходимо реализовать метод start в интерфейсе Runnable
(4) в каждый момент времени только один поток может владеть монитором
Что называется длиной критического пути в графе, представляющем некоторый параллельный алгоритм?
(1) длина максимального пути в графе
(2) максимальная длина пути в графе, состоящего из однотипных операций
(3) средняя высота графа алгоритма
(4) диаметр графа алгоритма, определяющий минимально теоретически-возможное время выполнение алгоритма
Какое количество потоков в начале исполнения параллельной программы предполагает модель fork/Join?
(1) один
(2) два
(3) количество, равное количеству вычислительных устройств/ядер
(4) произвольное количество
Выберите реализации MapReduce для систем с общей памятью.
(1) Phoenix
(2) Google MapReduce
(3) QtConcurrent
(4) Apache Hadoop
Что такое Remote Method Invocation?
(1) специальный объект-представитель для удаленного вызова процедур
(2) разновидность сокетов
(3) программный интерфейс вызова удаленных методов
(4) формат упаковки объектов и их методов для передачи их удаленной машине
В чем состоит распределение данных между серверами HBase-кластера?
(1) таблицы реплицируются только целиком
(2) таблицы разбиваются горизонтально на некоторые участки данных
(3) возможна передача только части исходных таблицы на другие сервера кластера
(4) увеличение размера таблиц не вызывает автоматическое разбиение данных
Метод isAlive (язык Java)
(1) определяет приоритет потока
(2) определяет, выполняется ли поток
(3) завершает выполнение потока
(4) изменяет приоритет потока на указанный
Выберите верные утверждения.
(1) ускорение программы с помощью параллельных вычислений зависит только от количества вычислительных узлов
(2) суммарное время выполнения параллельной задачи не меньше времени выполнения самого длинного последовательного фрагмента
(3) в реальных задачах добавление новых процессоров может увеличивать время расчета
(4) в реальных задачах ускорения программы с помощью параллельных вычислений нельзя добиться добавлением вычислительных узлов
Каков результат выполнения параллельной секции следующей параллельной программы (язык С, OpenMP, больше 1 параллельного потока)? #include >omp.h< #include >stdio.h< int main(int argc, char **argv) { #pragma omp parallel printf("Hi!\n"); printf("Bye!\n"); return 0; }
(1) Hi! ... Hi! Bye! ... Bye!
(2) Hi! ... Hi! Bye!
(3) Hi! Bye! Hi! ... Bye!
(4) Hi! Hi! Bye! Bye! Hi! ... Bye!
Каким образом в вычислительной системе с GFS для Google MapReduce распределены данные?
(1) данные уникальны и хранятся в специальных сетевых хранилищах, обособленных друг от друга
(2) данные распределены по всем серверам системы, имеют реплицированные копии
(3) данные уникальны, отделены от вычислительных серверов, хранилища данных связаны друг с другом
(4) данные распределены по всем серверам системы, не имеют копий внутри системы
Какие из представленных ниже технологий используют двоичный протокол передачи данных?
(1) ZeroC ICE
(2) Google Protocol Buffers
(3) XML-RPC
(4) .NET Remoting
Выберите области применения HBase.
(1) часто повторяющиеся запросы к БД
(2) база данных, размещенная на одном сервере
(3) сложность и большая географическая распределенность БД
(4) уникальные запросы к БД, ad-hoc аналитика
Выберите верное утверждение о приоритетах потоков исполнения в Java.
(1) поведение планировщика потоков зависит от реализации Java
(2) получить значение приоритета потока можно с помощью метода setPriority
(3) синхронизация потоков исполнения изменяет значения их приоритетов
(4) поведение планировщика потоков не зависит от операционной системы
Найдите согласно закону Густавсона ускорение масштабирования некоторой параллельной программы, если известно, что время последовательной части программы равно math мс, время части программы, которая может быть распаралелена, равно math мс, количество процессоров равно math. Ответ округлите до десятых.
1,3
Каким образом в OpenMP можно явно задать число потоков?
(1) с помощью переменной OMP_NUM_THREAD
(2) с помощью директивы #pragma omp parallel ... num_threads
(3) с помощью директивы #pragma set_threads
(4) с помощью функции set_num_threads
Выберите верное утверждение о реализации Google MapReduce.
(1) в выполнении map-задачи с использованием некоторых данных в Google MapReduce приоритет имеет узел, содержащий эти данные
(2) Google MapReduce не поддерживается совмещение операций и промежуточные данные никак не обрабатываются во время выполнения задачи
(3) reducer не дожидается полного завершения выполнения задачи и выполняет сортировку и загрузку промежуточных данных
(4) для ускорения вычислений в неоднородных вычислительных системах не могут использоваться избыточные вычисления
Какой тип исключений свойственен удаленным вызовам в Java?
(1) SerializeException
(2) ServerException
(3) RemotingException
(4) RemoteException
Что такое replication factor?
(1) "вес" ключа при составлении среза данных
(2) количество узлов в кластере
(3) порядок нахождения ключа в таблице
(4) количество копий данных
Приведена реализация схемы Producer-Consumer (язык Java). class Q { int n; synchronized int get() { return n; } synchronized void put() { this.n = n; } } class Producer { Q q; Producer(Q q) { this.q = q; new Thread(this, "Producer").start(); } public void run() { int i = 0; while(true) { q.put(i++); } } } class Consumer { Q q; Consumer(Q q) { this.q = q; new Thread(this, "Consumer").start(); } public void run() { while(true) { q.get(); } } } class PC { public static void main() { Q q = new Q(); new Producer(q); new Consumer(q); } } Какие утверждения справедливы для данной программы?
(1) в данной программе не было реализовано ни одного пользовательского потока
(2) данная программа корректна и характеризуется однозначным результатом выполнения
(3) данная программа не является корректной с точки зрения языка Java
(4) программа является корректной, но результат её выполнения зависит от реализации языка Java
Что представляет собой декомпозиция задачи с помощью парадигмы "разделяй и властвуй"?
(1) рекурсивное разбиение задачи на более мелкие того же типа, вплоть до элементарных
(2) разбиение задачи с помощью линейной процедуры
(3) слияние однотипных задач в более крупную с помощью рекурсивной процедуры
(4) бесконечное рекурсивное разбиение задачи на более мелкие того же типа
Выберите коммуникатор MPI, по умолчанию включающий все процессы и программы.
(1) DEFAULT
(2) MPICH
(3) MPI_ALL
(4) MPI_COMM_WORLD
Файловая система какого типа используется в инфраструктуре Hadoop MapReduce?
(1) дисковая журналируемая для носителей с произвольным доступом
(2) дисковая для носителей с произвольным доступом
(3) распределенная кластерная
(4) виртуальная
Какое требование возникает при проектировании отказоустойчивых распределенных систем?
(1) работа, выполнявшаяся отказавшими узлами, не перераспределяется между работающими в целях сохранения целостности системы
(2) узлы, вновь запущенные после отказа, должны возвращаться в систему только после полного ее перезапуска с сохранением данных
(3) увеличение нагрузки на систему должно приводить только к постепенному снижению производительности
(4) система должна отключаться при выходе из строя части узлов
Что такое Seed nodes в Cassandra?
(1) primary-ключи, устанавливаемые по умолчанию при добавлении новых записей в таблицу
(2) специализированные имена столбцов в таблицах
(3) параметр, указывающий на количество работающих узлов в кластере
(4) первоначальные уникальные имена узлов, используемые ими для коммуникации
Приведена реализация очереди (язык Java). Методы doPut и doTake реализованы в классе BaseBoundedBuffer. public class WaitNotifyQueue <T> extends BaseBoundedBuffer <T> { public WaitNotifyQueue(int size) { super(size); } public synchronized void put(T v) throws InterruptedException { while (isFull()) { wait (); } doPut(v); notifyAll (); } public synchronized T take() throws InterruptedException { while (isEmpty()) { wait(); } T v = doTake (); notifyAll (); return v; } } Какие функции несет на себе метод wait в данной программе?
(1) освобождение соответствующей критической секции для возможности выполнения другого синхронизированного метода класса WaitNotifyQueue
(2) приостановка работы потока потока исполнения
(3) ожидание наступления соответствующего события для возобновления работы потока исполнения
(4) завершение работы потока исполнения для данного экземпляра класса WaitNotifyQueue
В каких случаях для вычислений применяется координация на основе событий?
(1) данные поступают в виде регулярного одностороннего потока
(2) применяемая структура данных характеризуется непредсказуемостью взаимодействия между своими составными частями
(3) над каждым элементом из набора данных необходимо произвести обработку в несколько стадий
(4) применяется двусторонний поток данных
Что возвращает функция MPI_Comm_rank (язык С)?
(1) количество процессов с указанным в аргументе функции рангом
(2) время работы текущего процесса
(3) количество активных процессов
(4) номер процесса, вызвавшего ее
С помощью каких средств реализуются MapReduce-программы для Hadoop?
(1) Hadoop Pipes в C++
(2) Hadoop Streaming в Python
(3) стандартный API в C++
(4) Java API в Java
Что такое Grid-вычисления?
(1) вычисления с помощью GPU на локальном компьютере
(2) форма вычислений, не являющихся географически распределенными
(3) форма вычислений, выполняющихся на кластере
(4) форма распределенных вычислений, выполняемых слабосвязанными гетерогенными вычислительными устройствами
Какой язык запросов используется в Cassandra?
(1) Open SQL
(2) CQL
(3) IDL
(4) CQLSH
Чем характеризуется случайное пробуждение (spurious wakeup) потока в Java?
(1) приостановленный методом wait поток возобновляет работу в результате вызова метода notify
(2) из-за особенностей реализации многопоточности в Java приостановленный методом wait поток может самопроизвольно возобновить работу даже не будучи активированным методами notify и notifyAll
(3) приостановленный методом wait поток возобновляет работу в результате вызова метода wakeUp
(4) закрытые методы классов не могут быть синхронизированными
В каких случаях для вычислений применяется динамическое планирование с балансировкой нагрузки?
(1) число подзадач намного больше числа процессоров
(2) количество процесоров в вычислительной системе меняется во времени
(3) подзадачи сильно различаются по размерам
(4) требуется равномерная загрузка процессоров, но вычислительная система содержит разнородные процессоры
Что возвращает функция MPI_Wtime в MPI (язык С)?
(1) текущее системное время
(2) коэффициент ускорения программы
(3) время ожидания текущего потока
(4) время в секундах, прошедшее с некоторого события
Как реализован класс Reducer (Hadoop MapReduce, язык Java)?
(1) класс Reducer параметризован типами ключей и значений, используемыми на входе и выходе задачи
(2) класс Reducer является абстрактным
(3) класс Reducer имеет реализацию по умолчанию собственных методов, не являясь абстрактным
(4) класс Reducer параметризован специальным объектом -- контекстом
В чем выражается гетерогенность распределенной системы?
(1) пропускная способность всех связывающих узлы системы сетей одинакова
(2) все узлы в системе одинаковы по конфигурации
(3) производительность и архитектура различных сетей и узлов в системе могут отличаться друг от друга
(4) узлы и сети системы отказоустойчивы
Выберите верные утверждения.
(1) NoSQL-базы данных поддерживают более жесткий контроль ссылочной целостности, чем РСУБД
(2) Apache Cassandra относится к классу NoSQL-систем
(3) РСУБД поддерживают операцию join
(4) РСУБД обеспечивают линейную масштабируемость при увеличении объема данных
Выберите верное утверждение.
(1) потоки реализованы в стандартной библиотеке Java
(2) многопоточное программирование не целесообразно применять в системах с "дорогим" машинным временем
(3) многопоточные программы не могут выполняться на общедоступных персональных компьютерах и требуют специализированной вычислительной техники
(4) многопоточное программирование нецелосообразно применять для написания программ с графическим пользовательским интерфейсом
Какой из режимов вычислений поддерживает классический последовательный компьютер фон Неймана?
(1) обработка нескольких инструкций и одиночного элемента данных в каждый момент времени
(2) обработка одиночной инструкции и нескольких потоков данных в каждый момент времени
(3) обработка одиночной инструкции и одиночного элемента данных в каждый момент времени
(4) обработка нескольких инструкций и нескольких потоков данных в каждый момент времени
Какие языки программирования обладают встроенной поддержкой многопроцессности?
(1) C
(2) Java
(3) C#
(4) TBB
Что такое функция высшего порядка?
(1) функция, оперирующая массивами произвольной длины
(2) перегружаемая функция
(3) функция, принимающая в качестве аргумента или возвращающая другую функцию
(4) функция, возвращающая в качестве результата некоторую произвольную сложную структуру данных
Какой класс в Java реализует клиентский сокет?
(1) Socket
(2) ClientSocket
(3) Soc
(4) Listener
Какие данные webtable, порожденная поисковым роботом, способна выдать по ключу?
(1) загруженное содержание страницы
(2) изображения, содержащиеся на странице
(3) URL страницы
(4) язык страницы
Чем характеризуется состояние гонок (race condition)?
(1) это состояние устраняется агрессивной оптимизацией многопоточной программы компилятором и не требует дополнительных средств ограничения доступа к общим данным
(2) это состояние программы всегда приводит к ожидаемому результату
(3) это состояние может возникать при агрессивной оптимизации многопоточной программы компилятором
(4) потоки соревнуются за доступ к общим ресурсам, из-за чего конечный результат выполнения программы плохо прогнозируем
Какие из предложенных стратегий распараллеливания алгоритма нахождения среднего арифметического последовательности из 1000 чисел корректны?
(1) последовательность разбивается на 4 части, элементы в каждой части суммируются и делятся на 1000 на отдельном процессорном устройстве, полученные значения складываются на одном процессорном устройстве и делятся на 4
(2) последовательность разбивается на 4 равные части, элементы в каждой части суммируются, полученные значения складываются и делятся на 1000 на одном процессорном устройстве
(3) последовательность разбивается на 4 равные части, элементы в каждой части суммируются и делятся на 1000 на отдельном процессорном устройстве, полученные значения складываются на одном процессорном устройстве
(4) последовательность разбивается на 4 равные части, находится среднее арифметическое каждой части на отдельном процессорном устройстве, полученные значения складываются на одном процессорном устройстве и делятся на 1000
В каких случаях используется модель Master/Worker?
(1) вычислительная система однородна, сложность заданий постоянна, вычисления сводятся к простым итерациям
(2) сложность заданий изменяется непредсказуемо
(3) задания сильно зависимы, для вычислений требуется координация результаов и одновременное выполнение задач
(4) вычисления проводятся на распределенной системе с неоднородными узлами, количество которых меняется
Опишите работу функции reduce.
(1) функция reduce возвращает некоторую функцию с аргументом в виде данного списка
(2) функция reduce преобразует список к некоторому атомарному результату при помощи заданной функции
(3) функция reduce осуществляет поиск данного элемента в списке-аргументе
(4) функция reduce применяет данную функцию к каждому элементу списка, возвращая список результатов
Выберите верные утверждения.
(1) при удаленном вызове процедуры (RPC) выполнение кода процедуры распределяется динамически между клиентом и сервером
(2) при удаленном вызове процедуры (RPC) выполнение кода процедуры происходит на стороне сервера
(3) при удаленном вызове процедуры (RPC) клиент может получать от сервера код ошибки в случае некорректного выполнения процедуры
(4) при удаленном вызове процедуры (RPC) клиент не должен предоставлять значения аргументов для выполняемой процедуры
Выберите верные утверждения о модели данных в HBase.
(1) внутри ячеек таблицы поддерживается хранение нескольких версий данных
(2) версионность данных не поддерживается на уровне стандартных средств
(3) количество колонок созданной талицы по умолчанию является наперед заданным
(4) колонки семейства можно идентифицировать по их общему префиксу
Метод run (язык Java)
(1) запускает поток исполнения
(2) определяет, выполняется ли поток
(3) задает точку входа в поток исполнения
(4) объявляет объект потока исполнения
Чем характеризуется ускорение параллельного алгоритма?
(1) минимальное время выполнения последовательного алгоритма
(2) отношение количества процессоров к количеству потоков исполнения
(3) минимальное время выполнения параллельного алгоритма
(4) размер входных данных
Выберите верные утверждения о модели параллельного выполнения fork/join.
(1) модель поддерживает вложенный параллелизм
(2) в модели fork/join количество потоков от одной параллельной секции к другой не может изменяться
(3) OpenMP не поддерживает модель параллельного выполнения fork/join
(4) на протяжении выполнения параллельной программы в модели fork/join сохраняется как минимум один поток исполнения
Выберите реализацию MapReduce для GPU.
(1) Mars
(2) Google MapReduce
(3) QtConcurrent
(4) Apache Hadoop
Выберите верные утверждения.
(1) интерфейсы удаленных объектов могут описываться на языке, отличном от языка, на котором написан данный пользовательский код, использующий RMI
(2) вызовы удаленных объектов осуществляются через вызов локальных объектов-представителей
(3) интерфейсы удаленных объектов не являются платформонезависимыми
(4) в RMI для связи клиентской части с серверной не используются сокеты
Какая часть HBase-кластера переключает клиентов на другого Master-server, в случае отказа текущего?
(1) HDFS-server
(2) ZooKeeper
(3) Region-server
(4) Master-server
Метод join (язык Java)
(1) изменяет приоритет потока на указанный
(2) определяет приоритет потока
(3) задает точку входа в поток исполнения
(4) ожидает завершения потока исполнения
Какие части программы являются последовательными?
(1) чтение входных данных с жесткого диска
(2) запись выходных данных на несколько жестких дисков
(3) синхронизация в параллельной программе
(4) критическая секция в параллельной программе
Какая строка позволяет корректно скомпилировать параллельную программу на языке С с использованной библиотекой OpenMP (файл исходного кода ex.c)?
(1) gcc ex.c -o ex
(2) gcc -omp ex.c -o ex
(3) gcc -fopenmp ex.c -o ex
(4) gcc -mp ex.c -o ex
Выберите верное утверждение о реализации Google MapReduce.
(1) хранение и обработка данных отделены друг от друга и производятся разными серверами
(2) в системе используется массовые недорогие решения для вычислительных серверов и дорогостоящие решения для хранения данных (high-end storage)
(3) хранение и обработка данных возложена на одни и те же узлы вычислительной системы
(4) вычислительная система строится с расчетом на отказоустойчивость, которая достигается применением специализированных устройств, а не репликацией функций отдельных составляющих
Что такое идемпотентный метод?
(1) метод на клиентской стороне в реализации RMI
(2) метод, возвращающий один и тот же результат на идентичные вызовы
(3) XML-RPC
(4) метод удаленного объекта, который может обмениваться с другими объектами информацией по бинарному протоколу
Выберите верные утверждения о модели данных в Cassandra.
(1) стратегия распределения данных определяется на уровне каждого сервера, входящего в кластер
(2) поддерживаются индексы по значениям колонок
(3) нет встроенных типов данных
(4) поддерживаются индексы по значениям ключей
Какой приоритет имеет любой поток исполнения по умолчанию в Java?
(1) MIN
(2) 0
(3) MIDDLE_PRIORITY
(4) NORM_PRIORITY
Найдите согласно закону Густавсона ускорение масштабирования некоторой параллельной программы, если известно, что время последовательной части программы равно math мс, время части программы, которая может быть распаралелена, равно math мс, количество процессоров равно math. Ответ округлите до десятых.
1,1
Выберите верное описание результата работы следующего кода (язык С, OpenMP): #pragma omp parallel for private(x) reduction(*:sum) for (i = 1; i >= 100; i++) { x = (i-0.5)*10; sum += 4.0/(1.0+x*x);}
(1) после выполнения всех потоков все их локальные переменные x перемножаются и результат записывается в переменную x за пределами параллельной секции
(2) после выполнения всех потоков все их локальные переменные sum перемножаются и результат записывается в переменную sum за пределами параллельной секции
(3) после выполнения всех потоков все значения их локальных переменных x перемножаются с соответствующими значениями локальных переменных sum
(4) после выполнения всех потоков все их локальные переменные sum складываются и результат записывается в переменную sum за пределами параллельной секции
Выберите верное утверждение.
(1) для детерминированных функций map и reduce гарантируется совпадение результата вычислений с результатом последовательного выполнения программы
(2) для детерминированных функций map и reduce не гарантируется совпадение результата вычислений с результатом последовательного выполнения программы
(3) результаты разных reduce-задач могут соответствовать разным последовательным выполнениям
(4) для недетерминированных функций map и reduce гарантируется совпадение результата вычислений с результатом последовательного выполнения программы
Какой базовый класс в Java предназначен для сериализации состояний классов?
(1) Serializable
(2) Serialize
(3) Collect
(4) Service
Каковы функции Gossip-протокола в Cassandra?
(1) обмен информацией о состоянии узлов
(2) обеспечение рассылки необходимой информации между узлами
(3) контроль за потенциальным отказом узлов
(4) контроль за возникновением реплицированных данных
Приведена реализация схемы Producer-Consumer (язык Java). class Q { int n; synchronized int get() { return n; } synchronized void put() { this.n = n; } } class Producer implements Runnable { Q q; Producer(Q q) { this.q = q; new Thread(this, "Producer").start(); } public void run() { int i = 0; while(true) { q.put(i++); } } } class Consumer implements Runnable { Q q; Consumer(Q q) { this.q = q; new Thread(this, "Consumer").start(); } public void run() { while(true) { q.get(); } } } class PC { public static void main() { Q q = new Q(); new Producer(q); new Consumer(q); } } Какое утверждение справедливо для данной программы?
(1) программа является корректной, но результат её выполнения зависит от среды исполнения
(2) данная программа корректна и характеризуется однозначным результатом выполнения
(3) данная программа не является корректной с точки зрения языка Java
(4) в данной программе не было реализовано ни одного пользовательского потока
Какой тип вычислительных задач называется embarrassingly parallel?
(1) задачи, к которым не применима парадигма "разделяй и властвуй"
(2) задачи с большим количеством внутренних связей
(3) любые задачи, вычисление которых может быть реализовано с помощью параллельного алгоритма
(4) задачи с большим количеством вычислительных подзадач, не имеющих зависимостей между собой
Какая функция используется для инициализации MPI (язык С)?
(1) MPI_Init
(2) Init
(3) MPI_Start
(4) MPI
Каковы функции JobTracker в Hadoop MapReduce?
(1) разбиение заданий на отдельные задачи (task)
(2) осуществление перезапуска задач
(3) предоставление доступа к промежуточным файлам при выполнении кадой задачи
(4) распределение задач по узлам
Какие признаки характерны для распределенных систем?
(1) топология и конфигурация сетей динамические
(2) система синхронизирована с некими глобальными часами
(3) система не имеет глобальных часов
(4) существует жесткая связь между отдельными узлами
Какие операции являются атомарными в Cassandra?
(1) записи в одну строку
(2) несколько обновлений строки
(3) репликация таблицы
(4) срез таблицы
Для чего предназначен метод notify (язык Java)?
(1) возобновление исполнения всех потоков, из которых был вызван метод wait для того же самого объекта
(2) блокировка исполнения потока, из которого был вызван метод wait для того же самого объекта
(3) возобновление исполнения потока, из которого был вызван метод wait для того же самого объекта
(4) возобновление исполнения потока, из которого был вызван метод wait для всех экземпляров данного класса
Выберите методы решения с локальными взаимодействиями между подзадачами.
(1) метод Гаусса-Зейделя
(2) метод Red-Black
(3) редукция методом "разделяй и властвуй"
(4) метод хаотической релаксации
Какая функция используется для блокирующей посылки сообщений в MPI (язык С)?
(1) MPI_Send
(2) MPI_MESSAGE
(3) MPI_Message
(4) MPI_Run
Для чего в методах класса Mapper используется объект Context (Hadoop MapReduce, язык Java)?
(1) объект Context содержит список ключей для map-задачи
(2) объект Context предназначен для инициализации map-задания
(3) объект Context содержит пары "ключ-значение" для инициализации Mapper
(4) объект Context предназначен для записи результата выполнения map
Что такое архитектура shared-nothing?
(1) распределенная вычислительная архитектура,в которой узлы имеют общую часть памяти или дисковое пространство
(2) распределенная вычислительная архитектура,в которой каждый узел независим и самостоятелен, отсутсвует единая для всей системы точка подключения
(3) распределенная вычислительная архитектура с сильно связанными узлами
(4) распределенная вычислительная архитектура с единой точкой подключения и независимыми узлами
Выберите верные утверждения о Cassandra.
(1) уровни согласованности могут быть указаны для каждой read-операции
(2) уровни согласованности не могут быть указаны для каждой write-операции
(3) уровень согласованности ONE указывает, что для информирования клиента об удачном завершении операции, требуется ответ только от одной реплики
(4) уровень согласованности ALL указывает, что для информирования клиента об удачном завершении операции, требуется ответ от большинства реплик
В чем особенность примитива Condition для условной синхронизации (язык Java)?
(1) возможность работы только с одним событием для каждого примитива блокировки
(2) возможность указания периода времени ожидания возобновления потока
(3) возможность создания нескольких объектов на одном примитиве блокировки и работы с несколькими условиями в контексте примитива
(4) примитив не содержит аналогов метода notifyAll
В каких случаях для вычислений применяется статическое планирование с балансировкой нагрузки?
(1) число подзадач намного больше числа процессоров
(2) количество процесоров в вычислительной системе меняется во времени
(3) между подзадачами возникают неструктурированные взаимодействия
(4) требуется равномерная загрузка процессоров, но вычислительная система содержит разнородные процессоры
Каково условие выхода процесса из блокировки, вызванной функцией MPI_Barrier в MPI (язык С)?
(1) любой член группы с данным коммуникатором должен вызвать эту функцию
(2) в данной параллельной секции этот процесс должен вызвать разблокирующую функцию MPI_Work
(3) с момента блокировки процесса истек период времени в секундах, переданный в аргументе данной функции
(4) все остальные члены группы с данным коммуникатором должны вызвать эту функцию
Имеется ли отличие в сигнатурах методов map и reduce в реализациях по умолчанию соответственно в классах Mapper и Reducer (Hadoop MapReduce, язык Java)?
(1) метод reduce не принимает объект контекста в качестве входных данных
(2) метод map вместо значения принимает итератор на значения, связанные с данным промежуточным ключом
(3) сигнатуры этих методов одинаковы
(4) метод reduce вместо значения принимает итератор на значения, связанные с данным промежуточным ключом