Вызов удаленных процедур (RPC)

Лекция 2

Вызов удаленных процедур (RPC) - student2.ru 2.1 Вычисления в архитектуре клиент-сервер.Структуры клиент-сервер.
Клиент-сервер_____________________________________________________
______________________________________________________________________
расположены на разных вычислительных машинах и взаимодействуют между собой через _______________посредством________________, но их можно расположить также и на одной машине.
Клиент-___________________________________________________________
__________________________________________________________________
Сервер-___________________________________________________________
__________________________________________________________________

_________________________________________________________________________
___________________________________________________________________
_______________________________________________________________________________
Функции клиента:
1._________________________________________________________________
2._________________________________________________________________
3._________________________________________________________________
Функции сервера:
1._________________________________________________________________
2._________________________________________________________________
3.________________________________________________________________

4.________
5.________
6.________
Достоинства:______________________________________________________________
____________________
Недостатки:_______________________________________________________________
____________________
Многоуровневая архитектура «клиент-сервер»-______________________________
____________________
Сеть с выделенным сервером (cliet/server network)____________________________
________________________________________

Вызов удаленных процедур (RPC) - student2.ru 2.2 Двухзвенная и трехзвенная архитектуры
Двухзвенная архитектура-_________________________________________________
_________
____________________________
____________________________
____________________________
____________________________
____________________________
____________________________
____________________________
____________________________
____________________________
____________________________
____________________________
____________________________
____________________________
____________________________
__________________________________________________________
Трехзвенная архитектура __________________________________________________
__________________________________________________


___________________
___________________
___________________
___________________
___________________
___________________
___________________
___________________
___________________
___________________
___________________
___________________
___________________
___________________
______________________________________________________________________ Запрос пользователя в подобных системах последовательно обрабатывается клиентской частью системы, сервером логики приложения и сервером баз данных.

2.3 Распределенная передача сообщений
Единственным отличием ___________________ систем от централизованных является _____________________________..
Основой этого взаимодействия может служить только ___________________
__________________________________________________________________. В самом простом случае системные средства обеспечения связи могут быть сведены к ________ основным системным вызовам (______________), один - для _______________, другой - для _____________________.
В частности, эффективность коммуникаций в сети зависит от_______________________________, от того, является ли системный вызов _______________________________, какие выбраны способы буферизации сообщений и насколько надежным является ____________________________.
Способы адресации
Для того, чтобы послать сообщение, необходимо _______________________. В очень простой сети адрес может задаваться в виде ­­­­­_____________________
Варианты адресации:
1.Использование физических адресов сетевых адаптаров__________________
____________________________________________________________________________
2.Назначение процессу уникального адреса______________________________
_________________________________________________________________________

3.Назначение процессам уникальных индетификаторов____________________
_____________________________________________________________________________________
Хотя эта схема и прозрачна, но широковещательные сообщения перегружают систему. Такой перегрузки можно избежать, выделив в сети специальную машину для отображения высокоуровневых символьных имен. При применении такой системы процессы адресуются с помощью _____________________, и в программы вставляются ________________, а не номера машин или процессов.
4.Использование специальной аппаратуры____________________________________
______________________________

Блокирующие и неблокирующие примитивы (синхронные и асинхронные вызовы).
Примитивы бывают блокирующими и неблокирующими, иногда они называются соответственно _________________________________________________________. При использовании ___________________________________, процесс, выдавший запрос на его выполнение, __________________________________________________. При использовании ___________________________________ управление возвращается вызывающему процессу немедленно, еще до того, как требуемая работа будет выполнена.
Передача последовательности сообщений с помощью неблокирующихся примитивов
1.Первый подход:__________________________________________________________
______________________________
2.Второй подход:___________________________________________________________
______________________________
Тайм-аут _________________________________________________________________
____________________________
Буферизуемые и небуферизуемые примитивы
Примитивы,___________________________________________ являются небуферизуемыми примитивами. Это означает, что вызов ПОЛУЧИТЬ сообщает ядру машины, на которой он выполняется, адрес буфера, в который следует поместить пребывающее для него сообщение.
Условия работы:___________________________________________________________
____________________

________________________________________________________Процесс, который заинтересован в __________________________, обращается к ядру с запросом о создании для него почтового ящика и сообщает адрес, по которому ему могут поступать ______________________, после чего все сообщения с данным адресом будут помещены в_________________________. Такой способ часто называют_________________________________________

Вызов удаленных процедур (RPC)

Идея __________________(Remote Procedure Call - RPC) состоит в расширении ____________________________внутри программы, выполняющейся на одной машине, на передачу управления и данных через сеть.
Средства удаленного вызова процедур предназначены для________________
__________________________.
Характерными чертами __________________являются:
1.Асимметричность, ________________________________________________
__________________________________________________________________
2.Синхронность ____________________________________________________
__________________________________________________________________
Так как __________ не может рассчитывать на_____________________, то это означает, что параметры RPC не должны содержать _____________________
_______________________и что значения параметров должны копироваться с одного компьютера на другой.
Базовые операции RPC:
Чтобы понять работу RPC, рассмотрим вначале выполнение вызова локальной процедуры в обычной машине, работающей автономно. Пусть это, например, будет системный вызов
count=read (fd,buf,nbytes); где fd - целое число, buf - массив символов,
nbytes - целое число.
Выполнение вызова:
_________________________________________________________________________________________________

Вызов удаленных процедур (RPC) - student2.ru



Рис. . а) Стек до выполнения вызова read;
б) Стек во время выполнения процедуры;
в) Стек после возврата в вызывающую программу

____________________________________________________________________Идея, положенная в основу RPC, состоит в том, чтобы _________ _________________________________выглядящим по возможности также, как и вызов локальной процедуры. Другими словами - сделать RPC_________________: вызывающей процедуре не требуется знать, что вызываемая процедура находится на другой машине, и наоборот.
RPC достигает прозрачности следующим путем.:
______________________________________________________________________
Выполнения RPC
________________________________________________________________________________

Вызов удаленных процедур (RPC) - student2.ru Рис. Remote Procedure Call

________________________Если ни один из стабов не ожидает этот пакет, обработчик должен либо поместить его в буфер, либо вообще отказаться от него. Если имеется ожидающий стаб, то сообщение копируется ему. _________________________
___________________________________________________________________
Работа серверного стаба:
________
____

Рисунок 3 показывает______________________________, которую необходимо выполнить для каждого___________________, а рисунок 4 -_________________
__________________________________________________________________.__________________

Вызов удаленных процедур (RPC) - student2.ru Рис. .3. Этапы выполнения процедуры RPC

Вызов удаленных процедур (RPC) - student2.ru
Рис. 4. Распределение времени между 14 этапами выполнения RPC

Этапы выполнения RPС:
1._________________________________________________________________
2._________________________________________________________________
3._________________________________________________________________
4._________________________________________________________________
5._________________________________________________________________
6._________________________________________________________________
7._________________________________________________________________
8._________________________________________________________________
9._________________________________________________________________
10.________________________________________________________________
11.________________________________________________________________
12.________________________________________________________________
13.________________________________________________________________
14.________________________________________________________________

Семантика RPC в случае отказов

В идеале RPC должен функционировать правильно и в случае отказов. Рассмотрим следующие классы отказов:
1.Клиент не может определить_____________________________, например, в случае отказа нужного сервера, или из-за того, что программа клиента была скомпилирована давно и использовала старую версию интерфейса сервера. В этом случае в ответ на _________________поступает_____________________, содержащее________________.
2.____________________________________________. Самое простое решение - через определенное время повторить запрос.
3.Потеряно______________________________________. Этот вариант сложнее предыдущего, так как некоторые процедуры не являются идемпотентными. Идемпотентной называется процедура, запрос на выполнение которой можно повторить несколько раз, и результат при этом не изменится. Примером такой процедуры может служить чтение файла. Но вот процедура снятия некоторой суммы с банковского счета не является идемпотентной, и в случае потери ответа повторный запрос может существенно изменить состояние счета клиента. Одним из возможных решений является приведение всех процедур к идемпотентному виду. Однако на практике это не всегда удается, поэтому может быть использован другой метод -_______________________________________________________. Ядро сервера запоминает номер самого последнего запроса от каждого из клиентов, и при получении каждого запроса выполняет анализ - является ли этот запрос первичным или повторным.
4._______________________ после получения запроса. В данном случае имеет значение, когда произошел отказ -_____________________________________. Но клиентское ядро не может распознать эти ситуации, для него известно только то, что время ответа истекло. Существует три подхода к этой проблеме:

а)_______________________________________________________________________
б)_______________________________________________________________________
в)___________________________________________________________________________

Лекция 3.

Вызов удаленных процедур (RPC) - student2.ru 3.1 Кластеры. Архитектуры кластеров
Кластер-_________________________________________________________________
__________
Устройство кластера:
___________________
___________________
___________________
___________________
___________________
___________________
___________________
___________________
___________________
___________________
___________________
___________________
___________________
___________________
________________________________________
Кластеры исполь­зуются для повышения ______________ и _______________.
Доступность - система, входящая в кластер, ________________, ПО клас­тера распределяет работу, выполнявшуюся этой системой, между______________, составляющими кластер.
Наращиваемость - общая ______________достигает предела возмож­ностей систем, составляющих кластер, кластер можно нарастить, добавив до­полнительную систему
Кластеры позволяют увеличивать производительность по мере необходимости,добавляя новые системы.

Один из первых архитекторов кластерной технологии Грегори Пфистер «Кластер — это_______
_________:

· состоит из ________________________________________________________

· используется как ___________________________________________________

Основные виды кластеров:
1.отказоустойчивые кластеры (High-availability clusters, HA, кластеры высокой доступности______________________________________________________________
_________

________
2.кластеры с балансировкой нагрузки (Load balancing clusters)_______________
________________________________________
3.вычислительные кластеры (High perfomance computing clusters)____________
________________
4.grid-системы_______________________________________________________
________

Архитектуры кластеров:
1.Кластеры с сетевой балансировкой нагрузки (NetworkLoadBalancingClus­
ter—NLBC)*(см.приложение)
2.Кластеры серверов (server clusters);*(см.приложение)
3.Кластеры приложений (application clusters)*(см.приложение)

3.2 Особенности операционных систем для кластеров. Windows 2000 Cluster Server, Sun Cluster.
Кластер-____________________________________________________________
Windows 2000 Cluster Server-__________________________________________
____Функции:___________________________________________________________________
Особенности:________________________________________________________________
Sun Cluster-_________________________________________________________
____
Функции:___________________________________________________________________
Особенности:________________________________________________________________

Наши рекомендации