Image Transger Optimization for Agile Development

2013. 10. 24. 14:46Cloud/VM image Distribution

논문은 dedup기반으로 VM Image전송 알고리즘을 제안하고 평가하였다. 전형적 이미지 라이브러리가 시간에 따라 어떻게 update하는 것을 보여주며 이러한 변화가 논문에서 제안된 알고리즘에게 어떤 이득을 가져다 줄수 있다는 것을 탐구하였다.

Cluster Representation

클러스터는 블록의 해쉬값으로 표시된 이미지내에서의 부분 집합을 나타내는 meta-data이다. 클러스터는 이미지로부터 실제 데이터를 저장하거나 복사하지 않는다. Cluster 블록 들의 sha1 hash block numbers references 포함하는 Cluster_File 사용하여 변경된 부분을 기록한다. 이미지가 추가될 클러스터명은 좌측에 비트로 확장된다. 이미지가 제거될 높은 이미지 인덱스는 우측으로 이동된다.

Image-9 is 238MB+ 419MB+ 187MB+260MB+ 444MB= 1548MB.

 

Key Algorithms

Cluster 위한 주요 알고리즘은 clusterize_image declusterize_image으로 cluster list 갱신하는 것이다. clusterize_image 클러스터 메타 정보에 새로운 이미지를 증가할때 사용되며 declusterize_image 이미지를 라이브러리에서 제거하고 cluster 결합할때 사용된다. 또한 unique cluster로만 이미지를 삭제할때 사용된다. clusterize_image 현재 존재하는 이미지를 분리하며 추가된 이미지를 포함하기 위해 새로운 블록을 추가하여 새로운 cluster 만든다.

 

IBM Research Compute Cloud 2년간 만들어진 이미지 수는 11,801 였으며 이들의 변화과정을 연구하였다. 이미지 라이브러리는 2 가지 이유로 시간이 지나면서 변화된다.

1) changes to public (catalog) images -고려하지 않는다

2) changes to private (user created) images

우리는 C++ Java 알고리즘을 구현하고 2개의 data center 에서 광범위한 테스트를 진행하며 2000 이상의 이미지의 전송과 재구성을 수행했다.

VMWare Marketplace

Free open source software stacks 77 image

IBM SmartCloud Enterprise

IBM Rational tools, Information Management tools, Websphere App Server 90 image

결과 IBM 라이브러리에는 13% unique 블록이 있으며 VMWare 라이브러리에는 25% unique 블록이 있다. 그러므로 optimization 위한 중요한 기회를 주었다.