[클라우드컴퓨팅/CloudComputing] 4. Communication

SooYeon Yeon·2022년 5월 26일
0

persistent vs transient

  1. persistent : 없어지지 않고 큐에 저장 되어있다가 전달됨. active 상관없음. ex) 이메일
  2. transient : 상태가 active 상태일때만 주고받을 수 있음. ex) socket

synchronous vs asynchronous

  1. synchronous : 동기, 동기화 지점까지 차단됨, 오버헤드 줄일 수 있음
  2. asynchronous : 비동기

RPC에서 client와 server stubs이 투명성 제공

  1. 투명성이란 구체적인 시스템 환경을 사용자가 알 수 없고 정보가 없어도 원하는 작업을 수행할 수 있다는 것을 말하는데,
  2. 클라이언트 stub은 어플리케이션을 대신해 요청 메시지를 전달하고 로컬 OS를 호출
  3. 서버 stub이 매개변수를 unpack하여 서버를 호출한다.
  4. 서버 stub이 서비스 결과를 메시지로 포장하고 로컬 OS를 호출한다
  5. 클라이언트 stub이 결과를 분석해 클라이언트에게 반환한다.
  6. stub을 통해서 클라이언트는 몇개의 복제 서버가 존재하는 지 알 수없고, 투명성이 제공된다.

marshaling

  1. 클라이언트 stub이 클라이언트의 요청을 메시지로 만들어 pack하는 과정을 marshaling이라고 한다.
  2. 반대로 서버 stub이 전달받은 메시지를 unpack하는 것을 unmarshaling이라한다.

stub에서 interface

  1. 클라이언트가 호출할 때 필요한 프로시저 모음
  2. IDL or 동일한 프로그래밍 언어로 지정
  3. 정적,동적 인터페이스와 함께 stub으로 함께 컴파일 된다 → 정적 인터페이스: 클라이언트 프로그램에 stub 포함해 제공, 동적 인터페이스 : 특정 프로시저 호출 시 동적으로 인터페이스 가져다 stub 생성

Multicast Communication의 유용성

  1. Falut-tolerance : 같은일을 하는 서버 중복시 같은 메시지를 받을 수 있게 multicast 되어야함
  2. Locating objects : 다 물어봐야함
  3. Replicated data for performance : 데이터 복제되어있는경우 (ex. ip주소바뀌면 도메인 주소값 update 시 멀티캐스팅해서 갱신)
  4. Multiple update(event notification) : 그룹들 간 event가 생겼을때 그룹들 간 공유 필요

신뢰 가능한 멀티캐스팅

  1. atomicity (원자성) : 모든 그룹 멤버가 데이터를 모두 받아야함
  2. Orderling : 같은 순서대로 받아야함

신뢰성있는 멀티캐스팅을 위한 기술

  1. holdback : holdback-queue (handler)에 가지고 있다가 다 받으면 Atonomic한거기 때문에 OK deliver해준다. 트래픽이 발생 가능. 어떤 노드가 메시지 못받으면 즉시 알 수 있음.
  2. negative acknowledgement: 시퀀서로 일련번호를 만들어주고, 일련순서가 이어져가면 괜찮은 것임. 잘못된 걸 다음 메시지가 도달했을 때에 알 수있음. 트래픽은 적지만, 오류탐지시간이 길고, 일련 번호 필드를 둬야한다.

0개의 댓글