COSMOS/MT: 객체 저장 시스템 COSMOS를 위한 멀티프로세스/멀티쓰레드 모델의 설계 및 구현Design and implementation of a multi-process/multi-thread model for the COSMOS object strorage system
다수 사용자를 지원하는 프로그램에서 쓰레드의 중요성이 증가함에 따라 데이타베이스 관리 시스템의 하부구조인 객체 저장 시스템들도 쓰레드를 이용하도록 확장되고 있다. 쓰레드를 이용하는 시스템은 프로세스/쓰레드 모델에 따라 성능에 큰 영향을 받는다. 기존의 프로세스/쓰레드 모델는 멀티프로세스/단일쓰레드 모델, 단일프로세스/멀티쓰레드 모델, 그리고 멀티프로세스/멀티쓰레드 모델로 분류할 수 있다. 이 중 멀티프로세스/멀티쓰레드 모델은 다른 모델들을 포괄할 수 있는 일반적인 형태의 구조이다.
본 논문에서는 멀티프로세스/단일쓰레드 모델로 개발된 객체 저장 시스템 COSMOS를 멀티프로세스/멀티쓰레드 모델로 확장한 COSMOS/MT를 설계하고 구현한다. 첫째, COSMOS의 트랜잭션 컨텍스트를 분석하여 공유 트랜잭션 컨택스트와 비공유 트랜잭션 컨택스트로 분류한다. 둘째, 분류한 트랜잭션 컨텍스트들에 대한 컨텍스트 유지방법을 제안한다. 셋째, 구현한 모델의 유용성을 보이기 위하여 TPC-A 벤치마크에 대해 성능 평가를 수행한다. 실험결과 1000개의 클라이언트를 서비스하는 경우 COSMOS/MT가 COSMOS에 비하여 처리율이 최고 5배까지 향상됨을 보인다. 마지막으로, 멀티프로세스/멀티쓰레드 모델의 성능을 결정하는 중요 요소인 프로세스 당 쓰레드 개수에 따른 성능 변화에 대하여 고찰하고, 실험을 통하여 프로세스당 쓰레드 개수에 따른 시스템의 성능 변화를 보인다.