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

advertisement
ФЕДЕРАЛЬНОЕ АГЕНСТВО СВЯЗИ
ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ТЕЛЕКОММУНИКАЦИЙ И ИНФОРМАТИКИ
УТВЕРЖДАЮ
проректор по учебной работе –
первый проректор ГОУ ВПО СибГУТИ
_________профессор В.Н. Попантонопуло
« ___ » ___________ 2011 г.
ПРОГРАММА
ИТОГОВОГО ГОСУДАРСТВЕННОГО ЭКЗАМЕНА
по специальности 230101.65
«Вычислительные машины, комплексы, системы и сети»
Новосибирск – 2011 г.
Итоговая государственная аттестация инженера включает в себя
защиту выпускной квалификационной работы и государственный экзамен.
Итоговый государственный экзамен проводится по специальным дисциплинам с целью определения соответствия знаний, умений и
навыков студентов по комплексу специальных дисциплин и их соответствия требованиям государственного образовательного стандарта.
К сдаче итогового государственного экзамена допускаются студенты, не имеющие задолженностей по учебной программе.
Экзамен проводится в письменно-устной форме.
На экзамене студент получает билет, содержащий 6 вопросов
(по одному на каждый раздел), на которые он отвечает в письменном
виде в течение 4 часов.
Результаты сдачи экзамена определяются оценками: «отлично»,
«хорошо», «удовлетворительно», «неудовлетворительно», которые
оглашаются комиссией.
В случае несогласия с оценкой студент имеет право обжаловать
её перед комиссией, ответив в устой форме на возникшие у комиссии
вопросы.
Студенты, успешно сдавшие Итоговый государственный экзамен, допускаются к прохождению преддипломной практики.
Студенты, получившие оценку «неудовлетворительно», имеют
право на одну повторную сдачу экзамена не раньше, чем через месяц.
До
этого
к
преддипломной
практики
не
допускаются.
РАЗДЕЛ 1. АРХИТЕКТУРА ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
1.1 Архитектура вычислительных систем
1.1.1. Принципы построения, архитектурные возможности машин ENIAC и EDVAC.
1.1.2. Модель коллектива вычислителей. Основные принципы построения вычислительных систем. Типовые структуры ВС.
1.1.3. Понятие «архитектура вычислительной системы». Классификация архитектур
ВС.
1.1.4. Методика крупноблочного распараллеливания сложных задач. Параллельные
программы и показатели эффективности параллельных алгоритмов.
1.1.5. Конвейерные вычислительные системы. Системы STAR-100, CRAY-1, CRAY-2,
CRAY X-MP.
1.1.6. Матричные вычислительные системы. Системы ILLIAC-IV, DAP.
1.1.7. Мультипроцессорные вычислительные системы. Системы C.mmp, Burroughs,
Эльбрус, Cm*.
1.1.8. Архитектура вычислительной системы «Минск-222».
1.1.9. Вычислительные системы с программируемой структурой. МИНИМАКС,
СУММА.
1.1.10. Распределённые вычислительные системы. Кластерные ВС и GRID-системы.
1.2 Высокопроизводительные вычислительные системы
1.2.1 Направления развития вычислительных систем.
1.2.2 Теория структур распределённых вычислительных систем. Циркулянтные (Dnграфы). L(n,v,g)-графы.
1.2.3 Структурные характеристики ВС. Оптимальные структуры ВС
1.2.4 Вычислительная система Connection Machine.
1.2.5 Вычислительная система CRAY X.
1.2.6 Вычислительная система МИКРОС.
1.2.7 Семейство вычислительных систем МВС.
1.2.8 Система доменных имен (DNS).
1.2.9 Протокол передачи почтовых сообщений SMTP.
1.2.10 Сетевой экран iptables.
1.2.11 Протокол передачи файлов FTP. Конфигурирование сервера ProFTPD.
1.3. Отказоустойчивые вычислительные системы
1.3.1 Операции, необходимые для обеспечения отказоустойчивости вычислительной
системы
1.3.2 Структуры отказоустойчивых систем
1.3.3 Организация отказоустойчивых систем с дублированием
1.3.4 Активная защита от отказов
1.3.5 Поиск одиночных отказов в системах со структурно-временной избыточностью
1.3.6 Графовые модели отказоустойчивых систем
1.3.7
1.3.8
1.3.9
1.3.10
1.3.11
1.3.12
1.3.13
1.3.14
Синдром вычислительной системы
Диагностические модели
Методы дешифрации синдрома системы
Использование парных элементарных проверок между машинами
Использование коллективных диагностических проверок
Состояния отказоустойчивых вычислительных систем
Принципы организации самодиагностирования
Планирование загрузки элементарных машин с учетом операций диагностирования
РАЗДЕЛ 2. СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
2.1. Операционные системы
2.1.1. Перечислите и поясните основные функции операционных систем. Приведите
примеры исполнения этих функций, на основе современных ОС.
2.1.2. Опишите, какие типы операционных систем Вы знаете? Поясните что такое ядро
ОС? Приведите примеры современных ОС, и поясните, к какому классу они относятся.
2.1.3. Что такое «виртуальный адрес», «виртуальное адресное пространство»? Чем (в
общем случае) определяется максимально возможный объём виртуального адресного пространства программы?
2.1.4. Для чего операционные системы используют несколько режимов работы процессора? Чем отличается супервизорный режим (режим ядра) от пользовательского режима? Как часто процессор переводится из одного режима в другой и
зачем?
2.1.5. Дайте определение терминам «процесс» и «поток». Объясните в чем их отличия.
Определите условия, в которых лучше всего использовать процессы и потоки.
Приведите примеры.
2.1.6. Дайте определение термину «состояние процесса». Опишите, в каких состояниях могут находиться процессы. Нарисуйте диаграмму семи состояний процессов.
2.1.7. Что такое «файловая система»? Что дает использование той или иной файловой
системы? Приведите примеры файловых систем, используемых в современных
операционных системах.
2.1.8. Дайте определение задачи «производитель – потребитель». Приведите алгоритм
её решения с использованием семафоров.
2.1.9. Дайте определение понятию «взаимоблокировка». Опишите условия, при которых взаимоблокировка не может возникнуть. Приведите пример.
2.1.10. Зачем используются алгоритмы планирования выполнения процессов? Приведите примера алгоритмов. Укажите, какие из них используются в современных
операционных системах.
2.2. Системное программное обеспечение
2.2.1.
2.2.2.
2.2.3.
2.2.4.
2.2.5.
2.2.6.
2.2.7.
Написать КС-грамматику для языка L, построить дерево вывода и левосторонний вывод для цепочки aabbbcccc
L = {a2nbmc2k | m = n + k, m  1}
Построить грамматику, порождающую сбалансированные относительно круглых скобок цепочки в алфавите {a ( ) }. Сбалансированную цепочку определим рекуррентно: цепочка  сбалансирована, если:
 не содержит круглых скобок;
 = (1) или  = 12, где 1 и 2 сбалансированы.
Дан язык L = {13n+20n | n ≥ 0}. Определить его тип, написать грамматику, порождающую язык L. Построить левосторонний и правосторонний выводы, дерево разбора для цепочки 1111111100.
Построить КС-грамматику, эквивалентную грамматике с правилами:
S  AB | ABS
AB  BA
BA  AB
A a
B b
Дана грамматика с правилами:
S  if B then S | B = E
EB|B+E
Ba|b
Построить восходящим и нисходящим методами дерево вывода для цепочки:
if a then b = a + b + b
Написать леволинейную регулярную грамматику, эквивалентную данной
праволинейной, допускающую детерминированный разбор
S  Ab
B  aC | aD | dB
C  aB
D
Для данной грамматики:
а)
определить ее тип;
в)
какой язык она порождает;
с)
написать Р-грамматику, почти эквивалентную данной;
d) построить ДС и анализатор на Си.
S  0S | S0 | D
D  DD | 1A | 
A  0B | 
B  0A |0
Преобразовать грамматику к виду, допускающему детерминированный разбор
(использовать алгоритм преобразования НКА к детерминированному КА). Какой язык порождает грамматика? Написать анализатор.
S  C
C  B1
B  0 | D0
D  B1
2.2.9. Написать регулярную грамматику, порождающую язык:
L = {11 |   {0,1}+, где все подряд идущие 0 – подцепочки нечетной длины};
по грамматике построить ДС, а по ДС написать на Си анализатор.
2.2.10. Написать для данной грамматики (предварительно преобразовав ее, если это
требуется) анализатор, действующий методом рекурсивного спуска.
S  P = E | while E do S
P  I | I (E {, E})
EE+T|T
TT*F|F
F  P | (E)
Ia|b|c
2.2.11. Написать для данной грамматики процедуры анализа методом рекурсивного
спуска, предварительно преобразовав ее.
F  function I(I) S; I:=E end
S  ; I:=E S | 
E  E*I | E+I | I
2.2.12. Восстановить Кс-грамматику по функциям, реализующим синтаксический
анализ методом рекурсивного спуска. Можно ли было по этой грамматике вести анализ методом рекурсивного спуска?
#include <stdio.h>
int c; FILE *fp;
viod A( );
void ERROR( );
void S (void)
{ A( ); if ( c != ‘’ ) ERROR( );
}
void A (void)
{ B( ); while ( c = = ‘a’ ) { c = fgetc(fp); B( );}; B();
}
void B (void)
{ if ( c = = ‘b’ ) c = fgetc(fp);
}
void main ( )
{ fp = fopen(“data”, “r”);
2.2.8.
c = fgetc(fp);
S( );
printf(“O.K.!”);
}
2.2.13. Записать в ПОЛИЗе следующий оператор языка Си, используя стек, выполнить
его при указанных начальных значениях переменных:
S = 0; for ( I = 1; I <= k; I = I + 1) S = S +i*i; при k = 3.
2.2.14. Записать в ПОЛИЗе следующий оператор языка Си, используя стек, выполнить
его при указанных начальных значениях переменных:
switch (k) {
case 1: a = not a; break;
case 2: b = a or not b;
case 3: a = b;
}
2.2.15. Написать грамматику для выражений, содержащих переменные, знаки операций + , -, *, / и скобки ( ), где операции должны выполняться строго слева
направо, но приоритет скобок сохраняется. Определить действия по переводу
таких выражений в ПОЛИЗ.
2.3. Распределённые операционные системы
2.3.1. Дайте определение термина «распределённые вычислительные системы». Опишите их отличия от других. Сформулируйте основные функции, выполняемые
распределёнными операционными системами.
2.3.2. Что такое «открытая система»? Приведите примеры.
2.3.3. Дайте определение проблеме синхронизации событий в распределённых системах. Приведите примеры решения этой проблемы с использованием различных
алгоритмов. Определите достоинства и недостатки каждого из подходов.
2.3.4. Опишите способы именования объектов в распределённых системах. Приведите
пример использования DNS, LDAP. Покажите, как используются в современных
компьютерных сетях и распределённых системах эти протоколы.
2.3.5. Дайте определение «контроля доступа к разделяемым объектам». Какие проблемы могут возникать в случае неконтролируемого доступа параллельных процессов к общим перезаписываемым данным? Приведите примеры алгоритмов исключения взаимоблокировок.
2.3.6. Каким образом осуществляются взаимодействия между параллельными процессами в распределённых системах? Для чего используется промежуточное программное обеспечение? Приведите примеры взаимодействия процессов, с использованием механизмов RPC, промежуточного программного обеспечения.
2.3.7. Приведите примеры объектов или ресурсов, которые выделяются системой по
требованию параллельных приложений. Можно ли определить эти требования
определить до запуска программы или нет? Приведите примеры решения проблемы взаимоблокировки при доступе к разделяемым ресурсам.
2.3.8. Дайте определение термину «репликация данных». Зачем она нужна? Приведите
пример использования репликации.
2.3.9. Опишите модель «сетевой файловой системы». Определите цели их использования. Приведите примеры современных сетевых файловых систем.
2.3.10. Как в распределённых системах осуществляется контроль доступа к объектам
файловой системы? Что такое режим доступа? Приведите примеры контроля доступа с использованием различных режимов.
РАЗДЕЛ 3. ТЕОРИЯ ФУНКЦИОНИРОВАНИЯ ВЫЧИСЛИТЕЛЬНЫХ СИСТЕМ
3.1 Программирования на языках высокого уровня
3.1.1 Написать функцию, оставляющую в строке по одному пробелу между словами.
3.1.2 Написать функцию, раскладывающую число на простые множители (например,
36=3*3*2*2). Результат – последовательность множителей в массиве, ограниченная 0.
3.1.3 Написать функцию, "переворачивающую" в строке все слова. (Например: "Жили
были дед и баба" - "илиЖ илыб дед и абаб").
3.1.4 Написать функцию, выполняющую поиск в строке два одинаковых фрагмента,
не содержащих пробелы и имеющих максимальную длину, и возвращающую
указатель на начало первого из них.
3.1.5 Написать функцию, выполняющую поиск в строке конец предложения, обозначенный символом "точка", и заменяющую в следующем слове первую строчную
на прописную букву. Между словами количество пробелов может быть любым.
3.1.6 Написать функцию, заменяющую в строке принятое в Си обозначение символа с
заданным кодом в восьмеричной системе счисления (например, \101) на сам
символ в базовой кодировке ASCII(в данном случае - A).
3.1.7 Написать функцию, выполняющую поиск слова в строке, начинающегося с самой младшей латинской буквы, и возвращающую указатель на его начало.
3.1.8 Написать функцию, удаляющую из строки комментарии вида "/* ... */". Игнорировать вложенные комментарии.
3.1.9 Написать функцию, выполняющую поиск в строке наиболее часто встречающегося символа, и заменяющую его на пробел.
3.1.10 Написать функцию, выполняющую поиск подстроки в строке. Строка и подстрока заданы в массивах символов. Результат функции – указатель на начало
подстроки в строке или NULL.
3.1.11 Написать функцию, определяющую в массиве максимальную длину последовательности расположенных подряд возрастающих значений, и возвращающую
индекс ее начала.
3.1.12 Написать функцию, преобразовывающую дробную часть переменной типа
double в строку символов (путем последовательного умножения дробной части
на 10).
3.1.13 Написать функцию, выполняющую поиск наименьшего общего кратного для
всех элементов массива - минимальное число, которое делится на все элементы
массива без остатка.
3.1.14 Написать функцию, формирующую массив простых чисел в диапазоне от 2 до
заданного. Очередное простое число определяется попыткой деления нацело
числа на все уже накопленные простые числа.
3.1.15 Написать функцию, осуществляющую в массиве упорядоченных строк двоичный поиск строки по образцу, содержащему начало искомой строки. Если таких
строк несколько, то требуется найти первую. Функция возвращает указатель на
найденную строку.
3.2 Технологии программирования
3.2.1 Реализовать класс «одномерный массив». Перегрузить для него операторы ([],
==, !=, =, <, >). Объяснить использование указателей, ссылок, квалификатора
const.
3.2.2 Прочитать текстовый файл по словам с сохранением порядка, после чего реализовать простейший редактор. А именно, предусмотреть возможность поиска
слов, удаления всех найденных слов, вставки заданных слов после найденных.
Объяснить принцип выбора использованных контейнерных типов данных.
3.2.3 Прочитать текстовый файл по словам, вывести все слова, которые встречаются
не менее n раз (n задается пользователем). Предусмотреть сортировку вывода по
длине слов. Объяснить принцип выбора использованных контейнерных типов
данных.
3.2.4 Реализовать класс, хранящий некоторый набор слов и реализующий основные
операции над ним (поиск, вставка, удаление). Объяснить выбор представления
данных в памяти (дерево, хэш-таблица, список или массив), показать один из вариантов реализации итератора.
3.2.5 Написать прототипы функций, создающей одномерный массив заданного размера и с заданными начальными значениями. Предусмотреть возможность создания клона имеющегося массива. Известно, что большинство массивов будет
иметь размер 10 и начальные значения -1. Реализовать описанные функции.
3.2.6 Реализовать две функции с одинаковой сигнатурой в разных пространствах
имен. Использовать в своей программе обе эти функции одновременно. Объяснить влияние using-директив на области видимости.
3.2.7 Реализовать несколько функций поиска минимального элемента (из 2 аргументов, 3 аргументов, массива, строки). Объяснить алгоритм разрешения перегрузки
функций.
3.2.8 Реализовать несколько шаблонов функций поиска минимального элемента (из 2
аргументов, 3 аргументов, массива). Объяснить алгоритм конкретизации шаблонов.
3.2.9 Реализовать функцию, которая считывает двумерный массив из файла. Размерность массива определяется двумя первыми числами в файле. Предусмотреть
3.2.10
3.2.11
3.2.12
3.2.13
3.2.14
3.2.15
вероятность неправильных форматов данных. Объяснить используемый алгоритм обработки нештатных ситуаций.
Необходимо отсортировать слова из файла по числу входящих в них гласных
букв. Объяснить критерий выбора обобщенного алгоритма, преимущества использования объекта-функции.
Реализовать класс комплексных чисел (конструктор, несколько операторов =,
==, !=, <<, >>). Объяснить взаимосвязь между уровнями доступа и друзьями
класса.
Написать прототип класса «User». Методы класса должны быть доступны всем,
но создавать объекты этого класса имеют право только объекты типа
«Administrator». Объяснить принципы использования открытых и закрытых конструкторов.
Реализовать класс «Int100» для представления целых чисел от 0 до 100 включительно. Предусмотреть конструктор по умолчанию и копирующий конструктор,
несколько операторов (=, ==, !=, +=, –=), преобразования в тип int и обратно.
Реализовать шаблон класса “Stack”, основные операции работы со стеком (создание, уничтожение, чтение и извлечение верхнего элемента, добавление элемента).
Для небольшой игры написать иерархию классов «Monsters» (текущее местоположение, запас здоровья, особенности визуализации), и основной цикл, который
производит отображение всех участников на экран. Объяснить принцип действия полиморфизма.
РАЗДЕЛ 4. АППАРАТНОЕ ОБЕСПЕЧЕНИЕ ЭВМ и СИСТЕМ
4.1 Организация ЭВМ и систем
4.1.1
4.1.2
4.1.3
4.1.4
4.1.5
4.1.6
4.1.7
4.1.8
4.1.9
4.1.10
4.1.11
4.1.12
4.1.13
4.1.14
4.1.15
Поколения ЭВМ.
Жесткое и микропрограммное управление.
Оценки производительности ЭВМ.
Простейшие механические и электромеханические ВМ.
Организация памяти ЭВМ.
Прямой доступ к памяти - основные принципы.
Прерывания - основные принципы.
ЭВМ фон Неймана. Принцип открытой архитектуры.
Обобщенная схема процессора.
Архитектура ЭВМ.
Количественные оценки производительности.
Количественные оценки памяти.
Два направления развития средств обработки информации.
Виды архитектур ВС.
Конвейерная организация процессора.
4.2 Микропроцессорные системы
4.2.1 Сравнительный анализ архитектур и функциональных возможностей микроконтроллеров х-51 совместимых семейств фирм Intel, Analog Devices, Silicon
Laboratories, Texas Instruments и др.
4.2.2 Сравнительный анализ архитектур и функциональных возможностей микроконтроллеров семейств MC68HC05/08/11 фирмы Freescale Semiconductor.
4.2.3 Организация процессорных ядер в микроконтроллерах 8-разрядных семейств
фирм Intel и Freescale Semiconductor. (Основные характеристики и сравнительная оценка).
4.2.4 Организация последовательных интерфейсов в микроконтроллерах 8-разрядных
семейств фирм Intel и Freescale Semiconductor. (Основные характеристики и
сравнительная оценка).
4.2.5 Организация таймерных подсистем в микроконтроллерах 8-разрядных семейств
фирм Intel и Freescale Semiconductor. (Основные характеристики и сравнительная оценка).
4.2.6 Организация подсистем аналого-цифрового преобразования в микроконтроллерах 8-разрядных семейств фирм Intel и Freescale Semiconductor. (Основные характеристики и сравнительная оценка).
4.2.7 Организация параллельного обмена и портов ввода/вывода в микроконтроллерах
8-разрядных семейств фирм Intel и Freescale Semiconductor. (Основные характеристики и сравнительная оценка).
4.2.8 Организация систем прерывания в микроконтроллерах 8-разрядных семейств
фирм Intel и Freescale Semiconductor. (Основные характеристики и сравнительная оценка).
4.2.9 Сравнительный анализ архитектур и функциональных возможностей микроконтроллеров 16-разрядных семейств MCS - 96/196/296 фирмы Intel.
4.2.10 Сравнительный анализ архитектур и функциональных возможностей микроконтроллеров 16- и 32 - разрядных семейств фирмы Freescale Semiconductor.
4.3 Интерфейсы периферийных устройств
4.3.1
4.3.2
4.3.3
4.3.4
4.3.5
4.3.6
4.3.7
4.3.8
4.3.9
4.3.10
Параллельный интерфейс ввода-вывода
Последовательные порт ввода-вывода UART
COM-порт персонального компьютера
Подключение клавиатуры к параллельному порту микроконтроллера
Интерфейс I2C
Обмен информацией с микросхемой часов по интерфейсу I2C
Подключение жидкокристаллического индикатора к миктроконтроллеру.
ЦАП и АЦП микроконтроллера
Интерфейса MicroLAN. Подключение температурного датчика.
Интерфейс IrDA.
РАЗДЕЛ 5. ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛИТЕЛЬНЫХ ТЕХНОЛОГИИ
5.1.1 Написать блок-схему алгоритма умножения двух прямоугольных матриц А – M
x N и B – N x L на n процессорах, разрезая первую матрицу на n полос по строкам, а вторую на n полос по столбцам, если в каждом процессоре хранится по
одной полосе матриц А и В.
5.1.2 Метод прогонки для решения систем линейных алгебраических уравнений и
алгоритм его распараллеливания. Напишите блок-схему алгоритма.
5.1.3 Метод Гаусса для решения систем линейных алгебраических уравнений с квадратной матрицей и алгоритм его распараллеливания. Напишите блок-схему алгоритма.
5.1.4 Метод продольно-поперечной прогонки для решения двумерного уравнения
2
2
теплопроводности

u
u u


( 2 2)(первая краевая задача) в прямоуголь
t

x 
y
ной области и его распараллеливание. Напишите блок-схему параллельного алгоритма
5.1.5 Метод расщепления по пространственным переменным для решения двумерного
2
2
уравнения теплопроводности

u
u u


( 2 2) в прямоугольной области

t

x 
y
(первая краевая задача) и его распараллеливание. Напишите блок-схему параллельного алгоритма.
5.1.6 Поточечный метод Зейделя для решения двумерного уравнения Пуассона
2
2
u u
 2f(x
,y
)в прямоугольной области (задача Дирихле) и его распа2

x

y
раллеливание. Напишите блок-схему параллельного алгоритма.
5.1.7 Блочный метод Зейделя для решения двумерного уравнения Пуассона
2
2
u u
 2f(x
,y
)в прямоугольной области (задача Дирихле) и его распа2

x

y
раллеливание. Напишите блок-схему параллельного алгоритма.
5.1.8 Метод матричной прогонки для решения двумерного уравнения теплопровод2
2
ности

u
u u


( 2 2)в прямоугольной области (первая краевая задача) и

t

x 
y
его распараллеливание. Напишите блок-схему параллельного алгоритма.
5.1.9 Поставить первую краевую задачу и написать блок-схему алгоритма распараллеливания
для
решения
двумерного
уравнения
переноса

u
u
u

a

b

f
(
x
,
y
),
a

0
,
b

0
в прямоугольной области с по
t 
x
y
мощью неявной разностной схемы бегущего счета.
5.1.10 Записать явную разностную схему для решения трехмерного уравнения тепло2 2 2

u 
u
u
u


(2
2
2
)
в
области

t

x 
y 
z
D
{
0

x

1
,
0

y

1
,
0

z

1
,
t

0
}
(первая краевая задача) и блок-схему
проводности
алгоритма ее распараллеливания.
5.1.11 Явный метод Эйлера для решения системы из N обыкновенных дифференциаль-

d
y 
f(x
,y
,
,y
) (задача Коши) и его распараллеливание.
ных уравнений
1
N
dx
Написать блок-схему параллельного алгоритма и определить максимальное значение коэффициента ускорения вычислений.
5.1.12 Параллельный алгоритм вычисления определителя квадратной матрицы
A  n  n методом Гаусса. Написать блок-схему алгоритма. Какие процессоры
будут при этом наиболее загружены?
5.1.13 Параллельный алгоритм вычисления обратной матрицы для матрицы A  n  n
методом Гаусса. Написать блок-схему параллельного алгоритма. Какие процессоры будут наиболее загружены в обратном ходе этого метода?
5.1.14 Неявный метод Эйлера для решения системы «жестких» дифференциальных


dy
 A y (задача Коши, А – числовая матрица n  n ) и его распауравнений
dx
раллеливание. Написать блок-схему параллельного алгоритма.
5.1.15 Алгоритм статистического метода «блуждания по сферам» для решения уравне2
2
ния Лапласа
u u

0в прямоугольной области (задача Дирихле) и его
x2 y2
распараллеливание. Написать блок-схему параллельного алгоритма и определить максимальное значение коэффициента ускорения вычислений.
5.2 Теория функционирования распределённых вычислительных систем
5.2.1 Показатели надежности вычислительных систем. Модель функционирования
вычислительных систем со структурной избыточностью.
5.2.2 Методика расчета показателей надежности вычислительных систем со структурной избыточностью.
5.2.3 Показатели живучести вычислительных систем. Стохастическая модель функционирования живучих вычислительных систем.
5.2.4 Континуальный подход к анализу живучести большемасштабных вычислительных систем.
5.2.5 Режимы функционирования вычислительных систем. Мультипрограммный режим обработки набора параллельных задач.
5.2.6 Режимы функционирования вычислительных систем. Мультипрограммный режим обслуживания потока параллельных задач.
5.2.7 Эвристические алгоритмы распределения параллельных задач набора по элементарным машинам вычислительной системы.
5.2.8 Теоретико-игровой подход к организации функционирования распределенных
вычислительных систем. Игра “Диспетчер  Вычислительный центр”.
5.2.9 Подход к организации функционирования распределенных вычислительных систем с привлечением аппарата стохастического программирования. Задача разбиения вычислительной системы на подсистемы элементарных машин.
5.2.10 Подход к организации функционирования распределенных вычислительных систем с привлечением аппарата стохастического программирования. Методы решения задач стохастического программирования.
5.2.11 Подход к организации функционирования пространственно-распределенных
вычислительных систем с привлечением аппарата стохастического программирования. Задача распределения элементарных машин по терминалам пространственно-распределенной вычислительной системы.
5.2.12 Задача вложения в распределенные вычислительные системы параллельных
программ с целью минимизации времени их выполнения.
5.2.13 Задача формирования оптимальной подсистемы элементарных машин.
5.2.14 Децентрализованные алгоритмы диспетчеризации параллельных программ в
распределенных вычислительных системах.
5.2.15 Задача оптимизации коллективных операций информационных обменов в распределенных вычислительных системах.
РАЗДЕЛ 6. ТЕОРИЯ АВТОМАТОВ
6.1
Пусть заданы алфавиты Q, X, Y, причём Q = k, X = m, Y = n. Сколько существует различных автоматов Мура в заданных алфавитах?
6.2
Доказать, что язык A, состоящий из всех слов вида 0n10n не является конечноавтоматным.
6.3
Доказать, что язык B (в произвольном конечном алфавите), состоящий из всех
слов, длины которых являются точными квадратами, не конечно-автоматный.
Составители: Хорошевский В.Г., Самохвалов К.Ф., Борисов А.В., Майданов Ю.С.,
Мамойленко С.Н., Пудов С.Г., Курносов М.Г., Поляков А.Ю.
Программа одобрена на заседании совета Факультета информатики и вычислительной
техники, протокол №___ от «___» _______ 2010 г.
Декан Факультета ИВТ
профессор
В.К. Трофимов
Программа рассмотрена на заседании Кафедры вычислительных систем, протокол
№ 3 от 12 ноября 2010 года.
Заведующий Кафедрой ВС
член-корреспондент РАН, профессор
В.Г. Хорошевский
Download