대메뉴 바로가기 본문 바로가기

데이터 기술 자료

데이터 기술 자료 상세보기
제목 프로세서의 혁명, SPARC M7
등록일 조회수 4526
첨부파일  

프로세서의 혁명, SPARC M7



점진적인 발전과 혁명은 어떻게 구분될까? 우선 혁명의 사전적 의미를 찾아보면 ‘이전의 제도나 방식 등을 단번에 깨뜨리고 질적으로 새로 운 것을 급격하게 세우는 일’이라고 정의하고 있으며, 그 예로 ‘산업혁명’, ‘녹색혁명’등을 말하고 있다. 결국 혁신과 이로 인해 일어난 큰 변 혁의 범위가 다방면에 걸쳐 광범위하게 영향을 줄 수 있는가가 중요한 구분 요소인 것이다. 그렇다면 오라클 SPARC M7 프로세서의 혁명적 인 요소는 무엇인가?



현재까지의 프로세서 개발은 반도체 공정 기술의 발전에 따라 같은 면적 안에 얼마나 많은 프 로세서 코어를 넣을 수 있는지, 또는 얼마나 많은 캐시를 넣을 수 있는지에 중점을 두었다. 또한 범용 목적의 프로세싱 개선이나 프로세서 클럭 속도 향상에 기술 발전을 집중시켜왔다.

이러 한 기술 발전 방향은 성능 향상에 한계가 존재해 왔고, 시장의 요구사항들을 백프로 만족시킬 수가 없었다. 이에 오라클은 4년 전에 소프트웨어 프로세싱 중 일부를 하드웨어에서 처리할 수 있도록 하는 “소프트웨어 인 실리콘(Software in Silicon)”이라는 혁명적인 프로젝트를 시작 하였다. 오래 기간의 연구개발 결실이 드디어 시장에 모습을 나타냈으며, 2015년 출시 예정인 SPARC M7서버와 T7서버에 최초 적용될 예정이다.

소프트웨어 인 실리콘은 현존하는 최상의 소프트웨어 최적화 방법이라고 생각한다. 특히, 시스 템성능 한 가지 영역의 혁신만이 아니라, 프로세서의 안정성과 보안, 그리고 데이터 수용 능력 까지 전부문의 혁신을 이룬 것이다.





최상의 성능- 데이터베이스 가속엔진

인메모리 데이터베이스(In- Memory Database)는 같 은 데이터나 테이블에 대해 서 로우(Row) 포맷과 컬럼 (Column) 포맷을 동시에 지 원할 수 있기 때문에 대용량 트랜잭션 연산 처리는 약 2배 이상 빠르고, 대용량 분석이나 리포팅 연산처리는 약 100배 이상 속도향상이 가능하다.

특히 분석 처리과정에서 컬럼 포맷 데이터를 스캔할 때는 SIMD(Single Instruction Multiple Data) 벡터 명령어를 사용하여 상상할 수 없는 속도를 보여준다. 그런데, 이 SIMD는 모든 유닉스 프로세서에서 지원하는 방식이지만 원래 목적은 그래픽 연산이나 사이언스 연산을 위해 개발된 방식이지 데이터베이스 처리를 위한 것은 아니었다. 소프트웨어 인 실리콘이 적용된 SPARC M7 프로세서에는 32개의 데이터베이스에 최적화된 가속엔진이 빌트인되어 있다. 이 가속엔진의 정체가 바로 오라클 데이터베이스만을 위해 개발된 SIMD 벡터프로세서인 것이다. 이 데이터베이스 가속엔진(Database Accelerators (DAX))은 기존의 벡터 프로세싱보다 훨씬 빠르게 최대 초당 1천7백억 로우(Rows)를 처리할 수 있다. 그러나, DAX는 매우 복잡하고 다양한 연산을 처리해야하는 범용 목적의 코어가 아니기 때문에 차지하는 면적도 비교할 수 없이 작을 뿐만 아니라, 전력소모량도 매우 미미하다.

또한, 기존 코어는 DAX와는 독립적으로 작동하기 때문에 DAX가 데이터베이스를 처리하는 동안 기존 코어는 다른 명령어를 수행할 수 있게 된다. 결국, 별도의 추가 프로세서 구매비용이 없이 오라클 데이터베이스에 특화된 32개의 코어를 추가한 것과 동일한 성능값을 얻을 수 있는 것이다.





최상의 수용능력-압축 해제 엔진

인메모리 데이터베이스(In-Memory Database)를 최고로 활용하기 위해서는 메모리에 보다 많은 데이터를 저장하는 것이 좋다. 그래서, 이미 오라클 M6서버는 현존하는 서버 중 최고 크기인 32테라바이트의 메모리를 지원하고 있다. 메모리의 물리적 크기를 키우는 방법이외에 또 하나 주목받는 방법은 데이터를 압축하여 저장함으로써 메모리의 수용 능력을 거의 두 배로 늘리는 방안이다.



그러나 데이터를 압축하는 방안은 데이터 처리과정에서 압축 과정과 압축해제 과정을 거쳐야 하기 때문에 전체 성능 저하의 주요인이 되고 있다. 그럼에도 불구하고 메모리에 보다 많은 데이터를 넣기 위해 압축은 필수 불가결한 선택이다. SPARC M7 프로세서에는 소프트웨어 인 실리콘을 적용하여 32개의 압축 해제 엔진을 빌트인하였다. 이 압축해제 엔진은 비트 패턴 압축해제를 초당 120GB 이상의 메모리 속도로 수행할 수 있다.

사실 우리는 Clock Speed, tpmC, TPC-H 등의 성능치에 익숙해 있기 때문에 초당 120GB 속도라는 것이 얼마나 대단 한 성능인지 실감이 나지 않는다. 그런데, 전통적인 방식으로 이와 동일한 성능을 내려면 64개의 코어가 다른 명령어는 전혀 수행하지 않고 압축해제 프로세싱만을 위해 전담해야지만 가능하다. 이렇게 압축이 해제된 데이터는 데이터베이스 가속엔진으로 바로 넘겨지게 되므로, 소프트웨어 인 실리콘 기술 덕택에 32개의 데이터베이스 처리 전담코어들과 64개의 압축 해제 전담코어들이 추가된 성능 향상 효과를 얻게 되는 것이다. 이는 전통적인 방식과 비교자체가 불가능한 놀라운 결과이며, 성능적인 측면에서 혁신과 파급 범위가 가히 혁명적이라고 이야기할 수 있겠다.



최상의 안정성, 보안 - 애플리케이션 데이터 인테그러티(Application Data Integrity)

인메모리 기술의 활용이 점차 확대되면 될수록 메모리에 올라가는 데이터의 크기는 점점 커질 것이다. 이런 기술동향에 따라 메모리에 상주하는 데이터는 수 테라바이트 상당의 크기가 될 것이고, 연산, 프로세싱, 데이터 이동 등이 메모리 레벨에서 대부분 처리될 것이다. 따라서, 인메모리 기반의 컴퓨팅 환경이 확산되면 될수록 데이터에 대한 악의적인 공격이 스토리지보다는 메모리에 집중될 것으로 예상된다. 그러나, 메모리 레벨의 보안기술은 다른 영역의 빠른 기술 발전과는 다르게 소외되었던 영역이고, 1960년대의 ‘페이징과 스와핑’이 마지막으로 개발되었던 기술이다.

SPARC M7 프로세서는 메모리 레벨의 보안기술인 ‘애플리케이션 데이터 인테그러티(Application Data Integrity)’를 가지고 있다. ADI를 간략하게 설명하면 메모리와 메모리 포인터에 숨겨진 “컬러”비트를 추가하고, 메모리와 메모리 포인터간의 컬러 비트가 동일하지 않으면 메모리 접근을 허용하지 않는 것이다. 이 기술은 프로그래밍 단계에서 발생할 수 있는 오류나 버그에도 효과가 있으며, 특히 버퍼 오버플로우(Buffer overflow) 등과 같은 악의적인 공격에 매우 효과적이다. 또한, 현존하는 가장 높은 수준의 보안 레벨을 제공하면서도, 프로세서에 이를 위한 추가 부하를 요구하지 않는다. 즉, ADI로 인한 성능문제는 전혀 걱정할 필요가 없는 것이다.



지금까지 소프트웨어 인 실리콘을 통한 데이터베이스 가속엔진, 압축 해제 엔진, 메모리 레벨 의 보안기술을 설명했으며, 이 핵심 기술들은 오랫동안 고객들이 풀 수 없었던 문제점들을 해결 할 수 있는 기술혁신임을 말했다.

시스템 성능, 안정성과 보안, 데이터 수용 능력 전반에 걸친 기 술 성취는 오라클이 수년 동안 투자한 결과이고, 이 결실은 오라클만을 위한 것이 아니라 고객 과 오라클 모두가 윈윈(Win-Win)할 수 있는 결과물들이다. 그렇기 때문에 2015년에 SPARC M7 프로세서를 장착하고 새롭게 선보일 신제품 서버들을 설레이는 마음으로 기다리게 된다.





출처 : 한국오라클

제공 : 데이터 전문가 지식포털 DBguide.net