KR102637135B1 - 고성능 컴퓨팅 환경에서 듀얼 포트 가상 라우터를 지원하기 위한 시스템 및 방법 - Google Patents

고성능 컴퓨팅 환경에서 듀얼 포트 가상 라우터를 지원하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR102637135B1
KR102637135B1 KR1020187023750A KR20187023750A KR102637135B1 KR 102637135 B1 KR102637135 B1 KR 102637135B1 KR 1020187023750 A KR1020187023750 A KR 1020187023750A KR 20187023750 A KR20187023750 A KR 20187023750A KR 102637135 B1 KR102637135 B1 KR 102637135B1
Authority
KR
South Korea
Prior art keywords
subnet
port
virtual
router
virtual router
Prior art date
Application number
KR1020187023750A
Other languages
English (en)
Other versions
KR20180121505A (ko
Inventor
뷰언 대그 존센
대그 조지 목스네스
바토스 보그단스키
프라모드 벤카테시
라인 홀렌
Original Assignee
오라클 인터내셔날 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 오라클 인터내셔날 코포레이션 filed Critical 오라클 인터내셔날 코포레이션
Publication of KR20180121505A publication Critical patent/KR20180121505A/ko
Application granted granted Critical
Publication of KR102637135B1 publication Critical patent/KR102637135B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • H04L45/484Routing tree calculation using multiple routing trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/356Switches specially adapted for specific applications for storage area networks
    • H04L49/358Infiniband Switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

고성능 컴퓨팅 환경에서 듀얼 포트 가상 라우터를 지원하기 위한 시스템 및 방법. 실시예에 따르면, 듀얼 포트 라우터 추상화(abstraction)는 서브넷-대-서브넷 라우터 기능이 스위치 하드웨어 구현에 기초하여 정의되게 하는 단순한 방법을 제공할 수 있다. 가상 듀얼 포트 라우터는 대응하는 스위치 포트 외부에 논리적으로 연결될 수 있다. 이 가상 듀얼 포트 라우터는 인피니밴드 사양 호환 뷰를 서브넷 관리자와 같은 표준 관리 엔터티에 제공할 수 있다. 실시예에 따르면, 상이한 서브넷들을 암시하는 듀얼 포트 라우터 모델은 각 서브넷이 패킷들의 포워딩 뿐만 아니라 서브넷에 대한 진입 경로에서 주소 맵핑을 완전히 제어하는 방식으로 연결될 수 있다.

Description

고성능 컴퓨팅 환경에서 듀얼 포트 가상 라우터를 지원하기 위한 시스템 및 방법
[저작권 공지]
본 명세서에서 개시된 부분은 저작권 보호를 받는 내용을 포함한다. 저작권자는 미국특허청의 특허 파일 또는 기록에 나타난 대로 본 특허 문서 또는 특허 개시내용을 어느 누군가가 팩시밀리 재생하는 것은 반대하지 않지만, 그 밖의 모든 것은 저작권으로 보호된다.
[기술분야]
본 발명은 컴퓨터 시스템과 일반적으로 관련되며, 고성능 컴퓨팅 환경에서 듀얼 포트 가상 라우터를 지원하는 것과 특히 관련된다.
대형 클라우드 컴퓨팅 아키텍쳐들이 도입됨에 따라, 전통적 네트워크 및 스토리지와 연관된 성능 및 관리적 병목현상은 상당한 문제가 되고 있다. 클라우드 컴퓨팅 패브릭(fabric)을 위한 토대(foundation)로서 인피니밴드(InfiniBand, IB) 기술과 같은 고성능 무손실 상호연결들을 사용하는 것에 관심이 증가되었다. 이는 본 발명의 실시예들이 해결하고자 하는 일반적 분야이다.
본 명세서에 기술된 것은 고성능 컴퓨팅 환경에서 듀얼 포트 가상 라우터를 지원하기 위한 시스템 및 방법이다. 대표적인 방법은 하나 이상의 마이크로프로세서들을 포함하는 하나 이상의 컴퓨터들에서, 제1 서브넷을 제공하는 단계, 상기 제1 서브넷은: 복수의 스위치들, 상기 복수의 스위치들은 적어도 하나의 리프 스위치(leaf switch)를 포함하며, 상기 복수의 스위치들 각각은 복수의 스위치 포트들을 포함하며, 복수의 호스트 채널 어댑터들, 각 호스트 채널 어댑터는 적어도 하나의 호스트 채널 어댑터 포트를 포함하며, 복수의 종단 노드들, 상기 종단 노드들 각각은 상기 복수의 호스트 채널 어댑터들 중 적어도 하나의 호스트 채널 어댑터와 연관되며, 및 서브넷 관리자를 포함하며, 상기 서브넷 관리자는 상기 복수의 스위치들 및 상기 복수의 호스트 채널 어댑터들 중 하나에서 실행된다. 상기 방법은 복수의 스위치들 중 하나의 스위치 상의 복수의 스위치 포트들 중 하나의 스위치 포트를 라우터 포트로서 구성할 수 있다. 상기 라우터 포트로서 구성된 상기 스위치 포트는 가상 라우터에 논리적으로 연결될 수 있으며, 상기 가상 라우터는 적어도 2개의 가상 라우터 포트들을 포함한다.
실시예에 따르면, 상기 라우터 포트로서 구성된 스위치 포트는 상기 적어도 2개의 가상 라우터 포트들 중 제1 가상 라우터 포트에 논리적으로 연결될 수 있다.
실시예에 따르면, 대표적인 방법은 제2 서브넷을 제공할 수 있다. 상기 제2 서브넷은 상기 제2 서브넷의 복수의 스위치들, 상기 제2 서브넷의 상기 복수의 스위치들은 상기 제2 서브넷의 적어도 하나의 리프 스위치를 포함하며, 상기 제2 서브넷의 상기 복수의 스위치들 각각은 상기 제2 서브넷의 복수의 스위치 포트들을 포함하며, 상기 제2 서브넷의 복수의 호스트 채널 어댑터들, 상기 제2 서브넷의 각 호스트 채널 어댑터는 상기 제2 서브넷의 적어도 하나의 호스트 채널 어댑터 포트를 포함하며, 및 상기 제2 서브넷의 서브넷 관리자를 포함하며, 상기 제2 서브넷의 상기 서브넷 관리자는 상기 제2 서브넷의 상기 복수의 스위치들 및 상기 제2 서브넷의 상기 복수의 호스트 채널 어댑터들 중 하나에서 실행된다. 상기 방법은 상기 제2 서브넷의 상기 복수의 스위치들 중 하나의 스위치 상의 상기 제2 서브넷의 상기 복수의 스위치 포트들 중 상기 제2 서브넷의 스위치 포트를 상기 제2 서브넷의 라우터 포트로서 구성할 수 있다. 상기 제2 서브넷의 상기 라우터 포트로서 구성된 상기 제2 서브넷의 상기 스위치 포트는 상기 제2 서브넷의 가상 라우터에 논리적으로 연결될 수 있고, 상기 제2 서브넷의 상기 가상 라우터는 상기 제2 서브넷의 적어도 2개의 가상 라우터 포트들을 포함한다. 마지막으로, 상기 제1 서브넷은 물리적 링크를 통해 상기 제2 서브넷과 상호연결될 수 있다.
실시예에 따르면, 복수의 호스트 채널 어댑터들(제1 또는 제2 서브넷) 중 하나 이상은 적어도 하나의 가상 함수(virtual function), 적어도 하나의 가상 스위치 및 적어도 하나의 물리 함수(physical function)를 포함할 수 있다. (제1 또는 제2 서브넷의) 복수의 종단 노드들는 물리적 호스트들, 가상 머신들 또는 물리적 호스트와 가상 머신들의 조합을 포함할 수 있고, 상기 가상 머신들은 적어도 하나의 가상 함수와 연관된다.
도 1은 실시예에 따른 인피니밴드 환경의 도시를 도시한다.
도 2는 실시예에 따른 파티션화된 클러스터 환경의 도시를 도시한다.
도 3은 실시예에 따른 네트워크 환경에서 트리 토폴로지의 도시를 도시한다.
도 4는 실시예에 따른 대표적인 공유된 포트 아키텍처를 도시한다.
도 5는 실시예에 따른 대표적인 vSwithch 아키텍처를 도시한다.
도 6은 실시예에 따른 대표적인 vPort 아키텍처를 도시한다.
도 7은 실시예에 따른 미리 채워진 LID(prepopulated LID)들을 가지는 대표적인 vSwithch 아키텍처를 도시한다.
도 8은 실시예에 따른 동적 LID 할당을 가지는 대표적인 vSwithch 아키텍처를 도시한다.
도 9는 실시예에 따른 동적 LID 할당 및 미리 채워진 LID들을 가지는 대표적인 vSwithch 아키텍처를 도시한다.
도 10은 실시예에 따른 대표적인 멀티 서브넷 인피니밴드 패브릭을 도시한다.
도 11은 실시예에 따른 고성능 컴퓨팅 환경에서 2개의 서브넷들 간 상호연결을 도시한다.
도 12는 실시예에 따른 고성능 컴퓨팅 환경에서 듀얼 포트 가상 라우터 구성을 통한 2개의 서브넷들 간 상호연결을 도시한다.
도 13은 실시예에 따른 고성능 컴퓨팅 환경에서 듀얼 포트 가상 라우터를 지원하기 위한 방법의 흐름도를 도시한다.
본 발명이 제한이 아닌 예시로서 동일한 참조기호는 동일한 구성요소들을 표시하는 첨부 도면들의 도면들에 도시된다. 본 개시에서 "한" 또는 "하나의" 또는 "일부" 실시예(들)은 반드시 동일한 실시예에 대한 참조들이 아니며, 상기 참조들은 적어도 하나를 의미한다는 것을 유념해야 한다. 특정 구현예들이 논의되지만, 특정 구현예들은 예시적 목적으로만 제공된다는 것이 이해되어야 한다. 통상의 기술자는 다른 컴포넌트들 및 구성들이 본 발명의 범위와 정신으로부터 벗어나지 않고 사용될 수 있다는 것을 인식할 것이다.
전체의 도면과 상세한 설명에 걸쳐서 공통 참조 번호들이 동일한 구성요소들을 표시하는데 사용될 수 있고, 그러므로 도면에서 사용된 참조 번호들은 만약 상기 구성요소가 다른 곳에서 기술된 경우 상기 도면에 특정적인 상세한 설명에서 참조될 수 있거나 또는 참조되지 않을 수 있다.
본 명세서에 기술된 것은 고성능 컴퓨팅 환경에서 듀얼 포트 가상 라우터를 지원하기 위한 시스템 및 방법이다.
본 발명의 후술하는 설명은 인피니밴드™(IB) 네트워크를 고성능 네트워크에 대한 예시로서 사용한다. 후술하는 설명 전체에 걸쳐서, 인피니밴드™ 사양(인피니밴드 사양, IB 사양 또는 레거시 IB 사양으로서 다양하게 참조됨)에 대한 참조가 이루어질 수 있다. 상기 참조는 2015년 3월 발표되어 http://www.inifinibandta.org에서 볼 수 있는 인피니밴드® 트레이드 협회 아키텍처 사양, 볼륨 1, 버전 1.3를 참조하는 것으로 이해되며, 그 전체가 참조로서 본 명세서에 통합된다. 한정없이 다른 유형들의 고성능 네트워크들도 사용될 수 있다는 것이 통상의 기술자에게 명백할 것이다. 또한 후술하는 설명은 패브릭 토폴로지에 대한 예시로서 팻-트리 토폴로지(fat-tree topology)를 사용한다. 한정없이 다른 유형들의 패브릭 토폴로지들도 사용될 수 있다는 것이 통상의 기술자에게 명백할 것이다.
현대의 클라우드의 요구들을 충족하기 위해(예를 들어, 엑사스케일 시대(Exascale era)), 가상 머신들은 RDMA(Remote Direct Memory Access)와 같은 낮은 오버헤드 네트워크 통신 패러다임들을 활용가능한 것이 바람직하다. RDMA는 OS 스택을 바이패스(bypass)하고, 하드웨어와 직접적으로 통신하여, 따라서, SR-IOV(Single-Root I/O Virtualization) 네트워크 어댑터들과 같은 패스-쓰루(pass-through) 기술이 사용될 수 있다. 실시예에 따르면, 가상 스위치(vSwitch) SR-IOV 아키텍처는 고성능 무손실 상호연결 네트워크들에서 적용되기 위해 제공될 수 있다. 네트워크 아키텍처에 더하여, 네트워크 재구성 시간이 실시간 마이그레이션(live-migration)을 현실적인 옵션으로 하기 위해 중요하므로, 확장가능한(scalable) 토폴로지-불가지론적(topology-agnostic) 동적 재구성 메커니즘이 제공될 수 있다.
또한, 실시예에 따르면, vSwithch들을 사용하는 가상화된 환경들에 대한 라우팅 전략들이 제공될 수 있고, 네트워크 토폴로지들(예를 들어, 팻-프리 토폴로지들)에 대한 효율적 라우팅 알고리즘이 제공될 수 있다. 동적 재구성 메커니즘은 팻-트리들에서 부과되는 오버헤드를 최소화하기 위해 더 조정될 수 있다.
본 발명의 실시예에 따르면, 가상화는 클라우드 컴퓨팅에서 효율적 리소스 활용 및 탄력적 리소스 할당에 유익할 수 있다. 실시간 마이그레이션은 물리적 서버들 간 가상 머신들(VM들)을 어플리케이션 투과 방식(application transparent manner)으로 이동시킴으로써 리소스 사용을 최적화할 수 있다. 따라서, 가상화는 실시간 마이그레이션을 통해 통합(consolidation), 리소스들의 온-디맨드 제공 및 탄력성을 가능하게 한다.
인피니밴드TM
인피니밴드TM(IB)는 인피니밴드TM 트레이드 협회에 의해 개발된 개방형 표준 무손실 네트워크 기술이다. 상기 기술은 높은 처리량 및 낮은 통신 지연을 제공하는 직렬 점대점 전이중 상호연결에 기초하며, 고성능 컴퓨팅(HPC) 어플리케이션들 및 데이터센터들을 위해 특히 조정되었다.
인피니밴드TM 아키텍처(IBA)는 2개의 레이어 토폴로지적 분할을 지원한다. 낮은 레이어에서, IB 네트워크들은 서브넷들로서 지칭되며, 서브넷은 스위치들과 점대점 링크들을 사용하여 상호연결된 호스트들의 세트를 포함할 수 있다. 높은 레벨에서, IB 패브릭은 하나 이상의 서브넷들을 구성하며, 이들은 라우터들을 사용하여 상호연결될 수 있다.
서브넷 내에서, 호스트들은 스위치들 및 점대점 링크들을 사용하여 연결될 수 있다. 추가적으로, 마스터 관리 엔터티, 서브넷 관리자(SM)가 있을 수 있으며, 이는 서브넷 내의 지정된 디바이스에 상주한다. 서브넷 관리자는 IB 서브넷 구성, 활성화 및 유지관리 책임이 있다. 추가적으로, 서브넷 관리자는 IB 패브릭에서 라우팅 테이블 계산들을 수행하는 책임이 있을 수 있다. 여기서, 예를 들면, IB 네트워크의 라우팅은 로컬 서브넷에서 모든 소스와 목적지 쌍들 간의 적절한 로드 밸런싱을 목표로 한다.
서브넷 관리 인터페이스를 통해, 서브넷 관리자는 서브넷 관리 에이전트(SMA)들을 가지는 서브넷 관리 패킷(SMP)들로도 참조되는 제어 패킷들을 교환한다. 서브넷 관리 에이전트들은 모든 IB 서브넷 디바이스에 상주한다. SMP들을 사용함으로써, 서브넷 관리자는 패브릭을 발견하고, 종단 노드들 및 스위치들을 구성하고 SMA들로부터 통지들을 수신할 수 있다.
실시예에 따르면, IB 네트워크에서 인트라 서브넷 라우팅은 스위치들에 저장된 리니어 포워딩 테이블(LFT, linear forwarding table)들에 기초할 수 있다. LFT들은 사용되는 라우팅 메커니즘에 따라 SM에 의해 계산된다. 서브넷에서, 종단 노드들 및 스위치들 상의 호스트 채널 어댑터(HCA) 포트들은 로컬 식별자(LID, local identifier)들을 사용하여 어드레싱된다. LFT의 각 항목은 목적지 LID(DLID) 및 출력 포트로 구성된다. 테이블에서 LID당 단 하나의 항목만 지원된다. 패킷이 스위치에 도착한 경우, 그것의 출력 포트는 상기 스위치의 포워딩 테이블에서 DLID를 조회함으로써 결정된다. 라우팅은 패킷들이 주어진 소스-목적지 쌍(LID 쌍) 사이의 네트워크에서 동일한 경로를 취함에 따라 결정론적이다.
일반적으로, 마스터 서브넷 관리자를 제외한 모든 다른 서브넷 관리자들은 고장 허용(fault-tolerance)을 위한 스탠바이 모드에서 동작한다. 그러나, 마스터 서브넷 관리자가 실패한 경우에, 새로운 마스터 서브넷 관리자가 스탠바이 서브넷 관리자들에 의해 결정된다. 또한, 마스터 서브넷 관리자는 서브넷의 주기적 스위프(sweep)들을 수행하여 임의의 토폴로지 변화들을 검출하고 그에 따라 네트워크를 재구성한다.
추가로, 서브넷 내의 호스트들 및 스위치들은 로컬 식별자(LID)들을 사용하여 어드레싱될 수 있고, 단일 서브넷은 49151 유니캐스트 LID들로 제한될 수 있다. 서브넷 내에서 유효한 로컬 어드레스들인 LID들 외에, 각 IB 디바이스는 64 비트 전역 고유 식별자(GUID)를 가질 수 있다. GUID는 IB 레이어 3(L3) 어드레스인 전역 식별자(GID)를 형성하는데 사용될 수 있다.
SM은 네트워크 초기화 시간에 라우팅 테이블들(즉, 서브넷 내의 각 쌍의 노드들 간의 연결들/라우트들)을 계산할 수 있다. 추가로, 라우팅 테이블들은 연결성과 최적 성능을 보장하기 위해 토폴로지가 변화할 때마다 업데이트될 수 있다. 보통의 동작 중에, SM은 토폴로지 변화들을 체크하기 위해 네트워크의 주기적 라이트 스위프들을 수행할 수 있다. 라이트 스위프 동안에 변화가 발견된 경우 또는 네트워크 변화를 신호하는 메시지(트랩)이 SM에 의해 수신된 경우, SM은 발견된 변화들에 따라 네트워크를 재구성할 수 있다.
예를 들면, SM은 링크가 다운된 경우와 같이 네트워크 토폴로지가 변화한 경우, 디바이스가 추가된 경우 또는 링크가 제거된 경우 네트워크를 재구성할 수 있다. 재구성 단계는 네트워크 초기화 동안에 수행된 단계들을 포함할 수 있다. 추가로, 재구성들은 네트워크 변화들이 발생한 서브넷들에 제한되는 로컬 범위를 가질 수 있다. 또한, 라우터들을 가지는 대형 패브릭의 세그먼팅은 재구성 범위를 제한할 수 있다.
예시적 인피니밴드 패브릭이 실시예에 따른 인피니밴드 환경(100)의 도시를 도시하는 도 1에 도시된다. 도 1에 도시된 예시에서, 노드들(A-E, 101-105)은 인피니밴드 패브릭(120)을 사용하여 각각의 호스트 채널 어댑터들(111-115)을 통해 통신한다. 실시예에 따르면, 다양한 노드들 예를 들어, 노드들(A-E, 101-105)은 다양한 물리적 디바이스들에 의해 표현될 수 있다. 실시예에 따르면, 다양한 노드들 예를 들어, 노드들(A-E, 101-105)은 가상 머신들과 같은 다양한 가상 디바이스들에 의해 표현될 수 있다.
인피니밴드에서 파티셔닝
실시예에 따르면, IB 네트워크들은 보안 메커니즘으로서 파티셔닝을 지원하여 네트워크 패브릭을 공유하는 시스템들의 논리적 그룹들의 격리(isolation)를 제공할 수 있다. 패브릭에서 노드 상의 각 HCA 포트는 하나 이상이 파티션들의 멤버일 수 있다. 파티션 멤버십들은 SM의 부분일 수 있는 중앙화된 파티션 관리자에 의해 관리된다. SM은 16 비트 파티션 키(P_Key)들의 테이블로서 각 포트 상의 파티션 멤버십 정보를 구성할 수 있다. 또한, SM은 종단-노드들과 연관된 P_Key 정보를 포함하는 파티션 시행(enforcement) 테이블들을 가지는 스위치 및 라우터 포트들을 구성할 수 있고, 상기 종단 노드들은 이들 포트들을 통해 데이터 트래픽을 송신하거나 수신한다. 추가적으로, 일반적 경우에, 스위치 포트의 파티션 멤버십은 나가는 방향(링크를 향해)의 포트를 통해 라우팅된 LID들과 간접적으로 연관된 모든 멤버십의 연합(union)을 표현할 수 있다.
실시예에 따르면, 파티션들은 포트들의 논리적 그룹들이며, 따라서 그룹의 멤버들은 동일한 논리적 그룹의 다른 멤버들과만 통신할 수 있다. 호스트 채널 어댑터(HCA)들 및 스위치들에서, 패킷들은 격리를 시행하기 위해 파티션 멤버십 정보를 사용하여 필터링될 수 있다. 유효하지 않은 파티셔닝 정보를 가진 패킷들은 패킷들이 인커밍 포트에 도착하자마자 드롭될 수 있다. 파티션화된 IB 시스템들에서, 파티션들은 테넌트 클러스터들을 생성하는데 사용될 수 있다. 파티션이 시행되면, 노드는 상이한 테넌트 클러스터에 속한 다른 노드들과 통신할 수 없다. 이 방식에서, 손상된 또는 악성 테넌트 노드들의 존재에도 시스템의 보안이 보장될 수 있다.
실시예에 따르면, 노드들 간의 통신에 대해, 큐쌍(QP, Queue Pair)들 및 엔드-투-엔드 컨텍스트(EEC)들이 관리 큐쌍들(QP0 및 QP1)을 제외한 특정한 파티션에 할당될 수 있다. 그 후 P_Key 정보가 모든 송신된 IB 운송 패킷(transport packet)에 추가될 수 있다. 패킷이 HCA 포트 또는 스위치에 도착한 경우, 그것의 P_Key 값이 SM에 의해 구성된 테이블에 대해 검증될 수 있다. 유효하지 않은 P_Key 값이 발견되면, 패킷은 즉시 폐기된다. 이 방식에서, 통신은 파티션을 공유하는 포트들 사이에서만 허용된다.
IB 파티션들의 예시가 실시예에 따른 파티션화된 클러스터 환경의 도시를 도시하는 도 2에 도시된다. 도 2에 도시된 예시에서, 노드들(A-E, 101-105)은 인피니밴드 패브릭(120)을 사용하여 각각의 호스트 채널 어댑터들(111-115)을 통해 통신한다. 노드들(A-E)은 파티션들, 즉 파티션 1(130), 파티션 2(140) 및 파티션 3(150)으로 배열된다. 파티션 1은 노드 A(101) 및 노드 D(104)를 포함한다. 파티션 2은 노드 A(101), 노드 B(102) 및 노드 C(103)를 포함한다. 파티션 3은 노드 C(103) 및 노드 E(105)를 포함한다. 파티션들의 배열로 인해, 노드 D(104) 및 노드 E(105)는 이들 노드들이 파티션을 공유하지 않음에 따라 통신하는 것이 허용되지 않는다. 한편, 예를 들면, 노드 A(101) 및 노드 C(103)은 이들 노드들이 둘 다 파티션 2(140)의 멤버들임에 따라 통신하는 것이 허용된다.
인피니밴드에서 가상 머신들
지난 10년간, 가상화된 고성능 컴퓨팅(HPC) 환경들의 전망은 CPU 오버헤드가 하드웨어 가상화 지원을 통해 실제로 제거되었고; 메모리 오버헤드가 메모리 관리 유닛을 가상화함으로써 상당히 감소되었고; 스토리지 오버헤드가 고속 SAN 스토리지들 또는 분산 네트워크 파일 시스템들의 사용에 의해 감소되었고; 그리고 네트워크 I/O 오버헤드가 SR-IOV 같은 디바이스 패스쓰루 기법들의 사용에 의해 감소됨에 따라 상당히 개선되었다. 이제는 클라우드들이 고성능 상호연결 솔루션들을 사용하여 가상 HPC(vHPC) 클러스터들을 수용하고 필요한 성능을 전달하는 것이 가능하다.
그러나, 인피니밴드(IB)와 같은 무손실 네트워크들에 연결된 경우, 가상 머신(VM)들의 실시간 마이그레이션과 같은 특정 클라우드 기능은 이 솔루션들에서 사용된 복잡한 어드레싱 및 라우팅 스키마로 인해 여전히 이슈로 남는다. IB는 높은 대역폭과 낮은 지연을 제공하는 상호연결 네트워크 기술이며, 따라서, HPC 및 다른 통신 집중적 워크로드에 매우 잘 맞는다.
IB 디바이스들을 VM들에 연결하기 위한 전통적 접근법은 직접 할당으로 SR-IOV를 활용하는 것이다. 그러나, SR-IOV를 사용하여 IB 호스트 채널 어댑터(HCA)들이 할당된 VM들의 실시간 마이그레이션을 달성하는 것은 도전적인 것으로 판명되었다. 노드에 연결된 각 IB는 3개의 상이한 어드레스들을 가진다: LID, GUID 및 GID. 실시간 마이그레이션이 일어나는 경우, 이들 어드레스들 중 하나 이상이 변경된다. 마이그레이션 중인 VM(VM-in-migration)과 통신하는 다른 노드들은 연결을 잃을 수 있다. 이러한 일이 발생하면, 손실된 연결은 서브넷 어드민(SA, Subnet Administration) 경로 기록 쿼리들을 IB 서브넷 관리자(SM)에게 보냄으로써 재연결하기 위해 가상 머신들의 새로운 어드레스의 위치를 찾아냄(locating)으로써 리뉴(renew)될 것으로 시도될 수 있다.
IB는 3가지 상이한 유형의 어드레스들을 사용한다. 제1 유형의 어드레스는 16 비트 로컬 식별자(LID)이다. 적어도 하나의 고유 LID가 SM에 의해 각 HCA 포트 및 각 스위치에 할당된다. LID들은 서브넷 내에서 트래픽을 라우팅하기 위해 사용된다. LID가 16 비트의 길이를 가지므로, 65536개의 고유 어드레스 조합들이 만들어질 수 있고, 그 중 단지 49151(0x0001-0xBFFF)개만이 유니캐스트 어드레스들로서 사용될 수 있다. 결과적으로, 사용가능한 유니캐스트 어드레스들의 수는 IB 서브넷의 최대 크기를 정의한다. 제2 유형의 어드레스는 제조자에 의해 각 디바이스(예를 들어, HCA들 및 스위치들) 및 각 HCA 포트에 할당된 64비트 전역 고유 식별자(GUID)이다. SM은 추가적인 서브넷 고유 GUID들을 HCA 포트에 할당하며, 이는 SR-IOV가 사용되는 경우 유용하다. 제3 유형의 어드레스는 128 비트 전역 식별자(GID)이다. GID는 유효한 IPv6 유니캐스트 어드레스이며, 적어도 하나는 각 HCA 포트에 할당된다. GID는 패브릭 어드민(fabric administrator)에 의해 할당된 전역적으로 고유한 64 비트 프리픽스를 각 HCA 포트의 GUID 어드레스와 조합함으로써 형성된다.
팻-트리(FTree) 토폴로지들 및 라우팅
실시예에 따르면, IB 기반 HPC 시스템의 일부는 팻-트리가 제공하는 유용한 속성들의 이점을 취하기 위해 팻-트리 토폴로지를 이용한다. 이들 속성들은 각 소스 목적지 쌍 간에 사용가능한 다수의 경로들로 인한 완전한 바이섹션-대역폭(full bisection-bandwidth) 및 내재된 고장 허용(inherent fault-tolerance)를 포함한다. 팻-트리 뒤의 초기적 아이디어는 트리가 토폴로지의 루트을 향해 움직임에 따라, 노드들 간에 사용가능한 대역폭을 더 가지는 보다 두터운(fatter) 링크들을 이용하는 것이었다. 보다 두터운 링크들은 상위 레벨 스위치들에서 혼잡을 피하게 할 수 있고, 바이섹션-대역폭이 유지된다.
도 3은 실시예에 따른 네트워크 환경에서 트리 토폴로지의 도시를 도시한다. 도 3에 도시된 바와 같이, 하나 이상의 종단 노드들(201-204)이 네트워크 패브릭(200)에서 연결될 수 있다. 네트워크 패브릭(200)은 복수의 리프 스위치들(211-214) 및 다수의 스파인(spine) 스위치들 또는 루트 스위치들(231-234)을 포함하는 팻-트리 토폴로지에 기초할 수 있다. 추가적으로, 네트워크 패브릭(200)은 스위치들(221-224)과 같은 하나 이상의 중간 스위치들을 포함할 수 있다.
또한, 도 3에서 도시된 바와 같이, 종단 노드들(201-204) 각각은 멀티-홈 노드(multi-homed node) 즉, 다수의 포트들을 통해 네트워크 패브릭(200)의 2 이상의 부분들에 연결된 단일 노드일 수 있다. 예를 들면, 노드(201)는 포트들(H1 및 H2)을 포함할 수 있고, 노드(202)는 포트들(H3 및 H4)을 포함할 수 있고, 노드(203)는 포트들(H5 및 H6)을 포함할 수 있고, 노드(204)는 포트들(H7 및 H8)을 포함할 수 있다.
추가적으로, 각 스위치는 다수의 스위치 포트들을 가질 수 있다. 예를 들면, 루트 스위치(231)는 스위치 포트들(1-2)을 가질 수 있고, 루트 스위치(232)는 스위치 포트들(3-4)을 가질 수 있고, 루트 스위치(233)는 스위치 포트들(5-6)을 가질 수 있고, 루트 스위치(234)는 스위치 포트들(7-8)을 가질 수 있다.
실시예에 따르면, 팻-트리 라우팅 메커니즘은 IB 기반 팻-트리 토폴로지들에 대한 가장 인기있는 라우팅 알고리즘 중 하나이다. 또한, 팻-트리 라우팅 메커니즘은 OFED(Open Fabric Enterprise Distribution - IB 기반 어플리케이션들을 빌드하고 배포하기 위한 표준 소프트웨어 스택) 서브넷 관리자, OpenSM에서 구현된다.
팻-트리 라우팅 메커니즘은 네트워크 패브릭에서 링크들에 걸쳐서 최단 경로 라우트들을 균일하게 펼치는 LFT들을 생성하는 것을 목표로 한다. 메커니즘은 인덱싱 순서로 패브릭을 순회하고 종단 노드들의 타겟 LID들 그리고 따라서 대응하는 라우트들을 각 스위치 포트에 할당한다. 동일한 리프 스위치에 연결된 종단 노드들에 대해, 인덱싱 순서는 종단 노드가 연결된 스위치 포트에 의존할 수 있다(즉, 포트 넘버링 시퀀스). 각 포트에 대해, 메커니즘은 포트 사용 카운터를 유지할 수 있고, 이 포트 사용 카운터를 사용하여 새로운 라우드가 추가될 때마다 최소 사용 포트를 선택한다.
실시예에 따르면, 파티셔닝된 서브넷에서, 공통 파티션의 멤버들이 아닌 노드들은 통신하는 것이 허용되지 않는다. 실제적으로, 이것은 팻-트리 라우팅 알고리즘에 의해 할당된 라우트들의 일부는 사용자 트래픽에 사용되지 않음을 의미한다. 문제는 팻-트리 라우팅 메커니즘이 상기 라우트들에 대한 LFT들을 다른 기능적 경로들에 대한 것과 동일한 방식으로 생성하는 경우 발생한다. 이 행동은 노드들이 인덱싱 순서로 라우팅됨에 따라, 링크들에서 밸런스를 저하시킬 수 있다. 라우팅이 파티션들에 무관하게 수행될 수 있으므로, 일반적으로, 팻-트리 라우팅된 서브넷들은 파티션들 가운데에서 저조한 격리를 제공한다.
실시예에 따르면, 팻-트리는 사용가능한 네트워크 리소스들로 확장할 수 있는 계층적 네트워크 토폴로지이다. 게다가, 팻-트리들은 계층의 상이한 레벨들에 위치된 미가공 스위치(commodity switch)들을 사용하여 쉽게 빌드된다. k-ary-n-trees, Extended Generalized Fat-Trees (XGFTs), Parallel Ports Generalized Fat-Trees (PGFTs) and Real Life Fat-Trees (RLFTs)를 포함하는 팻-트리들의 상이한 변형들이 공통적으로 사용가능하다.
K-ary-n-tree는 각각 2k 포트들을 가지는, kn 종단 노드들 및 n ?P kn1 스위치들을 가지는 n 레벨 팻-트리이다. 각 스위치는 트리에서 동일한 수의 위와 아래의 연결을 가진다. XGFT 팻-트리는 스위치들에 대한 상이한 수의 위와 아래 연결들과 트리의 각 레벨에서 상이한 수의 연결들을 허용함으로써 k-ary-n-trees를 확장한다. PGFT 정의는 XGFT 토폴로지들을 더 넓히며, 스위치들 간 다수의 연결들을 허용한다. 다양한 토폴로지들이 XGFT들 및 PGFT들을 사용하여 정의될 수 있다. 그러나, 실제적 목적을 위해, PGFT의 제한된 버전인 RLFT가 오늘날의 HPC 클러스터들에서 공통적으로 발견되는 팻-트리들을 정의하기 위해 도입된다. RLFT는 팻-트리의 모든 레벨들에서 동일한 포트-카운트 스위치들을 사용한다.
입력/출력(I/O) 가상화
실시예에 따르면, I/O 가상화(IOV)는 가상 머신(VM)들이 하부 물리적 리소스들에 엑세스하게 함으로써 I/O의 사용가능성을 제공할 수 있다. 스토리지 트래픽과 서버간 통신의 조합은 단일 서버의 I/O 리소스들을 능가할 수 있는 증가된 로드를 부과하며, 그들이 데이터를 기다리게 되면서 백로그(backlog)들과 아이들 프로세서들에 이르게 한다. I/O 요청들의 수의 증가로, IOV는 사용가능성을 제공할 수 있고; (가상화된) I/O 리소스들의 성능, 확장가능성 및 유연성을 현대의 CPU 가상화에서 볼 수 있는 성능의 레벨에 맞게끔 개선할 수 있다.
실시예에 따르면, IOV는 그것이 I/O 리소스들을 공유하게 하게 하므로 VM들로부터 리소스들에 대한 보호된 엑세스를 제공하는 것이 바람직하다. IOV는 VM에 노출된 논리 디바이스를 그것의 물리적 구현으로부터 디커플링한다. 현재, 에뮬레이션, 반가상화, 다이렉트 할당(DA, direct assignment) 및 SR-IOV와 같이, 상이한 유형들의 IOV 기술들이 있다.
실시예에 따르면, IOV 기술의 한 유형은 소프트웨어 에뮬레이션이다. 소프트웨어 에뮬레이션은 디커플링된 프론트엔드/백엔드 소프트웨어 아키텍처를 허용할 수 있다. 프론트엔드는 VM에 위치된 디바이스 드라이버일 수 있으며, I/O 엑세스를 제공하기 위해 하이퍼바이저(hypervisor)에 의해 구현된 백엔트와 통신한다. 물리적 디바이스 공유 비율은 높고 VM들의 실시간 마이그레이션은 단지 몇 밀리초의 네트워크 다운타임으로 가능하다. 그러나, 소프트웨어 에뮬레이션은 추가적인, 원하지 않는 계산적 오버헤드를 초래한다.
실시예에 따르면, IOV 기술의 다른 유형은 다이렉트 디바이스 할당이다. 다이렉트 디바이스 할당은 VM들 간의 디바이스 공유가 없는 I/O 디바이스들과 VM들의 커플링을 포함한다. 다이렉트 할당 또는 디바이스 패스쓰루는 최소한의 오버헤드로 기본에 가까운 성능을 제공한다. 물리적 디바이스는 하이퍼바이저를 바이패스하고 VM에 직접적으로 부착된다. 그러나, 상기 다이렉트 디바이스 할당의 단점은 가상 머신들 간의 공유가 없으므로(하나의 물리적 네트워크 카드가 하나의 VM과 결합됨) 제한된 확장가능성이다.
실시예에 따르면, SR-IOV는 물리적 디바이스가 하드웨어 가상화를 통해 동일한 디바이스의 다수의 독립적 라이트웨이트 인스턴스들로서 나타나게 할 수 있다. 이들 인스턴스들은 패스쓰루 디바이스들로서 VM들에 할당될 수 있고, 가상 함수(VF, Virtual Function)들로서 엑세스될 수 있다. 하이퍼바이저는 (디바이스마다) 고유한, 완전히 특화된(fully featured) 물리 함수(PF, Physical Function)를 통해 디바이스에 엑세스한다. SR-IOV는 순수한 다이렉트 할당의 확장가능성 이슈를 완화시킨다. 그러나, SR-IOV에 의해 제시된 문제는 그것이 VM 마이레이션을 악화시킬 수 있다는 것이다. 이들 IOV 기술들 가운데에서, SR-IOV는 PCI Express(PCIe) 사양을 기본에 가까운 성능을 유지하면서 다수의 VM들로부터 단일의 물리적 디바이스에 대한 다이렉트 엑세스를 허용하기 위한 수단들로 확장할 수 있다. 따라서, SR-IOV는 좋은 성능과 확장가능성을 제공할 수 있다.
SR-IOV는 하나의 가상 디바이스를 각 게스트에 할당함으로써 PCIe 디바이스로 하여금 다수의 게스트들 간에 공유될 수 있는 다수의 가상 디바이스들을 노출하게 한다. 각 SR-IOV 디바이스는 적어도 하나의 물리 함수(PF) 및 하나 이상의 연관된 가상 함수(VF)를 가진다. PF는 가상 머신 모니터(VMM) 또는 하이퍼바이저에 의해 제어되는 보통의 PCIe 함수이며, 반면 VF는 라이트웨이트 PCIe 함수이다. 각 VF는 그 자체의 기본 어드레스(BAR)를 가지며, I/O 메모리 관리 유닛(IOMMU)이 상이한 VF들로/VF들로부터 트래픽 스트림들 간에 구분짓게하는 고유 요청자 ID에 할당된다. 또한, IOMMU는 메모리를 적용하고 PF와 VF들 간의 번역을 인터럽트한다.
그러나, 불행히, 다이렉트 디바이스 할당 기법들은 가상 머신들의 투명한(transparent) 실시간 마이그레이션이 데이터 센터 최적화에 바람직한 경우에 클라우드 제공자들에게 장벽을 제기한다. 실시간 마이그레이션의 기본은 VM의 메모리 컨텐츠가 원격 하이퍼바이저에 복사된다는 것이다. 그 후, VM이 소스 하이퍼바이저에서 멈추며, VM의 동작은 목적지에서 재개된다. 소프트웨어 에뮬레이션 방법들을 사용하는 경우, 네트워크 인터페이스들은 가상이며 따라서 그들의 내부 상태들은 메모리에 저장되고 또한 복사된다. 따라서, 다운타임이 몇 밀리세컨으로 낮아질 수 있다.
그러나, 마이그레이션은 SR-IOV와 같은 다이렉트 디바이스 할당 기법들이 사용되는 경우 더 어려워진다. 상기 상황에서, 네트워크 인터페이스의 완전한 내부 상태는 그것이 하드웨어에 묶인 것처럼 복사될 수 없다. VM에 할당된 SR-IOV VF들이 대신 탈착되고, 실시간 마이그레이션이 실행될 것이며, 새로운 VF가 목적지에 부착될 것이다. 인피니밴드 및 SR-IOV의 경우에, 이 프로세스는 몇 초 정도의 다운타임을 초래할 수 있다. 게다가, SR-IOV 공유 포트 모델에서, VM의 어드레스는 마이그레이션 이후에 변경될 것이며, SM에서 추가적인 오버헤드와 하부 네트워크 패브릭의 성능에 부정적 영향을 야기한다.
인피니밴드 SR-IOV 아키텍처 - 공유 포트
상이한 유형의 SR-IOV 모델들 예를 들어, 공유 포트 모델, 가방 스위치 모델 및 가상 포트 모델이 있을 수 있다.
도 4는 실시예에 따른 대표적인 공유된 포트 아키텍처를 도시한다. 도면에 도시된 바와 같이, 호스트(300)(예를 들어, 호스트 채널 어댑터)는 하이퍼바이저(310)와 인터렉션할 수 있고, 이는 다양한 가상 함수들(330, 340, 350)을 다수의 가상 머신들에 할당할 수 있다. 또한, 물리 함수가 하이퍼바이저(310)에 의해 핸들링될 수 있다.
실시예에 따르면, 도 4에 도시된 것과 같은 공유 포트 아키텍처를 사용하는 경우, 호스트 예를 들어, HCA는 네트워크에서 단일 공유 LID 및 물리 함수(320)과 가상 함수들(330, 340, 350) 간에 공유 큐쌍(QP) 공간을 가지는 단일 포트로서 나타난다. 그러나, 각 함수(즉, 물리 함수 및 가상 함수들)는 그들 자체의 GID를 가질 수 있다.
도 4에 도시된 바와 같이, 실시예에 따르면, 상이한 GID들이 가상 함수들 및 물리 함수에 할당될 수 있고, 특수 큐쌍들(QP0 및 QP1)(즉, 인피니밴드 관리 패킷들로 사용되는 특수 목적 큐쌍들)이 물리 함수에 의해 소유된다. 이들 QP들은 VF들에도 노출되며, 그러나 VF들은 QP0(VF들로부터 QP0으로 오는 모든 SMP들은 폐기됨)을 사용할 수 없으며, QP1은 PF에 의해 소유되는 실제 QP1의 프록시로서 동작할 수 있다.
실시예에 따르면, 공유 포트 아키텍처는 LID 공간이 네트워크에서 물리적 머신들 및 스위치들에 의해서만 소비됨에 따라 (가상 함수들에 할당됨으로써 네트워크에 부착되는) VM들의 수가 제한되지 않는, 많이 확장가능한 데이터 센터들을 허용한다.
그러나, 공유 포트 아키텍처의 단점은 유연한 VM 배치에 대한 잠재력을 저해하는, 투명한 실시간 마이그레이션의 제공을 할 수 없는 것이다. 각 LID가 특정 하이퍼바이저와 연관되고 하이퍼바이저에 상주하는 모든 VM들에 공유됨 따라, VM을 마이그레이션하는 것(즉, 목적지 하이퍼바이저로 마이그레이션하는 가상 머신)은 목적지 하이퍼바이저의 LID로 변경된 그것의 LID를 가져야 한다. 추가로, 제한된 QP0 엑세스의 결과로서, 서브넷 관리자는 VM을 내부 실행할 수 없다.
인피니밴드 SR-IOV 아키텍처 모델들 - 가상 스위치(vSwithch)
도 5는 실시예에 따른 대표적인 vSwithch 아키텍처를 도시한다. 도면에 도시된 바와 같이, 호스트(400)(예를 들어, 호스트 채널 어댑터)는 하이퍼바이저(410)와 인터렉션할 수 있고, 이는 다양한 가상 함수들(430, 440, 450)을 다수의 가상 머신들에 할당할 수 있다. 또한, 물리 함수가 하이퍼바이저(410)에 의해 핸들링될 수 있다. 또한, 가상 스위치(415)는 하이퍼바이저(401)에 의해 핸들링될 수 있다.
실시예에 따르면, vSwithch 아키텍처에서, 각 가상 함수(430, 440, 450)는 완전한 가상 호스트 채널 어댑터(vHCA)이며, VF에 할당된 VM이 IB 어드레스들의 완전한 세트(예를 들어, GID, GUID, LID) 및 하드웨어에서 전용 QP 공간에 할당되었다는 것을 의미한다. 나머지 네트워크와 SM에 대해, HCA(400)는 가상 스위치(415)를 통해 스위치에 연결된 추가 노드들을 가지는 스위치처럼 보인다. 하이퍼바이저(410)는 PF(420)를 사용할 수 있고, VM들(가상 함수들에 부착된)은 VF들을 사용한다.
실시예에 따르면, vSwithch 아키텍처는 투명한 가상화를 제공한다. 그러나, 각 가상 함수가 고유 LID에 할당되기 때문에 사용가능한 LID들의 수는 급속히 소비된다. 또한, 사용 중인 많은 LID 어드레스들(즉, 각 물리 함수와 각 가상 함수에 대해 각각 하나씩)로, 더 많은 통신 경로들이 SM에 의해 계산되어야 하며, 더 많은 서브넷 관리자 패킷(SMP)들이 그들의 LFT들을 업데이트하기 위해 스위치들에 보내져야만 한다. 예를 들면, 통신 경로들의 계산은 대형 네트워크들에서 몇 분이 걸릴 수 있다. LID 공간이 49151 유니캐스트 LID들로 제한되기 때문에, 그리고 각 VM(VF를 통한) 물리 노드 및 스위치가 각각 하나의 LID를 차지함에 따라, 네트워크에서 물리 노드들과 스위치들의 수는 활성 VM들의 수에 제한되며, 그 역 또한 같다.
인피니밴드 SR-IOV 아키텍처 모델들 - 가상 포트(vPort)
도 6은 실시예에 따른 대표적인 vPort 개념을 도시한다. 도면에 도시된 바와 같이, 호스트(300)(예를 들어, 호스트 채널 어댑터)는 하이퍼바이저(410)와 인터렉션할 수 있고, 이는 다양한 가상 함수들(330, 340, 350)을 다수의 가상 머신들에 할당할 수 있다. 또한, 물리 함수가 하이퍼바이저(310)에 의해 핸들링될 수 있다.
실시예에 따르면, vPort 개념은 벤더들에게 구현의 자유를 주기위해 느슨하게 정의되며(예를 들어, 정의가 상기 구현이 SRIOV에 특정적일 것을 강제하지 않음), vPort의 목적이 VM들이 서브넷들에서 핸들링되는 방식을 표준화하는 것이다. vPort 개념으로, 공간 및 성능 도메인들 둘 모두에서 더 확장가능한 공유 포트 유사 및 vSwithch 유사 SR-IOV 아키텍처 둘 모두 또는 그들의 조합이 정의될 수 있다. vPort는 선택적 LID들을 지원하며, 공유 포트와 달리, SM은 vPort 가 전용 LID를 사용하지 않더라도 서브넷에서 사용가능한 모든 vPort들을 인식한다.
인피니밴드 SR-IOV 아키텍처 모델들 - 미리 채워진 LID들을 가지는 vSwithch
실시예에 따르면, 본 개시는 미리 채워진 LID들을 가지는 vSwithch 아키텍처를 제공하기 위한 시스템 및 방법을 제공한다.
도 7은 실시예에 따른 미리 채워진 LID(prepopulated LID)들을 가지는 대표적인 vSwithch 아키텍처를 도시한다. 도면에 도시된 바와 같이, 다수의 스위치들(501-504)은 인피니밴드 패브릭과 같은 패브릭의 멤버들 사이에서 네트워크 스위칭된 환경(600)(예를 들어, IB 서브넷) 내의 통신을 제공할 수 있다. 패브릭은 호스트 채널 어댑터(510, 520, 530)와 같은 다수의 하드웨어 디바이스들을 포함할 수 있다. 호스트 채널 어댑터(510, 520, 530) 각각은 차례로 하이퍼바이저(511, 521 및 531)과 각각 인터렉션할 수 있다. 각 하이퍼바이저는 차례로, 그것이 인터렉션하는 호스트 채널 어댑터와 함께 다수의 가상 함수들(514, 515, 516, 524, 525, 526, 534, 535, 536)을 셋업하고 다수의 가상 머신들에 할당할 수 있다. 예를 들면, 가상 머신 1(550)은 하이퍼바이저(511)에 의해 가상 함수 1(514)에 할당될 수 있다. 추가적으로, 하이퍼바이저(511)는 가상 머신 2(551)에 가상 함수 2(515), 가상 머신 3(552)에 가상 함수 3(516)을 할당할 수 있다. 하이퍼바이저(531)는 차례로 가상 머신 4(553)에 가상 함수 1(534)을 할당할 수 있다. 하이퍼바이저들은 호스트 채널 어댑터들 각각에서 완전히 특화된 물리 함수(513, 523, 533)를 통해 호스트 채널 어댑터에 엑세스할 수 있다.
실시예에 따르면, 스위치들(501-504) 각각은 다수의 포트들(도시되지 않음)을 포함할 수 있고, 이들은 네트워크 스위칭된 환경(600) 내에서 트래픽을 안내하기 위해 리니어 포워딩 테이블을 설정하는데 사용될 수 있다.
실시예에 따르면, 가상 스위치들(512, 522 및 532)은 그들 각각의 하이퍼바이저들(511, 521, 531)에 의해 핸들링될 수 있다. vSwithch 아키텍처에서, 각 가상 함수는 완전한 가상 호스트 채널 어댑터(vHCA)이며, VF에 할당된 VM이 IB 어드레스들의 완전한 세트(예를 들어, GID, GUID, LID) 및 하드웨어에서 전용 QP 공간에 할당되었다는 것을 의미한다. 나머지 네트워크와 SM에 대해(도시되지 않음), HCA들(510, 520 및 530)은 가상 스위치들을 통해 스위치들에 연결된 추가 노드들을 가지는 스위치처럼 보인다.
실시예에 따르면, 본 개시는 미리 채워진 LID들을 가지는 vSwithch 아키텍처를 제공하기 위한 시스템 및 방법을 제공한다. 도 7을 참조하면, LID들이 다양한 물리 함수들(513, 523, 533) 뿐만 아니라 가상 함수들(514-516, 524-526, 534-536)에 미리 채워진다(설사 상기 가상 함수들이 활성 가상 머신과 현재 연관되지 않았더라도). 예를 들면, 물리 함수(513)는 LID 1로 미리 채워지며, 가상 함수 1(534)는 LID 10으로 미리 채워진다. LID들은 SR-IOV vSwithch 가능 서브넷에서 네트워크가 부팅되면 미리 채워진다. 네트워크에서 모든 VF들이 VM들에 의해 차지되지 않는 경우라도, 채워진 VF들은 도 7에서 도시된 바와 같이 LID가 할당된다.
실시예에 따르면, 물리적 호스트 채널 어댑터들이 하나 이상의 포트를 가질 수 있는 것과 같이(2개의 포트들이 중복(redundancy)을 위해 공통된다), 가상 HCA들이 2개의 포트들로 표현될 수 있고 하나, 둘 이상의 가상 스위치들을 통해 외부 IB 서브넷에 연결될 수 있다.
실시예에 따르면, LID들로 미리 채워진 vSwithch 아키텍처에서, 각 하이퍼바이저는 PF를 통해 그 자신을 위해 하나의 LID를 소비할 수 있고, 각 추가적 VF를 위해 LID를 하나 더 소비할 수 있다. IB 서브넷에서 모든 하이퍼바이저들에서 사용가능한 VF들의 모든 합은 서브넷에서 실행될 수 있는 VM들의 최대량을 제공한다. 예를 들면, 서브넷에서 하이퍼바이저 당 16개의 가상 함수들을 가지는 IB 서브넷에서, 각 하이퍼바이저는 서브넷에서 17개 LID들(16개 가상 함수들 각각에 대한 하나의 LID 더하기 물리 함수에 대한 하나의 LID)을 가진다. 상기 IB 서브넷에서, 단일 서브넷에 대한 이론적 하이퍼바이저는 제한은 사용가능한 유니캐스트 LID들의 수에 의해 규율되며, 이는: 2891개(49151개의 사용가능한 LID들을 하이퍼바이저 당 17개 LID들로 나눔)이고, VM들의 총 수(즉, 제한)는 46256개(2891 하이퍼바이저들 곱하기 하이퍼바이저 당 16개 VF들)이다. (현실에서, 이들 숫자는 IB 서브넷에서 각 스위치, 라우터 또는 전용 SM 노드들도 LID를 소비하므로 실제로 더 적다). vSwithch는 그것이 LID를 PF와 공유할 수 있기 때문에 추가적 LID를 차지할 필요가 없다는 점을 주목해야 한다.
실시예에 따르면, 미리 채워진 LID들을 가지는 vSwithch 아키텍처에서, 네트워크가 처음 부팅된 때 통신 경로들이 모든 LID들에 대해 계산된다. 새로운 VM이 시작되어야 하는 경우, 시스템은 서브넷에서 새로운 LID를 추가할 필요가 없는데 이는 그렇지 않으면 가장 시간 소비하는 부분인 경로 재계산을 포함하여 네트워크의 완전한 재구성을 초래하는 동작이다. 대신에, VM의 가용가능한 포트가 하이퍼바이저들 중 하나에서 위치되고(즉, 사용가능한 가상 함수), 가상 머신은 상기 사용가능한 가상 함수에 부착된다.
실시예에 따르면, 또한 미리 채워진 LID들을 가지는 vSwithch 아키텍처는 동일한 하이퍼바이저에 의해 호스팅되는 상이한 VM들에 이르게 하는 상이한 경로를 계산하고 사용할 수 있는 능력을 허용한다. 기본적으로, 이는 상기 서브넷들 및 네트워크들이 하나의 물리 머신을 향한 대안적 경로들을 LID들이 순차적일 것을 요구하는 LMC의 제한에 묶이지 않고 제공하기 위해 LID 마스크 컨트롤(LMC) 유사 구성을 사용하게 한다. 비-순차적 LID들을 사용하는 것에 대한 자유는 VM이 마이그레이션되어야만 하고 그것의 연관된 LID를 목적지까지 나르는데 특히 유용하다.
실시예에 따르면, 미리 채워진 LID들을 가지는 vSwithch 아키텍처의 상기 이점들과 함께, 특정 고려사항들이 고려되어야 한다. 예를 들면, LID들은 SR-IOV vSwithch 가능 서브넷에서 네트워크가 부팅되면 미리 채워지기 때문에, 초기 경로 계산(예를 들어, 부팅시)이 LID들이 미리 채워지지 않은 경우보다 길어질 수 있다.
인피니밴드 SR-IOV 아키텍처 모델들 - 동적 LID 할당을 가지는 vSwithch
실시예에 따르면, 본 개시는 동적 LID 할당을 가지는 vSwithch 아키텍처를 제공하기 위한 시스템 및 방법을 제공한다.
도 8은 실시예에 따른 동적 LID 할당을 가지는 대표적인 vSwithch 아키텍처를 도시한다. 도면에 도시된 바와 같이, 다수의 스위치들(501-504)은 인피니밴드 패브릭과 같은 패브릭의 멤버들 사이에서 네트워크 스위칭된 환경(700)(예를 들어, IB 서브넷) 내의 통신을 제공할 수 있다. 패브릭은 호스트 채널 어댑터(510, 520, 530)와 같은 다수의 하드웨어 디바이스들을 포함할 수 있다. 호스트 채널 어댑터(510, 520, 530) 각각은 차례로 하이퍼바이저(511, 521, 531)과 각각 인터렉션할 수 있다. 각 하이퍼바이저는 차례로, 그것이 인터렉션하는 호스트 채널 어댑터와 함께 다수의 가상 함수들(514, 515, 516, 524, 525, 526, 534, 535, 536)을 셋업하고 다수의 가상 머신들에 할당할 수 있다. 예를 들면, 가상 머신 1(550)은 하이퍼바이저(511)에 의해 가상 함수 1(514)에 할당될 수 있다. 추가적으로, 하이퍼바이저(511)는 가상 머신 2(551)에 가상 함수 2(515), 가상 머신 3(552)에 가상 함수 3(516)을 할당할 수 있다. 하이퍼바이저(531)는 차례로 가상 머신 4(553)에 가상 함수 1(534)을 할당할 수 있다. 하이퍼바이저들은 호스트 채널 어댑터들 각각에서 완전히 특화된 물리 함수(513, 523, 533)를 통해 호스트 채널 어댑터에 엑세스할 수 있다.
실시예에 따르면, 스위치들(501-504) 각각은 다수의 포트들(도시되지 않음)을 포함할 수 있고, 이들은 네트워크 스위칭된 환경(700) 내에서 트래픽을 안내하기 위해 리니어 포워딩 테이블을 설정하는데 사용될 수 있다.
실시예에 따르면, 가상 스위치들(512, 522 및 532)은 그들 각각의 하이퍼바이저들(511, 521, 531)에 의해 핸들링될 수 있다. vSwithch 아키텍처에서, 각 가상 함수는 완전한 가상 호스트 채널 어댑터(vHCA)이며, VF에 할당된 VM이 IB 어드레스들의 완전한 세트(예를 들어, GID, GUID, LID) 및 하드웨어에서 전용 QP 공간에 할당되었다는 것을 의미한다. 나머지 네트워크와 SM에 대해(도시되지 않음), HCA들(510, 520 및 530)은 가상 스위치들을 통해 스위치들에 연결된 추가 노드들을 가지는 스위치처럼 보인다.
실시예에 따르면, 본 개시는 동적 LID 할당을 가지는 vSwithch 아키텍처를 제공하기 위한 시스템 및 방법을 제공한다. 도 8을 참조하면, LID 1을 수신하는 물리 함수(513), LID 2을 수신하는 물리 함수(523), LID 3을 수신하는 물리 함수(533)으로, LID들이 다양한 물리 함수들(513, 523, 533)에 동적으로 할당된다. 또한, 활성 가상 머신과 연관된 이들 가상 함수들은 동적으로 할당된 LID를 수신할 수 있다. 예를 들면, 가상 머신 1(550)이 활성이고 가상 함수 1(514)와 연관되기 때문에, 가상 함수(514)에 LID 5가 할당될 수 있다. 유사하게, 가상 함수 2(515), 가상 함수 3(516), 및 가상 함수 1(534)은 활성 가상 함수와 각각 연관된다. 이 때문에, 이들 가상 함수들은 가상 함수 2(515)에 할당된 LID 7, 가상 함수 3(516)에 할당된 LID 11 및 가상 함수 1(534)에 할당된 LID 9를 가지는 할당된 LID들이다. 미리 채워진 LID들을 가지는 vSwithch와 달리, 상기 가상 함수들은 LID 할당을 수신하지 않은 활성 가상 머신과 현재 연관되지 않는다.
실시예에 따르면, 동적 LID 할당으로, 초기 경로 계산이 실질적으로 감소될 수 있다. 네트워크가 처음으로 부팅되고 VM들이 존재하지 않는 경우, 상대적으로 적은 수의 LID들이 초기 경로 계산 및 LFT 분배에 사용될 수 있다.
실시예에 따르면, 물리적 호스트 채널 어댑터들이 하나 이상의 포트를 가질 수 있는 것과 같이(2개의 포트들이 중복(redundancy)을 위해 공통된다), 가상 HCA들이 2개의 포트들로 표현될 수 있고 하나, 둘 이상의 가상 스위치들을 통해 외부 IB 서브넷에 연결될 수 있다.
실시예에 따르면, 동적 LID 할당을 가지는 vSwithch를 활용하는 시스템에서 새로운 VM이 생성되는 경우, 프리 VM 슬롯이 어떤 하이퍼바이저가 새롭게 추가된 VM을 부팅할 지 결정하기 위해 찾아지고, 고유 비-사용 유니캐스트 LID 또한 찾아진다. 그러나, 네트워크에서 알려진 경로들과 새롭게 추가된 LID를 핸들링하기 위한 스위치들의 LFT들이 없다. 새롭게 추가된 VM을 핸들링하기 위해 경로들의 새로운 세트들을 계산하는 것은 수개의 VM들이 매 분마다 부팅될 수 있는 동적 환경에서 바람직하지 않다. 대형 IB 서브넷들에서, 라우트들의 새로운 세트를 계산하는 것은 몇 분이 걸릴 수 있고, 이 절차는 새로운 VM이 부팅될 때마다 반복되어야 할 수 있다.
이점적으로, 실시예에 따르면, 하이퍼바이저에서 모든 VF들이 PF와 동일한 업링크를 공유하기 때문에, 라우트들의 새로운 세트를 계산할 필요가 없다. 단지 네트워크에서 모든 물리적 스위치들의 LFT들을 통해 반복하고, VM이 생성되는 하이퍼바이저의 PF에 속하는 LID 엔트리로부터 포워딩 포트를 새롭게 추가된 LID에 복사하고, 특정한 스위치의 대응 LFT 블록을 업데이트하기 위해 단일 SMP를 전송하는 것만 요구된다. 따라서, 시스템 및 방법은 라우트의 새로운 세트를 계산할 필요가 없다.
실시예에 따르면, 동적 LID 할당 아키텍처를 가지는 vSwithch에 할당된 LID들은 순차적일 필요가 없다. 미리 채워진 LID들을 가지는 vSwithch에서 각 하이퍼바이저 상의 VM들에 할당된 LID들과 동적 LID 할당을 가지는 vSwithch를 비교하면, 동적 LID 할당 아키텍처에서 할당된 LID들은 비-순차적이고, 미리 채워진 것에서는 자연히 순차적이다. vSwithch 동적 LID 할당 아키텍처에서, 새로운 VM이 생성되면, 다음 사용가능한 LID가 VM의 라이프타임에 걸쳐서 사용된다. 반대로, 미리 채워진 LID들을 가지는 vSwithch에서, 각 VM은 대응하는 VF에 이미 할당된 LID를 상속하고, 실시간 마이그레이션들이 없는 네트워크에서, 주어진 VF에 연이어 부착된 VM들은 동일한 LID를 갖는다.
실시예에 따르면, 동적 LID 할당 아키텍처를 가지는 vSwithch는 일부 추가적인 네트워크의 비용과 런타임 SM 오버헤드에서 미리 채워진 LID들 아키텍처를 가지는 vSwithch의 결점들을 해결할 수 있다. VM이 생성될 때마다, 서브넷에서 물리적 스위치들의 LFT들은 생성된 VM과 연관된 새롭게 추가된 LID로 업데이트된다. 스위치마다 하나의 서브넷 관리 패킷(SMP)이 이 동작을 위해 송신될 필요가 있다. 또한, 각 VM이 그것의 호스트 하이퍼바이저와 동일한 경로를 사용하고 있기 때문에, LMC 유사 기능은 사용가능하지 않다. 그러나, 모든 하이퍼바이저들에 존재하는 VF들의 총량에는 제한이 없고, VF들의 수는 유니캐스트 LID 제한의 수를 초과할 수 있다. 물론, 이 경우에 모든 VF들이 활성 VM들에 동시적으로 부착되는 것은 아니지만, 유니캐스트 LID 제한에 가깝게 동작하는 경우 더 많은 여유 하이퍼바이저들과 VR들을 가지는 것은 재난 복구와 조각난 네트워크들의 최적화에 대해 유연성을 추가한다.
인피니밴드 SR-IOV 아키텍처 모델들 - 동적 LID 할당 및 미리 채워진 LID들을 가지는 vSwithch
도 9는 실시예에 따른 동적 LID 할당 및 미리 채워진 LID들을 가지는 대표적인 vSwithch 아키텍처를 도시한다. 도면에 도시된 바와 같이, 다수의 스위치들(501-504)은 인피니밴드 패브릭과 같은 패브릭의 멤버들 사이에서 네트워크 스위칭된 환경(800)(예를 들어, IB 서브넷) 내의 통신을 제공할 수 있다. 패브릭은 호스트 채널 어댑터(510, 520, 530)와 같은 다수의 하드웨어 디바이스들을 포함할 수 있다. 호스트 채널 어댑터(510, 520, 530) 각각은 차례로 하이퍼바이저(511, 521 및 531)과 각각 인터렉션할 수 있다. 각 하이퍼바이저는 차례로, 그것이 인터렉션하는 호스트 채널 어댑터와 함께 다수의 가상 함수들(514, 515, 516, 524, 525, 526, 534, 535, 536)을 셋업하고 다수의 가상 머신들에 할당할 수 있다. 예를 들면, 가상 머신 1(550)은 하이퍼바이저(511)에 의해 가상 함수 1(514)에 할당될 수 있다. 하이퍼바이저(511)는 가상 머신 2(551)을 가상 함수 2(515)에 추가적으로 할당할 수 있다. 하이퍼바이저(521)는 가상 머신 3(552)을 가상 함수 3(526)에 할당할 수 있다. 하이퍼바이저(531)는 차례로 가상 머신 4(553)에 가상 함수 2(535)을 할당할 수 있다. 하이퍼바이저들은 호스트 채널 어댑터들 각각에서 완전히 특화된 물리 함수(513, 523, 533)를 통해 호스트 채널 어댑터에 엑세스할 수 있다.
실시예에 따르면, 스위치들(501-504) 각각은 다수의 포트들(도시되지 않음)을 포함할 수 있고, 이들은 네트워크 스위칭된 환경(800) 내에서 트래픽을 안내하기 위해 리니어 포워딩 테이블을 설정하는데 사용될 수 있다.
실시예에 따르면, 가상 스위치들(512, 522 및 532)은 그들 각각의 하이퍼바이저들(511, 521, 531)에 의해 핸들링될 수 있다. vSwithch 아키텍처에서, 각 가상 함수는 완전한 가상 호스트 채널 어댑터(vHCA)이며, VF에 할당된 VM이 IB 어드레스들의 완전한 세트(예를 들어, GID, GUID, LID) 및 하드웨어에서 전용 QP 공간에 할당되었다는 것을 의미한다. 나머지 네트워크와 SM에 대해(도시되지 않음), HCA들(510, 520 및 530)은 가상 스위치들을 통해 스위치들에 연결된 추가 노드들을 가지는 스위치처럼 보인다.
실시예에 따르면, 본 개시는 동적 LID 할당과 미리 채워진 LID들을 가지는 하이브리드 vSwithch 아키텍처를 제공하기 위한 시스템 및 방법을 제공한다. 도 9를 참조하면, 하이퍼바이저(511)는 미리 채워진 LID들 아키텍처를 가지는 vSwithch로 배열될 수 있고, 하이퍼바이저(521)는 미리 채워진 LID들 및 동적 LID 할당을 가지는 vSwithch로 배열될 수 있다. 하이퍼바이저(531)는 동적 LID 할당을 가지는 vSwithch로 배열될 수 있다. 따라서, 물리 함수(513) 및 가상 함수들(514-516)은 미리 채워진 그들의 LID들을 가진다(즉, 활성 가상 머신에 부착되지 않은 상기 가상 함수들에 LID가 할당되더라도). 물리 함수(523) 및 가상 함수 1(524)는 미리 채워진 그들의 LID들을 가질 수 있고, 가상 함수 2 및 3(525 및 526)은 동적으로 할당된 그들의 LID들을 가질 수 있다(즉, 가상 함수 2(525)는 동적 LID 할당에 사용가능하며, 가상 함수 3(526)은 가상 머신들 3(552)에 부착됨에 따라 11의 동적으로 할당된 LID를 가진다.) 마지막으로, 하이퍼바이저 3(531)과 연관된 함수들(물리 함수 및 가상 함수들)은 동적으로 할당된 그들의 LID들을 가질 수 있다. 이는 가상 함수들 1과 3(534 및 536)이 동적 LID 할당에 사용가능하게 하며, 가상 함수 2(535)는 가상 머신 4(553)이 거기에 부착됨에 따라 9의 동적으로 할당된 LID를 가진다.
실시예에 따르면, 도 9에 도시된 바와 같이, 미리 채워진 LID들을 가지는 vSwithch와 동적 LID 할당을 가지는 vSwithch 둘 모두 활용되는 경우, 호스트 채널 어댑터 당 미리 채워진 LID들의 수는 패브릭 어드민에 의해 정의될 수 있고, 0 <= 미리 채워진 VF들 <= (호스트 채널 어댑터 당) 총 VF들의 범위 내일 수 있고, 동적 LID 할당에 사용가능한 VF들이 미리 채워진 VF들의 수를 (호스트 채널 어댑터 당) VF들의 총 수에서 뺌으로써 찾아질 수 있다.
실시예에 따르면, 물리적 호스트 채널 어댑터들이 하나 이상의 포트를 가질 수 있는 것과 같이(2개의 포트들이 중복(redundancy)을 위해 공통된다), 가상 HCA들이 2개의 포트들로 표현될 수 있고 하나, 둘 이상의 가상 스위치들을 통해 외부 IB 서브넷에 연결될 수 있다.
인피니밴드 - 인터-서브넷 통신(패브릭 관리자)
실시예에 따르면, 단일 서브넷 내에서 인피니밴드 패브릭을 제공하는 것에 더하여, 현재 개시의 실시예들은 2 이상의 서브넷들로 확장하는 인피니밴드 패브릭 또한 제공한다.
도 10은 실시예에 따른 대표적인 멀티 서브넷 인피니밴드 패브릭을 도시한다. 도면에 도시된 바와 같이, 서브넷 A(1000) 내에서, 다수의 스위치들(1001-1004)은 인피니밴드 패브릭과 같은 패브릭의 멤버들 사이에서 서브넷 A(1000) (예를 들어, IB 서브넷) 내의 통신을 제공할 수 있다. 패브릭은 채널 어댑터(1010)와 같은 다수의 하드웨어 디바이스들을 포함할 수 있다. 호스트 채널 어댑터(1010)는 차례로 하이퍼바이저(1011)와 인터렉션할 수 있다. 하이퍼바이저는 차례로, 그것이 인터펙션 하는 호스트 채널 어댑터와 함께, 다수의 가상 함수들(1014)를 셋업할 수 있다. 가상 머신 1(1015)에 가상 함수 1(1014)가 할당되는 것과 같이, 하이퍼바이저는 가상 머신들을 각각의 가상 함수들에 추가적으로 할당할 수 있다. 하이퍼바이저는 호스트 채널 어댑터들 각각에서 물리 함수(1013)과 같은 완전히 특화된 물리 함수를 통해 그들의 연관된 호스트 채널 어댑터에 엑세스할 수 있다. 서브넷 B(1040) 내에서, 다수의 스위치들(1021-1024)은 인피니밴드 패브릭과 같은 패브릭의 멤버들 사이에서 서브넷 B(1040) (예를 들어, IB 서브넷) 내의 통신을 제공할 수 있다. 패브릭은 채널 어댑터(1030)와 같은 다수의 하드웨어 디바이스들을 포함할 수 있다. 호스트 채널 어댑터(1030)는 차례로 하이퍼바이저(1031)와 인터렉션할 수 있다. 하이퍼바이저는 차례로, 그것이 인터펙션 하는 호스트 채널 어댑터와 함께, 다수의 가상 함수들(1034)를 셋업할 수 있다. 가상 머신 2(1035)에 가상 함수 2(1034)가 할당되는 것과 같이, 하이퍼바이저는 가상 머신들을 각각의 가상 함수들에 추가적으로 할당할 수 있다. 하이퍼바이저는 호스트 채널 어댑터들 각각에서 물리 함수(1033)과 같은 완전히 특화된 물리 함수를 통해 그들의 연관된 호스트 채널 어댑터에 엑세스할 수 있다. 단지 하나의 호스트 채널 어댑터가 각 서브넷(즉, 서브넷 A 및 서브넷 B) 내에 도시되었지만, 복수의 호스트 채널 어댑터들 및 그들의 대응 컴포넌트들이 각 서브넷 내에 포함될 수 있다.
실시예에 따르면, 호스트 채널 어댑터들의 각각은 추가적으로 가상 스위치(1012) 및 가상 스위치(1032)와 같은 가상 스위치와 연관될 수 있고, 각 HCA는 상기 논의된 바와 같이 상이한 아키텍처 모델로 셋업될 수 있다. 도 10 내의 서브넷들 모두가 미리 채워진 LID 아키텍처 모델을 가지는 vSwithch를 사용하는 것으로 도시되었지만, 이는 모든 서브넷 구성들이 유사한 아키텍처 모델을 따라야만 한다고 암시하는 것을 의도하지 않는다.
실시예에 따르면, 라우터(1005)와 연관되는 서브넷 A(1000) 내의 스위치(1002), 라우터(1006)와 연관되는 서브넷 B(1040) 내의 스위치(1021)와 같이, 각 서브넷 내의 적어도 하나의 스위치는 라우터와 연관될 수 있다.
실시예에 따르면, 적어도 하나의 디바이스(예를 들어, 스위치, 노드 등)는 패브릭 관리자(도시되지 않음)와 연관될 수 있다. 패브릭 관리자는 예를 들면, 상호-서브넷 패브릭 토폴로지를 발견하고, 패브릭 프로필(예를 들어, 가상 머신 패브릭 프로필)을 생성하고, 가상 머신 패브릭 프로필을 빌드하기 위한 기초를 형성하는 가상 머신 관련 데이터베이스 오브젝트들을 빌드하는데 사용될 수 있다. 추가로, 패브릭 관리자는 어떤 서브넷들이 어떤 파티션 번호를 사용하는 어떤 라우터 포트들을 통해 통신할 수 있는지 적법한 상호-서브넷 연결을 정의할 수 있다.
실시예에 따르면, 서브넷 A 내의 가상 머신 1과 같은 본래의 소스에서 트래픽이 서브넷 B 내의 가상 머신 2와 같은 상이한 서브넷의 목적지에 어드레스된 경우, 상기 트래픽은 서브넷 A 내의 라우터 즉, 라우터(1005)에 어드레스될 수 있고, 그 후 상기 트래픽을 그것의 라우터(1006)과의 링크를 통해 서브넷 B로 패스할 수 있다.
가상 듀얼 포트 라우터
실시예에 따르면, 듀얼 포트 라우터 추상화는 서브넷-대-서브넷 라우터 기능이 보통의 LRH 기반 스위칭에 더아혀 GRH(글로벌 라우트 헤더)를 LRH(로컬 라우트 헤더) 변환을 하기 위한 능력을 갖는 스위치 하드웨어 구현에 기초하여 정의되게 하는 단순한 방법을 제공할 수 있다.
실시예에 따르면, 가상 듀얼 포트 라우터는 대응하는 스위치 포트 외부에 논리적으로 연결될 수 있다. 이 가상 듀얼 포트 라우터는 인피니밴드 사양 호환 뷰를 서브넷 관리자와 같은 표준 관리 엔터티에 제공할 수 있다.
실시예에 따르면, 상이한 서브넷들을 암시하는 듀얼 포트 라우터 모델은 부정확하게 연결된 서브넷들 내에서 라우팅 및 논리적 연결에 영향을 주지 않고, 각 서브넷이 패킷들의 포워딩 뿐만 아니라 서브넷에 대한 진입 경로에서 주소 맵핑을 완전히 제어하는 방식으로 연결될 수 있다.
실시예에 따르면, 부정확하게 연결된 패브릭이 관련되는 상황에서, 가상 듀얼 포트 라우터 추상화의 사용은 서브넷 관리자 및 IB 진단 소프트웨어와 같은 관리 엔터티로 하여금 원격 서브넷에 의도되지 않은 물리적 연결의 존재에서 정확하게 행동하게 한다.
도 11은 실시예에 따른 고성능 컴퓨팅 환경에서 2개의 서브넷들 간 상호연결을 도시한다. 가상 듀얼 포트 라우터를 가지는 구성 이전에, 물리적 연결(1110)을 통해, 서브넷 A(1101)에서 스위치(1120)는 스위치(1120)의 스위치 포트(1121)를 통해 서브넷 B(1102)에서 스위치(1130)에 스위치(1130)의 스위치 포트(1131)를 통해 연결될 수 있다. 상기 실시예에서, 각 스위치 포트(1121 및 1131) 둘 모두는 스위치 포트들 및 라우터 포트들로서 동작할 수 있다.
실시예에 따르면, 이 구성이 가지는 문제는 인피니밴드 서브넷에서 서브넷 관리자와 같은 관리 엔터티를 스위치 포트 및 라우터 포트 둘 다인 물리적 포트 사이에서 구별할 수 없다는 것이다. 이러한 상황에서, SM은 스위치 포트를 그 스위치 포트에 연결된 라우터 포트를 가지는 것으로서 취급할 수 있다. 그러나, 스위치 포트가 예를 들면 물리적 링크를 통해, 다른 서브넷 관리자를 가지는 다른 서브넷에 연결되면, 상기 서브넷 관리자는 디스커버리 메시지를 물리적 링크에 전송할 수 있다. 그러나, 그러한 디스커버리 메시지는 다른 서브넷에서 허용될 수 없다.
도 12는 실시예에 따른 고성능 컴퓨팅 환경에서 듀얼 포트 가상 라우터 구성을 통한 2개의 서브넷들 간 상호연결을 도시한다.
실시예에 따르면, 구성 이후에, 듀얼 포트 가상 라우터 구성이 제공되어 서브넷 관리자가 적절한 종단 노드를 보게 하며, 상기 서브넷 관리자가 책임지는 상기 서브넷의 종단을 보여준다.
실시예에 따르면, 서브넷 A(1201)의 스위치(1220)에서, 스위치 포트는 가상 링크(1223)를 통해 가상 라우터(1210)의 라우터 포트(1211)에 연결될 수 있다(즉, 논리적으로 연결). 실시예에서, 스위치(1220)에 외부적인 것으로서 도시되었지만 스위치(1220) 내에 논리적으로 포함될 수 있는 가상 라우터(1210)(예를 들어, 듀얼 포트 가상 라우터)는 제2 라우터 포트, 라우터 포트 II(1212) 또한 포함할 수 있다. 실시예에 따르면, 서브넷 B(1202)의 가상 라우터(1230)에 포함된 라우터 포트II(1212) 및 라우터 포트II(1232)를 통해, 2개의 종단부를 가질 수 있는 물리적 링크(1203)는 물리적 링크의 제1 단부를 통해 서브넷 A(1201)를 물리적 링크의 제2 단부를 통해 서브넷 B(1202)에 연결할 수 있다. 가상 라우터(1230)는 가상 링크(1233)를 통해 스위치(1240) 상의 스위치 포트(1241)에 연결될 수 있는(즉, 논리적으로 연결) 라우터 포트(1231)를 추가적으로 포함할 수 있다.
실시예에 따르면, 서브넷 A 상의 서브넷 관리자(도시되지 않음)는 가상 라우터(1210)에서 라우터 포트(1211)를 서브넷 관리자가 제어하는 서브넷의 종단점으로서 검출할 수 있다. 듀얼 포트 가상 라우터 추상화는 서브넷 A의 서브넷 관리자로 하여금 서브넷 A를 일반적인 방식(예를 들어, 인피니밴드 사양별로 정의된 바와 같이)으로 다루게 한다. 서브넷 관리자 에이전트 레벨에서, 듀얼 포트 가상 라우터 추상화는 SM이 보통의 스위치 포트를 보고, 그 후 SMA 레벨에서, 스위치 포트에 연결된 다른 포트가 있고, 이 포트는 듀얼 포트 가상 라우터에서 라우터 포트인 추상화를 보도록 제공될 수 있다. 로컬 SM에서, 통상적인 패브릭 토폴로지는 계속 사용될 수 있고(SM이 포트를 토폴로지에서 표준 스위치 포트로서 봄), 따라서 SM은 라우터 포트를 종단 포트로서 본다. 물리적 연결이 2개의 상이한 서브넷들에서 라우터 포트들로서 또한 구성된 2개의 스위치 포트들 간에 이루어질 수 있다.
실시예에 따르면, 듀얼 포트 가상 라우터는 물리적 링크가 동일 서브넷에서 어떤 다른 스위치 포트에 또는 다른 서브넷에 대한 연결을 제공하기 위해 의도되지 않은 스위치 포트에 잘못 연결될 수 있는 이슈를 해결할 수 있다. 그러므로, 본 명세서에 기술된 방법들 및 시스템들은 서브넷 밖에 무엇이 있는지의 표현을 제공한다.
실시예에 따르면, 서브넷 A와 같은 서브넷 내에서, 로컬 SM은 스위치 포트를 결정하고, 상기 스위치 포트에 연결된 라우터 포트를 결정한다(예를 들어,가상 링크(1223)를 통해 스위치 포트(1221)에 연결된 라우터 포트(1211)). SM이 라우터 포트(1211)를 SM이 관리하는 서브넷의 종단으로 보기 때문에, SM은 이 지점을 넘어 디스커버리 및/또는 관리 메시지들을 보낼 수 없다(예를 들어, 라우터 포트II(1212)로).
실시예에 따르면, 상기 기술된 듀얼 포트 가상 라우터는 듀얼 포트 가상 라우터 추상화가 듀얼 포트 가상 라우터가 속한 서브넷 내에서 관리 엔터티(예를 들어, SM 또는 SMA)에 의해 전체적으로 관리되는 이점을 제공한다. 로컬 사이드에서 단독적인 관리를 허용함으로써, 시스템은 외부적, 독립적 관리 엔터티를 제공할 필요가 없다. 즉, 서브넷 대 서브넷 연결의 각 사이드는 그 자신의 듀얼 포트 가상 라우터를 구성할 책임을 질 수 있다.
실시예에 따르면, 원격 목적지에 어드레스된 SMP와 같은 패킷이 상기 기술된 듀얼 포트 가상 라우터를 통해 구성되지 않은 로컬 타겟 포트에 도착하는 상황에서, 로컬 포트는 라우터 포트가 아님을 특정하는 메시지를 리턴할 수 있다.
본 발명의 많은 구성들이 하드웨어, 소프트웨어, 펌웨어 또는 그들의 조합을 사용하여 또는 그 도움으로 수행될 수 있다. 결과적으로, 본 발명의 구성들은 프로세싱 시스템(예를 들어, 하나 이상의 프로세서들을 포함하는)을 사용하여 구현될 수 있다.
도 13은 실시예에 따른 고성능 컴퓨팅 환경에서 듀얼 포트 가상 라우터를 지원하기 위한 방법을 도시한다. 단계(1310)에서, 방법은 제1 서브넷을 제공하는 단계, 상기 제1 서브넷은: 복수의 스위치들, 상기 복수의 스위치들은 적어도 하나의 리프 스위치(leaf switch)를 포함하며, 상기 복수의 스위치들 각각은 복수의 스위치 포트들을 포함하며, 복수의 호스트 채널 어댑터들, 각 호스트 채널 어댑터는 적어도 하나의 호스트 채널 어댑터 포트를 포함하며, 복수의 종단 노드들, 상기 종단 노드들 각각은 상기 복수의 호스트 채널 어댑터들 중 적어도 하나의 호스트 채널 어댑터와 연관되며, 및 서브넷 관리자를 포함하며, 상기 서브넷 관리자는 상기 복수의 스위치들의 스위치 및 상기 복수의 호스트 채널 어댑터들 중 하나에서 실행된다.
단계(1320)에서, 상기 방법은 복수의 스위치들 중 하나의 스위치 상의 복수의 스위치 포트들 중 하나의 스위치 포트를 라우터 포트로서 구성할 수 있다.
단계(1330)에서, 상기 라우터 포트로서 구성된 상기 스위치 포트를 가상 라우터에 논리적으로 연결할 수 있고, 상기 가상 라우터는 적어도 2개의 가상 라우터 포트들을 포함한다.
본 발명의 구성들은 프로세싱 시스템이 본 명세서에 제시된 임의의 구성들을 수행하도록 프로그래밍하는데 사용되는 명령어들이 저장된 저장 매체(매체들) 또는 컴퓨터 판독가능 매체(매체들)인 컴퓨터 프로그램 물을 사용하여 또는 그 도움으로 구현될 수 있다. 저장 매체는 플로피 디스크, 광학 디스크, DVD, CD-ROM, 마이크로드라이브, 및 자기광학 디스크, ROM, RAM, EPROM, EEPROM, DRAM, VRAM, 플래시 메모리 디바이스, 자기 또는 광학 카드, 나노시스템(분자 메모리 IC 포함)을 포함하는 임의의 유형의 디스크 또는 명령어들 및/또는 데이터를 저장하기에 적절한 임의의 유형의 매체들 또는 디바이스를 포함하지만, 이에 한정되지는 않는다.
기계 판독가능 매체(매체들) 중 임의의 것에 저장된 본 발명의 구성들은 프로세싱 시스템의 하드웨어를 제어하고, 프로세싱 시스템으로 하여금 본 발명의 결과를 활용하는 다른 메커니즘와 인터렉션하게 하는 소프트웨어 및/또는 펌웨어에 통합될 수 있다. 상기 소프트웨어 또는 펌웨어는 어플리케이션 코드, 디바이스 드라이버, 운영 체제 및 실행 환경/컨테이너를 포함할 수 있으나, 이에 한정되지는 않는다.
본 발명의 구성들은 예를 들면, 주문형 집적회로들(ASIC)과 같은 하드웨어 컴포넌트들을 사용하는 하드웨어에서 구현될 수 있다. 본 명세서에 기술된 기능들을 수행하기 위한 하드웨어 상태 기계의 구현이 통상의 기술자에게 명백해질 것이다.
추가적으로, 본 발명은 하나 이상의 프로세서들, 메모리 및/또는 본 명세서의 교시들에 따라 프로그래밍된 컴퓨터 판독가능 저장 매체를 포함하는 하나 이상의 통상적 범용 또는 특수화된 디지털 컴퓨터, 컴퓨팅 디바이스, 기계 또는 마이크로프로세서를 사용하여 통상적으로 구현될 수 있다. 통상의 소프트웨어 분야의 기술자에게 명백해질 것과 같이, 본 명세서의 교시에 기초하여 적절한 소프트웨어 코딩이 숙련된 프로그래머들에 의해 쉽게 준비될 수 있다.
본 발명의 다양한 실시예들이 상기 기술되었지만, 그들은 제한이 아닌 예시로서 제시되었다는 것이 이해되어야만 한다. 형태와 세부내용의 다양한 변화들이 본 발명의 정신과 범위로부터 벗어나지 않고 이루어질 수 있다는 것이 통상의 기술자에게 명백해질 것이다.
본 발명이 특정 기능의 수행 및 그들의 관계를 도시하는 기능적 빌딩 블록들의 도움으로 앞서 기술되었다. 이들 기능적 빌딩 블록들의 경계들은 종종 설명의 편의상 임의적으로 정의되었다. 특정 기능 및 그들의 관계가 적절하게 수행되는 한 대안적 경계들도 정의될 수 있다. 따라서, 임의의 그러한 대안적 경계들은 본 발명의 범위와 정신 내에 있다.
본 발명의 상기 기술은 도시와 설명의 목적으로 제공되었다. 이는 전체적으로 빠짐 없다거나 개시된 정확한 형태로 발명을 제한하는 것으로 의도되지 않았다. 본 발명의 폭과 범위는 임의의 상기 기술된 대표적 실시예들에 의해 제한되어서는 안된다. 많은 수정 및 변형이 통상의 기술자에게 명백해질 것이다. 상기 수정 및 변형은 개시된 구성들의 임의의 관련 조합을 포함한다. 실시예들은 본 발명의 원리 및 그것의 실제적 적용을 가장 잘 설명하기 위해 선택되고 기술되었고, 그에 따라 통상의 기술자가 다양한 실시예들 및 고려된 특정 사용에 적절한 다양한 수정에 대해 발명을 이해할 수 있게 한다. 본 발명의 범위는 후술하는 청구항들 및 그들의 균등물에 의해 정의되는 것으로 의도되었다.

Claims (22)

  1. 고성능 컴퓨팅 환경에서 듀얼 포트 가상 라우터를 지원하기 위한 시스템으로서,
    하나 이상의 마이크로프로세서들;
    제1 서브넷을 포함하며, 상기 제1 서브넷은:
    복수의 스위치들, 상기 복수의 스위치들 각각은 복수의 스위치 포트들을 포함하며,
    복수의 호스트 채널 어댑터들, 및
    서브넷 관리자를 포함하며;
    상기 복수의 스위치들 중 하나의 스위치의 스위치 포트는 라우터 포트로서 구성되며;
    상기 라우터 포트로서 구성된 상기 스위치 포트는 가상 라우터에 논리적으로 연결되며, 상기 가상 라우터는 상기 제1 서브넷의 적어도 2개의 가상 라우터 포트들을 포함하며, 상기 라우터 포트로서 구성된 상기 스위치 포트는 상기 제1 서브넷의 상기 적어도 2개의 가상 라우터 포트들의 제1 가상 라우터 포트에 논리적으로 연결되며; 그리고
    상기 제1 서브넷은 물리적 링크를 통해 제2 서브넷과 상호연결되며, 상기 물리적 링크의 제1 단부는 상기 제1 서브넷의 상기 적어도 2개의 가상 라우터 포트들중 제2 가상 라우터 포트에 부착되며, 상기 물리적 링크의 제2 단부는 상기 제2 서브넷의 가상 라우터 포트에 부착되는 것을 특징으로 하는 시스템.
  2. 청구항 1에 있어서, 상기 제2 서브넷은:
    상기 제2 서브넷의 복수의 스위치들, 상기 제2 서브넷의 상기 복수의 스위치들 각각은 상기 제2 서브넷의 복수의 스위치 포트들을 포함하며,
    상기 제2 서브넷의 복수의 호스트 채널 어댑터들, 및
    상기 제2 서브넷의 서브넷 관리자를 포함하며,
    상기 제2 서브넷의 상기 복수의 스위치들 중 하나의 스위치 상의 상기 제2 서브넷의 스위치 포트는 상기 제2 서브넷의 라우터 포트로서 구성되며;
    상기 제2 서브넷의 상기 라우터 포트로서 구성된 상기 제2 서브넷의 상기 스위치 포트는 상기 제2 서브넷의 가상 라우터에 논리적으로 연결되며, 상기 제2 서브넷의 상기 가상 라우터는 상기 제2 서브넷의 적어도 2개의 가상 라우터 포트들을 포함하는 것을 특징으로 하는 시스템.
  3. 청구항 2에 있어서,
    상기 제2 서브넷의 상기 라우터 포트로서 구성된 상기 제2 서브넷의 상기 스위치 포트는 상기 제2 서브넷의 상기 적어도 2개의 가상 라우터 포트들 중 상기 제2 서브넷의 제1 가상 라우터 포트에 논리적으로 연결되는 것을 특징으로 하는 시스템.
  4. 청구항 3에 있어서,
    상기 물리적 링크의 제2 단부는 상기 제2 서브넷의 상기 적어도 2개의 가상 라우터 포트들 중 상기 제2 서브넷의 제2 가상 라우터 포트에 부착되는 것을 특징으로 하는 시스템.
  5. 청구항 4에 있어서,
    상기 서브넷 관리자는 상기 적어도 2개의 가상 라우터 포트들 중 상기 제1 가상 라우터 포트를 상기 제1 서브넷의 단부 포인트로서 검출하는 것을 특징으로 하는 시스템.
  6. 청구항 5에 있어서,
    상기 제2 서브넷의 상기 서브넷 관리자는 상기 제2 서브넷의 상기 제1 가상 라우터 포트를 상기 제2 서브넷의 단부 포인트로서 검출하는 것을 특징으로 하는 시스템.
  7. 고성능 컴퓨팅 환경에서 듀얼 포트 가상 라우터를 지원하기 위한 방법으로서,
    하나 이상의 마이크로프로세서들을 포함하는 하나 이상의 컴퓨터들에서,
    제1 서브넷을 제공하는 단계, 상기 제1 서브넷은:
    복수의 스위치들, 상기 복수의 스위치들 각각은 복수의 스위치 포트들을 포함하며,
    복수의 호스트 채널 어댑터들, 및
    서브넷 관리자를 포함하며;
    상기 복수의 스위치들 중 하나의 스위치 상의 하나의 스위치 포트를 라우터 포트로서 구성하는 단계;
    상기 라우터 포트로서 구성된 상기 스위치 포트를 가상 라우터에 논리적으로 연결하는 단계, 상기 가상 라우터는 적어도 2개의 가상 라우터 포트들을 포함하며, 라우터 포트로서 구성된 상기 스위치 포트는 상기 제1 서브넷의 상기 적어도 2개의 가상 라우터 포트들 중 제1 가상 라우터 포트에 연결되며; 및
    물리적 링크를 통해 상기 제1 서브넷을 제2 서브넷과 상호연결하는 단계를 포함하며, 상기 물리적 링크의 제1 단부는 상기 제1 서브넷의 상기 적어도 2개의 가상 라우터 포트들 중 제2 가상 라우터 포트에 부착되고, 상기 물리적 링크의 제2 단부는 상기 제2 서브넷의 가상 라우터 포트에 부착되는 것을 특징으로 하는 방법.
  8. 청구항 7에 있어서,
    하나 이상의 마이크로프로세서들을 포함하는 하나 이상의 컴퓨터들에서,
    상기 제2 서브넷을 제공하는 단계, 상기 제2 서브넷은:
    상기 제2 서브넷의 복수의 스위치들, 상기 제2 서브넷의 상기 복수의 스위치들 각각은 상기 제2 서브넷의 복수의 스위치 포트들을 포함하며,
    상기 제2 서브넷의 복수의 호스트 채널 어댑터들, 및
    상기 제2 서브넷의 서브넷 관리자를 포함하며;
    상기 제2 서브넷의 상기 복수의 스위치들 중 하나의 스위치 상의 상기 제2 서브넷의 스위치 포트를 상기 제2 서브넷의 라우터 포트로서 구성하는 단계를 더 포함하며;
    상기 제2 서브넷의 상기 라우터 포트로서 구성된 상기 제2 서브넷의 상기 스위치 포트는 상기 제2 서브넷의 가상 라우터에 논리적으로 연결되며, 상기 제2 서브넷의 상기 가상 라우터는 상기 제2 서브넷의 적어도 2개의 가상 라우터 포트들을 포함하는 것을 특징으로 하는 방법.
  9. 청구항 8에 있어서,
    상기 제2 서브넷의 상기 라우터 포트로서 구성된 상기 제2 서브넷의 상기 스위치 포트는 상기 제2 서브넷의 상기 적어도 2개의 가상 라우터 포트들 중 상기 제2 서브넷의 제1 가상 라우터 포트에 논리적으로 연결되는 것을 특징으로 하는 방법.
  10. 청구항 9에 있어서,
    상기 물리적 링크의 제2 단부는 상기 제2 서브넷의 상기 적어도 2개의 가상 라우터 포트들 중 상기 제2 서브넷의 제2 가상 라우터 포트에 부착되는 것을 특징으로 하는 방법.
  11. 청구항 10에 있어서,
    상기 서브넷 관리자에 의해, 상기 적어도 2개의 가상 라우터 포트들 중 상기 제1 가상 라우터 포트를 상기 제1 서브넷의 단부 포인트로서 검출하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  12. 청구항 11에 있어서,
    상기 제2 서브넷의 상기 서브넷 관리자에 의해, 상기 제2 서브넷의 상기 제1 가상 라우터 포트를 상기 제2 서브넷의 단부 포인트로서 검출하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  13. 고성능 컴퓨팅 환경에서 듀얼 포트 가상 라우터를 지원하기 위한 저장된 명령어들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 하나 이상의 컴퓨터들에 의해 판독되고 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금 단계들을 수행하게 하며, 상기 단계들은:
    하나 이상의 마이크로프로세서들을 포함하는 하나 이상의 컴퓨터들에서,
    제1 서브넷을 제공하는 단계, 상기 제1 서브넷은:
    복수의 스위치들, 상기 복수의 스위치들 각각은 복수의 스위치 포트들을 포함하며,
    복수의 호스트 채널 어댑터들, 및
    서브넷 관리자를 포함하며;
    상기 복수의 스위치들 중 하나의 스위치 상의 하나의 스위치 포트를 라우터 포트로서 구성하는 단계;
    상기 라우터 포트로서 구성된 상기 스위치 포트를 가상 라우터에 논리적으로 연결하는 단계, 상기 가상 라우터는 적어도 2개의 가상 라우터 포트들을 포함하며, 라우터 포트로서 구성된 상기 스위치 포트는 상기 제1 서브넷의 상기 적어도 2개의 가상 라우터 포트들 중 제1 가상 라우터 포트에 연결되며; 및
    물리적 링크를 통해 상기 제1 서브넷을 제2 서브넷과 상호연결하는 단계를 포함하며, 상기 물리적 링크의 제1 단부는 상기 제1 서브넷의 상기 적어도 2개의 가상 라우터 포트들 중 제2 가상 라우터 포트에 부착되고, 상기 물리적 링크의 제2 단부는 상기 제2 서브넷의 가상 라우터 포트에 부착되는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 매체.
  14. 청구항 13에 있어서, 상기 단계들은:
    하나 이상의 마이크로프로세서들을 포함하는 하나 이상의 컴퓨터들에서,
    상기 제2 서브넷을 제공하는 단계, 상기 제2 서브넷은:
    상기 제2 서브넷의 복수의 스위치들, 상기 제2 서브넷의 상기 복수의 스위치들 각각은 상기 제2 서브넷의 복수의 스위치 포트들을 포함하며,
    상기 제2 서브넷의 복수의 호스트 채널 어댑터들, 및
    상기 제2 서브넷의 서브넷 관리자를 포함하며;
    상기 제2 서브넷의 상기 복수의 스위치들 중 하나의 스위치 상의 상기 제2 서브넷의 스위치 포트를 상기 제2 서브넷의 라우터 포트로서 구성하는 단계를 더 포함하며;
    상기 제2 서브넷의 상기 라우터 포트로서 구성된 상기 제2 서브넷의 상기 스위치 포트는 상기 제2 서브넷의 가상 라우터에 논리적으로 연결되며, 상기 제2 서브넷의 상기 가상 라우터는 상기 제2 서브넷의 적어도 2개의 가상 라우터 포트들을 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 매체.
  15. 청구항 14에 있어서,
    상기 제2 서브넷의 상기 라우터 포트로서 구성된 상기 제2 서브넷의 상기 스위치 포트는 상기 제2 서브넷의 상기 적어도 2개의 가상 라우터 포트들 중 상기 제2 서브넷의 제1 가상 라우터 포트에 논리적으로 연결되는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 매체.
  16. 청구항 15에 있어서,
    상기 물리적 링크의 제2 단부는 상기 제2 서브넷의 상기 적어도 2개의 가상 라우터 포트들 중 상기 제2 서브넷의 적어도 제2 가상 라우터 포트에 부착되는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 매체.
  17. 청구항 16에 있어서, 상기 단계들은:
    상기 서브넷 관리자에 의해, 상기 적어도 2개의 가상 라우터 포트들 중 상기 제1 가상 라우터 포트를 상기 제1 서브넷의 단부 포인트로서 검출하는 단계; 및
    상기 제2 서브넷의 상기 서브넷 관리자에 의해, 상기 제2 서브넷의 상기 제1 가상 라우터 포트를 상기 제2 서브넷의 단부 포인트로서 검출하는 단계를 더 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 매체.
  18. 비일시적 컴퓨터 판독가능 저장 매체에 저장된, 프로그램 명령어들을 포함하는 컴퓨터 프로그램으로서, 상기 프로그램 명령어들은 컴퓨터 시스템에 의해 실행될 때 상기 컴퓨터 시스템으로 하여금 청구항 7 내지 12 중 어느 한 항의 방법을 수행하게 하는 것을 특징으로 하는 컴퓨터 프로그램.
  19. 컴퓨터 프로그램을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서, 상기 컴퓨터 프로그램은 컴퓨터 시스템에 의해 실행될 때. 상기 컴퓨터 시스템으로 하여금 청구항 7 내지 12 중 어느 한 항의 방법을 수행하게 하는 것을 특징으로 하는 비일시적 컴퓨터 판독가능 저장 매체.
  20. 삭제
  21. 삭제
  22. 삭제
KR1020187023750A 2016-03-04 2017-01-26 고성능 컴퓨팅 환경에서 듀얼 포트 가상 라우터를 지원하기 위한 시스템 및 방법 KR102637135B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662303646P 2016-03-04 2016-03-04
US62/303,646 2016-03-04
US15/413,143 US10171353B2 (en) 2016-03-04 2017-01-23 System and method for supporting dual-port virtual router in a high performance computing environment
US15/413,143 2017-01-23
PCT/US2017/015167 WO2017151249A1 (en) 2016-03-04 2017-01-26 System and method for supporting dual-port virtual router in a high performance computing environment

Publications (2)

Publication Number Publication Date
KR20180121505A KR20180121505A (ko) 2018-11-07
KR102637135B1 true KR102637135B1 (ko) 2024-02-19

Family

ID=59723777

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187023750A KR102637135B1 (ko) 2016-03-04 2017-01-26 고성능 컴퓨팅 환경에서 듀얼 포트 가상 라우터를 지원하기 위한 시스템 및 방법

Country Status (6)

Country Link
US (9) US10171353B2 (ko)
EP (1) EP3424191B1 (ko)
JP (1) JP6850804B2 (ko)
KR (1) KR102637135B1 (ko)
CN (2) CN112565043B (ko)
WO (1) WO2017151249A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9479457B2 (en) 2014-03-31 2016-10-25 Juniper Networks, Inc. High-performance, scalable and drop-free data center switch fabric
US10178027B2 (en) 2016-01-27 2019-01-08 Oracle International Corporation System and method for supporting inter subnet partitions in a high performance computing environment
US10581711B2 (en) 2016-01-28 2020-03-03 Oracle International Corporation System and method for policing network traffic flows using a ternary content addressable memory in a high performance computing environment
US10536334B2 (en) 2016-01-28 2020-01-14 Oracle International Corporation System and method for supporting subnet number aliasing in a high performance computing environment
US10171353B2 (en) * 2016-03-04 2019-01-01 Oracle International Corporation System and method for supporting dual-port virtual router in a high performance computing environment
WO2018004600A1 (en) 2016-06-30 2018-01-04 Sophos Limited Proactive network security using a health heartbeat
JP6929863B2 (ja) * 2016-08-23 2021-09-01 オラクル・インターナショナル・コーポレイション 高性能コンピューティング環境における高速ハイブリッド再構成をサポートするためのシステムおよび方法
US10243840B2 (en) * 2017-03-01 2019-03-26 Juniper Networks, Inc. Network interface card switching for virtual networks
US10425331B2 (en) 2017-10-04 2019-09-24 Facebook, Inc. Pre-routing device for data centers
FR3072236B1 (fr) * 2017-10-10 2020-11-27 Bull Sas Dispositif et procede d'acquisition de valeurs de compteurs associes a une tache de calcul
US11140195B2 (en) 2018-04-04 2021-10-05 Sophos Limited Secure endpoint in a heterogenous enterprise network
US10862864B2 (en) 2018-04-04 2020-12-08 Sophos Limited Network device with transparent heartbeat processing
US11616758B2 (en) 2018-04-04 2023-03-28 Sophos Limited Network device for securing endpoints in a heterogeneous enterprise network
US10972431B2 (en) 2018-04-04 2021-04-06 Sophos Limited Device management based on groups of network adapters
US11271950B2 (en) * 2018-04-04 2022-03-08 Sophos Limited Securing endpoints in a heterogenous enterprise network
US11341082B2 (en) * 2019-11-19 2022-05-24 Oracle International Corporation System and method for supporting target groups for congestion control in a private fabric in a high performance computing environment
CN111464508A (zh) * 2020-03-17 2020-07-28 中国第一汽车股份有限公司 一种会员权限管理方法、装置、设备及存储介质
JP2023137886A (ja) 2022-03-18 2023-09-29 キオクシア株式会社 ストレージ装置
CN115665026A (zh) * 2022-09-26 2023-01-31 京东科技信息技术有限公司 一种集群组网的方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040030763A1 (en) * 2002-08-08 2004-02-12 Manter Venitha L. Method for implementing vendor-specific mangement in an inifiniband device
US20050117598A1 (en) * 2003-12-01 2005-06-02 Tomoyuki Iijima VRRP technology keeping VR confidentiality

Family Cites Families (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006090A (en) 1993-04-28 1999-12-21 Proxim, Inc. Providing roaming capability for mobile computers in a standard network
US7653769B2 (en) * 2006-12-14 2010-01-26 International Business Machines Corporation Management of devices connected to infiniband ports
US7277956B2 (en) 2000-07-28 2007-10-02 Kasenna, Inc. System and method for improved utilization of bandwidth in a computer system serving multiple users
US7409432B1 (en) 2000-10-19 2008-08-05 International Business Machines Corporation Efficient process for handover between subnet managers
US6851059B1 (en) 2000-10-19 2005-02-01 International Business Machines Corporation Method and system for choosing a queue protection key that is tamper-proof from an application
US7099955B1 (en) 2000-10-19 2006-08-29 International Business Machines Corporation End node partitioning using LMC for a system area network
US7339903B2 (en) * 2001-06-14 2008-03-04 Qualcomm Incorporated Enabling foreign network multicasting for a roaming mobile node, in a foreign network, using a persistent address
US6944786B2 (en) * 2001-07-27 2005-09-13 International Business Machines Corporation Network node failover using multicast address or port
US20030208572A1 (en) 2001-08-31 2003-11-06 Shah Rajesh R. Mechanism for reporting topology changes to clients in a cluster
US7043569B1 (en) 2001-09-07 2006-05-09 Chou Norman C Method and system for configuring an interconnect device
US7093024B2 (en) * 2001-09-27 2006-08-15 International Business Machines Corporation End node partitioning using virtualization
US7099337B2 (en) * 2001-11-30 2006-08-29 Intel Corporation Mechanism for implementing class redirection in a cluster
US7221676B2 (en) 2002-07-30 2007-05-22 Brocade Communications Systems, Inc. Supporting local IB packet communication between separate subnets
US7206314B2 (en) 2002-07-30 2007-04-17 Brocade Communications Systems, Inc. Method and apparatus for transparent communication between a fibre channel network and an infiniband network
US7307996B2 (en) * 2002-07-30 2007-12-11 Brocade Communications Systems, Inc. Infiniband router having an internal subnet architecture
US7401157B2 (en) 2002-07-30 2008-07-15 Brocade Communications Systems, Inc. Combining separate infiniband subnets into virtual subnets
US7313090B2 (en) * 2002-09-26 2007-12-25 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for providing data packet flow control
US7702717B2 (en) 2003-03-27 2010-04-20 Oracle America, Inc. Method and apparatus for controlling management agents in a computer system on a packet-switched input/output network
US7373660B1 (en) * 2003-08-26 2008-05-13 Cisco Technology, Inc. Methods and apparatus to distribute policy information
US7188198B2 (en) * 2003-09-11 2007-03-06 International Business Machines Corporation Method for implementing dynamic virtual lane buffer reconfiguration
US20050071382A1 (en) 2003-09-30 2005-03-31 Rosenstock Harold N. Method of replicating database elements in an infiniband architecture subnet
US7979548B2 (en) 2003-09-30 2011-07-12 International Business Machines Corporation Hardware enforcement of logical partitioning of a channel adapter's resources in a system area network
US20050071709A1 (en) 2003-09-30 2005-03-31 Rosenstock Harold N. InfiniBand architecture subnet derived database elements
US7185025B2 (en) 2003-09-30 2007-02-27 Motorola, Inc. Subnet replicated database elements
US7428598B2 (en) 2003-11-20 2008-09-23 International Business Machines Corporation Infiniband multicast operation in an LPAR environment
US7483442B1 (en) * 2004-06-08 2009-01-27 Sun Microsystems, Inc. VCRC checking and generation
US20060056424A1 (en) 2004-09-15 2006-03-16 Yolin Lih Packet transmission using output buffer
US7581021B2 (en) * 2005-04-07 2009-08-25 International Business Machines Corporation System and method for providing multiple virtual host channel adapters using virtual switches
US7200704B2 (en) * 2005-04-07 2007-04-03 International Business Machines Corporation Virtualization of an I/O adapter port using enablement and activation functions
US8208463B2 (en) * 2006-10-24 2012-06-26 Cisco Technology, Inc. Subnet scoped multicast / broadcast packet distribution mechanism over a routed network
US8147759B2 (en) * 2007-08-29 2012-04-03 Cem Corporation Automated protein analyzer
US7936753B1 (en) 2007-11-30 2011-05-03 Qlogic, Corporation Method and system for reliable multicast
US8331381B2 (en) * 2007-12-04 2012-12-11 International Business Machines Corporation Providing visibility of Ethernet components to a subnet manager in a converged InfiniBand over Ethernet network
US7983265B1 (en) 2008-01-17 2011-07-19 Qlogic, Corporation Method and system for processing a network packet
US8009589B2 (en) 2008-02-25 2011-08-30 International Business Machines Corporation Subnet management in virtual host channel adapter topologies
US7949721B2 (en) 2008-02-25 2011-05-24 International Business Machines Corporation Subnet management discovery of point-to-point network topologies
EP2192721A1 (en) 2008-11-28 2010-06-02 Thomson Licensing A method of operating a network subnet manager
EP2401826A2 (en) 2009-02-25 2012-01-04 Spidercloud Wireless, Inc. System and method for organizing a network
JP5013219B2 (ja) 2009-02-25 2012-08-29 ブラザー工業株式会社 画像処理装置
US20110103391A1 (en) 2009-10-30 2011-05-05 Smooth-Stone, Inc. C/O Barry Evans System and method for high-performance, low-power data center interconnect fabric
US8989187B2 (en) 2010-06-04 2015-03-24 Coraid, Inc. Method and system of scaling a cloud computing network
US8761044B2 (en) * 2010-06-11 2014-06-24 Juniper Networks, Inc. Selection of multicast router interfaces in an L2 switch connecting end hosts and routers, which is running IGMP and PIM snooping
US9455898B2 (en) * 2010-09-17 2016-09-27 Oracle International Corporation System and method for facilitating protection against run-away subnet manager instances in a middleware machine environment
KR20140063507A (ko) * 2011-02-07 2014-05-27 프레지던트 앤드 펠로우즈 오브 하바드 칼리지 액적을 분할하기 위한 시스템 및 방법
US8819233B2 (en) 2011-03-11 2014-08-26 Qualcomm Incorporated System and method using a web proxy-server to access a device having an assigned network address
US8743890B2 (en) 2011-06-03 2014-06-03 Oracle International Corporation System and method for supporting sub-subnet in an infiniband (IB) network
US9935848B2 (en) 2011-06-03 2018-04-03 Oracle International Corporation System and method for supporting subnet manager (SM) level robust handling of unkown management key in an infiniband (IB) network
US8842671B2 (en) 2011-06-07 2014-09-23 Mellanox Technologies Ltd. Packet switching based on global identifier
US8862865B2 (en) 2011-08-30 2014-10-14 International Business Machines Corporation Rebooting infiniband clusters
US8879396B2 (en) * 2011-11-15 2014-11-04 Oracle International Corporation System and method for using dynamic allocation of virtual lanes to alleviate congestion in a fat-tree topology
US8880932B2 (en) 2011-11-15 2014-11-04 Oracle International Corporation System and method for signaling dynamic reconfiguration events in a middleware machine environment
US9325619B2 (en) 2011-11-15 2016-04-26 Oracle International Corporation System and method for using virtual lanes to alleviate congestion in a fat-tree topology
US8775713B2 (en) 2011-12-27 2014-07-08 Intel Corporation Multi-protocol tunneling over an I/O interconnect
US9432304B2 (en) * 2012-03-26 2016-08-30 Oracle International Corporation System and method for supporting live migration of virtual machines based on an extended host channel adaptor (HCA) model
US9311122B2 (en) * 2012-03-26 2016-04-12 Oracle International Corporation System and method for providing a scalable signaling mechanism for virtual machine migration in a middleware machine environment
JP6267191B2 (ja) 2012-05-10 2018-01-24 オラクル・インターナショナル・コーポレイション ネットワーク環境において状態の同期をサポートするためのシステムおよび方法
US9264382B2 (en) * 2012-05-11 2016-02-16 Oracle International Corporation System and method for routing traffic between distinct infiniband subnets based on fat-tree routing
US10451437B2 (en) 2012-05-21 2019-10-22 Amer Sports Digital Services Oy Method for determining a measurable target variable and corresponding system
US9385949B2 (en) 2012-12-20 2016-07-05 Mellanox Technologies Tlv Ltd. Routing controlled by subnet managers
US9331936B2 (en) * 2012-12-30 2016-05-03 Mellanox Technologies Ltd. Switch fabric support for overlay network features
US9160659B2 (en) 2013-02-26 2015-10-13 Red Hat Israel, Ltd. Paravirtualized IP over infiniband bridging
US10404621B2 (en) * 2013-03-15 2019-09-03 Oracle International Corporation Scalable InfiniBand packet-routing technique
US9990221B2 (en) * 2013-03-15 2018-06-05 Oracle International Corporation System and method for providing an infiniband SR-IOV vSwitch architecture for a high performance cloud computing environment
US9258254B2 (en) 2013-03-15 2016-02-09 Oracle International Corporation Virtual router and switch
US9268798B2 (en) 2013-04-26 2016-02-23 Oracle International Corporation Support for cloud-based multi-tenant environments using connection labeling
US9785687B2 (en) 2013-06-06 2017-10-10 Oracle International Corporation System and method for transparent multi key-value weighted attributed connection using uni-tag connection pools
US9525597B2 (en) * 2013-06-06 2016-12-20 Dell Products, L.P. System and method for base topology selection
US9747341B2 (en) 2013-06-06 2017-08-29 Oracle International Corporation System and method for providing a shareable global cache for use with a database environment
US9577956B2 (en) 2013-07-29 2017-02-21 Oracle International Corporation System and method for supporting multi-homed fat-tree routing in a middleware machine environment
CN103457844B (zh) 2013-08-12 2016-12-28 中国石油天然气股份有限公司 多Infiniband网关的vNIC绑定方法
US20150085868A1 (en) * 2013-09-25 2015-03-26 Cavium, Inc. Semiconductor with Virtualized Computation and Switch Resources
US9548960B2 (en) * 2013-10-06 2017-01-17 Mellanox Technologies Ltd. Simplified packet routing
US20150098475A1 (en) * 2013-10-09 2015-04-09 International Business Machines Corporation Host table management in software defined network (sdn) switch clusters having layer-3 distributed router functionality
US9548896B2 (en) * 2013-12-27 2017-01-17 Big Switch Networks, Inc. Systems and methods for performing network service insertion
US20150264116A1 (en) 2014-03-14 2015-09-17 Ira Weiny Scalable Address Resolution
US10454991B2 (en) * 2014-03-24 2019-10-22 Mellanox Technologies, Ltd. NIC with switching functionality between network ports
US9461914B2 (en) 2014-04-07 2016-10-04 Cisco Technology, Inc. Path maximum transmission unit handling for virtual private networks
US9519328B2 (en) 2014-05-21 2016-12-13 Intel Corporation Techniques for selectively reducing power levels of ports and core switch logic in infiniband switches
CN104079491B (zh) * 2014-07-07 2018-04-27 中国科学院计算技术研究所 一种面向高维度网络的路由器及路由方法
JP2016018387A (ja) 2014-07-08 2016-02-01 富士通株式会社 情報処理システム、制御方法及び制御プログラム
US9723008B2 (en) 2014-09-09 2017-08-01 Oracle International Corporation System and method for providing an integrated firewall for secure network communication in a multi-tenant environment
US11356340B2 (en) * 2014-09-29 2022-06-07 Hewlett Packard Enterprise Development Lp Provisioning a service
EP3238393A4 (en) 2014-12-27 2018-08-08 Intel Corporation Technologies for high-performance network fabric security
US10503442B2 (en) 2015-01-28 2019-12-10 Avago Technologies International Sales Pte. Limited Method and apparatus for registering and storing virtual machine unique information capabilities
US10116464B2 (en) * 2015-03-18 2018-10-30 Juniper Networks, Inc. EVPN inter-subnet multicast forwarding
US10498654B2 (en) * 2015-12-28 2019-12-03 Amazon Technologies, Inc. Multi-path transport design
US10178027B2 (en) * 2016-01-27 2019-01-08 Oracle International Corporation System and method for supporting inter subnet partitions in a high performance computing environment
US10171353B2 (en) * 2016-03-04 2019-01-01 Oracle International Corporation System and method for supporting dual-port virtual router in a high performance computing environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040030763A1 (en) * 2002-08-08 2004-02-12 Manter Venitha L. Method for implementing vendor-specific mangement in an inifiniband device
US20050117598A1 (en) * 2003-12-01 2005-06-02 Tomoyuki Iijima VRRP technology keeping VR confidentiality

Also Published As

Publication number Publication date
US20200092205A1 (en) 2020-03-19
US10171353B2 (en) 2019-01-01
US20170257316A1 (en) 2017-09-07
CN108141415B (zh) 2021-01-08
US20200389398A1 (en) 2020-12-10
US10397104B2 (en) 2019-08-27
US20170257312A1 (en) 2017-09-07
US20190363997A1 (en) 2019-11-28
US11695691B2 (en) 2023-07-04
WO2017151249A1 (en) 2017-09-08
US10560377B2 (en) 2020-02-11
CN112565043B (zh) 2022-08-19
US20180324092A1 (en) 2018-11-08
US20200145330A1 (en) 2020-05-07
US20170257326A1 (en) 2017-09-07
EP3424191A1 (en) 2019-01-09
JP6850804B2 (ja) 2021-03-31
US10958571B2 (en) 2021-03-23
US11223558B2 (en) 2022-01-11
CN108141415A (zh) 2018-06-08
CN112565043A (zh) 2021-03-26
US20170257315A1 (en) 2017-09-07
US10498646B2 (en) 2019-12-03
EP3424191B1 (en) 2020-09-30
US11178052B2 (en) 2021-11-16
JP2019507520A (ja) 2019-03-14
US10757019B2 (en) 2020-08-25
KR20180121505A (ko) 2018-11-07

Similar Documents

Publication Publication Date Title
KR102637135B1 (ko) 고성능 컴퓨팅 환경에서 듀얼 포트 가상 라우터를 지원하기 위한 시스템 및 방법
US10764178B2 (en) System and method for supporting resource quotas for intra and inter subnet multicast membership in a high performance computing environment
US11716292B2 (en) System and method for supporting scalable representation of switch port status in a high performance computing environment
CN107111513B (zh) 为高性能云计算环境提供InfiniBand SR-IOV vSWITCH体系架构的系统和方法
EP3408983B1 (en) System and method for supporting scalable representation of switch port status in a high performance computing environment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right