[언론보도] 김장우 교수, ‘디바이스-중심 컴퓨터 시스템 기술’ 선구자(인사이트,2019.03.01)
빅데이터 넘쳐도 끄떡없는 컴퓨터 엔진 만든다
김장우 서울대학교 전기·정보공학부 부교수.
미래 IT 유망 분야로 꼽히는 인공지능, 자율주행 자동차, 슈퍼컴퓨터 등이 발전하기 위해 공통적으로 선행돼야 하는 것이 있다. 바로 빅데이터의 고속처리다. 인공지능이 학습하기 위해서는 고속의 그래픽처리장치(GPU)들을 다뤄야 하고, 자율주행 자동차가 인공지능 연산을 수행하기 위해서는 다수의 신경망처리장치(NPU) 기기들을 동시에 지원해야 한다. 슈퍼컴퓨터에도 고속 네트워크 디바이스 지원은 필수다.김장우 서울대학교 전기·정보공학부 부교수.
결국 컴퓨터에서 빅데이터 등의 고속 처리를 위해선 GPU, NPU, 네트워크 등의 장치를 관장하는 CPU의 성능이 중요하다. 하지만 기존 컴퓨터 시스템에서는 CPU를 추가로 장착할 수 없어 CPU가 고성능 디바이스들을 감당해 내지 못하는 한계에 부딪혔다.
이 문제를 해결하기 위해 서울대 연구팀이 CPU 대신 CPU 역할을 대신 해줄 수 있는 디바이스 엔진을 따로 만들었다. 이른바 ‘빅데이터 고속 처리를 위한 디바이스-중심 컴퓨터 시스템 기술’을 개발해 성능을 10배 이상 높였다.
이 연구팀은 기술 개발에 그치지 않고, 실제 시스템 양산이 가능한 단계까지 연구를 마쳐 학계와 산업계의 주목을 받고 있다. 또 이 연구에 참여한 다수의 연구원들은 구글, 마이크로소프트, 인텔 등 글로벌 기업에서 성과를 인정받아 본사 인턴으로 선정되기도 했고, 졸업 후 바로 입사 요청을 받기도 했다고 한다. 지난 2월 25일 이 연구의 총 책임자인 서울대학교 김장우 부교수를 서울 신림동에 위치한 서울대 관악캠퍼스 공학관에서 만났다.
-‘빅데이터 고속 처리를 위한 디바이스-중심 컴퓨터 시스템 기술’이 뭔가요?
“‘디바이스-중심 컴퓨터 시스템’은 기존 시스템들이 가진 문제인 ‘CPU의 운영체제 수행을 통한 주변기기 접근’을 최소화하기 위해 저희 연구실에서 개발한 새로운 컴퓨터 시스템 구조입니다. 간단히 말씀드리면 기존 컴퓨터 시스템은 저장 장치, 네트워크 장치, 계산 보조장치 등 다양한 주변기기를 장착하고 있는데 이를 디바이스라고 부르겠습니다. 기존 시스템들은 이런 디바이스들의 성능이 향상될수록, 그리고 이런 디바이스들이 추가적으로 장착될수록 고성능 CPU가 추가적으로 필요하게 되는데 CPU는 추가적으로 장착될 수 없는 자원이라서 기존의 시스템들은 고속의 디바이스들을 다수 장착하는데 근본적인 한계를 가지고 있습니다.
저희가 개발한 디바이스-중심 컴퓨터 시스템은 이 문제를 해결하기 위해, 운영체제 프로그램 중 디바이스 접근을 담당하는 부분을 CPU에서 수행하지 않고 이를 전담하는 하드웨어 디바이스 형태로 개발해서 시스템에 장착하는 기술입니다. 이렇게 개발된 디바이스를 ‘DCS 엔진’이라고 부르겠습니다. 이 DCS 엔진을 장착하면 사용자 프로그램은 시스템에 장착된 다른 디바이스들을 사용하고자 할 때 CPU를 거치지 않고 DCS 엔진에 디바이스 접근을 의뢰하게 되고, DCS 엔진은 목표 디바이스들에 직접적이며 빠르게 접근하는 기능과 디바이스들 간의 직접적인 접근 기능을 지원하게 됩니다. 그 결과 디바이스-중심 컴퓨터 시스템은 디바이스들의 성능이 향상되고 이런 고속 디바이스들이 추가적으로 장착되더라도, CPU는 이로 인해 방해받지 않고 사용자 프로그램 수행에 전념할 수 있게 돼 시스템의 성능과 디바이스 확장성이 비약적으로 오르게 됩니다.”
- 기존에 사용되던 시스템은 어떤가요.
“기존 컴퓨터 시스템은 시스템에 장착된 CPU의 수와 성능에 따라 전체 성능이 좌우됩니다.기존 컴퓨터 시스템이 데이터베이스 프로그램을 수행한다고 가정을 해보겠습니다. 이 경우 기존 컴퓨터 시스템은 CPU들이 데이터베이스 프로그램을 바쁘게 수행하다가 프로그램 수행을 위해 데이터의 입력이나 출력 필요성이 발생하면 CPU가 수행하던 프로그램을 잠깐 멈추고 해당 디바이스에 접근하게 됩니다. 가령 데이터베이스 수행에 필요한 데이터를 저장 디바이스에서 읽어오거나 결과 데이터를 다른 컴퓨터에 전송하기 위해 네트워크 디바이스를 사용하는 경우가 되겠습니다. 기존 컴퓨터 시스템은 이런 디바이스 접근에 있어 크게 두 가지의 성질을 가집니다. 첫째, 디바이스 접근을 위해 컴퓨터 시스템 관리 프로그램인 운영체제를 사용하기 때문에 사용자 프로그램과 운영체제 프로그램간의 전환이 필요하며, 둘째, 이 전환 과정과 운영체제 수행을 위해 CPU가 사용됩니다. 그런데 기존 컴퓨터 시스템은 데이터베이스와 같은 사용자 프로그램 수행 중에 이런 디바이스 접근 경우가 빈번하지 않았고, 이런 디바이스에 접근을 하더라도 디바이스의 물리적 접근 속도가 매우 느려 CPU의 운영체제 전환 및 실행 속도가 실제 시스템 성능에 미치는 영향이 미미했기에 이 부분이 크게 문제가 되지 않았습니다.”
- 기존 시스템은 빅데이터 처리에 어떤 한계점이 있나요?
“기존 시스템은 현재의 빅데이터 컴퓨팅 환경에서는 고속 디바이스를 제대로 지원하지 못하는 근본적인 한계를 가지고 있습니다. 빅데이터 컴퓨팅 환경에서는 컴퓨터 시스템은 대용량 데이터에 빈번하게 접근해야 되는데, SSD와 같은 고속 저장 디바이스와 100Gbps NIC와 같은 고속 네트워크 디바이스 등을 장착하게 되면서 디바이스의 물리적 접근 속도가 매우 빨라지게 되었습니다. 그 결과 현재는 CPU가 이런 디바이스에 빈번히 접근하게 되었고 이런 접근에서 CPU가 운영체제 수행을 위해 사용하는 시간이 전체 시스템 성능을 좌우하는 주요한 요소가 되었습니다. 그래서 현재는 CPU의 디바이스 접근을 위한 운영체제 수행 문제가 전체 시스템의 성능 저하를 초래하는 심각한 문제로 부각되고 있습니다. 시스템 내에 장착된 CPU의 성능이나 수는 확장이 될 수 없기에, 고속 디바이스를 어느 규모 이상으로 장착하지 못하는 문제도 심각하게 부각되고 있습니다.”
- 교수님께서는 어떤 연구를 집중적으로 하셨나요?
“저는 컴퓨터 시스템 설계 분야에서 연구를 진행하고 있습니다. 간단히 말씀드리면, 목표 워크로드를 정하고 현재의 시스템이 이 워크로드를 최적으로 수행하기 위한 시스템 구조를 개발하고, 이를 실제 물리적 시스템으로 구현해 결과를 보이는 것입니다. 가령 디바이스-중심 컴퓨터 시스템은 디바이스 접근이 빈번한 고속 빅데이터 처리 워크로드를 위한 최적화 시스템을 개발한 것이 되겠습니다. 저희 연구실에서는 이외에도 대규모 시스템 성능 분석 및 최적화 기술, 고성능 스토리지 시스템 개발, 인공지능 가속 시스템 개발, 인간 두뇌 모사 시스템 개발, 초저온에서 작동하는 컴퓨터 시스템 개발 등의 연구를 활발히 수행하고 있습니다.”
-시스템 연구를 하게 된 계기는?
“디바이스-중심 컴퓨터 시스템 개발을 하게 된 계기는 실제 학계와 산업계에서 이 문제의 해결이 시급하다는 문제 제기가 있었고, 제가 이 문제를 해결하기 위한 전문성을 가지고 있다고 판단했기 때문입니다. 이런 시스템을 개발하려면 컴퓨터 구조, 운영체제, 주변 기기 등에 대한 깊은 이해를 바탕으로 실제 시스템 소프트웨어와 하드웨어를 개발할 수 있는 구현 전문성이 필요한데, 이런 전문성과 시스템 개발 전문성을 갖춘 연구팀은 세계적으로도 흔치 않습니다. 저희 연구실에서는 이런 시스템을 개발할 수 있는 전문성을 갖추고 있었고, 실제로 작동하는 경쟁력 있는 시스템을 개발해서 해당 분야에 기여하겠다는 사명감도 있었기에 이 연구를 진행하고 있습니다.”
- 현재 기술 개발의 단계는 어디쯤 인가요?
“디바이스-중심 컴퓨터 시스템을 가능하게 하는 원천 기술인 ‘DCS 엔진’은 현재 하드웨어적으로 프로그래밍이 가능한 디바이스 형태(FPGA)로 개발된 상태입니다. 이를 시스템에 장착하면 운영체제가 인식해서 사용할 수 있는 소프트웨어까지 개발돼 같이 제공될 수 있는 단계입니다. 프로토타입은 개발이 완료된 상태이며, 기업체에서 양산을 원한다면 언제든 양산이 가능한 단계라고 볼 수 있겠습니다.”
디바이스-중심 서버(DCS)의 단일 노드 내부 구조.
- 기존 시스템 대비 어떤 부분이 어떻게 개선됐나요?
“저희가 개발한 DCS엔진 디바이스를 장착하면, 기존의 컴퓨터 시스템들이 디바이스-중심 컴퓨터 시스템으로 변환됩니다. 그렇게 되면 기존의 시스템과 달리 고속의 디바이스들을 장착하면 할수록 전체 시스템이 선형적으로 향상되게 됩니다. 저희 기술을 경쟁 기술과 비교한다면 경쟁 기술보다 성능 향상도가 높습니다. 경쟁 기술들이 특정 디바이스만 장착할 수 있는데 비해 저희 기술은 대부분의 디바이스들을 장착할 수 있는 범용성 측면에서도 큰 장점이 있습니다. 기존 시스템 대비 실제 데이터센터 워크로드의 가격대비 확장성은 10배 이상 입니다.”
-10배 향상은 어떤 의미를 갖나요?
“기존의 컴퓨터 시스템은 성능 향상을 위해 디바이스 부족 현상을 경험하게 되면, 꼭 필요한 디바이스만 구매하는 것이 아니라 이런 디바이스를 갖춘 컴퓨터 서버를 추가로 구매해야 합니다. 예를 들어 저장 디바이스가 더 필요한 상황인데도 저장 디바이스만 추가적으로 장착하면 CPU의 운영체제 수행 문제로 실제 시스템 성능이 향상되지 않기에, 해당 저장창치를 갖춘 서버를 통째로 구매하게 됩니다. 이에 비해 저희 디바이스-중심 시스템은 꼭 필요한 디바이스만 선택적으로 추가 장착할 수 있어 가격 대비 성능치가 크게 향상됩니다. 또한 전체 시스템이 차지하는 물리적인 공간과 성능 대비 전력 소비도 크게 줄어들게 됩니다.”
- 이 기술개발을 위해서 어떤 연구가 선행됐나요?
“저희 연구실에서는 지금까지 다양한 형태의 고성능 컴퓨터 시스템을 개발해 왔습니다. 이 중에 CPU 성능 분석 및 설계, 스토리지 시스템 분석 및 설계, 운영체제 최적화, FPGA 기반 시스템 프로토타이핑 등의 선행 연구들이 디바이스 중심 컴퓨터 시스템 개발에 직접적인 도움이 되었습니다.”
-개발이 가능했던 이유는 무엇인가요?
“일단은 연구진의 시스템 개발을 위한 폭 넓은 이론적 전문성과 개발 경험, 그리고 개발의지입니다. 삼성미래재단에서 이 연구를 진행할 연구비를 장기간 안정적으로 지원받은 것도 큰 도움이 되었습니다. 이 연구 결과들이 컴퓨터 구조 분야에서 세계 최고의 결과들이 발표되는 ISCA, MICRO와 같은 학회 논문들로 발표된 것도 연구 진행에 큰 도움이 되었습니다.”
- 구글, 인텔 등 글로벌 기업들로부터 해당 성과를 인정 받았습니다. 높게 평가받은 부분은 무엇인가요?
“실제 작동하는 시스템을 개발하는 것은 아이디어 위주의 논문 한 편을 발표하는 것에 비해 매우 어려운 일입니다. 다수의 우수한 연구자들이 장기간 하나의 시스템 개발에 매진해야 하기 때문입니다. 그렇게 보면 논문 실적이 중요한 대학 연구실로서는 실제 시스템 개발은 불필요한 노력일 수도 있습니다. 그러나 실제로 작동하는 시스템을 개발하면 연구 결과의 신뢰성이 크게 오릅니다. 구글, 인텔과 같은 기업에서는 저희가 해결하려고 하는 문제의 심각성을 원래부터 잘 알고 있었고, 저희의 연구 성과들이 위에 언급된 ISCA, MICRO 등의 일류 학회 논문으로 게재되었으며, 실제 시스템으로 개발되었기 때문에 더욱 높이 평가한 것으로 생각됩니다.”
- 해당 기술이 미래 100대 기술로서 앞으로 어떤 파급 효과를 가지고 있다고 생각하시나요?
“100대 기술로 수상을 받은 빅데이터 처리 분야는 고속의 저장장치들을 지원하는 측면에서 당연히 강점을 가질 것입니다. 저희는 고속의 GPU들을 다뤄야 하는 인공지능 학습용 컴퓨터 시스템 개발이나 다수의 이종 NPU 기기들을 동시에 지원해야 하는 자율주행 자동차 분야에서도 큰 장점을 가질 것으로 예상하고 있습니다. 또한 고속 네트워크 디바이스 지원이 중요한 슈퍼컴퓨터 개발 분야에서도 강점이 클 것입니다. 저희 연구실에선 실제로 그런 후속 연구들을 진행하고 있습니다. 미래의 다양한 고성능 컴퓨터 시스템 개발에 중요한 역할을 할 것으로 예상되며, 실제로 요즘에 개발되고 있는 컴퓨터들은 디바이스-중심 컴퓨터 시스템 관련 기술들을 활발히 적용하고 있습니다.”
>>기사 원문 보기