Research NotesHPC(고성능 컴퓨팅)을 활용한 HIV 치료법 개발

Kristin Firth와 Mia Matusow

의학 연구에 종사하는 사람들이라면 흰색 가운을 걸치고 시험관과 현미경을 열심히 사용하는 모습을 떠올리기 마련입니다. 대학이나 제약회사의 약제사를 쉽게 떠올릴 수 있겠죠. 물론 전형적이고 현실적인 의학 연구원들의 모습이긴 하지만,

이러한 모습은 의학 분야의 한 단면에 지나지 않습니다. 사실 의학 연구원들은 매우 다양한 환경에서 일하고 있습니다.

앞서 말한 선입견으로 인해 Microsoft Research가 HIV(후천성 면역 결핍증) 백신 개발에 있어서 중요한 역할을 하고 있다는 사실은 다소 놀라울 것입니다. 게다가 현미경이나 시험관 하나도 사용하지 않고 여느 사무실과 같이 평범한 책상과 PC가 즐비한 환경에서 말입니다.

대체 Microsoft는 이 연구에서 어떤 역할을 하고 있을까요? 흰 가운을 입은 사람들, 즉 보스턴의 Mass General, University of British Columbia, University of Washington, Fred Hutchinson Cancer Research Center, 오스트레일리아의 Murdoch University 등 다양한 대학과 연구 기관에서 일하는 과학자들은 막대한 양의 프로젝트 데이터를 수집합니다. 그러면 뉴멕시코에 있는 한 명을 제외하고 대부분 워싱턴 주 레드먼드에서 일하는 직원 대여섯 명으로 이루어진 Microsoft Research의 eScience 팀에서 연구원들이 방대한 데이터를 처리하고 분석할 수 있도록 돕습니다. Microsoft Research는 지난 2003년에 처음 이 프로젝트에 참여했으며, 현재 eScience 팀은 여러 가지 사회 문제를 해결하기 위해 다양한 프로젝트에서 과학자들과 협력하고 있습니다. 그 과정에서 주로 외부 과학자들과의 긴밀한 협력을 통해 여러 가지 프로젝트에 맞는 솔루션을 개발하고 수치를 처리하고 결과를 분석하는 작업을 담당합니다.

많은 프로젝트 중에서도 Microsoft는 HIV 변이 패턴과 관련한 데이터 분석에 큰 비중을 두고 있습니다. Microsoft의 수석 연구원인 의학 박사 David Heckerman에 따르면, HIV는 감염자의 면역 체계로부터 공격을 받으면 빠르게 변이합니다. "숙주의 면역 체계에 대항하기 위한 HIV의 변이 양상을 밝히는 연구를 진행 중입니다. 이를 위해 개인의 면역 체계 유형과 감염을 일으키는 HIV 단백질 서열 간의 상관 관계를 조사하고 있습니다."

과학자들은 HIV에 감염된 환자로부터 샘플을 채취해 환자의 면역 체계 유형과 HIV 서열을 확인합니다. 이때 바로 수치 처리가 필요합니다. 3천 가지 HIV 아미노산과 수천 명의 환자에게서 채취한 수백 가지 면역 체계 유형을 조사해야 하기 때문입니다. Microsoft의 연구용 소프트웨어 개발 책임 엔지니어인 Carl Kadie 박사는 "가양성이나 가음성을 최대한 줄이고 정확한 상관 관계를 밝혀내기 위해 통계적 테스트 방법을 고안했습니다. 하지만 이러한 테스트에는 강력한 계산 성능이 필요하며, 결과의 정확성을 높이려면 테스트 대상을 최대한 많이 확보해야 합니다. 수백만 가지 시뮬레이션을 실행하여 가장 신뢰할 만한 상관 관계를 밝혀내는 것이죠"라고 설명합니다.

HPC를 활용한 HIV 치료법 개발

몇 년 전만 해도 프로세싱 성능의 제한 때문에 연구가 지연되는 경우가 많았습니다. 이 프로젝트에 참여한 Microsoft 연구원들도 대여섯 대의 컴퓨터 만으로는 처리 성능이 부족하여 제시간 내에 분석을 수행하기 어렵다는 것을 알게 되었습니다. 표본이 200개에 불과한 경우에도 백신의 게놈에서 모든 위치를 살펴보고 다양한 면역 체계를 분석하는 데에만 꼬박 1년이 걸릴 형편이었으니까요. 이 분석에만 사용할 전용 컴퓨터 20대가 있다고 해도 각 20대의 컴퓨터에 나누어 직접 테스트를 실행해야 한다는 기본적인 문제에 봉착하게 됩니다. 즉, 20가지 결과 집합이 산출되면 다른 프로그램을 사용하여 개별 결과 집합을 규합하는 데 또 많은 시간을 투자해야 합니다. 그 과정에서 여러 작업을 관리하고 부분적인 출력을 수집하는 등의 관련 개별 작업에도 상당한 시간이 소요됩니다. 이러한 이유로 연구원들은 Microsoft의 HPC(고성능 컴퓨팅) 부서에 도움을 요청했습니다.

2006년, 연구원들은 Windows® Compute Cluster Server 2003을 구현했습니다. 이 HPC 솔루션을 사용하면 함께 작동하는 컴퓨터 여러 대의 성능을 쉽게 활용할 수 있습니다. 간단히 말해 Windows Compute Cluster Server는 작업을 병렬로 실행되는 여러 서버 노드에 분산해 주는 솔루션으로, 노드에 데이터를 분산하고 데이터를 관리하고 결과를 통합하는 모든 작업을 자동화합니다. 또한 설치 절차, 다양한 관리 도구, 통합 작업 스케줄러도 솔루션에 포함되어 있습니다.

무엇보다 이 솔루션을 통해 컴퓨터 성능의 한계를 해결하고 작업 분산 및 데이터 관리 프로세스를 자동화함으로써 가장 중대한 기술적 장애를 극복할 수 있었습니다.

설치

Microsoft Research로서는 계산 클러스터 방식이 최적이었습니다. Windows Compute Cluster Server 2003은 동일한 작업을 반복 수행하는 응용 프로그램과 관련된 프로젝트에 적합합니다. 작업을 병렬로 실행함으로써 문제 해결 및 분석 과정을 가속화할 수 있는 프로젝트가 대표적인 예입니다. 그러나 고성능 컴퓨팅에는 특히 전력 및 냉각과 관련하여 막대한 비용이 소요될 수 있으므로 이러한 솔루션을 배포하는 것은 간단한 문제가 아닙니다. 일주일 내내 CPU 사용률이 100%인 상태로 실행되는 경우가 빈번한 여러 서버에 배포해야 하니까요.

다음 단계로 조직에 설치 가능한 클러스터의 규모와 설치 장소를 결정해야 합니다. Active Directory®를 사용하는 Windows 기반 환경이 이미 구성되어 있다면 관리자가 클러스터를 설치, 배포 및 지원하는 데 필요한 인프라를 갖춘 셈입니다. 그러나 Active Directory를 사용하지 않는 환경의 경우에는 추가 구성 단계가 필요합니다.

컴퓨터 클러스터 내에 노드를 제공하는 방법, 즉 Windows Compute Cluster Server 2003에 포함된 도구를 사용할지, 아니면 사내 개발 기술을 이용할지도 결정해야 합니다. Windows Compute Cluster Server 2003 자체는 클러스터에서 실행해야 할 소프트웨어 응용 프로그램 중 하나입니다. 또한 사용자가 솔루션에 포함된 그래픽 UI 또는 명령줄 인터페이스를 통해 클러스터에 연결하여 작업을 전송할 수 있도록 클러스터에 대한 사용자 액세스도 구현해야 합니다.

Windows Compute Cluster Server 2003은 64비트 운영 체제입니다. Windows Compute Cluster Server 2003 환경의 일반적인 아키텍처는 그림 1에 나와 있는 것과 같습니다. 이 칼럼을 작성하는 2007년 6월 현재, Microsoft Research는 IBM eServer 326 서버 25대에 구축된 클러스터에서 여러 가지 프로그램을 실행하고 있습니다. 그리고 각 서버에는 2개의 AMD Opteron 프로세서가 2.6GHz의 처리 속도로 작동합니다.

그림 1 Windows Compute Cluster Server 2003을 통한 성능 활용

그림 1** Windows Compute Cluster Server 2003을 통한 성능 활용 **(더 크게 보려면 이미지를 클릭하십시오.)

Windows Compute Cluster Server를 배포한 후에는 클러스터에서 유전적 상관 관계 분석을 실행하는 데 사용할 응용 프로그램을 업데이트했습니다. 계산 클러스터에 응용 프로그램을 배포하는 과정의 복잡성은 경우에 따라 다를 수 있습니다. 이러한 응용 프로그램은 필요한 프로그래밍 작업의 양에 영향을 미칩니다.

우선 팀에서는 Windows Compute Cluster Server에서 기본 제공하는 도구를 사용하여 일반 UI를 빠르게 구현했습니다. 이는 실질적으로 간단한 수정 작업에 지나지 않았고, 이후 팀에서는 곧 자체 사용자 지정 웹 응용 프로그램을 만들었습니다. 이 응용 프로그램으로 유연성을 높이고 Microsoft 외부에 있는 과학자들에게 일부 클러스터 노드를 제공하는 옵션을 지원할 수 있게 되었습니다. 뿐만 아니라 Open Grid Forum에 참여하고 있는 Microsoft는 Microsoft Research 클러스터 중 일부를 전세계 여러 대학의 사용자에게 공개하여 연구원들이 공동 작업을 수행하고 작업을 공유하는 데 이용하도록 했습니다.

Windows Compute Cluster Server는 그래픽 UI 외에 명령줄 작업도 지원하기 때문에 사용자가 스크립트를 작성할 수 있습니다. 또한 Windows Compute Cluster Job Scheduler(작업 스케줄러)와 직접 상호 작용하도록 프로그램을 작성할 수 있는 다양한 API도 제공합니다. 이는 Microsoft Research에서 선택한 기법이기도 합니다.

결과 산출

고성능 컴퓨팅을 활용한 덕분에 Microsoft Research의 eScience 팀은 HIV 백신 개발 프로젝트에서 순조로운 진척을 보이고 있습니다. Heckerman은 "고성능 컴퓨팅을 활용하면서 분석 시간이 크게 줄었습니다. 저희와 함께 일하는 몇몇 외부 팀에서도 이제 이러한 통계적 기법을 활용하여 그 연구 결과를 공유하고 있습니다. 그 결과 과학자들은 이미 저희가 테스트할 새로운 가설을 얻어냈습니다. 이전에는 프로세스의 모든 단계에서 결과를 얻는 데 1년씩 걸리곤 했지만 이제 하루 만에 끝낼 수 있습니다"라고 성과를 소개했습니다.

Windows Compute Cluster Server를 도입하기 전, Microsoft Research에서 사용한 방법은 분석 수행에 막대한 시간이 소요되었으므로 실용성이 없었습니다. Kadie의 설명에 따르면 Windows Compute Cluster Server를 사용할 경우 이전에는 한 개의 작업을 실행하던 시간에 2만 개의 작업 항목이 포함된 50개 작업을 실행할 수 있습니다.

이제 eScience 팀은 막대한 계산 성능을 활용하여 시뮬레이션된 데이터에 대해 수많은 횟수의 테스트를 수행할 수 있게 되었습니다. 시뮬레이션된 데이터에 대한 테스트 실행 횟수는 실제 데이터에 대한 결과 중 의미 있는 결과를 찾는 데 중요합니다. 즉, 시뮬레이션을 많이 수행할수록 결과의 신뢰도가 높아집니다.

교훈

Microsoft Research는 Windows Compute Cluster Server 사용을 통해 확실한 효과를 얻었지만 사실 둘은 공생 관계라고 할 수 있습니다. Windows Compute Cluster Server의 차기 버전을 개발 중인 고성능 컴퓨팅 팀의 개발자들은 eScience 팀에서 제공한 피드백을 통해 지속적으로 개선 사항을 파악하고 있습니다.

구체적으로 살펴보자면, HPC 팀은 Microsoft Research 클러스터의 동작을 모니터링하고 분석하면서 여러 사용자에게 균등하게 클러스터의 리소스를 분배하는 최적의 방법을 결정하는 데 필요한 리소스 할당 관련 정보를 얻을 수 있었습니다. 예를 들어 이 프로젝트에서 대개 사용자는 한 번에 작업을 하나씩 만들게 됩니다. 그리고 각 작업은 평균 50개의 하위 작업 항목으로 이루어집니다. 사용자가 작업을 전송하면 Windows Compute Cluster 작업 관리자가 50개 하위 작업 항목을 모두 관리하는 데 필요한 리소스를 할당합니다. 이를 위해 작업 관리자는 작업이 전송되는 즉시 작업 항목을 수행할 클러스터에서 사용 가능한 모든 노드를 확보합니다. 단일 사용자 환경의 경우 이러한 시나리오에서도 문제가 발생하지 않지만 프로젝트를 동시에 진행해야 하는 다중 사용자 환경에서는 문제가 됩니다.

현재는 특정 작업의 50개 작업 항목 중 10개가 완료되더라도 10개의 서버가 가용 상태로 해제되지는 않습니다. 작업 관리자는 작업의 50개 하위 작업 항목이 모두 완료될 때까지 기다린 후 다른 작업을 실행할 수 있도록 서버를 해제합니다. 때문에 HPC 개발자들은 전체 작업이 아니라 각 하위 작업 항목이 완료될 때마다 리소스를 다시 할당하는 방법을 찾고 있습니다.

Microsoft Research에서는 연구원들이 원하는 Windows Compute Cluster Server 사용 방식과 관련해서만 발생하는 특정 문제도 HPC 팀이 해결해 줄 것으로 기대하고 있습니다. 단적인 예로, 연구원들은 웹 프런트 엔드에서 계산 클러스터로 사용자 자격 증명이 자동으로 전파되는 보안 설정을 원합니다. 이 문제는 사용자가 작업을 전송할 때마다 웹 응용 프로그램이 클러스터 노드에 모든 권한이 있는 사용자 자격 증명을 제공할 수 있도록 Microsoft® .NET Framework에서 ASP.NET 폼 인증을 확장하는 방법으로 해결했습니다.

현재 Microsoft Research에서 일하는 eScience 팀원과 전 세계의 연구원들은 프로젝트에서 가장 중요한 부분에만 전념하고 데이터 처리 및 관리와 관련한 작업은 모두 컴퓨터에 일임하고 있습니다. Heckerman은 이에 대해 다음과 같이 평가했습니다. "그 결과 팀의 프로젝트 진행을 가속화할 수 있게 되었습니다. 현재 한정적으로만 밝혀진 HIV에 대한 지식의 폭을 넓혀 이 질병의 퇴치라는 목표를 향한 큰 진척을 이루고 있습니다."

Kristin Firth와 Mia Matusow는 현재 Blue Line Writing & Editing에서 일하고 있으며, 지난 10년 동안 세 개 대륙에 걸쳐 다양한 공공기관 및 사기업을 대상으로 전략 콘텐츠를 작성해 왔습니다.

© 2008 Microsoft Corporation 및 CMP Media, LLC. All rights reserved. 이 문서의 전부 또는 일부를 무단으로 복제하는 행위는 금지됩니다..