<테마특강>차세대 입출력 및 네트워크 구조 인피니밴드

86년 한양대학교 전자공학과 졸업

88년 한국과학기술원(KAIST) 전기 및 전자공학과 석사

97년 맨체스터대 컴퓨터사이언스 박사

88∼2000년 6월 한국전자통신연구원 선임연구원

89∼89년 워싱턴대 전기공학과 방문연구원

91년 서강대학교 전산학과 시간강사

94∼97년 8월 영국정부 장학생

2000년 6월∼ 다이나릿시스템 부설연구소 책임연구원

지난 97년부터 인텔·선·델·히타치·NEC·지멘스가 주도했던 「차세대IO(NGIO:Next Generation IO)」와 98년부터 HP·IBM·아답텍·3콤·컴팩이 추진했던 「퓨처IO(FIO:Future IO)」는 99년 8월 「시스템IO」로 통합됐다. 이어 10월에는 이름을 인피니밴드(infiniBand)로 결정하고 IBTA(InfiniBand Trade Association, http://www.infinibandta.org)가 출범했다.

IBTA는 컴팩·델·HP·IBM·인텔·마이크로소프트·선 등 7개사가 운영위원으로 활동을 주도하고 3콤·아답텍·시스코·후지쯔·지멘스·히타치·루슨트·NEC·노텔네트웍스 등 8개사가 후원 멤버로 참여하며 그 외 크고 작은 150개사가 멤버로 참여하고 있다. IBTA는 여러 개 워킹그룹으로 활동하며 여기에는 마케팅·기술·응용·전자기계공학·접속(link)·관리·소프트웨어가 있다.

아직 규격을 공식적으로 공개하지는 않았지만 발표된 일정에 의하면 내부적으로 초안이 회람중인 것으로 보이며 버전 1.0은 2000년 초반에 공개할 예정이다. 올해엔 시제품을 개발, 내년엔 인피니밴드 기술을 적용한 제품을 시장에 공급한다는 일정을 제시하고 있다.

가장 단순한 입출력 구조는 메모리 버스와 입출력 버스가 동일한 구조다. 이는 메모리 참조와 입출력 동작이 동일한 버스에서 진행된다. 이러한 구조는 입출력 인터페이스가 프로세서마다 제각기 달라야 한다는 것이 문제다. 이 약점을 해결하기 위해 입출력 전용 버스들이 사용된 것이다. 즉 입출력 기기들은 메모리 버스와 분리된, 공통된 버스에 연결되는 구조다. 대표적인 예로 ISA(Industry Standard Architecture), EISA(Extended to ISA), MCA(Micro Channel Architecture by IBM), PCI(Peripheral Component Interconnect by Intel, http://www.pcisig.com), SCSI(Small Computer System Interface) 등이 있다.

그러나 입출력 전용 버스를 채택한 구조는 클럭속도를 증가시키거나 또는 데이터 폭을 넓힘으로써 전송 대역폭을 향상시키는데 전기적인 한계에 직면하게 되고 이는 또 입출력 기기를 연결할 슬롯 수 확장에도 제약이 있다. 이러한 문제는 버스형태이기 때문에 갖는 근본적인 한계에 기인한다. 최근 들어서는 이 문제를 해결하고자 점대점(point-to-point) 연결형태의 스위치 구조를 지향하게 됐다.

컴퓨터들이 서로 연결되는 네트워크의 중요성은 인터넷 시장의 확대로 더욱 증가하고 있고 이러한 환경에서 호스트들이 상호연결되고 저장장치를 포함한 주변기기들이 공유되는 추세에서 입출력 구조는 이런 것들을 통합적으로 지원할 필요가 생겼다. 즉 저장장치통신망(SAN:Storage Area Network)이나 시스템통신망(SAN:System Area Network)과 같은 저장장치를 포함한 주변기기 등에 관련된 새로운 기술과 네트워크에 관련된 요구 등을 분리해 생각할 수 없는 상황에 와 있다. 따라서 이러한 부분을 이제까지 사용하던 입출력 구조에서 지원하는 데 한계가 있어 통합적으로 지원할 수 있는 구조가 앞으로 도래할 새로운 입출력 구조로 자리잡을 것으로 예측되고 있다.

인피니밴드가 추구하는 입출력 구조는 어떤 것인가. 시장과 기술을 주도하고 있는 기업들은 기존 PCI 버스 구조(그림 1참조)의 약점을 해결하고 한계를 극복하기 위해 지난 몇 년 동안 새로운 입출력 구조를 연구하고 제안했다. 기본적인 방향은 입출력의 성능(performance)과 안정성(reliability), 그리고 확장성(scalability)을 추구하는 것으로 요약할 수 있다. 구체적으로 보면 △CPU를 최소한으로 사용하면서 높은 대역폭과 빠른 통신을 제공하고 △우수한 확장성과 △고도의 안정성, 유용성을 지니고 있으면서 △입출력과 프로세스간 통신을 동일 네트워크로 지원하며 △적은 비용의 하드웨어로 우수한 성능대 가격비를 지녀야 한다는 것.

성능향상을 위해 기존 메모리 맵 방식의 버스구조 대신 채널 입출력 방식을 채택해 입출력 장치가 메시지 전송 인터페이스를 통해 메인 메모리에 직접 접근할 수 있도록 해야 한다. 기존 버스구조에서는 버스 자체와 이에 장착되는 장치의 오류가 시스템 전체 동작에 심각한 영향을 준다는 단점이 있어 점대점 방식에 기초한 스위치 구조(fabric switch)를 채택한다. 이러한 구조는 오류가 발생한 부분을 용이하게 분리할 수 있고 또 스위치를 확장함으로써 입출력 장치의 확장 역시 용이하게 한다. 버스에서 사용하는 병렬 링크형태 대신 시리얼 링크(serial link)를 사용함으로써 비교적 먼 거리에도 고속 신호기술을 사용하게 되고 오류분리 등을 통해 기존 문제점들을 많이 해결할 수 있다.

하드웨어적인 측면뿐만 아니라 디바이스 구동 소프트웨어 측면에서도 새로운 기술을 사용한다. 기존 방식이 공유 메모리 주소 공간의 특정부분을 읽고 쓰는 방식에 기초하는 만큼 고속의 프로세서가 이보다 늦은 입출력 기기의 속도에 제한되고 입출력에 관련된 동작은 운용체계의 개입이 필요해 근본적인 성능개선의 제약으로 작용했다. 그러나 인피니밴드에서는 가상 인터페이스 아키텍처(VIA:Virtual Interface Aarchitecture, http://www.viarch.org)와 지능형 입출력장치(I2O, http://www.i2osig.org) 등 저부담 메시지 전송규격(low-overhead message passing specification)과 분리형 디바이스 구동 소프트웨어 규격(split device driver specification)을 채택함으로써 이러한 문제를 해결하고 있다.

인피니밴드는 주요 기능 블록(그림 2참조)인 호스트채널어댑터(HCA)와 타깃채널어댑터(TCA), 그리고 스위치(SW)로 구성된다. HCA는 호스터의 메모리 제어기와 연결돼 메모리에 있는 메시지를 스위치로 주고 받는 역할을 하며 궁극적으로 TCA를 통해 입출력 기기와 통신한다. 이때 HCA는 CPU와 분리돼 동작하고 디바이스 구동 소프트웨어 동작에 필요한 기능과 메모리를 DMA 방식으로 참조하는 기능을 수행한다. 이를 위해 링크프로토콜 엔진(link protocol engine), DMA엔진, 웍큐 엔진(work queue engine) 등을 내장하게 된다. TCA는 스위치로 구성된 네트워크(switch fabric)와 입출력 제어기 사이를 인터페이스한다. 스위치는 HCA와 TCA를 연결하고 나아가 다단 인터커넥션 기법(multi-stage interconnection)으로 트리(tree), 루프(loops) 등 다양한 형태의 네트워크를 형성할 수 있다. 인피니밴드를 이용할 경우 여러 서버 네트워크를 하나의 네트워크로 통합할 수 있다. 이때 서버 네트워크 사이를 연결하는 데 라우터(router)가 사용된다. 라우터는 SW 기능을 포함하는 것으로 인피니밴드들을 상호 연결하거나 인피니밴드 네트워크와 또 다른 프로토콜을 사용하는 네트워크를 연결하는 기능을 한다.

인피니밴드를 구성하는 블록 사이를 연결하는 링크의 폭은 양방향 1, 4, 12로 신호구동은 1.0V 차분신호(differential signal)를 사용한 2.5Gbaud이므로 500MB, 2GB, 6GB/s 대역폭을 제공한다. 하나의 물리적 링크에서 다수의 독립적인 스트림을 지원하기 위해 가상 레인(VL:Virtual Lane) 개념을 채용하며 한 링크에 최소 2개에서 최대 16개 VL을 지원한다. 특히 1개 VL은 항상 네트워크 관리를 위해 사용한다. 각 VL은 독립적인 흐름제어(flow control)를 하며 크레딧(credit)에 기초한 제어를 통해 QoS(Quality of Service)를 조정할 수 있다.

링크를 통해 전송되는 데이터는 패킷(packet) 단위며 패킷들이 모여 메시지(message)가 된다. 또 메시지가 모여 트랜잭션(transaction)이라는 논리적 구성을 하게 된다. 여기서 패킷은 4바이트의 배수로 전송의 기본 단위며 메시지는 RDMA(Remote Direct Memory Access) 읽기·쓰기, 채널송수신 등과 같은 정보전송의 의미를 갖는 논리적 단위가 된다. 한 패킷에 최대 4096바이트의 순수 데이터를 전송할 수 있고 IPV6(Internet Protocol Version 6)와 이더넷 데이터를 곧바로 지원할 수 있는 구조를 규격에 포함해 기존 네트워크 기능을 용이하게 지원할 수 있다.

새로운 기술이 새로운 응용을 만들기도 하고 사용자의 새로운 요구를 충족시키기 위해 새로운 기술이 개발되기도 한다. 하지만 대부분의 경우 이들이 복합적으로 작용해 상승작용을 한다고 볼 수 있다. 컴퓨터 응용영역이 확대되고 프로세싱 능력이 향상되면서 입출력 성능에 대한 요구의 증가와 고속신호 전송기술과 반도체 집적기술의 비약적 발전으로 입출력 구조에 관련된 부분이 새로운 기술과 새로운 요구가 복합적으로 작용하고 있는 대표적인 분야라 할 수 있다.

새기술은 독자적 또는 폐쇄적인 환경에서 생존할 수 없다는 것이 컴퓨터 관련 업계의 경험적 교훈이다. 이러한 추세는 시장을 주도하는 여러 기업들이 공조해 표준을 만들고 시장 자체를 키우는 것으로 표출되고 있는 것이다. 특히 입출력 기기에 관련되는 부분은 그 시장규모가 크고 복잡하며 다양한 기술들이 필요한 이유로 한 기업이 전체를 주도하기 힘들다는 특성 때문에 협력을 통한 기술개발이 당연한 접근방법이 된다고 본다. 이러한 관점에서 입출력 시장을 주도하는 기업들이 많이 참여하는 인피니밴드는 향후 새로운 입출력 표준으로 자리잡을 수 있다는 가능성이 매우 높다. 현재의 추이로 볼 때 단기적으로는 클러스터링 분야에서 두각을 나타낼 것이고 이후 점진적으로 PCI 시장을 포함한 입출력 시장으로 기술이 확산될 것으로 보인다. 인피니밴드가 미래의 입출력 기술로 자리잡지 못한다해도 관련된 기술은 거스를 수 없는 기술추이라는 측면에서 인피니밴드 자체를 주목할 필요가 있다.

아직 우리나라에서 인피니밴드에 관해 이렇다 할 활동이 없는 것은 안타까운 일이다. 하지만 새로운 입출력 구조의 필요성이 높아 지고 있고 인피니밴드 기술이 여러 업체의 공조로 진행되며 기술 자체가 이제 시작단계에 있다는 것은 우리에게 아주 좋은 기회가 아닐 수 없다. 따라서 이제라도 인피니밴드 활동에 주목, 앞으로 도래할 입출력 기술을 주도해 볼 만하다.

브랜드 뉴스룸