Design and Implementation of a Multi-Process/Multi-Thread Model for the COSMOS Object Storage System

COSMOS/MT: 객체 저장 시스템 COSMOS를 위한 멀티프로세스/멀티쓰레드 모델의 설계 및 구현

  • 김이른 (한국과학기술원 전자전산학과 전산학 전공) ;
  • 이영구 (한국과학기술원 전자전산학과 전산학 전공) ;
  • 장지웅 (한국과학기술원 전자전산학과 전산학 전공) ;
  • 황규영 (한국과학기술원 전자전산학과 전산학 전공)
  • Published : 2001.04.01

Abstract

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

Keywords