학교공부/분산처리

[분산처리] Distributed Systems (5th Ed. by G. Coulouris) 2단원 정리

yunmap 2017. 10. 29. 22:38

Chapter 2 : System models

 

Physical model : the most explicit way where to describe a system

representing underlying hardware elements of a distributed system that abstracts away from specific details of the computer and networking technologies employed.

ULS : ultra large scale (Distributed system)

Architectural model : a system in terms of the computational and communication tasks performed by its computational elements

시스템을 구성하는 각각의 component와 그 사이의 관계

to make the system reliable, manageable, adaptable, and cost effective

communication이 위주.

Remote invocation : RPC(local address space에 있는 procedure가 불릴 수 있음. Remote procedure call), RMI(Remote method invocation. resembles remote procedure calls. calling object can invoke a method in a remote object)

Indirect communication : group communication(multi or broadcast), publish-subscribe system(consumer가 소비하고 publisher가 배포)

client-server : invocation-result (HTTP server)

peer-to-peer : 누구든 server가 될 수 있고 누구든 client가 될 수 있다. (BitTorrent)

tolerance의 가장 간단한 방법 : 물리적으로 중복시키기.

placement - cache : proxy server - cache역할을 하는 서버로, client와 server 사이의 connection에 있음. proxy를 거치도록.

placement - mobile code : applets - code is downloaded to the browser and runs there. 최신의 코드로 유지해야 하는 문제가 있음. delay가 없음. variability of bandwidth 문제도 없음.

placement - mobile agent : 목적을 가지고 특정한 일을 한다.

layering : component들이 어떻게 layered되어 있는지. 일종의 모듈화 -> interaction을 고려해야 한다. (Middleware)

vertical organization. 계층화 -> overhead를 유발한다.

tier : 일종의 layering. 기능에 따라서 나눔.

Thin client : 힘든 일은 server에서 하고 결과만 client로 가져온다. (applet과 반대. server에서 code를 실행)

Fundamental model : an abstract perspective in order to examine individual aspects of a distributed system.

분산 시스템을 보는 측면에 따라서 interaction model, failure model, security model의 세 개로 나눔.

Interaction : the processes interact by passing messages, resulting in communication and coordination between process

Failure : threatened whenever a fault occurs (failure를 유발하는 원인)

Security : the modular nature of DS and their openness exposes them to attack by both external and internal agents. (노출이 많아서 위험이 많음.)

Algorithm : sequence of steps to be taken in order to perform a desired computation

Distributed algorithm : a definition of the steps to be taken by each of the processes of which the system is composed.

performance of channel : latency, bandwidth, jitter(variation in the time taken to deliver a series of messages)

clock drift rate : rate at which a computer clock deviates from a perfect reference clock

Synchronous distributed system : lower, upper bound가 있어서 그 안에 reply를 받아야 한다.

Asynchronous distributed system : no bound. 일반적인 인터넷 환경.

Event ordering = logical clock (integer를 증가하는 순서로 부여되니까.)

resident event는 순서가 있음. (logical clock에 의해서. 외부 event의 순서와는 상관없기 때문에.)

omission failure : crash. 문제가 발생하면 멈춤. 정상적인 failure. fail-stop model. time-out을 통한 crash detection.

communication channel에서 발생할 수도 있음.

arbitrary failure : 예측이 불가능하고, detection이 어려움. 문제가 발생되도 계속 실행됨. (큰 문제가 발생 가능)

Y2K 문제.

timing failure : 시간으로 인한 failure. limit을 지키지 못한 경우도. synchronous system에서 적용이 가능하다.

security model : communication channel에서는 메일 서버인 척 하는 메일 서버가 아닐 수도 있음. 암호화, 인증을 한 뒤 전송을 할 필요가 있음. -> Cryptography(암호 작성), Encryption(암호화)