
- •1Введение в программное обеспечение компьютерных сетей.
- •2Основные понятия и определения компьютерных сетей
- •3Опорная модель osi. Общие сведения, история
- •4Уровни модели osi
- •5Характеристики уровней модели osi
- •6Основные протоколы компьютерных сетей
- •8Альтернативные сетевые протоколы
- •Протоколы Microsoft и других разработчиков
- •Тема 3.Стек osi
- •9. Стандарт сетевых протоколов
- •10. Описание команд сетевых протоколов
- •11. Клиент-серверная модель вычислений
- •12. Распределенные вычисления. Параллельные вычисления
- •13. Сетевое по общего назначения
- •14. Программное обеспечение поиска неисправностей в сетях
- •15. Программное обеспечение анализа и моделирования сетей
- •16. Программное обеспечение анализа и оптимизации сети
- •17. Интерфейс сетевой базовой системы ввода-вывода
- •18.Удаленный вызов процедур
- •19. Инициализация приложения и завершение его работы
- •20. Создание и инициализация сокета. Удаление сокета
- •21. Параметры сокета и привязка к адресу
- •22. История и основные концепции сети InterNet
- •23. Принципы адресации в InterNet
- •24. Встроенное программное обеспечение операционной системы для работы с InterNet
- •25. Организация работы и взаимодействия встроенных программных средств операционной системы и InterNet
- •26. Альтернативное программное обеспечение для работы с InterNet
- •27. Гипертекстовая разметка страниц в InterNet. Работа с браузерами и ftp серверами
- •28. Язык описания сценариев html и его расширения
- •29 Создание простых html форм Вариант 1
- •Вариант 2
- •30. Язык Java программирования в сети Internet
- •31. Языки JavaScript, vbScript и PerlScript
- •32Клиент-серверная и файл-серверная технологи. Преимущества и недостатки
12. Распределенные вычисления. Параллельные вычисления
Распределенные вычисления
Основная идея модели ‘клиент-сервер’ состоит в разделении ПО на несколько процессов, каждый из которых реализует специфический набор сервисов: например, распределение памяти, создание процесса или планирование процессов. Каждый сервер (server) выполняется в пользовательском режиме, проверяя в цикле, не обратился ли к нему с требованием обслуживания какой-либо клиент (client). Клиент (которым может быть другой компонент ОС) или прикладная программа, запрашивает выполнение сервиса, посылая серверу сообщение. Ядро ОС (выполняющееся в режиме ядра), доставляет сообщение серверу; последний выполняет запрашиваемые действия, после чего ядро ОС возвращает клиенту результаты в составе другого сообщения.
Важно, что различные серверные процессы могут выполняться на различных процессорах многопроцессорного компьютера или даже на разных компьютерах, что делает построенную на клиент-серверной основе ОС пригодной для распределенных вычислительных сред. В случае распределенной ОС клиентам даже не требуется знать, обслуживается их запрос локально (на данной ЭВМ) или удаленно.
В Windows’NT средства обмена сообщениями между распределенными (часто выполняющимися на различных компьютерах в сети) приложениями обеспечивает (путем поддержки сетевого транспорта и защиты) служба сетевого обмена данными (DDE, DynamicDataExchange); также поддерживается модель выполнения распределенных приложений в сети (DCOM, DistributedComponentObjectModel). Ощутимый недостаток DCOM состоит в том, что каждый клиент может взаимодействовать только с одним конкретным компьютером, имеющим в составе ПО нужный сервер приложений (сколько бы их ни было в сети); при этом информационная система не имеет никакой защиты от сбоев, вызванных перегрузкой или отказом сервера приложений (так как отсутствует возможность переключения клиентского приложения между несколькими серверами сети); этот недостаток устранен в технологии OLEnterprise фирмы InpriseCorp.
Параллельные вычисления
В последние десятилетия существенно возрос интерес к решению ‘больших задач’ (моделирование климата, задачи обтекания летательных аппаратов, механики твердого тела, генетического моделирования и др.), требующих огромной производительности компьютеров. Однако подобные ЭВМ чрезвычайно дороги и быстро устаревают. Один из подходов к созданию масштабируемыхвычислительных систем создание кластеров; на кластерах естественным образом реализуется распараллеливаниевычислительных задач.
В качестве вычислительных узлов обычно применяются относительно недорогие микропроцессорные системы на основе IntelPentium IV-V, i860, DEC Alpha, для создания коммуникационной среды используют известные сетевые технологии. Одним из известных проектов такого рода явилось семейство Cray T3D/T3E (более 2000 процессоров). Созданная в Межведомственном Суперкомпьютерном Центре (МСЦ, www.jscc.ru) система MBC 1000M имеет пиковую производительность до 1012 Flops (384 двухпроцессорных вычислительных модулей c пиковой производительностью 2,7 GFlops на double-данных; каждый включает 2 процессора Alpha 21264A, 667 MHz с L2 кэш-памятью 4 Мb, 2 Gb разделяемой оперативной памяти, жесткий диск 20 Gb; при этом модули объединены межпроцессорной сетью Myrinet 2000 cо скоростью обмена до 2 Gbit/sec и сетью FastEthernet с пропускной способностью 100 Mbit/sec). В данном случае компьютерная сеть выступает в качестве связующего звена между узлами решающего поля; обеспечивающим технологию распараллеливания вычислений является специализированное ПО (в настоящее время распространена система программирования MPI - MessagePassingInterface, www.mpiforum.org).
Крайним случаем распараллеливания вычислений является метакомпьютинг- организация вычислений на наиболее мощных (локальных, корпоративных, глобальных) компьютерных сетях (обычно подразумевается InterNet). Самыми известными проектами метакомпьютинга являются SETI@home (SearchforExtraterrestrialIntelligence, setiathome.ssl.berkeley.edu, для участия в проекте зарегистрировалось около 4 млн. человек), Distributed.net (www.Distributed.net), GIMPS (GreatInter-netMersennePrimeSearch, mersenne.org), Globus (www.globus.org).