2008.09.11

차세대 라우터, 네트워크 메모리로 병목 해결한다

Jim Duffy | Network World

3년 전 알고리즘을 이용한 라우터 확장과 스위치 성능 향상 관련 기술을 개발했던 한 시스코 엔지니어가 다시 “급유명세”를 타고 있다.

 

선더 라이어(Sundar Lyer)는 얼마 전 테크놀로지 리뷰 매거진(Technology Review Magazine)에서 차세대 혁신 인재로 소개된 35세의 엔지니어로, 라우터 확장 기술 개발로 유명세를 타기 시작했다. 라이어는 스탠포드 대학 박사과정 시절 때부터 “네트워크 메모리”를 주제로 연구를 진행해 왔고, 10/40/100Gbps 네트워크에서 발생하는 네트워크 메모리 액세스와 스토리지 상의 병목 현상을 경감시키기 위한 노력을 계속해 왔다.

 

2004년 라이어는 네모 시스템(Nemo Systems)을 공동 창업해 CTO이자 수석 아키텍트로 활약했다. 시스코가 2005년 10월 네모 시스템을 인수함에 따라 라이어 또한 자연스레 시스코의 멤버가 되었다. 네모의 네트워크 메모리 알고리즘은 2009년에서 2010년 사이에 출시될 예정인 27가지 시스코 제품에 적용될 것으로 보인다.

 

네트워크 메모리 상의 문제는 고속 네트워크의 뛰어난 성능 때문에 유발되는 경우가 많다. 패킷들이 일반 상용 메모리가 감당할 수 있는 수준을 뛰어넘는 속도로 라우터에 전송되기 때문이다. 라이어는 “시스템들은 매우 빠른 속도로 전송되는 수백에서 수천 개의 조그마한 패킷들을 감당할 수 있어야 한다”고 섦명했다.

 

10Gbps 링크의 경우, 패킷 하나가 전송되는데 불과 50ns밖에 걸리지 않는다. 그러나 일반 상용 메모리 (단적인 예로 DRAM 같은 경우)는 50ns당 한 번 정도의 작업만 처리할 수 있는 상황. 게다가 패킷은 순서 없이 랜덤하게 전송되기 때문에, 메모리에 대한 무제한적인 접근은 필수적이다.

 

10Gbps 링크에서는 50ns마다 전송되어 오는 패킷 하나를 처리하기 위해 2번의 메모리 작업이 필요하다. 한 번은 패킷을 기록하는 작업이고, 나머지 하나는 패킷을 읽어 들이는 작업. 이 때문에 메모리가 50ns에 한 번 정도 밖에 작업을 하지 못할 경우, 패킷의 속도를 따라오지 못하는 것이다. 갈수록 라우터와 메모리 성능 간의 간격이 벌어짐으로써 이러한 문제는 더 심각해진다.

 

결과적으로 지금 현재 라우터는 음성, 화상회의, 멀티미디어, 그리고 기타 게임 등에 필요한 실시간 애플리케이션을 제대로 지원하지 못하는 경우가 많다. 고속으로 전송되는 패킷들을 메모리에서 제때 읽어 들이지 못할 가능성이 높기 때문이다.

 

특화된 형태의 10Gbps SRAM 또는 대기 시간이 감소된 DRAM 등을 만들어 메모리 기능을 향상시키기는 방법이 있지만, 이를 실제 활용하기에는 비용부담이 너무 크고, 전력 소모량도 엄청나다는 것이 라이어의 설명이다. 라이어는 “이는 40Gbps에서 사용할 수 없기 때문에 일시적인 미봉책이 될 수밖에 없다”고 덧붙엿다.

 

뿐만 아니라 이와 같이 변형된 메모리들은 패킷 메모리 관리 패턴을 기반으로 한 시스템을 공격하는 바이러스에 취약점을 노출할 가능성이 높다. 해커들이 이 패턴을 해석해 낼 경우, 스위치 메모리나 라우터에 과부하가 걸릴 때까지 같은 작업을 무한 반복시키는 방법으로 시스템을 망가뜨릴 가능성이 높다.

 

라이어는 이런 방법 대신 로드밸런싱 및 캐싱 알고리즘이 적절히 조합한 새로운 메모리 알고리즘을 상용 메모리에 적용함으로써 문제를 해결할 수 있다고 주장했다. 로드밸런싱 기술은 상대적으로 느린 메모리에 적절한 양의 로드를 부여해, 데이터를 불러와야 하는 타이밍에 필요한 메모리를 충분히 확보할 수 있도록 하는 기술이고, 캐싱 기술은 데이터가 항상 100% 캐시 메모리 상태로 대기할 수 있도록 해주는 기술이다.

 

라이어는 “이들 기술은 산술적으로도 실패 가능성이 전혀 없는 방법들이라 할 수 있다”고 강조했다.

 

네트워크 메모리를 위한 애플리케이션에는 버퍼링(buffering), 넷플로우 어카운팅(NetFlow accounting), 그리고 QoS(Quality of Service) 등이 포함되어 있다.

 

버퍼링은 라우터에서 필요한 패킷이 반드시 캐시 메모리에 들어갈 수 있도록 하는 역할을 한다. 패킷을 처리하는 ASIC 내에 소형 SRAM 캐시를 달고, 일반 상용 DRAM을 함께 사용할 경우, 네트워크 메모리 알고리즘을 이용한 빠르면서도, 저전력의 고용량 패킷 버퍼를 구축할 수 있다.

 

QoS의 경우, 네트워크 메모리가 원격 수술이나 슈퍼 컴퓨팅 같은 매우 중요한 작업을 할 때 성능이 떨어지거나 다른 문제가 발생하지 않도록 라우터의 정상적인 성능을 보장하는 역할을 한다. 더불어 감시 및 통계 자료 확보를 목적으로 IP 트래픽 정보를 수집하는 넷플로우 등과 같은 애플리케이션을 지원해주는 역할 또한 맡고 있다.

 

네트워크 메모리 기술은 현재 시스코의 차세대 포트 속도인 10Gbps, 40Gbps, 그리고 앞으로 도입될 이더넷 스위치와 기업용 라우터 등을 고려해 개발되고 있다. 라이어는 앞으로 지속적인 개발 작업이 진행될 예정인 100Gbps 라우터 라인카드에 대응할 수 있는 기술도 개발하고 있다고 덧붙엿다.

 

라이어는 메모리를 더욱 효율적으로 사용하고, 고속 링크를 지원하는 라우터의 성능을 향상시키기 위해 ASIC로 작업하는 패킷의 핀 카운트를 감소시킴으로써 보드 점유 공간을 줄이거나 온보드 ASIC의 숫자를 줄이는 방법 또한 사용하고 있다고 밝혔다. 이는 라우터 라인 카드를 구축하는데 필요한 공간을 반으로 줄여주기 때문에 결과적으로 전력 사용량을 감소시켜주는 역할을 한다.

 

라이어는 라우터가 복잡해지고 더욱 빨라지는 추세가 가속화되고, 더 빠른 속도를 보장하기 위한 고성능의 애플리케이션들이 속속들이 등장하는 환경에서 네트워크 메모리 기술의 지속적인 발전이 반드시 필요하다고 강조했다. 또한 “이는 곧 캐싱과 로드밸런싱 기술의 지속적인 향상 및 혁신이 필요하다는 말과 같다”고 덧붙였다. <IDG KOREA>



2008.09.11

차세대 라우터, 네트워크 메모리로 병목 해결한다

Jim Duffy | Network World

3년 전 알고리즘을 이용한 라우터 확장과 스위치 성능 향상 관련 기술을 개발했던 한 시스코 엔지니어가 다시 “급유명세”를 타고 있다.

 

선더 라이어(Sundar Lyer)는 얼마 전 테크놀로지 리뷰 매거진(Technology Review Magazine)에서 차세대 혁신 인재로 소개된 35세의 엔지니어로, 라우터 확장 기술 개발로 유명세를 타기 시작했다. 라이어는 스탠포드 대학 박사과정 시절 때부터 “네트워크 메모리”를 주제로 연구를 진행해 왔고, 10/40/100Gbps 네트워크에서 발생하는 네트워크 메모리 액세스와 스토리지 상의 병목 현상을 경감시키기 위한 노력을 계속해 왔다.

 

2004년 라이어는 네모 시스템(Nemo Systems)을 공동 창업해 CTO이자 수석 아키텍트로 활약했다. 시스코가 2005년 10월 네모 시스템을 인수함에 따라 라이어 또한 자연스레 시스코의 멤버가 되었다. 네모의 네트워크 메모리 알고리즘은 2009년에서 2010년 사이에 출시될 예정인 27가지 시스코 제품에 적용될 것으로 보인다.

 

네트워크 메모리 상의 문제는 고속 네트워크의 뛰어난 성능 때문에 유발되는 경우가 많다. 패킷들이 일반 상용 메모리가 감당할 수 있는 수준을 뛰어넘는 속도로 라우터에 전송되기 때문이다. 라이어는 “시스템들은 매우 빠른 속도로 전송되는 수백에서 수천 개의 조그마한 패킷들을 감당할 수 있어야 한다”고 섦명했다.

 

10Gbps 링크의 경우, 패킷 하나가 전송되는데 불과 50ns밖에 걸리지 않는다. 그러나 일반 상용 메모리 (단적인 예로 DRAM 같은 경우)는 50ns당 한 번 정도의 작업만 처리할 수 있는 상황. 게다가 패킷은 순서 없이 랜덤하게 전송되기 때문에, 메모리에 대한 무제한적인 접근은 필수적이다.

 

10Gbps 링크에서는 50ns마다 전송되어 오는 패킷 하나를 처리하기 위해 2번의 메모리 작업이 필요하다. 한 번은 패킷을 기록하는 작업이고, 나머지 하나는 패킷을 읽어 들이는 작업. 이 때문에 메모리가 50ns에 한 번 정도 밖에 작업을 하지 못할 경우, 패킷의 속도를 따라오지 못하는 것이다. 갈수록 라우터와 메모리 성능 간의 간격이 벌어짐으로써 이러한 문제는 더 심각해진다.

 

결과적으로 지금 현재 라우터는 음성, 화상회의, 멀티미디어, 그리고 기타 게임 등에 필요한 실시간 애플리케이션을 제대로 지원하지 못하는 경우가 많다. 고속으로 전송되는 패킷들을 메모리에서 제때 읽어 들이지 못할 가능성이 높기 때문이다.

 

특화된 형태의 10Gbps SRAM 또는 대기 시간이 감소된 DRAM 등을 만들어 메모리 기능을 향상시키기는 방법이 있지만, 이를 실제 활용하기에는 비용부담이 너무 크고, 전력 소모량도 엄청나다는 것이 라이어의 설명이다. 라이어는 “이는 40Gbps에서 사용할 수 없기 때문에 일시적인 미봉책이 될 수밖에 없다”고 덧붙엿다.

 

뿐만 아니라 이와 같이 변형된 메모리들은 패킷 메모리 관리 패턴을 기반으로 한 시스템을 공격하는 바이러스에 취약점을 노출할 가능성이 높다. 해커들이 이 패턴을 해석해 낼 경우, 스위치 메모리나 라우터에 과부하가 걸릴 때까지 같은 작업을 무한 반복시키는 방법으로 시스템을 망가뜨릴 가능성이 높다.

 

라이어는 이런 방법 대신 로드밸런싱 및 캐싱 알고리즘이 적절히 조합한 새로운 메모리 알고리즘을 상용 메모리에 적용함으로써 문제를 해결할 수 있다고 주장했다. 로드밸런싱 기술은 상대적으로 느린 메모리에 적절한 양의 로드를 부여해, 데이터를 불러와야 하는 타이밍에 필요한 메모리를 충분히 확보할 수 있도록 하는 기술이고, 캐싱 기술은 데이터가 항상 100% 캐시 메모리 상태로 대기할 수 있도록 해주는 기술이다.

 

라이어는 “이들 기술은 산술적으로도 실패 가능성이 전혀 없는 방법들이라 할 수 있다”고 강조했다.

 

네트워크 메모리를 위한 애플리케이션에는 버퍼링(buffering), 넷플로우 어카운팅(NetFlow accounting), 그리고 QoS(Quality of Service) 등이 포함되어 있다.

 

버퍼링은 라우터에서 필요한 패킷이 반드시 캐시 메모리에 들어갈 수 있도록 하는 역할을 한다. 패킷을 처리하는 ASIC 내에 소형 SRAM 캐시를 달고, 일반 상용 DRAM을 함께 사용할 경우, 네트워크 메모리 알고리즘을 이용한 빠르면서도, 저전력의 고용량 패킷 버퍼를 구축할 수 있다.

 

QoS의 경우, 네트워크 메모리가 원격 수술이나 슈퍼 컴퓨팅 같은 매우 중요한 작업을 할 때 성능이 떨어지거나 다른 문제가 발생하지 않도록 라우터의 정상적인 성능을 보장하는 역할을 한다. 더불어 감시 및 통계 자료 확보를 목적으로 IP 트래픽 정보를 수집하는 넷플로우 등과 같은 애플리케이션을 지원해주는 역할 또한 맡고 있다.

 

네트워크 메모리 기술은 현재 시스코의 차세대 포트 속도인 10Gbps, 40Gbps, 그리고 앞으로 도입될 이더넷 스위치와 기업용 라우터 등을 고려해 개발되고 있다. 라이어는 앞으로 지속적인 개발 작업이 진행될 예정인 100Gbps 라우터 라인카드에 대응할 수 있는 기술도 개발하고 있다고 덧붙엿다.

 

라이어는 메모리를 더욱 효율적으로 사용하고, 고속 링크를 지원하는 라우터의 성능을 향상시키기 위해 ASIC로 작업하는 패킷의 핀 카운트를 감소시킴으로써 보드 점유 공간을 줄이거나 온보드 ASIC의 숫자를 줄이는 방법 또한 사용하고 있다고 밝혔다. 이는 라우터 라인 카드를 구축하는데 필요한 공간을 반으로 줄여주기 때문에 결과적으로 전력 사용량을 감소시켜주는 역할을 한다.

 

라이어는 라우터가 복잡해지고 더욱 빨라지는 추세가 가속화되고, 더 빠른 속도를 보장하기 위한 고성능의 애플리케이션들이 속속들이 등장하는 환경에서 네트워크 메모리 기술의 지속적인 발전이 반드시 필요하다고 강조했다. 또한 “이는 곧 캐싱과 로드밸런싱 기술의 지속적인 향상 및 혁신이 필요하다는 말과 같다”고 덧붙였다. <IDG KOREA>



X