CPU보다 I/O를 주목해야 하는 이유

엔터프라이즈 컴퓨팅의 변화②

일반입력 :2012/07/23 14:22    수정: 2012/07/23 14:38

입출력(I/O) 퍼포먼스가 엔터프라이즈 컴퓨팅 환경의 변화의 중요한 화두로 떠오르고 있다. 이런 관점에서 I/O성능 강화를 위한 기술이 곳곳에서 개발되고 있다. 모든 IT회사들이 I/O성능에 전력투구하는 사실만으로도 트렌드의 핵심임을 느낄 수 있다.

I/O퍼포먼스의 중요성이 과거보다 더 커진 이유는 또 있다. 1980~90년대 CPU가 모든 IT성능을 말해주던 시절, 기업들이 사용하던 애플리케이션은 지금과 비교할 수 없을 정도로 단순했다. CPU클럭 속도만 높이면, 얼마든 전체 성능을 끌어올릴 수 있는 상황이었다.

서버 시스템의 성능을 보여주는 대표적인 기준으로 TPC-C 벤치마크 테스트가 있다. TPC-C는 1992년 처음 세상에 나왔는데, CPU 성능에 집중하던 시기다. 내용 상으로 온라인트랜잭션프로세싱(OLTP) 유형에 대한 벤치마크다.

TPC-C의 테스트 환경은 다음과 같다. ▲고객주문입력(New-Order) ▲고객지불처리 및 잔고갱신(payment) ▲주문처리(Delivery) ▲고객의 최근 주문 상태 확인(Order Status) ▲재고현황(Stock level) 등을 한 개의 데이터베이스(DB)로 구성한다. 9개의 테이블로 구성한 환경에서 ▲업데이트(update) ▲삽입(insert) ▲삭제(delete) ▲중단(abort) 등 4가지를 테스트한다.

90년대 당시만 해도 대부분의 IT환경은 4가지 정도의 상황만 처리하면 되는 단순한 구조였다. TPC-C는 과거와 같은 단순 OLTP 환경에서 여전히 유효하지만, 처리해야 할 데이터 프로세스가 복잡해진 새로운 IT환경과 맞지 않는다. 20년전 만들어진 테스트 기준으로 2012년의 IT환경을 검증하는 것이다.

TPC-C의 가장 큰 허점은 단순한 로직으로 CPU 성능을 검증하는데 그친다는 점이다. 이 때문에 TPC-C 기준으로 제품을 구매했을 때 실제 사용환경에서 요구하는 성능을 충분히 얻어내지 못할 수 있다.

20년 전 테스트방법은 현재 기업들의 애플리케이션 환경과 다를 수밖에 없다. TPC-C 기준은 만족스럽다 해도, 성능수치결과만을 위해 최적화된 고가 장비들로 테스트하기 때문에, 실제 공급받을 시점엔 구성이 달라질 수 있다.

가브리엘 컨설팅에 따르면, TPC-C 성능수치(Raw System Performance- Benchmark) 자료에서 IT 3사 중 IBM이 가장 우수한 것으로 나와 있다. 반대로 실제 고객이 느끼는 체감속도(Observed Performance-Real World)는 HP가 가장 우수하다.

IBM은 TPC-C에서, HP는 실제 환경에서 앞선다는 것을 의미한다는 점보다 TPC-C 자료를 100% 신용하기엔 오늘날 무리가 있다는 점을 주목해야 한다. CPU가 성능을 대변하진 못한다는 것이다. HP와 IBM의 역전 상황이 실제 환경에서 나타나는 이유를 생각해볼 필요가 있다.

HP는 이에 대해 I/O 성능에 투자를 집중한 결과라고 설명한다. HP의 유닉스 서버는 경쟁사 대비 클러 속도가 낮지만, I/O 관련 기술들을 하드웨어 곳곳에 투입해 성능을 끌어올린다는 것이다.

한 예가 QPI(Quick Path Interconnect)기술이다. 인텔 CPU에 탑재된 QPI는 CPU 칩셋 내부의 코어와 코어가 직접 통신하는 통로다. 특정 워크로드를 코어 하나로 처리할 수 없을 때 또 다른 코어와 직접 통신하게 해 두세 개의 코어를 한꺼번에 이용할 수 있게 해준다.

IBM의 파워 CPU는 FSB(Front Side Bus)방식의 CPU 대역폭 지원 방식을 지원하고 있다. 방과 방 사이의 직접 통로가 있는 방식이 아니라 방과 방을 바깥쪽에 복도가 있는 것과 같다.

메모리기술의 경우 HP는 메모리 컨트롤러가 온칩 형태로 존재하고, IBM은 오프칩 형태로 존재한다.

'I/O성능개선'을 위한 여러 노력은 CPU 제조업체의 기술개발 방향에서도 엿보인다. 인텔은 올해 내놓은 샌디브릿지-EP 기반 x86 CPU ‘제온 E5’에서 I/O 측면을 강조하는 모습이었다.

인텔이 I/O 성능을 높인 방법은 ‘통합 I/O’와 ‘데이터다이렉트(DD) I/O’란 기술이다. 인텔은 별도로 필요했던 I/O허브를 CPU 내부에 넣고, 프로세서 캐시를 투입했다. 네트워크 어댑터가 I/O 트래픽을 프로세서 캐시로 직접 전송하게 함으로써 시스템 메모리로의 데이터 전송 과정을 단축한 것이다. PCI 익스프레스 3.0을 CPU에서 직접 지원하도록 I/O 컨트롤러도 통합시켰다.

이를 통해 인텔 제온 E5는 이전 세대에 비해 지연시간(latency)이 최대 30% 감소했으며, 연산처리 속도가 2배 빨라졌다. PCI 익스프레스 3.0으로 프로세서의 데이터I/O를 최대 3배 빠르게 처리하게 됐다.

시스템 성능에 영향을 주는 요인은 하드웨어적 요소와 하드웨어에 SW와 운용 환경을 포함하는 거시적 요소로 나눌 수 있다. 서버 하드웨어는 크게 프로세서, 메모리, I/O및 통신칩셋 등으로 구성된다.

하드웨어 성능은 이들 구성요소 개개의 성능 및 칩셋의 성능으로 결정된다. CPU의 성능 역시 클럭 속도뿐 아니라 캐시 크기, 메모리 레이턴시 등 다양한 구성요소들로 결정된다. 결국 사용자가 체험하는 서버의 성능은 하드웨어와 운용 SW를 구동한 결과다. 운영체제(OS), DBMS, 미들웨어, 애플리케이션 등을 어떻게 조합하느냐에 따라 성능측정기준도 달라져야 한다.

시스템 성능의 균형을 잡는다는 것은 모든 구성의 전반적인 성능을 최적화해 구현하는 것이다. 서버를 생명체라고 한다면, 뇌, 몸통, 심장, 감각, 운동기관 등을 제대로 갖춰졌을 때 온전한 생명력을 낼 수 있는 것이다.

관련기사

빅데이터가 화두로 떠오르며 I/O성능을 필요로 하는 것은 SW뿐 아니라 하드웨어도 마찬가지다. OLTP나 OLAP 성 업무 모든 측면에서 강점을 보이는 SW와 하드웨어가 늘어나는 것은 당연한 결과다.

I/O성능을 위한 물리적, 기계적인 레이턴시 단축 노력은 다양한 형태로 진행되고 있다. 이와 함께 SW들도 I/O성능 증대에 초점을 맞추며 변신하고 있다.