Базовый Эрудит — questions

Jump to: navigation, search
12345
Знание базовых информационных технологий

Variant 3632631025.


Your name*:


Question 1

Некоторая параллельная программа выполняется 100 секунд на одном процессоре. Если 40% вычислений являются строго последовательными и не могут быть распараллелены, то какое будет время выполнения этой программы на 2 и 4 процессорах соответственно:

  1.  80 и 70 секунд
  2.  70 и 55 секунд
  3.  30 и 15 секунд
  4.  20 и 10 секунд
  5.  50 и 25 секунд

Question 2

Рассмотрим компьютерную многопроцессорную архитектуру, где каждый процессор имеет свой собственный кеш, и где все они конкурируют за доступ к системной шине (критическому ресурсу).

Каждый процессор может выполнить одну инструкцию за 500 наносекунд, если инструкция ссылается на закешированные ячейки памяти. Но если происходит кеш-промах, то выполнение инструкций процессором задерживается на дополнительных 2000 наносекунд, причем первую половину этой задержки шина обслуживает запрос, а вторую половину задержки, результат этого запроса помещается в кеш процессора и происходят другие действия, а шина может обслуживать запросы от других процессоров. В среднем, каждая инструкция содержит два указателя на память, а кеш-промахи случаются в 1% указателей.

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

  1.  
  2.  
  3.  
  4.  
  5.  

Question 3

Рассмотрим SQL-запрос:

SELECT a.ln, fn, b.zip, c.city
FROM  a,b,c
WHERE a.ln=b.ln
Таблицы a, b, c содержат по 100 записей каждая, а колонка ln - первичный ключ и для a, и для b. Какое максимальное число записей может вернуть запрос?
  1.  10000
  2.  100000
  3.  0
  4.  100
  5.  1000000

Question 4

Рассмотрим C-программу:

    #include <stdio.h>
    main()
    {
        float sum=0.0, j=1.0, i=2.0;
        while (i/j>0.001)
        {
            j=j+j;
            sum=sum+i/j;
            printf("%f \n",sum);
        }
    }
Какое целое число будет наиболее близко к последнему напечатанному числу?
  1.  3
  2.  1
  3.  0
  4.  2
  5.  4

Question 5

Приведенная C-программа

    #include <stdio.h>
    main()
    {
        float sum=0.0, j=1.0, i=2.0;
        while (i/j>0.001)
        {
            j=j+j;
            sum=sum+i/j;
            printf("%f \n",sum);
        }
    }
напечатает следующее количество строчек:
  1.  30-39
  2.  0-9
  3.  >39
  4.  20-29
  5.  10-19