Сертификат "Параллельное программирование для многоядерных процессоров"
  • Сертификат "Параллельное программирование для многоядерных процессоров"
  • Сертификат "Параллельное программирование для многоядерных процессоров"
Сертификат "Параллельное программирование для многоядерных процессоров"
  • Сертификат "Параллельное программирование для многоядерных процессоров"
  • Сертификат "Параллельное программирование для многоядерных процессоров"

Параллельное программирование для многоядерных процессоров

700,00 руб.
В течение часа!
Экзамен "Параллельное программирование для многоядерных процессоров" для пользователей и системных администраторов.
Количество
Есть в наличии!

Форма сдачи теста: Экстерн
Количество вопросов: 30
Проходной балл: 90% и выше
Срок действия сертификата: неограничен

Сертификат появляется в профиле ресурса INTUIT, и Вы можете заказать его бумажную версию на сайте INTUIT.
11747 шт.
Внимание !
Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier!

Библиотека Parallel FX Library предназначена для:

написания программ в однозадачных средах
последовательного выполнения задач
распараллеливания задач


Может ли библиотека Parallel FX Library использоваться в неуправляемом коде?

не может
может только при использовании многоядерных процессоров
может


Какие преимущества достигаются при использовании Parallel FX Library?

увеличение производительности при использовании в многоядерных процессорах или с несколькими процессорами
увеличение производительности при использовании только с несколькими процессорами
упрощение параллельного программирования


Использование библиотеки PFX возможно при:

установленной только версии .NET Framework 1.0
установленной любой версии .NET Framework
установленном .NET Framework 3.5


Какие способы организации параллелизма использует Parallel Extensions?

механизм использующий параллельную реализацию LINQ-а
параллелизм при императивной обработке данных
параллелизм на уровне задач


Библиотека Parallel FX Library входит в состав:

Visual Studio 2010
Visual Studio 2008
.NET 4 CTP
Borland C++ Builder 5
Visual Studio 2005


Что произойдёт при использовании Parallel Extensions в многоядерных системах когда станут доступны другие ядра?

автоматически вовлечёт их в работу
заблокирует работу действующих ядер и переключит на освободившиеся
не будет использовать их пока не завершится выполнение всех задач


Возможно ли ипользование Parallel Extensions в однопроцессорных системах?

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


Какие компоненты и данные содержит Microsoft Parallel Extensions?

TPL
набор координирующих структур данных
SQL
PLINQ


Какое основное назначение методов TPL API?

планируют выполнение задач
разбивают запрос на небольшие задачи
разбивают цикл или последовательность блоков кода на задачи


Что произойдёт при использовании параллельного цикла (с применением PFX) в однопроцессорной машине?

возникнет исключительная ситуация
цикл будет выполнен последовательно
цикл будет выполнен параллельно


Какие методы содержатся в TPL API?

Parallel.ForEach
Parallel.Invoke
Parallel.For


Что произойдёт если количество подзадач в параллельной программе будет слишком большим?

увеличится общая производительность системы
большинство из них будут простаивать в очереди к ядрам процессора
увеличится объём издержек на запуск подзадач


Что произойдёт если количество подзадач в параллельной программе будет слишком маленьким?

уменьшится общая производительность системы
некоторые ядра процессора будут простаивать
увеличится общая производительность системы


Укажите в каком из примеров применено распараллеливание цикла?

            for (int i = 0; i < 100; i++) {
              a[i] = a[i]*a[i];
            }
           
            while (x) {
            if (y == x)
              break;
            }
           
            Parallel.For(0, 100, delegate(int i) {
              a[i] = a[i]*a[i];
            });

           
Укажите в каком из примеров применено распараллеливание цикла?

            Parallel.Foreach(data, delegate(ClassRes сl)) {
              FuncRes(cl);
            }
       
            foreach(int item in List) {
            int iCount += item;
            }
       
            while (x != y) {
            for (int k = 0; k != List.Count; k++)
             if ((k - x) >= 30)
              return;
            }
           

Укажите в каком из примеров произойдёт ошибка компиляции?


                    using System.Threading;
                    …
                    Parallel.For(0, N, Func(int i)
                    {
                    res[i] = Func(i);
                    });
               
                    using System.Threading;
                    …
                    Parallel.For(0, N, delegate(int i)
                    {
                    res[i] = Func(i);
                    });
       
                    using System.Threading;
                    …
                    Parallel.For(0, N, delegate(int i))
                    {
                    res[i] = Func(i);
                    };           


Укажите правильное определение планировщика задач:

планировщик задач - это программа, обеспечивающая запланированный запуск программ в системе
планировщик задач - это программа, реализующая алгоритм планирования исполнения задач
планировщик задач - это программа, обеспечивающая межпроцессорное взаимодействие


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

FIFO
круговое обслуживание задач с вытеснением
LIFO


Какие задачи выполняет планировщик задач?

снижение максимальной загрузки процессоров
обеспечивание максимальной загрузки процессоров
обеспечивание высокой пропускной способности системы


Укажите планирование, при котором единый планировщик отсутствует, а процессоры сами выбирают какие задачи им исполнять?

централизованное планирование
децентрализованное планирование
монопольное планирование


Укажите планирование, при котором планировщик контролирует единый пул задач в системе и назначает задачи процессорам?

монопольное планирование
централизованное планирование
децентрализованное планирование


Какой тип планирования используется в многопроцессорных системах?

приоритетный
монопольный
динамический


Какой основной принцип динамического планирования в многопроцессорных системах

планирование с учетом состояния процессов системы в определённый момент времени
планирование с учетом состояния процессов системы за определённый промежуток времени
планирование с учетом состояния процессов системы в текущий момент времени


Что произойдёт при использовании децентрализованного планирования в многопроцессорной системе если исполнение потока будет блокировано внешним событием?

процессор извлекает новый поток, а блокированный помещает назад
процессор передаёт блокированный поток другому процессору
процессор удаляет блокированный поток из пула и выполняет следующий


Что произойдёт при использовании децентрализованного планирования если пул процессора в многопроцессорной системе окажется пуст

процессор прервёт выполнение других процесооров для того чтобы взять потоки из их пулов
процессор будет брать потоки из пулов других процессоров
процессор будет ждать пока в его пуле снова не появятся потоки


Укажите в каком из примеров будет применено распараллеливание?

                Parallel.ForEach(Directory.GetFiles(path, "*.jpg"), Path =>               
                {
                  ProcessImage(Path);
                });           
               

                class Tree<T>
                {
                public T Data;
                public Tree<T> Left, Right;
                }
               
                static void Walk<T>(Tree<T> tree, Action <T> func)
                {
                if (tree = null) return;
                Walk(tree.Left, func);
                Walk(tree.Right, func);
                func(tree.Data);
                }
               
                class Tree<T>
                {
                public T Data;
                public Tree<T> Left, Right;
                }
               
                static void Walk<T>(Tree<T> tree, Action <T> func)
                {
                  if (tree = null) return;
                Parallel.Invoke( () => Walk(tree.Left, func);
                                 () => Walk(tree.Right, func);
                                 () => func(tree.Data));
                }   


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

Parallel.Invoke
Parallel.For
Parallel.ForEach


Какое условие должно соблюдаться для эффективной реализации метода Parallel.Invoke?

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


В методе Parallel.For(Int32, Int32, Action<Int32>) что определяет параметр Action<Int32>?

конечный индекс
делегат, определяющий действие на каждой итерации
начальный индекс


Возможно ли организовать передачу информации между итерациями цикла, исполняющимися в одном потоке, при использовании Parallel.For/ForEach?

возможно при использовании перегруженных вариантов
невозможно


В чём особенность использования методов Parallel.For и Parallel.ForEach?

применяются только в многопроцессорных системах
применяются для распараллеливания задач в Parallel Extensions
3ни в одной итерации не используются результаты работы с предыдущих итераций


Укажите правильные утверждения в отношении следующего примера:

        Parallel.For( 0, size, delegate(int x) {
            Parallel.For( 0, size, delegate(int y) {
            result[x, y] = 0;
            for (int k = 0; k < size; k++)
              {
                result[x, y] += m1[x, k] * m2[k, y];
              }
              });
          });
       

при правильном распараллеливании внутреннего цикла упадёт производительность
распаралеливать внутренний цикл нельзя, поскольку его итерации зависят друг от друга
правильно распараллелить внутренний цикл можно только с помощью блокировки


Укажите правильные утверждения в отношении вложенных параллельных циклов:

применение вложенных параллельных циклов в многопроцессорных системах недопустимо
вложенные параллельные циклы возможны
c применением вложенных параллельных циклов произойдёт снижение быстродействи


Можно ли распараллелить внутренний цикл for (int k = 0; k < size; k++) в следующем примере, без применения блокировок?

        Parallel.For( 0, size, delegate(int i) {
            Parallel.For( 0, size, delegate(int j) {
            result[i, j] = 0;
            for (int k = 0; k < size; k++)
              {
                result[i, j] += m1[i, k] * m2[k, j];
              }
              });
          });
       

распаралеливать внутренний цикл можно
распаралеливать внутренний цикл нельзя


Укажите уровень параллелизма библиотеки PFX использующий PLINQ

уровень императивной работы с задачами
уровень императивной обработки данных
уровень декларативной обработки данных


Какой уровень параллелизма в библиотеке PFX является универсальный и более гибкий?

уровень императивной работы с задачами (tasks)
уровень декларативной обработки данных
уровень императивной обработки данных на базе конструкций Parallel.For/ForEach/InvokeБ


Какой уровень параллелизма в библиотеке PFX является базовым?

уровень императивной работы с задачами
уровень декларативной обработки данных
уровень императивной обработки данных


Укажите правильное объявление функции запроса потока у пула с использованием библиотеки PFX:

Task.CreateThread(delegate { ... });
Task.New(delegate { ... });
Task.Create(delegate { ... });


Аналогом какого класса является класс System.Threading.Tasks.Task?

System.Threading.Parallel
System.Threading.Pool
System.Threading.ThreadPool


Укажите что выполняет следующий пример:

        Task t1 = Task.Create(delegate { A(); });
        Task t2 = Task.Create(delegate { B(); });
        Task t3 = Task.Create(delegate { C(); });

        t1.Wait();
        t2.Wait();
        t3.Wait();
       


последовательное выполнение двух задач с ожиданием третьей
параллельное выполнение трёх задач и ожидание завершения их выполнения
последовательное выполнение трёх задач и ожидание завершения их выполнения   


Какие методы отменяют выполнение задачи?

Task.CancelAndWait
Task.WaitAll
Task.Cancel


Что происходит при вызове метода Task.Create?

задача помещается в очередь планировщика задач
задача запускается на выполнение сразу после вызова этого метода
задача запускается на выполнение и после этого помещается в очередь планировщика


Укажите в каком примере происходит распараллеливание выполнения функции, вычисляющей количество узлов в бинарном дереве

        int CountNod(Tree<int> node)
        {
              if (node == null)
                  return 0;
              var left = Future.Create(() => CountNod(node.Left));
              int right = CountNod(node.Right);
              return 1 + left.Value + right;
        }
           
        int CountNod(Tree<int> node)
        {
        if (node == null)
          return 0;
        return 1 + CountNod(node.Left) + CountNod(node.Right);
        }

        int CountNod(Tree<int> node)
        {
              if (node == null)
                return 0;
        return CountNod(node.Left) + CountNod(node.Right);
        }   
           

Укажите в каком примере происходит распараллеливание с применением PLINQ?

            var q = (from e in _ent
                       where TestForEntity(e)
                       select e).ToArray();
           
            var q = (from d in _doubles.AsParallel()
                      where Test(d)
                      orderby d
                      select d).ToArray();
           
            var q = (from d in _doubles
                      where Test(d)
                      orderby d
                      select d).ToArray();
           

В Чём отличие класса System.Threading.Tasks.Future<T> от классаSystem.Threading.Taks.Task?

объекты класса Future<T> могут создаваться без указания тела задачи
класс Future<T> может возвращать значение
класс Future<T> не может возвращать значение


К чему приводит использование распараллеливания легковесных операций с применением Future<T>?

ростом дополнительных издержек на создание объектов класса Future<T>
увеличению времени работы параллельной программы
значительному выделению памяти


Укажите правильные утверждения в отношении PLINQ

это механизм выполнения запросов, принимающий любые запросы LINQ
PLINQ автоматически использует несколько процессоров или ядер для исполнения
параллелизм данных, лежащий в основе PLINQ, гарантирует, что программы сохранят масштабируемость по мере роста наборов данных


Укажите правильный вариант распараллеливания запроса LINQ в PLINQ:

    IEnumerable<T> data = ...;
    var q = data.Where(x => p(x)).Orderby(x => k(x)).Select(x => f(x));
    foreach (var e in q) a(e);
   
            IEnumerable<T> data = ...;
            var q = data.AsParallel().Where(x => p(x)).Orderby(x => k(x)).Select(x => f(x));
            foreach (var e in q) a(e);
           
            IEnumerable<T> data = ...;
            var q = data.Where(x => p(x)).Orderby(x => k(x)).Select(x => f(x));
            Parallel.foreach (var e in q) a(e);
           
            IEnumerable<T> data = ...;
            var q = from x in data.AsParallel() where p(x) orderby k(x) select f(x);
            foreach (var e in q) a(e);

           
Что обеспечивает класс BlockingCollection<T> библиотеки PFX?

блокирование производителей при достижении определенного объема данных в очереди
возможность параллельной работы с несколькими очередями
блокирование потребителей при отсутствии данных в очереди


Укажите что выполняет следующий код класса ConcurrentQueue<T>:

        Data dt;
        while(queue.TryDequeue(out dt))
        {
        Func(dt);
        }
       
извлекает елементы из очереди
помещает елементы в очередь
помещает елементы в стек


Какой потокобезопасный вариант стандартного стека используется в библиотеке PFX?

System.Threading.Collections.ConcurrentQueue<T>
System.Collections.Generics.Stack<T>
System.Threading.Collections.ConcurrentStack<T>


В какую библиотеку встроена реализация параллельного интегрированного языка запросов PLINQ?

System.Threading
System.PLinq
System.Linq


С помощью какого метода происходит распараллеливание запроса PLINQ?

Range()
AsParallel()
ParallelLINQ(...)


Укажите вариант правильного распараллеливания следующего запроса (схематично):

        IEnumerable<T> Data = …;
        var query =    from x in Data where p(x) orderby k(x)
                    select f(x);
        foreach (var e in query)
        func(e);

        IEnumerable<T> Data = …;
        var query =    from x in Data.AsParallel() where p(x) orderby k(x)
                    select f(x);
        foreach (var e in query)
          func(e);

        IEnumerable<T> Data = …;
        var query =    from x in Data
                         select f(x);
        foreach (var e in query)
          func(e);
       

Укажите правильное определение операции агрегирования в LINQ:

это операция вычисления некоторого суммарного, сводного значения по некоторому множеству элементов
это операция выполняющая сортировку в последовательности элементов
это операция определяющая размер некоторой последовательности элементов


Укажите примеры операций агрегирования:

возведение в степень некоторого числа
определение минимального или максимального значения последовательности
вычисление суммы квадратов последовательности
вычисление суммы последовательности чисел


Какая функция-шаблон ипользуется в языке LINQ для операций агрегирования

Aggregate
Parallel.For
Parallel.ForEach


Какие параметры необходимо указать при использовании функции Aggregate в LINQ?

функцию пост-обработки результата
исходную обрабатываемую последовательность
вычислительную функцию
начальное значение переменной-аккумулятора
конечное значение переменной-аккумулятора


Может ли любая операция агрегирования корректно вычислена с помощью шаблонов типа Aggregate в PLINQ?

может, если заранее результат моделирования шагов вычисления дает корректный результат
может всегда


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

коммутативность и ассоциативность функции пост-обработки результата
коммутативность и ассоциативность функции редукции
указания начального значения seed переменной-аккумулятора


Какой общий принцип перехвата исключений в параллельной программе?

перехват исключительных ситуаций необходимо выполнять как можно дальше от места их возникновения
перехват исключительных ситуации осуществляется только средствами библиотеки PFX, без применения дополнителной обработки
перехват исключительных ситуаций необходимо выполнять как можно ближе к месту их возникновения


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

все возникшие исключения собираются в единое исключение типа System.Exception
все исключения обрабатываются средствами самой библиотеки
все возникшие исключения собираются в единое исключение типа System.Threading.AggregateException


Какова особенность исключений в параллельных приложениях?

исключительные ситуации могут возникнуть одновременно в разных потоках
исключительные ситуации могут возникнуть только в потоке имеющем наибольший приоритет
обработка возникших исключительных ситуаций может выполняться в отдельном потоке


Укажите в каком из примеров выполнение кода вызовет исключительную ситуацию?

        var q = new ConcurrentQueue<int> (new[] {1, 2, 3, 4, 5});
        foreach (var item in q)
        {
        if (item <= 2)
          q.Enqueue(item * 2);
        }

        var q = new Queue<int> (new[] {1, 2, 3, 4, 5});
        foreach (var item in q)
        {
        if (item <= 2) q.Enqueue(item * 2);
        }
       
        var s = new ConcurrentQueue<int> (new[] {1, 2, 3, 4, 5});
        foreach (var item in s)
        {
        s.Enqueue(item * 2);
        }           
       

Возможна ли модификация объектов классов ConcurrentQueue<T> и СoncurrentStack<T> в цикле foreach?

невозможна
возможна


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

Queue<T>
ConcurrentStack<T>
ConcurrentQueue<T>


Какой класс библиотеки PFX используется для того чтобы отложить создание объекта, до того момента когда он действительно потребуется?

System.Threading.LazyInit<T>
System.Threading.Collections.ConcurrentQueue<T>
System.Threading.WriteOnce<T>


Какой класс библиотеки PFX используется для работы с полями допускающими однократное присваивание.

System.Threading.WriteOnce<T>
System.Threading.LazyInit<T>
System.Threading.Collections.ConcurrentStack<T>


Какие координирующие структуры данных используются в библиотеке PFX?

System.Threading.Collections.BlockingCollection<T>
System.Threading.WriteOnce<T>
System.Threading.LazyInit<T>


Какая среда исполнения в Linux-системах необходима для работы приложений MC#?

Microsoft Compact Framework
Microsoft .NET Framework
система Mono


Какая Runtime-среда исполнения обязательна для работы приложений MC#?

VCL
CLR
SQL


Какая среда исполнения в Windows-системах необходима для работы приложений MC#?

Microsoft .NET Framework
система Mono
Microsoft Compact Framework


Для каких целей предназначен язык MC#?

для программирования приложений в системах с многоядерными процессорами
для программирования приложений работающих в Grid-сетях
для программирования только в однопроцессорных системах


Какая цель достигалась при создании языка Polyphonic C#?

использовние высокоуровневых средств асинхронного параллельного программирования
обеспечение переносимости приложений с Windows на Unix системы
использование параллельного программирования в серверных и клиент-серверных приложениях


На базе какого языка был создан язык MC#?

Polyphonic C#
Perl
C
Yava


В чём заключается ключевая особенность языка Polyphonic C#?

добавление синхронных методов
добавление "асинхронных" методов
изменение синхронных методов


Укажите назначение "асинхронных" методов в языке Polyphonic C#:

синхронизация синхронных методов
доставка данных обычным синхронным методам
выполнение базовой вычислительной работы, исполняемых в отдельных потоках


Какая языковая конструкция была введена для синхронизации синхронных и асинхронных методов?

связки
перекрёстные ссылки
указатели


Какие в MC# существуют способы исполнения на удалённых машинах автономных асинхронных методов?

явное указание
автоматическое (на наименее загруженном узле кластера)


Какие ключевые конструкции должен иметь язык параллельного программирования?

средства для обеспечения взаимодействия параллельных процессов между собой
средства для создания параллельных процессов
средства для синхронизации параллельных процессов


Какие ключевые слова были введены в MC# для написание параллельной, распределенной программы?

Async
movable
sync


Укажите назначение movable-методов:

исполняются асинхронно и локально на одной машине (в виде отдельных потоков)
используются для создания параллельных процессов (потоков)
могут быть перенесены для исполнения на другие машины


Укажите назначение async-методов:

исполняются асинхронно и локально на одной машине (в виде отдельных потоков)
используются для создания параллельных процессов (потоков)
могут быть перенесены для исполнения на другие машины 


Укажите правильное определение movable-метода:

            модификаторы async имя_метода(аргументы)
            {
              ...
            }
           
            movable модификаторы имя_метода(аргументы)
            {
              ...
            }
           
            модификаторы movable имя_метода(аргументы)
            {
              ...
            }

           
Укажите правильное определение async-метода:

            модификаторы async имя_метода(аргументы)
            {
              ...
            }
           
            модификаторы movable имя_метода(аргументы)
            {
              ...
            }
           
            async модификаторы имя_метода(аргументы)
            {
              ...
            }
           

Что происходит во время вызова movable-метода?

на удаленную машину копируется только объект, которому принадлежит movable-метод, без аргументов
объект, которому принадлежит movable-метод, и его аргументы перемещаются на удаленную машину
объект, которому принадлежит movable-метод, и его аргументы копируются на удаленную машину


Какой из перечисленных вариантов содержит правильный вызов movable-метода (схематично)?

имя_машины@имя_объекта.имя кластера.имя_метода(аргументы)
имя_машины@имя_объекта.имя_метода(аргументы)
имя_объекта.имя_метода(аргументы)


Укажите отличия async- и movable-методов от обычных, синхронных, методов

не могут объявляться статическими
вызывающая программа всегда ожидает завершения вычислений этих методов
не возвращают результаты
вызывающая программа не ожидает завершения вычислений этих методов


Укажите какой из вариантов вызовет ошибку компиляции?

            handler hnd bool() & channel chan(int a)
            { if (a == 3)
                return (true);
            }           

           
            handler hnd bool()& channel chan1(int a)
                              & channel chan2(int b)
            { if (a == b)
                return (a);
            }
           

            handler hnd float() & channel chan1(float a) & channel chan2(float b)
            { float x = a+b;
              return (x);
            }

           
Укажите правильный вариант определения связки с одним каналом в MC#:

            handler hnd bool() & channel chan1(int a) & channel chan2(int b) & channel chan3(int c)
            { int x = (a+b)/c;
              return (false);
            }           

            handler hnd bool()& channel chan1(int a)
                              & channel chan2(int b)
            { if (a == b)
                return (true);
              if (a == 2)
               return (false);
            }

            handler hnd bool()& channel chan(int a)
            { if (a == 3)
                return (true);
            }           
           

Укажите правильный синтаксис определения связок в MC#:

chord-declaration ::= [handler-header]* body
chord-declaration ::= [handler-header] [& channel-header]* body
chord-declaration ::= [channel-header] [& handler-header]* body


Что явлется основой взаимодействия параллельных процессов в языке MC#?

использование разделяемой памяти
передача сообщений
использование общих потоков


Каким требованиям должна удовлетворять программа для её эффективного распараллеливания?

изменением гранулярности, путём максимального уменьшения подзадач
наличие достаточного объема работы, как минимум перекрывающий издержки самого процесса распараллеливания
изменением гранулярности, путём максимального увеличения подзадач


Что произойдёт если к моменту прихода значения по каналу, нет вызовов обработчика?

вызывается исключение
значение сохраняется во внутренней очереди канала
это значение сбрасывается


Что произойдёт если к моменту вызова обработчика канальных сообщений, связанный с ним канал окажется пуст?

вызов обработчика блокируется
вызывается исключение
по оператору return происходит возврат нулевого значения обработчику


Что произойдёт при вызове обработчика и при наличии значений во всех каналах соответствующей связки?

будут обработаны первые по порядку значения из очередей каналов
будут обработаны последние по порядку значения из очередей каналов


Какое общее правило срабатывания связки?

тело связки исполняется сразу же, независимо от вызова методов из заголовка
тело связки исполняется только после того, как вызван хотя бы один метод из заголовка этой связки
тело связки исполняется только после того, как вызваны все методы из заголовка этой связки


При копировании каналов и обработчиков на удаленную машину автономно или в составе некоторого объекта они становятся:

независимыми объектами
нулевыми объектами
прокси-объектами


Укажите правила корректного определения связок в MC#:

все формальные параметры каналов и обработчика в связке должны иметь различные идентификаторы
каналы и обработчики в связке не могут быть объявлены как static
формальные параметры каналов и обработчиков не могут содержать модификаторов ref или out


Укажите что будет выведено на экран в результате выполнения следующего примера?

    class B {
    public int x;
    public B() { }
    movable Compute() {
       x = 2;
    }}

    class A {
    public static void Main( String[] args ) {
       B b = new B();
       b.x = 1;
       Console.WriteLine( "Before: x = " + b.x );
       b.Compute();
       Console.WriteLine( "After: x = " + b.x );
    }}
       
            Before: x = 1
            After: x = 1           
           

            Before: x = 1
            After: x = 2
           

            Before: x = 2
            After: x = 1   
       
           
Укажите верные утверждения в отношении movable-методов:

они никогда не возвращают результатов
вызов этих заканчивается, по существу, мгновенно
они планируются для исполнения на другой машине (узле кластера или машине GRID-сети)


Какие правила определения связок в языке MC#?

все формальные параметры во всех заголовках методов в связке должны иметь различные идентификаторы
заголовки методов в связке не могут быть объявлены как static
в связке только один заголовок метода может иметь тип возвращаемого значения, отличный от Channel


Укажите основные функции компилятора MC#:

добавление выражений, создающих объекты типа Channel и Handler для каждого из каналов и обработчиков
замена вызовов movable-методов на запросы менеджеру распределения ресурсов
замена канальных вызовов на пересылку соответствующих сообщений по TCP-соединению
замена вызовов async-методов на порождение соответствующих локальных потоков


Какой класс Runtime-системы языка MC# реализует вычислительную сессию?

Serialization
Handler
Session


Какая функциональная часть Runtime-системы языка MC# контролирует выполнение movable-методов?

ResourceManager
Communicator
WorkNode

Вы можете обратится к нам напрямую, через:

skype По Skype: molodoyberkut
telegram По Telegram: @MolodoyBerkut
icq По ICQ: 657089516

Или через форму обратной связи на нашем сайте
Пока сочиняется...
4.png