Вторник, 30.04.2024, 20:37
Распределенная обработка данных
Здравствуйте Гость | RSS
Главная страница Регистрация Вход
Меню сайта

Считалка

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

   Параллельное программирование возникло в 1962 году с изобретением каналов – независимых аппаратных контроллеров, позволяющих центральному процессору выполнять новую прикладную программу одновременно с операциями ввода-вывода других (приостановленных) программ.
   В конце 60-х годов были созданы многопроцессорные машины. В результате были поставлены новые задачи не только разработчикам операционных систем, но и появились новые возможности у прикладных программистов.
   Первой важной задачей параллельного программирования стало решение проблемы так называемой критической секции. Для решения данной проблемы и упрощения работы программиста были разработаны такие элементы синхронизации, как семафоры и мониторы.
   На рубеже 70-х и 80-х появились компьютерные сети. Для глобальных сетей стандартом стал Arpanet, а для локальных – Ethernet. Сети привели к росту распределенного программирования, которое стало основной темой в 80-х и, особенно, в 90-х годах. Суть распределенного программирования состоит во взаимодействии процессов путем передачи сообщений, а не записи и чтения разделяемых переменных.
   Сейчас для обработки задачи, при решении которой используется десятки, сотни и даже тысячи процессоров появилась потребность в технологии клиент-сервер, сети Internet World Web. Стали появляться многопроцессорные рабочие станции и ПК, параллельное программирование стало необходимым. Идеи параллельных и распределенных вычислений сегодня распространены повсеместно. Как обычно в вычислительной технике, прогресс исходит от разработчиков аппаратного обеспечения. Новые компьютеры и сети создают новые проблемы и возможности. Новые программные продукты такие Web-образцы, Internet-коммерция, потоки Pthread, язык JAVA, MPI разрабатываются специально для того, чтобы использовать все преимущества параллельности в аппаратной и программной части.
   Аспекты параллельных вычислений - многопоточных, параллельных или распределенных – теперь рассматриваются почти в каждом углубленном курсе по вычислительной технике.
   Пример. Несколько автомобилей едут из пункта А в пункт В. Машины могут бороться за дорожное пространство и либо следуют в колонне, либо обгоняют друг друга. Они могут также ехать по параллельным полосам дороги. Возможен вариант, когда все машины поедут разными маршрутами и по разным дорогам. Этот пример демонстрирует суть параллельных вычислений: есть несколько задач, которые должны быть выполнены (едущие машины). Можно выполнять их по одной на одном процессоре (дороге), параллельно на нескольких процессорах (дорожных полосах) или на распределенных процессорах (отдельных дорогах). Однако задачам нужно синхронизироваться, чтобы избежать столкновений или задержки на знаках остановки и светофорах.

Введение

    Распределенные объектные технологии в течение последнего десятилетия достигли высокого уровня развития. Усилиями консорциума OGM, компаний Microsoft, Sun Microsoft и других созданы и продолжают быстро развиваться разнообразные архитектуры промежуточного слоя (middleware) поддержки распределенных объектных технологий (наиболее известными из них являются CORBA, COM, JAVA/RMI).
   В книгах, посвященных указанным технологиям, рассматриваются отдельно взятые архитектуры, обсуждаются особенности построения ядра той или иной архитектуры и их применения при распределенном программировании. При создании распределенных систем помимо функций коммуникации и синхронизации объектов, обеспечиваемых ядром, требуются разнообразные службы конструирования распределенных объектов (сервисы), реализующие функции локализации объектов (именования и трейдинга) поддержки их жизненного цикла, обеспечения долговечности объектов, управления транзакциями в среде распределенных объектов, обеспечения защиты ее функционирования. Эти функции являются теперь необходимой составляющей развитого промежуточного слоя. Роль промежуточного слоя основана на объектно-ориентированной парадигме [пример, образец] и заключается в обеспечении максимально возможной прозрачности распределения как для пользователей, так и для прикладных программистов. Прозрачность рассматривается в различных аспектах: в отношении доступа, локализации миграции, репликации, одновременной работы, масштабируемости, производительности, отказов.
Поиск

Друзья сайта

2024