Cloud Computing 7 – Paxos

대부분의 분산 서버 벤더들은 99.99999% 의 reliability 를 보장하지만, 100%는 아닙니다. 왜그럴까요? 그들이 못해서가 아니라 consensus 문제 때문입니다. The fault lies in the impossibility of consensus Consensus 문제가 중요한 이유는, 많은 분산 시스템이 consensus 문제이기 때문입니다. Perfect Failure Detection Leader Election Agreement (harder than consensus)   일반적으로 서버가 많으면 다음의 일들을 해야합니다. Reliable Multicast: Make … Continue reading Cloud Computing 7 – Paxos

Cloud Computing 6 – Multicast

multicast 는 클라우드 시스템에서 많이 사용됩니다. Cassandra 같은 분산 스토리지에서는 write/read 메세지를 replica gorup 으로 보내기도 하고, membership 을 관리하기 위해서 사용하기도 합니다 그런데, 이 multicast 는 ordering 에 따라서 correctness 에 영향을 줄 수 있기 때문에 매우 중요합니다. 자주 쓰이는 기법으로 FIFO, Casual, Total 이 있는데 하나씩 살펴보겠습니다.   Ordering FIFO 를 이용한다면, 보낸 … Continue reading Cloud Computing 6 – Multicast

Cloud Computing 5 – Global Snapshot

이번시간에는 Distributed Snapshot 에 대해서 배웁니다. 클라우드 환경에서 각 어플리케이션(혹은 서비스) 는 여러개의 서버 위에서 돌아갑니다. 각 서버는 concurrent events 를 다루며, 서로 상호작용합니다. 이런 환경에서 global snapshot 을 캡쳐할 수 있다면 check pointing: can restart distributed application on failure garbage collection of objects: object at servers that don’t have any other objects(ay any servers) … Continue reading Cloud Computing 5 – Global Snapshot

Cloud Computing 4 – P2P Systems

P2P 시스템의 기술들은 cloud computing 의 많은 분야에서 활용됩니다. 뒤에서 배울 Chord P2P hashing 같은 경우는 Cassandra, Voldmort 등의 key-value store 에서 쓰이고 있습니다. Napster 최초에 peer 는 서버에게 메세지를 보내 P2P 시스템에 가입했다는 사실을 알립니다. Napster 에서는 중앙에 서버를 두어, 파일이 저장된 peer 를 기록합니다. 각 peer 는 파일이 어디있는지 검색하기 위해 중앙 서버에 … Continue reading Cloud Computing 4 – P2P Systems

Cloud Computing 3 – Membership Protocol

왜 membership 이란 개념이 클라우드 컴퓨팅에 필요할까요? 한 노드가 OS, Disk, Network 등 때문에 10년 (120개월) 마다 한 번씩 고장난다고 합시다. 그러면 120개의 노드를 가지고 있다면 1개월마다 한 번씩입니다. 이정도는 참을만하죠? 그런데, 12,000 개의 서버를 가지고 있다면 MTTF (mean time to failure) 는 7.2 시간마다 한번씩입니다. 이건 큰 문제입니다. 따라서 머신이 멀쩡한지 아닌지를 수동이 아니라 … Continue reading Cloud Computing 3 – Membership Protocol