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

Cloud Computing 2 – Gossip Protocol

Multicast 이번시간에 배울 내용은 Gossip Protocol (혹은 Epidemic Protocol) 입니다. 기존에는 특정 그룹에게 메세지를 보내기 위해 multicast 를 이용했지만, 클라우드 컴퓨티 환경에서는 프로세스가 죽어 노드가 크래쉬를 일으킬수도 네트워크 문제때문에 패킷이 딜레이되거나, 드랍될 수 있고 노드가 빠르게 증가합니다. 그러나 멀티캐스트는 fault-tolerance 와 scalability 측면에서 부족한 부분이 많았습니다. 이런 문제를 해결하기 위해 다양한 방법이 도입되었는데 (1) Centralized: … Continue reading Cloud Computing 2 – Gossip Protocol

Cloud Computing 1 – Map Reduce

Intro map 과 reduce 라는 단어는 functional language 에서 왔다. map: processes each record sequentially and independently reduce: processes set of all records in batches (map square '(1 2 3 4)) ;; (1 4 9 16) (reduce + '(1 4 9 16)) ;; (+16 (+9 (+4 1))) ;; 30 MapReduce (http://webmapreduce.sourceforge.net/) Map: Parallelly process a … Continue reading Cloud Computing 1 – Map Reduce