Лабораторная работа № 1

advertisement
Лабораторная работа № 1
Тема:
Разработка
организация).
параллельного
сервера
(мультипроцессная
1. Написать программы, обеспечивающие параллельную работу севера,
принимающего файлы от клиента по сети.
a)
Для обеспечения параллельной работы сервера применяется
создание процессов (fork).
Информацию получаемую от клиента сохранять в одном общем файле
(обеспечить целостность данных).
2. Написать клиентскую программу, передающую файл по сети серверу.
Лабораторная работа № 2
Тема: Разработка параллельного сервера (мультипоточная организация).
1. Написать программы, обеспечивающие параллельную работу севера,
принимающего файлы от клиента по сети.
Для обеспечения параллельной работы сервера применяются потоки
выполнения (библиотеки: pthread, mutex). Информацию получаемую
от клиента сохранять в одном общем файле (Используя mutex
обеспечить целостность данных).
Лабораторная работа № 3
Тема: Разработка псевдопараллельного сервера.
1) Разработать программу однопотокового сервера, использующую
асинхронный ввод/вывод (организованный с помощью системного вызова
select)
обеспечивающую
псевдопараллельную
работу
клиентов.
Продемонстрировать асинхронную работу сервера.
2) Написать клиентскую программу, передающую сообщения на сервер. Для
демонстрации асинхронной работы сервера клиент должен посылать
сообщения в цикле с задержкой по времени.
Например:
1-й клиент посылает число 1 в цикле с задержкой в 1 сек.
2-ой клиент посылает число 2 с задержкой в 2 сек.
3-й клиент посылает число 3 в цикле с задержкой в 3 сек.
Сервер отображает информацию полученную от клиентов. Если у Вас
правильно организован асинхронный ввод/вывод, то на экран со стороны
сервера будет выводиться с чередованием числа 1, 2 и 3. Причем частота
появления определенного числа будет зависеть от задержки по времени его
передачи.
Полезные ссылки:
русский man
тем кто забыл что такое сокеты
гугоооль
Лабораторная работа № 4
Тема: Разработка параллельного мультипротокольного сервера.
1) Написать программу, реализующую параллельную работу сервера по двум
протоколам (TCP и UDP) на одном порту.
2) Написать две клиентские программы, передающие на сервер файлы по
протоколам TCP и UDP соответственно.
Полезные ссылки:
select
процессы и нити в ОС Линукс
сокеты
Лабораторная работа № 5
Вариант № 1
Тема: Разработка параллельной программы.
Задание:
Используя
библиотеку
MPI
написать
параллельную
программу
перемножения матрицы на вектор на кластерной вычислительной системе
Xeon 80 ЦПВТ ГОУ ВПО «СибГУТИ».
Исследовать эффективность распараллеливания - рассчитать коэффициент
ускорения вычислений параллельной программы в зависимости от числа
элементарных машин (вычислительных ядер) системы.
Полезные ссылки:
MPI
Руководство пользователя Xeon 80
Вариант № 2
Тема: Разработка сетевой программы – «снифер».
Задание:
Используя библиотеку PCAP написать сетевую программу «снифер». По
заданному правилу (регулярное выражение в стиле bpf (Berkley Packet Filter))
фильтровать пакеты в сети. В выбранном пакете найти определенную
информацию.
Например:
Фильтровать все пакеты по протоколу TCP на порт 21. Определить IP адрес
отправителя и получателя пакета или найти пакет содержащий слово USER.
Вариант № 3
Тема: Создание клиент-серверного приложения на базе транспортного
протокола SCTP.
Требуется разработать клиент-серверные программы передачи сообщения на
базе транспортного протокола SCTP.
1. Клиентская программа - посылает текстовое сообщение(предложение)
серверу и получает ответ.
2. Серверная программа - принимает сообщение, переставляет порядок слов в
предложении и возвращает новое предложение в качестве ответа.
Вариант № 4
Тема: Изучение глобальной системы доменных имен (DNS – Domain
Name System).
Задания:
1. Выбрать некоторое доменное имя (из локального домена).
2. Для выбранного имени последовательно определить сервера имен,
ответственные за соответствующие зоны первого, второго и т.д. уровней.
3. Определить адрес, соответствующий выбранному имени.
4. Определить
найденный в п.3
какому
каноническому
имени
соответствует
адрес,
5. Определить, какие машины принимают почту за адреса в выбранном
доменном имени.
6. Просмотреть, какие еще записи имеются в домене, соответствующем
выбранному доменному имени.
Полезные ссылки:
DNS
Как работает ДНС
nslookup
man nslookup
Download