Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции.docx
Скачиваний:
0
Добавлен:
22.04.2025
Размер:
115.83 Кб
Скачать

Volume – занимает много места на диске.

Velocity – быстро растущий объём + нужно быстро обрабатывать

Variety – разная структура данных

Value – ценность за решения задач

Хадуп возник потому что данные, ееее.

Самый популярный коммерческий хадуп – клаудера.

Внутреннее состояние процесса P формализуется каждый раз в контексте каждой решаемой задачи. В своём состояние процесс фиксирует своё концентрированное прошлое, то есть существенные для рассматриваемой задачи аспекты своего предыдущего выполнения.

Состояние процесса – характеристика однозначно определяющая его дальнейшее поведение. То есть все последующие реакции на внешние события. Если одно событие = один исход, то есть можно создать детерминированную модель конечных автоматов. В общем случае состояние процесса определяется текущими значениями его счётчика команд, регистров и переменных. Тогда модель процесса определяется множество возможных его состояний. Элементы которого называются начальными состояниями и множество дискретных событий. У дискретного события есть начало (время, когда началось), конец (когда кончилось) и длина (дельта времени).

e – событие, происходящее в процессе P представляет собой атомарное действие, которое может изменить состояние самого процесса P и состояние канала С, инцидентного этому процессу. Состояние С будет изменено при отправке сообщения по этому каналу, если ребро, соответствующее С, направлено от вершины с процессом P или при получение сообщения из этого канала, если ребро, соответствующее С, направлено к вершине процессу P. Поэтому все эти события классифицируются как внутреннее событие: событие отправки и событие получения сообщения. В качестве одного атомарного события можно рассматривать отправку сразу нескольких сообщений по нескольким каналам связи инцидентным P процессу, например широковещательная или групповая рассылка.

Ограничения.

Получение сообщения не может совпадать с отправкой или получения других сообщений в виде одного события. Событие e определяется:

  1. Процессом P, в котором оно произошло.

  2. Состоянием s процесса P непосредственно перед событием е.

  3. Состоянием s­` непосредственно после события е.

  4. Каналом С, состояние которого изменяется при наступление события е.

  5. Сообщением m, отправленным по каналу С, то есть ребро С направлено от вершины с процессом P. Или получением из канала C.

Тогда событие е можно определенить как кортеж {P, s, s`, C, m}, где m и С принимают значение ну в случае, когда событие е не изменяет состояние ни одного из каналом состояния связи. Множество событий процесса P линейно упорядоченно, согласно порядку их наступления. Тогда exi – это x-вое по порядку событие в процессе Pi, где 1 <= i <= m. exi (s) соответствуют состоянию s`, в которое переходит процесс Pi из состояния s при наступление события exi. Выполнение процесса Pi есть последовательность событий (ex1 + ex2 +… + exi), где s0i – начальное состояние процесса Pi и для каждого x >= 0 выполняется соотношение six+1 = exi (sxi). Тогда выполнение (последовательность) процесса Pi есть Ri = (Ei, -> i), где Ii – множество событий процесса Pi, а бинарное отражение -> i задаёт линейный порядок на этом множестве согласно порядку настпуления событий Pi.

Бинарное отношение – число, записанное в виде 10, представленное в виде функции.

Запись ei -> i e`i обозначает, что событие ei предшествует событию e`i в выполнение процесса ei. Но при работе операционных систем важно не выполнение отдельного процесса, а всей распределённой системы в целом. Тогда глобальное состояние S определяется состоянием всех процессов и всех каналов, входящих в её состав. Начальным глобальным состоянием считаются все те состояния, в которых все процессы находятся в своих начальных состояниях, а каналы связи пусты. Функционирование распределённой системы порождает множество (математические) распределённых событий, происходящих в процессах и оказывающих влияние на часть глобального состояния системы. Тогда Е можно представить UiEi, то есть множество всех событий, происходящих при выполнение распределённой системы, где событие е € Е и е определяется квинтетом (там в фиг скобках) и считается допустим глобальным состоянием S тогда и только тогда:

  1. процесс P находится в состояние s.

  2. Ребро, соответствующее каналу C, направлено к вершине с процессом P и сообщение m находится в канале С и может быть из него принято.

Тогда e (S) – это такое глобальное состояние распределённой системы, сразу после наступления события е. Определяется только в том случае, если е допустима в этом глобальном состояние. е(S) отличается от S только состояние процесса P и иногда (в редких случаях) состоянием канала С.

  1. В глобальном состояние е(S) процесс Р находится в состояние s`

  2. Если ребром, соответствующая каналу С, направлена к вершине с процессом Р, то в глобальном состояние е(S) состояние канала С совпадает с его состоянием в S за исключением сообщения m удалённого из этого канала

  3. Если ребром, соответствующему каналу С, направлено от вершины Р, то в глобальном состояние e(S) будет совпадать с его состоянием S, за исключением сообщения m, добавленного в этот канал.

Выполнение распределённой системы происходит тогда и только тогда, когда событие ex допустимо в глобальном состояние Sx, где S0 – начальное глобальное состояние распределённой системы и для каждого x >= 0 выполняется соотношение.

Глобальное состояние S достижимо в выполнение R, если для последовательности событий существуте такое k >= 0, что ek(Sk) = S.

Пусть распределённая система состоит из двух процессов P1 и P2 и двух каналов C1, C1-2, C2 между ними происходит обмен пакетами. Процессы передают друг другу сообщения и каждый из этих процессов может находиться в одном из двух состояний s или s`, где состояние s определяет обработку процессом сообщения, а состояние s` определяет отсутствие сообщения.

Пусть начальное состояние процесса P1 – s` (то есть процесс находится в ожидание), а у Р2 – s (обрабатывает информацию).

В каждом процессе могут происходить только два события:

  1. Событие отправки сообщения по каналу с переходом процесса из состояния s` в состояние s.

  2. Событие получения сообщений из канала с переходом процесса из состояния s в состояние s`.

Тогда распределённую систему можно определить глобальные состояния и переходы между ними.

В данной системе в каждом глобальном состояние допустимо только одно событие. Система может быть не детерминированной, в которой состояние процессов P1 и P2 и переходы между ними определяются следующей диаграммой:

S1 отправляет m в S1` и S1 получается сообщение m из S1`

Тогда в некоторых глобальных состояниях допустимо более одного перехода из этого глобального состояния. Например: в глобальном состояние S0 могут пройти оба события Р1 отправляет m и P2 отправляет m. При этом глобальные состояния, в которые переходит система из S0 различны. Следовательно выполнение такой распределённой системы и последовательность других глобальных состояний различаются. Тогда необходимо определить следующие понятия:

  1. Понятие справедливости или справедливое выполнение (в качестве справедливости можно оставить множество нужных состояний. Остальные сделать ложными или сказать, что они не нужны). Условия справедливости позволяют исключить из условия такие выполнения, в которых такие события оказываются выполнимыми для идущих подряд глобальных состояний, но при этом ни разу не происходит переходов из этих состояний из-за того, что выполнение продолжается каждый раз за счёт других событий (слабая справедливость). Сильная справедливость позволяет исключить из рассмотрения такие выполнения, в которых некоторые события оказываются бесконечно часто допустимыми для глобальных состояний выполнения, но при этом ни разу не происходят в виде переходов из этих состояний из-за того, что выполнение продолжается каждый раз за счёт других выполнимых событий, то есть выполнение слабосправедливо, если ни одно событие не может оставаться постоянно допустимым без того, чтобы в конце концов произойти в виде перехода, а сильная справедливость ни одно событие не может оказываться допустимым бесконечно часто без того, чтобы не произойти в виде перехода.

  2. Понятие безопасности. Где идёт 0 должен быть 0, а не 1. При разработки определённого алгоритма, решающего задачи необходимо показать, что полученные алгоритм представляет собой корректное решение поставленной задачи. Для этого применяются два фундаментальных типа свойств: безопасность (алгоритм удовлетворяет свойству безопасности, если что-то «плохое никогда не случается». То есть условия требуют, чтобы определённое утверждение оставалось истинным в каждом достижимом глобальном состояние в любом выполнение. Но если в системе не может произойти ничего плохого не следует, что в системе может случиться что-то хорошее. То есть система, которая ничего не делает всегда удовлетворяет требованиям безопасности, так как в них ничего не происходит, следовательно ничего плохого не случается. Требования безопасности должны сопровождаться требованиями прогресса вычислительной системы, следовательно живучести) и живучесть (алгоритм удовлетворяет этому свойству, если рано или поздно случится что-то хорошее, то есть определённое утверждение становилось истинным хотя бы в одном достижимом глобальном состояние в любом выполнение. Когда есть бесконечный цикл, значит алгоритм не живуч).

Причинно-следственный порядок событий. Его определяет логика – это система знаний. Есть основанные на фреймворке, а есть на правилах. Если а, то б.

Представляя выполнение в виде последовательности событий в модель распределённой системы вносится понятие времени. Пусть событие е наступает раньше события е`, если в последовательности е предшествует событие е`. Нужны 5 правил для определние системы:

  1. Где мы.

  2. Начало системы.

  3. Конец системы.

  4. Как идти вперёд.

  5. Как идти назад.

Пусть есть выполнение R, которое определено как e0,…,ex+1 с этой последовательностью связана последовательность глобальных состояний S. Такая, что Sx+1 = ex(Sx) для всех x>=0. Последовательность R не всегда однозначно определяет последовательность глобальных состояний. Если в R не содержится ни одного события процесса Pi , то начальное состояние процесса остаётся неопределённым и может выбрана неоднозначным образом. В нашем случае однозначность обязательна. Однако, если в R содержится хотя бы одно событие процесса Рi, то первое событие указывает на то, что начальным состоянием процесса Pi является S (адресация). Для визуализации выполнения распределённой системы используют пространственно-временные диаграммы (прямые с временем по х процессов и R с глобальным событием S. Выполнение события e отражаются на прямой R. События могут переходить между процессами).

*фоточка

Ход выполнения каждого процесса Pi представляется в виде горизонтальной прямой линии. Каждое событие ei процесса Pi отмечается точкой на прямой, соответствующей этому процессу. В реальности выполнение того или иного события занимает некоторое ненулевое время, но из-за атомарности их можно изображать точками, а если условие атомарности не принимать, то можно изображать отрезками, и тогда мы можем определить наложение отрезков друг на друга. На прямой процесса Pi событие ei изображается левее события ei` тогда и только тогда или событие ei наступает раньше события ei`, следовательно ось времени направлена слева направо. Стрелкой обозначается передача сообщения от одного процесса к другому, если отправка сообщения m происходит при наступление события Pi, а получение этого же сообщения m при наступление события ej`, то событие ei и ej` взаимосвязанные. Вертикальная проекция событий на ось R (выполнения) описывает выполнение распределённой системы. Так как событие получения сообщения не может наступить раньше связанного с ним события отправки этого сообщения, то стрелки соответствующие передачи сообщения, всегда направлены слева направо. Последовательность глобальных состояний S связанное с данным выполнением представляется на пространственно-временной диаграмме в виде последовательности вертикальных срезов состояний, проходящих между событиями. Так как порядок следования некоторых событий в выполнение R может быть изменён так, что это не отражается на последующем глобальном состояние, то линейный порядок событий на множестве E всех событий не совсем подходит при распределённой обработке данных.

Происходящие события оказывают влияние только на часть глобального состояния, поэтому два события, идущие друг за другом в выполнение и влияющие на раздельные части глобального состояния, оказываются независимыми и могут происходить в другом порядке. События не могут произойти в другом порядке только в двух случаях:

  1. i = j, то есть два события e – ei и ej происходят в одном процессе.

  2. ei и ej взаимосвязанные события отправки.

В остальных случаях порядок, в котором происходят события, может быть изменён, но в результате то же глобальное состояние будет достигнуто. С глобальной точки зрения система будет проходить через разные глобальные состояния (поменяны местами переходы. Из и в жи и наоборот. Sij = Sji). Если два события нельзя поменять местами в выполнение, то эти два события связаны причинно-следственной зависимостью. Это отношение распространяется на всё множество событий E и появляется причинно-следственное отношение частичного порядка. Отношениям причинно-следственного порядка называется наименьшее отношение, удовлетворяющее следующим условиям:

  1. Если ei и ei` два разных события одного процесса Pi и при этом ei наступает раньше события ei` в Pi.

  2. Если ei и ej` взаимосвязанные события отправки и получения одного и того же сообщения.

  3. Если отношение транзитивно.

Концепция распределённой обработки сетевых ОС.

Модели сетевых служб и распределённых приложений.

Типичное Сетевое приложение как правило состоит из двух частей. 1 часть приложения отвечает критериям поиска, а вторая занимается результатами обработкой результатов. Тогда программа выполняет общие и часто встречающиеся функции, которые становятся частями ОС и называются сетевыми службами. Выделяют 3 основных параметра организации работы приложений в сети. К ним относят:

  1. Способ разделения приложения на части, которые выполняются на разных устройствах сети.

  2. Выделение специализированных устройств в сети (серверов), на которых выполняются некоторые общие для всех приложений функции.

  3. Способ взаимодействия между частями приложений работающих на разных устройствах.

Возможно предложить различные схемы разделения приложений на части и для каждого конкретного приложения можно предложить свою схему. Существуют типовые модели распределённых приложений. Выделяют 6 основных функциональных частей:

  1. Прикладная логика – набор правил принятия решений вычислительной процедуры и операций.

  2. Логика данных, т.е. операция с данными, хранящимися в некоторой базе.

  3. Файловые операции – стандартные операции над файлами и файловой системой.

  4. Внутренние операции БД, вызываемые в ответ на выполнение запросов логики данных.

  5. Логика представления данных на экране.

  6. Средства представлений данных на экране.

Распределние приложений между большим числом устройств повышает качество его выполнения (скорость и количестов одновременно обсуживаемых пользователей), но при этом усложняется организация самого приложения. Поэтому на практике приложения делятся на 2-3 части. Наиболее распространённый двумерная схема. 2 случая *** архитектура:

  1. Нагрузка ложится на 1 узел – это центральный сервер.

  2. Нагрузка ложится на пользовательский узел.

Для случая, когда пользовательское устройство работает как терминал, которое выполняет функции представления данных, все остальные функции передаются серверу. Ресурсы пользовательского устройства задействованы незначительно, загружаются только графические подсистемы ввода/вывода ОС, а также сетевые средства ОС принимающие из сети карманы сервера и возвращает данные. Программа, работающая на пользовательском устройстве – это эмулятор терминала и в зависимости от режима либо графический, либо текстовый. Основной недостаток такого устройств недостаточное масштабируемость и отсутствие отказоустойчивости. Производительность сервера всегда ограничивается количеством пользователей, работающих с приложением, а его отказ приводит к прекращению работы всех пользователей. А преимущество: простота организации.

Второй случай: на клиенте выполняются все части приложений, кроме файловых операций. Сети выделяется мощное устройство с большой дисковой подсистемой (по объёму), которая хранит файлы, доступ к которым необходим большинству пользователей.

Распределённое приложение отличается от полностью локального приложения тем, что есть обращение к удалённым файлам. Для того, чтобы в схеме можно было использовать локальные приложения, в сетевые ОС вводится такое понятие, как сетевая файловая служба (компонент) или редиректор. Основная функция – перехват обращения к удалённым файлам с помощью специальных нотаций. Направляет запросы в сеть, освобождая приложение, освобождая от необходимости явного задействия сетевых вызовов. Преимущество: хорошая масштабируемость, а дополнительные пользователи добавляют незначительную нагрузку на центральный узел. Недостатки: сетевая нагрузка может резко вырасти, следовательно увеличение времени реакции приложения; ПО должно обладать высокой вычислительной мощностью, чтобы справлятся с представлением данных, логикой приложения и поддержкой операций бд, тогда клиент выполняет все функции, специфические для данного приложения. Выделяют ещё один сервер, который выделяет функции, не зависящие от специфики приложений.

Трёхзмерная схема. Основное преимущество улучшенная балансировка нагрузки и специализация серверов и средств разработки распределённых приложений. Промежуточный сервер такой схемы называется сервером приложений, так как на нём выполняется прикладная логика наиболее специфические и важные части приложения. Слой логики обработки данных вызывает внутренние операции бд – сервер-бд. Сервер-бд выполянется функции внутри бд и файловые операции. Централизованная реализация логики приложения решает проблему недостатка мощности клиента и если сервер приложения ботлнек, то его можно докомпозировать. Упрощается запрос, так как чётко выделены платформы и инструменты для реализации интерфейса и прикладной логики. Монитор транзакций при это не входит в состав сетевой ОС. Для связи используют дополнительные средства:

  • Средства асинхронной обработки сообщений.

  • Средства удалённого вызова процедур.

  • Брокер запроса объекта. Находят объекты, хранящиеся на различных устройствах и помогают использовать их в одном приложение.

Сервер приложения должен базироваться на хорошей аппаратной платформе, а ОС поддерживать крупные вычисления:

-Поддержка многопоточности, которая вытесняет, которая вытесняет мультипроцессирование.