Вызов удаленных процедур (rpc)
Лекция 2
 2.1 Вычисления в архитектуре клиент-сервер.Структуры клиент-сервер.
 2.1 Вычисления в архитектуре клиент-сервер.Структуры клиент-сервер. 
 Клиент-сервер_____________________________________________________
 ______________________________________________________________________________________________________________________________________
расположены на разных вычислительных машинах и взаимодействуют между собой через _______________посредством________________, но их можно расположить также и на одной машине.
 Клиент-___________________________________________________________
 __________________________________________________________________
 Сервер-___________________________________________________________
 __________________________________________________________________
_________________________________________________________________________________________________________________________________________________________________________________________________________
 ___________________________________________________________________
 _______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
 Функции клиента:
 1._________________________________________________________________
 2._________________________________________________________________
 3._________________________________________________________________
 Функции сервера:
 1._________________________________________________________________
 2._________________________________________________________________
 3.________________________________________________________________
4.________________________________________________________________________
 5.________________________________________________________________________
 6.________________________________________________________________________
 Достоинства:______________________________________________________________
 ____________________________________________________________________________________________________________________________________________________
 Недостатки:_______________________________________________________________
 ____________________________________________________________________________________________________________________________________________________
 Многоуровневая архитектура «клиент-сервер»-______________________________
 ____________________________________________________________________________________________________________________________________________________
 Сеть с выделенным сервером (cliet/server network)____________________________
 ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
 2.2 Двухзвенная и трехзвенная архитектуры
 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 — целое число.
 Выполнение вызова:
 _________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

 Рис. . а) Стек до выполнения вызова read; 
 б) Стек во время выполнения процедуры; 
 в) Стек после возврата в вызывающую программу
____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Идея, положенная в основу RPC, состоит в том, чтобы _________ _________________________________выглядящим по возможности также, как и вызов локальной процедуры. Другими словами — сделать RPC_________________: вызывающей процедуре не требуется знать, что вызываемая процедура находится на другой машине, и наоборот.
 RPC достигает прозрачности следующим путем.:
 ______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
 Выполнения RPC
 ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
 Рис. Remote Procedure Call
 Рис. Remote Procedure Call
________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________Если ни один из стабов не ожидает этот пакет, обработчик должен либо поместить его в буфер, либо вообще отказаться от него. Если имеется ожидающий стаб, то сообщение копируется ему. _________________________
 ___________________________________________________________________
 Работа серверного стаба:
 ________________________________________________________________________________________________________________________________________
 ____________________________________________________________________
Рисунок 3 показывает______________________________, которую необходимо выполнить для каждого___________________, а рисунок 4 -_________________
 __________________________________________________________________.__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________
 Рис. .3. Этапы выполнения процедуры RPC
 Рис. .3. Этапы выполнения процедуры RPC
 
 
 Рис. 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.
 3.1 Кластеры. Архитектуры кластеров
 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-_________________________________________________________
 ____________________________________________________________________
Функции:___________________________________________________________________________________________________________________________________________________________________________________________________
 Особенности:________________________________________________________________________________________________________________________________________________________________________________________________
Статьи к прочтению:
- В каких из приведённых ниже предложений верно передана главная информация, содержащаяся в тексте?
- Включает такие разделы как
Удалённый вызов процедур
Похожие статьи:
-  Протоколы удаленной аутентификации При локальном доступе база данных находится непосредственно на сервере удаленного доступа. Это не позволяет организовать централизованную систему… 
-  Браузеры. программа удаленного доступа telnet. При работе с системой WWW пользователи имеют дело с программами-клиентами системы, называемыми браузерами. Браузеры (англ. browse — листать,… 
