삼도, 콘도르 시스템 도입… 방대한 업무량 분산 ‘효율성 높여’

기자명 김은진 기자 (eun209@skkuw.com)

누군가 지금 학술정보관에서 컴퓨터를 사용 하다가 잠시 자리를 비웠다고 가정해보자. 이때 쉬고 있다고 생각했던 컴퓨터가 개인정보 유출 없이 유용하게 쓰이고 있다고 생각해보았는가? 이 상황은 실제로 삼성학술정보관(관장 이은철 교수ㆍ문정, 이하 삼도)에서 일어나고 있다.

그것은 바로 ‘콘도르(Condor)’ 시스템을 말한다. 콘도르는 하나의 컴퓨터에서 입력한 작업을 콘도르 네트워크로 연결된 다른 컴퓨터가 작업을 분담해 처리할 수 있는 시스템이다. 중앙 관리자 컴퓨터(Central Manager, 이하 중앙 컴퓨터)에서 작업을 입력하면 콘도르 네트워크로 연결된 실행 컴퓨터(Execution Machine)가 작업을 할당받아 수행하는 것이다. 여기서 실행 컴퓨터는 삼도에 있는 컴퓨터가 해당한다. 콘도르 시스템은 실행 컴퓨터의 어떠한 개인정보에도 접속할 수 있는 권한이 없다. 바로 실행 컴퓨터의 보안을 지키면서 가동되지 않는 컴퓨터의 CPU를 활용하는 일석이조의 효과를 보는 셈이다.

자료 제공: Rob lahaye
효율적인 분업
콘도르 시스템에서 컴퓨터의 상태는 △가동되고 있는 경우(Busy) △가동되지 않는 경우(Idle) △꺼진 경우(Off) 세 가지로 나뉜다. 여기서 가동되지 않는 경우는 전원은 켜져있으나 5분간 마우스와 키보드를 사용하지 않고 CPU의 로드가 낮을 때를 말한다. 중앙 컴퓨터는 실행 컴퓨터들의 상태를 탐색하다가 가동되지 않는 컴퓨터를 추려내 자신의 작업을 나눠준다. 각자 배분받은 작업을 마친 실행 컴퓨터는 결과 자료를 중앙 컴퓨터로 보낸다. 이런 과정을 거쳐 하나의 컴퓨터로는 오랜 시간이 걸릴 수 있는 작업을 빠른 시간안에 처리할 수 있다.
외관상 한 컴퓨터에 작업만 입력하는 것이지만 사실 가동되지 않는 상태의 수십, 수백 여대 실행 컴퓨터의 능력을 갖게 되는 것이다. 이때 작업은 방대한 양의 데이터를 사용하는 경우를 말한다. 이에 대해 우리 학교 물리학과 김범준 교수는 “계산에 필요한 연구 주제는 매우 다양하므로 프로그램을 짜는 것에 따라 콘도르의 이용 범위는 넓다”고 설명했다.
콘도르 시스템과 관련된 예로 김 교수는 버클리 대학의 세티엣홈(SETI@home)을 들었다. 세티엣홈은 외계 생명체를 찾기 위한 나사의 프로젝트로 외계에서 지구로 수신되는 전파 신호를 분석하고자 하는 목적으로 진행됐다. 전파 신호를 분석시 슈퍼컴퓨터를 이용하더라도 오랜 시간이 필요하기 때문에 인터넷으로 연결된 전 세계 사용자들의 컴퓨터가 쉬고 있을 때 작업을 할당받아 수행한다. 김 교수는 “큰 계산을 작은 조각으로 나누고 수많은 일반 컴퓨터가 작은 계산을 나눠 할 수 있다”며 “어떠한 정보의 수집 없이 작업을 처리하고 그 결과를 세티엣홈 서버에 보고한다”고 설명했다. 이렇듯 콘도르 시스템도 세티엣홈과 비슷한 원리로 작동한다는 것이다.

콘도르, 삼도와 만나다
약 20년 전 위스콘신 대학교 매디슨 캠퍼스에서 처음 개발된 콘도르 시스템은 지금까지 세계적으로 꾸준히 이용됐으나 국내 대학 도서관에 적용한 것은 우리 학교가 최초다. 이를 제안한 것은 우리 학교 랍 라하예(Rob lahaye, 학부대학) 교수였다. 박사과정 때 그가 있던 연구소에서 콘도르 시스템을 도입하려다 실패했던 경험을 살려 삼도에 적용하고자 한 것이다. 당시에는 개인용 컴퓨터를 실행 컴퓨터로 사용하려 했기 때문에 사용자들의 동의를 얻기가 쉽지 않았다. 하지만 삼도 컴퓨터는 공공의 것이므로 사용되지 않을 때 실행 컴퓨터로 작동하는 데 무리가 없을 것이라고 라하예 교수는 판단했다. 그는 “우리 학교 구성원이 콘도르 시스템의 도움을 받았으면 했다”고 계기를 밝혔다.
2009년부터 그는 김 교수와 ‘콘도르 소프트웨어를 이용한 인간 동역학 연구’를 설계해 삼도의 동의를 얻어 프로젝트를 공동으로 진행하고 있다. 초기 단계부터 프로젝트가 실현될 수 있도록 지원한 학술정보지원팀 손태익 과장은 “혹시 학우들이 불편을 겪을지도 모른다는 위험도 있었지만 라하예 교수와 많은 논의 끝에 순탄하게 진행할 수 있었다”고 말했다.

삼성학술정보관 제공
실현에서 적용까지
해당 프로젝트는 두 가지로 구성된다. 첫 번째, 삼도 컴퓨터에 콘도르 네트워크를 설치한 뒤 가동되지 않는 시간을 조사한다. 이를 통해 켜져 있는 컴퓨터에서 얼마나 자주 가동되지 않는 상태가 되는지 알 수 있다. 2009년 7월, 삼도 1층에 있는 스탠드 컴퓨터 한 대에 콘도르 네트워크를 설치를 시작으로 △9월 △11월 △다음 해 7월에 각각 △1층 컴넷 컴퓨터 6대 △컴넷 컴퓨터 275대 △2층 멀티미디어 컴퓨터 60대로 확장해나갔다. 1년간 3백대의 컴퓨터를 기준으로 조사한 결과, 하루 동안 약 4천대의 컴퓨터가 가동되지 않는 상태였다. 즉 콘도르 시스템을 이용해 수 천대의 컴퓨터가 작업을 나눠 수행할 수 있다.
두 번째 단계는 중앙 컴퓨터가 실행 컴퓨터에 작업을 분산시켜 처리하도록 하는 것이다. 실제로 1년 전부터 우리 학교 세 명의 원우가 콘도르 시스템을 이용해 연구를 무사히 마쳤다. 일례로 전기전자공학과의 한 외국인 원우는 하나의 컴퓨터로 적어도 반년이 걸리는 계산을 몇 주 만에 해결했다.
우리 학교 물리학과 대학원 통계물리연구실에 있는 정향민 원우(석사 4기)는 웹에서 방대한 양의 데이터를 수집하는 데 콘도르 시스템을 이용했다. 그는 연구하는 데 필요한 데이터를 여러 실행 컴퓨터에 요청했다. 그 결과 짧은 시간에 다량의 데이터를 얻을 수 있는 도움을 받았다. 이에 대해 라하예 교수는 “보다 많은 학교 구성원이 콘도르 시스템을 이용할 수 있도록 준비 중이다”라고 전망했으며 마지막으로 “관심 있는 학생은 condor.skku.edu를 통해 문의 바란다”고 덧붙였다.

겉으로는 낭비되는 것처럼 보이는 컴퓨터 자원을 이용해 자투리 시간에 효율적으로 활용하고 있는 사례가 실제로 우리 학교에서 일어나고 있다. 머지않아 콘도르 시스템을 이용해 도움을 받는 학우들의 사례가 보편화되길 바라본다.