Variant 2032480624.
Некоторая параллельная программа выполняется 100 секунд на одном процессоре. Если 40% вычислений являются строго последовательными и не могут быть распараллелены, то какое будет время выполнения этой программы на 2 и 4 процессорах соответственно:
Рассмотрим паскалеобразный фрагмент:
var i,j:integer; procedure P(k,m : integer by reference); begin k:=k-m; m:=k+m; k:=m-k; end; i:=2; j:=3; P(i,j);
Рассмотрим компьютерную многопроцессорную архитектуру, где каждый процессор имеет свой собственный кеш, и где все они конкурируют за доступ к системной шине (критическому ресурсу).
Каждый процессор может выполнить одну инструкцию за 500 наносекунд, если инструкция ссылается на закешированные ячейки памяти. Но если происходит кеш-промах, то выполнение инструкций процессором задерживается на дополнительных 2000 наносекунд, причем первую половину этой задержки шина обслуживает запрос, а вторую половину задержки, результат этого запроса помещается в кеш процессора и происходят другие действия, а шина может обслуживать запросы от других процессоров. В среднем, каждая инструкция содержит два указателя на память, а кеш-промахи случаются в 1% указателей.
Какую часть пропускной способности шины использует один процессор, если игнорировать конкуренцию других процессоров?
Рассмотрим таблицу vtable:
A B C ----------- 1 2 4 2 1 6 1 2 4 1 1 20 2 1 4 12 0 9
Сколько строк вернет следующий SQL-оператор?
SELECT DISTINCT a,b FROM vtable
Могут ли приведенной BNF-грамматикой
<word>::=<letter>|<letter><pairlet>|<letter><pairdig> <pairlet>::=<letter><letter>|<pairlet><letter><letter> <pairdig>::=<digit><digit>|<pairdig><digit><digit> <letter>::=a|b|c|...|y|z <digit>::=0|1|2|...|9