KR20170078626A - 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 시스템 및 방법 - Google Patents

멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20170078626A
KR20170078626A KR1020177010675A KR20177010675A KR20170078626A KR 20170078626 A KR20170078626 A KR 20170078626A KR 1020177010675 A KR1020177010675 A KR 1020177010675A KR 20177010675 A KR20177010675 A KR 20177010675A KR 20170078626 A KR20170078626 A KR 20170078626A
Authority
KR
South Korea
Prior art keywords
nodes
switches
partitions
partition
node
Prior art date
Application number
KR1020177010675A
Other languages
English (en)
Other versions
KR102340683B1 (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 KR20170078626A publication Critical patent/KR20170078626A/ko
Application granted granted Critical
Publication of KR102340683B1 publication Critical patent/KR102340683B1/ko

Links

Images

Classifications

    • 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
    • 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
    • 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
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1002
    • 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
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

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

Abstract

시스템 및 방법은 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원할 수 있다. 대표적인 방법은 상기 멀티-테넌트 클러스터 환경 내의 하나 이상의 테넌트들을 지원할 수 있다. 상기 방법은 하나 이상의 테넌트들 각각을 복수의 파티션들 중 하나의 파티션과 관련시킬 수 있다. 그 다음, 상기 방법은 상기 복수의 파티션들 각각을 복수의 노드들 중 하나 이상의 노드들과 관련시킬 수 있고, 상기 복수의 노드들 각각은 복수의 스위치들의 리프 스위치와 관련되며, 상기 복수의 스위치들은 복수의 리프 스위치들 및 복수의 루트 스위치들을 포함한다. 마지막으로, 상기 방법은 하나 이상의 선형 포워딩 테이블들을 생성할 수 있으며, 상기 하나 이상의 선형 포워딩 테이블들은 상기 복수의 파티션들 사이의 격리를 제공하며, 상기 복수의 노드들 각각은 파티셔닝 순서와 관련된다.

Description

멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR SUPPORTING PARTITION-AWARE ROUTING IN A MULTI-TENANT CLUSTER ENVIRONMENT}
[저작권 고지]
이 특허 문서의 공개 부분에는 저작권 보호 대상인 자료가 포함되어 있다. 상기 저작권 소유자는 특허청의 특허 파일이나 기록들에 나타나있는 것처럼 특허 문서 또는 특허 공개에 의해 복사 재생산하는 것에 대해 이의를 제기하지 않지만, 그와 달리 저작권의 모든 권리를 보유한다.
[기술분야]
본 발명은 일반적으로 컴퓨터 시스템들에 관한 것이며, 그리고 특히 멀티-테넌트 클러스터 환경에 관한 것이다.
멀티-테넌시는 이용가능한 시스템 리소스들을 최대한 활용하고 서비스 제공자가 비용-효율적인 동작들을 유지할 수 있게 한다. 그러나, 멀티-테넌트 고-성능 컴퓨팅(HPC) 인프라스트럭처들은 테넌트들에 대한 성능 격리를 제공하는 것과 네트워크 패브릭(fabric)에 걸쳐 효율적인 로드-밸런싱(load-balancing)을 달성하는 것과 관련된 고유한 문제들을 야기한다.
시스템 및 방법은 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원할 수 있다. 대표적인 방법은 상기 멀티-테넌트 클러스터 환경 내의 하나 이상의 테넌트들을 지원할 수 있다. 상기 방법은 하나 이상의 테넌트들 각각을 복수의 파티션들 중 하나의 파티션과 관련시킬 수 있다. 그 다음, 상기 방법은 상기 복수의 파티션들 각각을 복수의 노드들 중 하나 이상의 노드들과 관련시킬 수 있고, 상기 복수의 노드들 각각은 복수의 스위치들의 리프 스위치와 관련되며, 상기 복수의 스위치들은 복수의 리프 스위치들 및 복수의 루트 스위치들을 포함한다. 마지막으로, 상기 방법은 하나 이상의 선형 포워딩 테이블들을 생성할 수 있으며, 상기 하나 이상의 선형 포워딩 테이블들은 상기 복수의 파티션들 사이의 격리를 제공하며, 상기 복수의 노드들 각각은 파티셔닝 순서와 관련된다.
실시예에 따르면, 멀티-테넌트 HPC 시스템들에서, 각각의 테넌트는 다른 테넌트들의 상기 작업로드에 영향을 받지 않고, 예측가능한 네트워크 성능을 경험할 수 있다.
도 1은 실시예에 따르는, 멀티-테넌트 클러스터 환경을 도시한다.
도 2는 본 발명의 실시예가 실시될 수 있는, 네트워크 환경에서 트리 토폴로지를 도시한다.
도 3은 본 발명의 실시예가 실시될 수 있는, 멀티-테넌트 클러스터 환경에서 라우팅을 도시한다.
도 4는 본 발명의 실시예가 실시될 수 있는, 멀티-테넌트 클러스터 환경에서 라우팅을 도시한다.
도 5는 실시예에 따르는, 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅 지원을 도시한다.
도 6은 실시예에 따르는, 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅 지원을 도시한다.
도 7은 실시예에 따르는, 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅 지원을 도시한다.
도 8은 실시예에 따르는, 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅 지원을 도시한다.
도 9는 실시예에 따르는, 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 방법을 도시한다.
이하의 상세한 설명에서, 본 발명은 첨부된 도면들의 피겨들에서 제한으로서가 아닌 예시로서 도시될 것이다. 본 개시에서 "하나의" 또는 "하나" 또는 "일부의" 실시예(들)에 대한 참조들은 필수적으로 동일한 실시예에 대한 것이 아니며, 해당 참조들은 적어도 하나를 의미함을 주목해야 한다. 특정 구현 예들이 논의되는 반면, 상기 특정 구현 예들은 단지 예시적인 목적들로 제공되는 것으로 이해된다. 통상의 기술자는 본 발명의 범위 및 사상을 벗어나지 않고 다른 컴포넌트들 및 구성들이 사용될 수 있다는 것을 인식할 것이다.
도면 및 상세한 설명에 걸쳐 동일한 구성요소들을 표시하기 위해 공통된 참조 번호들이 사용된다. 그러므로, 피겨에서 사용된 참조 번호들은 구성요소가 다른 곳에서 기술되는 경우 해당 피겨에 특정한 상세한 설명에서 참조되거나 또는 참조되지 않을 수 있다.
본 발명의 다음 기술은 고성능 네트워크에 대한 예시로서 InfinibandTM(IB) 네트워크를 사용한다. 다른 타입들의 고성능 네트워크가 제한없이 사용될 수 있다는 것은 통상의 기술자에게 명백할 것이다. 또한, 다음 기술에서는 패브릭 토폴로지의 예시로서 팻-트리 토폴로지를 사용한다. 다른 타입들의 패브릭 토폴로지들이 제한없이 사용될 수 있다는 것은 통상의 기술자에게 명백할 것이다.
Infiniband TM
InfinibandTM(IB)는 InfinibandTM Trade Association에 의해 개발된 개방형 표준 무손실 네트워크 기술이다. 상기 기술은 높은 처리량(throughput)과 낮은 지연시간의 통신을 제공하는 직렬 점대점 양방향 상호연결(serial point-to-point full-duplex interconnect)을 기초로 하며, 특히 HPC 어플리케이션들 및 데이터센터들을 대상으로 설계되었다.
InfinibandTM 아키텍처(IBA)는 2-레이어 토폴로지 디비전을 지원한다. 하위 레이어에서, IB 네트워크들은 서브넷들이라고 참조되며, 서브넷은 스위치들과 점대점 링크들을 사용하여 상호연결된 호스트들의 세트를 포함할 수 있다. 상위 레벨에서, IB 패브릭은 라우터들을 사용하여 상호연결될 수 있는 하나 이상의 서브넷들을 구성한다.
서브넷 내에서, 호스트들은 스위치들 및 점대점 링크들을 사용하여 연결된다. 게다가, 상기 서브넷의 지정된 서브넷 디바이스 상에 상주하는 하나의 마스터 관리 엔티티인 서브넷 관리자(SM)가 있다. 상기 서브넷 관리자는 상기 IB 서브넷을 구성, 활성화 및 유지할 책임이 있다. 게다가, 상기 서브넷 관리자(SM)는 IB 패브릭에서 라우팅 테이블 계산들을 수행할 책임이 있다. 여기서, 예를 들어, 상기 IB 네트워크의 라우팅은 상기 로컬 서브넷의 모든 소스와 목적지 페어들 사이의 적절한 로드 밸런싱을 목표로 한다.
서브넷 관리 인터페이스를 통해, 상기 서브넷 관리자는 서브넷 관리 패킷들(SMPs)로 참조되는 제어 패킷들을 서브넷 관리 에이전트들(SMAs)과 교환한다. 상기 서브넷 관리 에이전트들은 모든 IB 서브넷 디바이스에 상주한다. SMP들 사용에 의해, 상기 서브넷 관리자가 패브릭을 발견할 수 있고, 엔드 노드들과 스위치들을 구성할 수 있으며, 그리고 SMA들로부터 알림들을 수신할 수 있다.
일반적으로, 상기 마스터 서브넷 관리자를 제외한 다른 모든 서브넷 관리자들은 폴트-톨러런스(fault-tolerance)를 위해 대기 모드로 동작한다. 그러나, 마스터 서브넷 관리자가 실패하는 상황에서, 새 마스터 서브넷 관리자가 상기 대기 서브넷 관리자들에 의해 협상된다. 또한, 상기 마스터 서브넷 관리자는 상기 서브넷의 주기적 스윕(periodic sweep)들을 수행하여 임의의 토폴로지 변경들을 검출하고 그에 따라 상기 네트워크를 재구성한다.
또한, 서브넷 내의 호스트들 및 스위치들은 로컬 식별자들(LIDs)을 사용하여 어드레스화될 수 있고 단일 서브넷은 49151 LID들로 제한될 수 있다. 서브넷 내에서 유효한 상기 로컬 어드레스들인 상기 LID들 외에, 각각의 IB 디바이스는 이것의 비-휘발성 메모리 안에 구워지는 64-비트 전역 고유 식별자(Global Unique Identifier, GUID)를 가질 수 있다. GUID는 IB 레이어 3(L3) 어드레스인 전역 식별자(GID)를 형성하기 위해 사용될 수 있다. GID는 IPv6와 같은 128-비트 어드레스를 형성하기 위해 64-비트 서브넷 식별자(ID)를 상기 64-비트 GUID를 이어서(concatenating) 생성될 수 있다. 예를 들어, 상기 IB 패브릭에 연결된 상기 포트들에 서로 다른 포트 GUID들을 할당할 수 있다.
상기 SM은 네트워크 초기화 시간에 라우팅 테이블들(즉, 상기 트리 내의 노드들의 각각의 페어 사이의 연결들/루트들)을 계산할 수 있다. 또한, 상기 연결성 및 최적의 성능을 보장하기 위해, 상기 토폴로지가 변경될 때마다 상기 라우팅 테이블들을 업데이트할 수 있다. 일반 동작들 동안, 상기 SM은 토폴로지 변경을 체크하기 위해 상기 네트워크의 주기적인 광 스윕들을 수행할 수 있다. 광 스윕 동안 변경이 발견되는 경우 또는 상기 SM이 네트워크 변경을 알리는 메시지(트랩)를 수신한 경우, 상기 SM은 상기 발견된 변경들에 따라 상기 네트워크를 재구성할 수 있다.
예를 들어, 상기 SM은 링크가 다운되었을 때, 디바이스가 추가될 때 또는 링크가 제거될 때와 같이 상기 네트워크 토폴로지가 변경될 때 상기 네트워크를 재구성할 수 있다. 상기 재구성 단계들은 상기 네트워크 초기화 동안 수행되는 상기 단계들을 포함할 수 있다. 또한, 상기 재구성들은 상기 네트워크 변경이 발생된 상기 서브넷들로 제한되는 로컬 범위를 가질 수 있다. 또한, 라우터들이 있는 큰 패브릭의 세그먼트화(segmenting)는 상기 재구성 범위를 제한할 수 있다.
IB 시스템들에서 멀티- 테넌시
상기 네트워킹 관점으로부터, 멀티-테넌시는 파티셔닝을 통해, 네트워크 리소스들의 높은 활용도를 제공할 수 있고 상기 서비스 제공자를 위한 비용-효율적인 동작을 유지할 수 있게 한다. 그러나, 멀티-테넌트 인프라스트럭처들은 여러 중요한 보안 이슈들을 또한 부과하며, 이는 테넌트들을 위한 성능 격리 제공과 관련된 가장 어려운 문제 중 하나이다. 각각의 테넌트는 상기 시스템의 다른 테넌트들의 작업로드에 의해 영향을 받지 않고 예측가능한 네트워크 성능을 제공받아야 한다. IB 시스템들의 네트워크 격리는 파티셔닝을 통해 제공될 수 있다.
실시예에 따르면, 파티션들은 그룹의 멤버들이 동일한 그룹의 다른 멤버들과 만 통신할 수 있게하는 포트들의 논리적 그룹들이다. 호스트 채널 어댑터들(HCAs) 및 스위치들에서, 패킷들은 격리를 시행하기 위해 상기 파티션 멤버십 정보를 사용하여 필터링될 수 있다. 유효하지 않은 파티셔닝 정보가 있는 패킷들은 상기 패킷들이 들어오는 포트에 도달하면 즉시 드랍(drop)될 수 있다. 멀티테넌트 IB 시스템들에서, 파티션들은 테넌트 클러스터들을 생성하기 위해 사용될 수 있다. 파티션 강제(partition enforcement)가 시행되면, 노드는 서로 다른 테넌트 클러스터에 속한 다른 노드들과 통신할 수 없다. 이러한 방식에서, 상기 시스템의 보안은 손상되거나 또는 악의적인 테넌트 노드들의 존재에서조차 보증될 수 있다.
IB 라우팅은 일반적으로 상기 스위치들에 저장된 선형 포워딩 테이블들(LFTs)을 기초로 할 수 있다. 상기 LFT들은 파티셔닝 정보를 고려하지 않고 상기 서브넷 관리자(SM)에 의해 계산된다. 이런 이유로, 중간 네트워크 링크는 서로 다른 파티션들에 속한 트래픽을 전달할 수 있다. 상기 중간 링크들의 공유는 파티션 간섭을 일으킬 수 있다. 결과적으로, 테넌트들은 예측할 수 없는 네트워크 성능을 경험한다. 또한, 상기 라우팅 알고리즘의 상기 밸런싱 기능들은 파티션된 서브넷에서 또한 영향을 받는다. 이는 파티션 경계들에 걸쳐 상기 링크들이 사용자 트래픽에 활용되지 않더라도, 상기 링크들이 다른 기능성 링크들과 동일한 방식으로 라우팅되기 때문이다(그리고 이러한 이유에서 상기 밸런싱이 고려된다). 성능이 저하된 밸런싱(degraded balancing)은 유효대역폭 및 차선의 네트워크 활용을 감소시킬 수 있다.
IB는 일반적으로 상기 다른 파티션들의 노드들에 관계없이, 각각의 파티션에 상기 이용가능한 대역폭의 공유를 보장하기 위해 사용될 수 있는 서비스 품질(QoS) 기능들을 제공한다. 그 다음, 상기 대역폭 보증들은 각각의 파티션에, 서비스 레벨(SL)로 불리는 이용가능한 차별화된 트래픽 클래스를 할당하는 것에 의해 제공된다. 그 다음, 각각의 SL은 SL to VL 매핑 테이블에 따라 상기 링크상의 이용가능한 15개의 가상 레인들(VLs) 중 하나에 매핑된다.
상기 시스템이 상기 네트워크에서 별개의 파티션들을 생성하기 위해 15개의 VL들만 활용할 수 있기 때문에, SL들에 상기 파티션들을 할당할 때 문제가 발생할 수 있는 반면, IB 네트워크는 일반적으로 많은 수의 파티션들을 가질 수 있다(예컨대, 각각의 포트는 32,768개의 파티션들까지의 멤버일 수 있다). 또한, 기존 IB 하드웨어의 9개의 VL들(서브넷 관리를 위해 예약된 하나의 VL 포함)만 지원하는 것이 일반적이다. 더욱이, SL들은 부족한 리소스이기 때문에, 가능한 많은 리소스들을 다른 목적들, 예컨대 상기 네트워크의 폴트 톨로런스 또는 서비스 차별화를 제공하기 위해, 을 위해 자유롭게 남기는 것이 바람직할 수 있다.
IB 아키텍처
실시예에 따르면, IB는 IBTA(InfiniBand Trade Association)에 의해 개발된 개방형 표준 무손실 네트워크 기술이다. 상기 기술은 높은 처리량과 낮은 지연시간의 통신을 제공하는 직렬 점대점 양방향 상호연결을 정의한다. IB 네트워크는 라우터들을 사용하여 상호연결된 하나 이상의 서브넷들로 구성될 수 있다. 서브넷 내에서, 호스트들은 스위치들과 점대점 링크들을 사용하여 연결된다. 각각의 IB 서브넷 내에는, 상기 IB 서브넷을 구성, 활성화 및 유지하는 하나의 마스터 관리 엔티티인 상기 서브넷 관리자(SM)(임의의 지정된 서브넷 디바이스에 상주하는)가 있을 수 있다.
상기 서브넷 관리 인터페이스를 통해, 상기 SM은 모든 IB 디바이스에 상주하는 상기 서브넷 관리 에이전트들(SMAs)과 서브넷 관리 패킷들(SMPs)이라고 불리는 제어 패킷들을 교환한다. SMP들을 사용하여, 상기 SM은 상기 패브릭을 발견할 수 있고, 엔드 노드들과 스위치들을 구성할 수 있으며, 그리고 SMA들로부터 알림들을 수신할 수 있다. 또한, 상기 SM은 임의의 토폴로지 변경을 검출하고 그에 따라 상기 네트워크를 재구성하기 위해 상기 서브넷의 주기적인 광 스윕들을 수행할 수 있다.
실시예에 따르면, IB 네트워크에서 인트라-서브넷 라우팅(Intra-subnet routing)은 상기 스위치들에 저장된 LFT들을 기초로 할 수 있다. 상기 LFT들은 사용중인 상기 라우팅 메커니즘에 따라 상기 SM에 의해 계산된다. 서브넷에서, 상기 엔드 노드들 상의 모든 HCA 포트들과 모든 스위치들은 로컬 식별자들(LIDs)을 사용하여 어드레스화된다. LFT의 각각의 엔트리는 목적지 LID(DLID)와 출력 포트로 구성된다. 상기 테이블의 LID 마다 하나의 엔트리만 지원된다. 패킷이 스위치에 도착할 때, 상기 스위치의 포워딩 테이블에서 상기 DLID를 조회하는 것에 의해 상기 출력 포트가 결정된다. 패킷들은 임의의 소스-목적지 페어(LID 페어) 사이의 상기 네트워크에서 동일한 경로를 취하기 때문에 상기 라우팅은 결정성(deterministic)이다.
실시예에 따르면, 파티셔닝은 네트워크 패브릭를 공유하는 시스템들의 논리적 그룹들을 격리를 제공하기 위해 IB에 의해 지원되는 보안 메커니즘이다. 상기 패브릭의 노드 상에 각각의 HCA 포트는 하나 이상의 파티션들에 멤버일 수 있다. 파티션 멤버십들은 상기 SM의 일부가 될 수 있는, 중앙집중(centralized) 파티션 관리자에 의해 관리된다. 상기 SM은 각각의 포트 상의 파티션 멤버십 정보를 16-비트 파티션 키들(P 키들) 테이블로서 구성할 수 있다. 또한, 상기 SM은 상기 LID들과 관련된 P 키 정보를 포함하는 상기 파티션 시행 테이블들과 함께 스위치들 및 라우터들을 구성할 수 있다.
실시예에 따르면, 노드들 사이의 상기 통신을 위해, 관리 큐 페어들(QP0 및 QP1)을 제외하고, 큐 페어들(QPs) 및 단대단 컨텍스트들(End-to-End contexts, EECs)이 특정 파티션에 할당될 수 있다. 그 다음, 상기 P 키 정보는 송신된 모든 IB 전송 패킷에 추가될 수 있다. 패킷이 HCA 포트 또는 스위치에 도착할 때, 상기 SM에 의해 구성된 테이블에 반하여 상기 P 키 값은 유효화될 수 있다. 유효하지않은 P 키 값이 발견되는 경우, 상기 패킷은 즉시 포기된다. 이러한 방식에서, 통신은 파티션을 공유하는 포트들 사이에서만 허용된다.
도 1에 도시된 IB 파티션들의 예시는, 실시예에 따르는, 멀티-테넌트 클러스터 환경의 예시를 보여준다. 도 1에 도시된 상기 예시에서, 노드들 A-E(101-105)는 상기 각각의 호스트 채널 어댑터들(111-115)을 통해, 통신하기 위해 상기 InfiniBand 패브릭(100)을 사용한다. 상기 노드들 A-E는 파티션 1(110), 파티션 2(120) 및 파티션 3(130)으로 명명된 파티션들 안에 배열된다. 파티션 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(120)의 일부이기 때문에 통신할 수 있다.
실시예에 따르면, IB는 상기 VL들을 사용하여 각각의 물리적 링크가 다수의가상 링크들로 나누어질 수 있는 레이어화된 아키텍처이다. 각각의 VL은 고유한 버퍼링, 플로우-제어 및 혼잡 관리 리소스(congestion management resource)들을 가질 수 있다. QoS는 차별화된 트래픽 클래스들인 상기 SL들을 통해 제공될 수 있다. 상기 SL은 패킷이 상기 네트워크에서 수신할 수 있는 서비스의 상기 클래스를 표현한다. 각각의 SL은 구성된 SL to VL 매핑 테이블을 기초로 한 링크 상의 VL에 매핑된다. IB는 16개까지의 VL들을 지원한다. 그러나, 마지막 VL은 상기 서브넷 관리 트래픽을 위해 예약되어있고 일반적으로 사용자 어플리케이션들에 의해 사용되지 않는다.
팻-트리(FTree) 토폴로지들 및 라우팅
실시예에 따르면, 상기 IB에 기초한 HPC 시스템들 중 일부는 팻-트리들이 제공하는 유용한 프로퍼티들을 이용하기 위해 팻-트리 토폴로지를 쓴다(employ). 상기 프로퍼티들은 각각의 소스 목적지 페어 사이의 다수의 경로들의 이용가능성 때문에 완전한 이분-대역폭(full bisection-bandwidth)과 고유의 폴트-톨러런스를 포함한다. 팻-트리들 뒤의 초기 아이디어는 상기 트리가 상기 토폴로지의 루트들을 향해 이동함에 따라, 더 이용가능한 대역폭과 함께, 노드들 사이의 더 많은(fatter) 링크들을 쓰는 것이다. 상기 더 많은 링크들은 상위-레벨 스위치들의 혼잡을 피하는데 도움될 수 있고 이분-대역폭이 유지된다.
도 2는 본 발명의 실시예가 실시될 수 있는, 네트워크 환경에서 트리 토폴로지를 도시한다. 도 2에 도시된 바와 같이, 하나 이상의 엔드 노드들(201-204)은 네트워크 패브릭(200)에 연결될 수 있다. 상기 네트워크 패브릭(200)은 복수의 리프 스위치들(211-214) 및 스파인 스위치(spine switch)들 또는 루트 스위치들(231-234)을 포함하는 팻-트리 토폴로지를 기초로 할 수 있다. 게다가, 상기 네트워크 패브릭(200)은 스위치들(221-224)과 같은, 하나 이상의 중간 스위치들을 포함할 수 있다.
또한, 도 2에 도시된 바와 같이, 각각의 엔드 노드들(201-204)은 멀티-홈 노드(multi-homed node), 즉 다중 포트들을 통해 상기 네트워크 패브릭(200)의 둘 이상의 부분들에 연결되는 단일 노드일 수 있다. 예를 들어, 상기 노드(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들을 생성하는 것을 목표로 한다. 상기 메커니즘은 인덱싱 순서에 따라 상기 패브릭을 가로지르고(traverse), 상기 엔드 노드들의 타겟 LID들을 할당하며, 그리고 따라서 해당 루트들을 각각의 스위치 포트에 할당한다. 동일한 리프 스위치에 연결된 상기 엔드 노드들을 위해, 상기 인덱싱 순서는 상기 엔드 노드가 연결된 상기 스위치 포트(즉, 포트 번호 시퀀스)에 의존한다. 각각의 포트에 대해, 상기 메커니즘은 포트 사용 카운터를 유지할 수 있으며, 상기 포트 사용 카운터를 새 루트가 추가될 때마다 가장 적게 사용되는 포트를 선택하기 위해 사용할 수 있다.
상술한 바와 같이, 파티션된 서브넷에서, 공통 파티션의 멤버들인 아닌 노드들은 통신할 수 없다. 실질적으로, 이는 상기 팻-트리 라우팅 알고리즘에 의해 할당된 라우트들 중 일부가 상기 사용자 트래픽에 사용되지 않음을 의미한다. 문제는 팻-트리 라우팅 메커니즘이 다른 기능 경로들과 같은 방식으로 해당 루트들에 대해 LFT들을 생성할 때 발생한다. 노드들이 상기 인덱싱 순서대로 라우팅되기 때문에, 상기 행동으로 인해 링크들 상의 밸런싱이 성능저하될 수 있다. 라우팅은 상기 파티션들을 인식하지 못하고 완료되므로, 일반적으로, 팻-트리 라우트된 서브넷들은 파티션들 사이에 불량한 격리를 제공한다.
도 3은 본 발명의 실시예가 실시될 수 있는, 멀티-테넌트 클러스터 환경에서 라우팅을 도시한다. 보다 구체적으로, 도 3은 기능 저하된 로드 밸런싱 및 불량 격리 이슈들을 자세히 설명한다.
도 3은 3개의 오버래핑 파티션들의 4개의 스위치들, 루트 스위치들(325-326) 및 리프 스위치들(320-321), 그리고 6개의 엔드 노드들, 노드들 A-F(301-306)을 갖는 2-레벨 팻-트리 토폴로지를 도시한다. 파티션 1은 노드 B(302) 및 노드 C(303)를 포함한다. 파티션 2는 노드 A(301), 노드 C(303), 노드 D(304) 및 노드 F(306)를 포함한다. 마지막으로, 파티션 3은 노드 D(304)와 노드 E(305)를 포함한다.
실시예에 따르면, 파티션들 1 및 3은 각각 상기 리프 스위치들(320 및 321) (즉, 단일 리프 스위치 파티션들)내에 전적으로 한정된다. 이 때문에, 파티션들 1과 3의 노드들 사이의 상기 통신은 상기 루트 스위치들(325 또는 326)로 트래픽을 이동시키지 않고 상기 해당 리프 스위치들을 통해 이루어진다. 상기 토폴로지가 상기 팻-트리 라우팅 메커니즘에 의해 라우팅될 때, 상기 리프 스위치들(320 및 321)에 연결된 상기 노드들을 향하는 상기 루트들은 루트 스위치들이 할당되며, 따라서 상기 인터-리프(inter-leaf) 스위치 플로우들이 상기 목적지에 도달할 수 있다. 로드-밸런싱을 위해, 상기 루트 스위치(326)는 노드 B(도면에서 링크 q로 도시됨)를 향해 트래픽을 라우팅하는 반면, A 및 C를 향한 상기 루트들은 루트 스위치(325)(도면에서 링크 p로 도시됨)에 할당된다. 유사하게 상기 리프 스위치(321)에 대해, 리프간 스위치 파티션 2 내의 노드들 D 및 F를 향한 트래픽은, 상기 루트 스위치(325)(도면에서 링크 r로 도시됨)를 통해 라우팅되고, 노드 E를 향하는 트래픽은 루트 스위치(326)(도면에서 링크 s로 도시됨)를 통해 라우팅된다.
실시예에 따르면, 상기 루트 스위치들 상의 엔드 포트 선택은 도면에서 상기 노드 식별자를 갖는 작은 원으로 도시된다. (팻-트리 라우팅 메커니즘을 사용하여) 상기 파티셔닝 정보를 고려하지 않고 라우팅이 완료되기 때문에, 상기 서브넷의 경로들은 적절한 밸런스를 이루지 못한다. 링크들 p와 r은 초과가입(oversubscribe)되어 있으며, 반면 인프라-리프 스위치 플로우는 링크 q 또는 s를 전혀 사용하지 않을 것이다. 노드들 B 및 E를 향하여 할당된 상기 경로들은 상기 파티셔닝으로 인해, 2개의 노드들이 상기 리프 스위치들 외부로부터 임의의 통신을 수신할 수 없기 때문에, (상대적으로 낮은 관리 트래픽 제외) 활용되지 않는다. 또한, 이 밸런싱 이슈는 파티션들의 통신이 상기 토폴로지의 레벨들 중 일부로만 제한될 때 팻-트리들에서 발생한다.
이제 도 4를 참조하면, 본 발명의 실시예가 실시될 수 있는, 멀티-테넌트 클러스터 환경에서 라우팅을 도시한다. 보다 구체적으로, 도 4는 팻-트리 내에 불량 격리와 관련된 이슈들을 자세히 설명한다.
도 4는 4개의 스위치들, 루트 스위치들(425-426) 및 리프 스위치들(420-421), 그리고 8개의 엔드 노드들, 노드들 A-G(401-408)를 갖는 2-레벨 팻-트리 토폴로지를 도시한다. 또한, 상기 엔드 노드들은 2개의 파티션들로 나누어진다. 파티션 1은 노드 A(401), 노드 B(402), 노드 G(407) 및 노드 H(408)를 포함한다. 파티션 2는 노드 C(403), 노드 D(404), 노드 E(405) 및 노드 F(406)를 포함한다.
각각의 파티션들은 상기 2개의 리프 스위치들 각각에 연결된 2개의 노드들을 갖는다. 상기 팻-트리 라우팅 메커니즘은 도면에 도시된 바와 같이, 상기 루트 스위치들(425 및 426) 상의 하향 포트들을 할당한다. 상기 팻-트리 라우팅 메커니즘의 본질 때문에, 각각의 루트 스위치는 두 파티션들에 속한 노드들을 향한 트래픽을 라우팅하며, 이는 불량 격리에 대해, 파티션된 환경에서 바람직하지 않은 무언가를 제공한다. 예를 들어, 노드들 A와 C를 향한 상기 트래픽은 상기 공유된 링크 p에서 라우팅된다. 서로 다른 파티션들의 노드들 사이의 중간 링크들을 공유하는 것은 노드들 사이의 간섭이 발생하게 할 수 있다. 상기 네트워크가 파티션들 사이의 완벽한 격리를 제공하기 위해 루트 레벨에서 알맞는 리소스들을 갖고 있지만, 상기 팻-트리 라우팅 메커니즘은 상기 원하는 격리를 위해 제공되지 않는다.
파티션 -인지 팻-트리(pFTree) 라우팅
실시예에 따르면, 파티션-인지 팻-트리 라우팅 메커니즘(여기서는 다양하게 pFTree로서 참조됨)은 IB 네트워크에서 멀티-테넌시와 관련된 원하는 목적들을 성취할 수 있다. 예를 들어, 상기 pFTree 메커니즘은 상기 트리의 링크들에 걸쳐 루트들을 고르게 분배하는 것에 의해 팻-트리 토폴로지들에 잘-밸런스된 선형 포워딩 테이블들을 제공할 수 있다. 게다가, 링크들 상의 루트들을 밸런스되게 유지하는 동안, pFTree는 서로 다른 파티션들에 속한 경로들 사이의 경합을 제거할 수 있다.
실시예에 따르면, pFTree 메커니즘은 파티션의 상기 노드들이 서로 다른 파티션들에서 실행되는 상기 작업로드에 의해 영향을 받지 않는 예측가능한 네트워크 성능을 수신하도록 보장하기 위해 서브넷에 관한 파티셔닝 정보를 사용할 수 있다. 상기 토폴로지가 각각의 레벨에서 파티션 격리를 제공하기 위해 이용가능한 충분한 링크들을 갖지 못하는 상황에서(상기 로드-밸런싱을 손상시키지 않으며), 상기 pFTree는 경합의 영향을 줄이기 위해 VL들을 할당할 수 있다.
실시예에 따르면, 상기 pFTree 메커니즘은 각각의 엔드 노드와 관련된 상기 LID들에 대한 모든 관련 스위치들 상에서 LFT들을 셋업하기 위해 재귀적으로 동작할 수 있다. 이것은 아래의 수도 코드(여기서 목록 1로서 참조됨)에서 보여진다:
Figure pct00001
실시예에 따르면, ROUTEDOWNGOYINGBYASCENDING()은 아래의 수도 코드(여기서 목록 2로서 참조됨)에 예시되어있다.
Figure pct00002
Figure pct00003
실시예에 따르면, ROUTEUPGOINGBYDESCENDING()은 아래의 수도 코드(여기서 목록 3로서 참조됨)에 예시되어있다.
Figure pct00004
실시예에 따르면, ASSIGNVIRTUALLANES()은 아래의 수도 코드(여기서 목록 4로서 참조됨)에 예시되어있다.
Figure pct00005
실시예에 따르면, 단일-리프 스위치 파티션들(즉, 단일 리프 스위치 내에서 완전히 통신할 수 있는 해당 파티션들)을 필터링 아웃(filtering out)한 후, 각각의 리프 스위치에 대해, 상기 메커니즘은 연결된 엔드 노드들을 파티셔닝 특정 순서로 정렬할 수 있다(위의 목록 1의 라인 4)(예컨대, 고유한 파티셔닝 순서 번호를 갖는 각각의 파티션을 통해). 이 순서는 리프 스위치에서 상기 이용가능한 상향 포트들 수를 고려하여, 상기 노드들이 상기 파티션들에 따라 라우트되는 것을 보장하는데 도움이 될 수 있다. 그 다음, 상기 pFTree 메커니즘은 ROUTEDOWNGOINGBYASCENDING(위의 목록 1의 라인 9)과 같은 기능을 호출하고, 목록 2에서 도시된 바와 같이 상기 LID를 라우트하는 다음 레벨의 포트를 선택하기 위해 상기 트리에서 위로 이동한다.
실시예에 따르면, 상기 포트 선택은 이미 할당된 루트들의 최소 수에 기초한다. 이는 상기 로드가 상기 이용가능한 경로들에 걸쳐 분산되는 것을 보장할 수 있다. 그러나 동일한 로드로 여러 포트들을 이용가능할 때, 상기 기능은 이러한 최소-로드 포트들을 통해 반복할 수 있고 라우팅되는 상기 노드의 상기 파티션 키가 이미 마크된 스위치에 연결된 포트를 선택할 수 있다(목록 2의 라인들 3-9). 스위치가 마크되어 있지 않은 경우(이 파티션의 첫 번째 노드가 라우팅되었음을 표시할 수 있음), 상기 시스템은 가장 높은 전역 고유 식별자(GUID)(목록 2의 라인 2)를 갖는 상기 포트의 선택을 디폴트할 수 있다. 스위치가 파티션에 대해 처음 선택된 때, 상기 파티션 키(목록 2의 라인 11)의 아래쪽 방향으로 마크된다.
실시예에 따르면, 스위치에서 LID에 대해 하향 포트가 설정된 후에, 상기 메커니즘은 트리 호출(목록 3의 ROUTEUPGOINGBYDESCENDING)을 내리는 것에 의해 상기 연결된 모든 하향 스위치들에 대해 상향 포트들을 할당할 수 있다. 다시, 상향 방향으로 상기 상향 포트의 선택은 처음 로드 기준을 기초로 할 수 있고 그 다음 상기 원격 스위치들의 파티션 마킹을 기초로 할 수 있다. 그 다음 상기 프로세스는 모든 LFT들이 설정될 때까지 상기 트리의 다음 레벨로 이동하여 반복될 수 있다. 스위치는 다수의 파티션 키들로 마크될 수 있음을 유의한다. 상기 pFTree 메커니즘은 각각의 파티션의 라우팅된 노드들의 수를 저장하기 위해 각각의 스위치에 대한 테이블을 유지할 수 있다. 상기 카운터는 마크된 파티션들과 함께 여러 스위치들이 노드를 라우팅하기 위해 이용가능한 경우 상기 포트 선택을 결정하기 위해 사용될 수 있다. 상기 스위치는 파티션에 대해 이미 라우트된 노드들의 최대 수와 함께 선택될 수 있다.
실시예에 따르면, 상기 파티션 격리 기준을 유지하며, 상기 라우팅 테이블들이 생성되면, 상기 메커니즘은 링크들 중 일부가 서로 다른 파티션들의 노드들을 향한 플로우들에 사용되는지 여부를 체크하기 위해 계속 진행할 수 있다. 이러한 케이스들에서, 상기 메커니즘은 격리를 제공하기 위해 상기 간섭 파티션들에 VL들을 할당할 수 있다. VL 할당 메커니즘의 예시가 목록 4에 도시된다.
실시예에 따르면, 상기 VL 할당 메커니즘은 상기 파티션들을 통해 반복할 수 있고 상기 파티션의 상기 노드들에 의해 사용되는 임의의 중간 통신 링크가 별개의 VL에 할당되지 않은 다른 파티션과 중간 링크를 공유하는지 여부를 체크할 수 있다. 이러한 상황에 접하게 되면, 새 VL은 할당될 수 있다. 상기 pFTree 라우팅 메커니즘은 엄격한 모드와 일반 모드의 두 가지 상기 VL 선택 모드들을 지원할 수 있다.
실시예에 따르면, 상기 엄격한 모드에서, pFTree 라우팅에 요구되는 VL들의 수가 상기 시스템의 이용가능한 VL들을 초과하면, 상기 라우팅은 실패할 수 있다(목록 4의 라인 10).
실시예에 따르면, 상기 일반 모드에서, 상기 알고리즘은 VL1로부터 파티션들로의 VL들의 할당을 재시작할 수 있다(목록 4의 라인 8).
실시예에 따르면, IB의 기초한 팻-트리 네트워크들(다양하게 pFTree로서 참조됨)에 대한 효율적인 파티션-인지 라우팅 메커니즘이 제공된다. 상기 pFTree 메커니즘은 팻-트리 토폴로지들에 대한 파티션들의 네트워크-전체 격리를 제공할 수 있다. 게다가, pFTree는 상기 스위치들에 대해 잘-밸런스된 LFT들을 생산한다. 적절한 네트워크 리소스들이 주어지면, pFTree는 상기 물리적 링크 레벨에서 혼자 파티션들을 격리할 수 있다. 예를 들어, 팻-트리가 오버랩 되지 않는 동일한 사이즈의 파티션들을 2개 갖는 경우, pFTree는 중간 네트워크 상기 링크를 라우팅 자체에 기초한 2개의 동일한 사이즈의 논리적 서브-네트워크들로 나눌 수 있다. 또한, 상기 네트워크가 완전한 파티션 격리를 제공하기 위한 충분한 이용가능한 리소스들을 가지고 있지 않은 경우, pFTree는 상기 물리적 격리와 함께 동작하는 보완적인 VL 기초 격리 스킴을 사용할 수 있다.
실시예에 따르면, 상기 pFTree 라우팅 메커니즘은 두 가지 주요 목적들을 달성하는 것을 목표로 한다. 첫째, 메커니즘은 상기 트리의 링크들에 걸쳐 루트들을 고르게 분산시키는 것에 의해 팻-트리 토폴로지들에 대해 잘-밸런스된 LFT들을 생성할 수 있다. 둘째, 상기 링크들 상의 루트들을 밸런스되도록 유지하는 동안, pFTree는 서로 다른 파티션들에 속한 경로들 사이의 경합을 제거한다. 상기 pFTree는 상기 서브넷에 대한 파티셔닝 정보를 사용할 수 있고 파티션의 상기 노드들이 다른 파티션들에서 실행중인 작업로드의 영향을 받지 않고 예측가능한 네트워크 성능을 수신하는 것을 보장할 수 있다. 상기 토폴로지가 각각의 레벨에서 파티션 격리를 제공하기 위한 충분한 이용가능한 링크들을 가지지 못하는 경우, (상기 로드-밸런싱을 손상시키지 않으며) 상기 pFTree는 경합의 영향을 줄이기 위해 VL들을 사용할 수 있다.
실시예에 따르면, 실시예에 따르면, 상기 pFTree 메커니즘은 각각의 엔드 노드와 관련된 상기 LID들에 대한 모든 관련 스위치들 상에서 LFT들을 셋업하기 위해 재귀적으로 동작할 수 있다. 단일-리프 스위치 파티션들을 필터링 아웃한 후, 각각의 리프 스위치에 대해, 상기 메커니즘은 연결된 엔드 노드들을 파티셔닝 특정 순서로 정렬할 수 있다. 이 순서는 리프 스위치에서 상기 이용가능한 상향 포트들 수를 고려하여, 상기 노드들이 상기 파티션들에 따라 라우트되는 것을 보장한다. 각각의 레벨에서 상기 포트 선택은 상기 로드가 상기 이용가능한 경로들에 걸쳐 분산되는 것을 확인하기 위해 이미 할당된 루트들의 최소 수에 기초할 수 있다. 그러나 동일한 로드로 여러 포트들을 이용가능할 때, 상기 기능은 이러한 최소-로드 포트들을 통해 반복하고 라우팅되는 상기 노드의 상기 파티션 키가 이미 마크된 스위치에 연결된 포트를 선택한다. 스위치가 마크되어 있지 않은 경우(즉, 특정 파티션의 첫 번째 노드에 대한 라우팅), pFTree는 가장 높은 전역 고유 식별자(GUID)를 갖는 상기 포트의 선택을 디폴트할 수 있다. 스위치가 파티션에 대해 처음 선택된 때, 상기 스위치는 상기 파티션키와 함께 마크될 수 있다. 이러한 방식으로 상기 메커니즘은 밸런싱을 위해 이용가능한 충분한 경로들이 주어지면, 하나의 파티션에 속한 상기 노드들이 동일한 스위치들과 해당 링크들을 통해 라우트될 것을 보장할 수 있다. 상기 파티션 격리 기준을 유지하면서, 상기 라우팅 테이블들이 생성되면, 서로 다른 파티션들의 노드들을 향한 플로우들에 사용되는지 여부를 체크하기 위해 계속 진행할 수 있다. 이러한 케이스들에서, 상기 메커니즘은 격리를 제공하기 위해 상기 간섭 파티션들에 VL들을 할당할 수 있다.
이제 도 5-8을 참조하면, 실시예에 따르는 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅 지원이 도시되어있다.
실시 예에 따르면, 초과가입된 팻-트리 네트워크의 간단한 섹션의 방법에 의해 상기 pFTree 라우팅에서의 상기 포트 선택 메커니즘이 도 5-8에 도시된다.
이제 도 5를 참조하면, 4개의 스위치들, 루트 스위치들(525-526) 및 리프 스위치들(520-521), 그리고 8개의 엔드 노드들, 노드 A-G(501-508)를 갖는 2-레벨 팻-트리 토폴로지를 도시한다. 또한, 상기 엔드 노드들은 2개의 파티션으로 나뉜다. 파티션 1은 노드 A(401), 노드 D(504), 노드 G(507) 및 노드 H(508)를 포함한다. 파티션 2는 노드 B(502), 노드 C(503), 노드 E(505) 및 노드 F(506)를 포함한다.
실시예에 따르면, 도 5에 도시된 바와 같이, 상기 예시적인 섹션은 상기 리프 스위치들, 즉 루트 스위치들 (525 및 526) 위의 다음 레벨에서 4개의 엔드 노드들 및 2개의 스위치들에 각각 연결된 2개의 리프 스위치들(520 및 521)로 구성된다. 또한, 아래쪽 방향으로 할당된 라우트들의 수를 나타내는 down 및 max에 대한 변수와 각각의 링크에서 적절한 밸런싱을 보장하기 위해 라우트될 수 있는 최대 노드들의 수는 도면에 표시되어 있다.
실시예에 따르면, 라우팅을 위한 4개의 엔드 노드들을 갖는 각각의 리프 스위치에서 2개의 상향 포트들이 있음이 주어지고, 상향 링크들 각각은 상기 링크들이 밸런스되는 것을 보장하기 위해 2개의 엔드 노드들을 라우팅해야한다(즉, max=2).
실시예에 따르면, 리프 스위치(520)에 대해, 첫 번째 두 노드들, 노드 A와 노드 B의 상기 라우팅이 도 6에 도시된다. 상기 라우팅 메커니즘은 트래픽을 노드 A 방향으로 라우팅하고 스위치를 노드 A의 파티션 키, 도면에서 "(파티션 1)"로 도시, 로 마크하기 위해 루트 스위치(525)를 선택할 수 있다. 유사하게, 노드 B에 대해, 루트 스위치(526)는 도면에서 "(파티션 2)"로 도시된 노드 B의 파티션 키로 선택될 수 있고 마크될 수 있다. 또한, 변수 down은 2개의 하향 링크들 각각에서 단일 라우트된 노드를 카운트하도록 업데이트된다.
실시예에 따르면, 노드들 C 및 D에 대해, 도 7과 같이 상기 해당 파티션 키가 이미 마크된 스위치는 선택될 수 있다. 상기 결과 루트들은 루트 스위치(525)를 통해 동일한 링크를 갖는 제 1 파티션, 즉 노드 A 및 D에 속하는 노드들을 향해 플로우한다. 유사하게, 제 2 파티션들의 노드들, 즉 노드 B 및 C는 루트 스위치(526)를 통해 아래로 라우팅될 수 있다. 이러한 루트들의 분리는 2개의 파티션들의 트래픽 흐름 사이의 간섭을 회피한다. 각각의 링크들에서 아래로 라우팅되는 노드들의 수는 최대 변수를 초과하지 않는 것에 주목하면, 상기 라우팅은 여전히 밸런스된 것을 의미한다.
마지막으로, 실시예에 따르면, 도 8은 리프 스위치(521)에 연결된 상기 엔드 노드들에 대한 라우팅을 도시한다. 여기서 또한, 제 2-레벨 스위치들이 제 1 리프 스위치 라우팅으로부터의 상기 파티션 키들로 이미 마크됨으로써, 상기 대응하는 스위치들은 각각의 상기 노드들, 즉 노드 E, F, G 및 G를 라우팅하기 위해 선택될 수 있다. 도시된 바와 같이, 상기 최종 라우팅은 중간 네트워크 링크들을 상기 라우팅에 기초한 2개의 동일한 사이즈의 논리적 서브-네트워크들로 나누는 것에 의해 상기 2개의 파티션들을 격리할 수 있다.
도 9는 실시예에 따르는, 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 방법을 도시한다. 상기 대표적인 방법(900)은 멀티-테넌트 클러스터 환경 내의 하나 이상의 테넌트들을 지원하는 단계(901)에서 시작할 수 있다. 단계(902)에서, 대표적인 방법은 하나 이상의 테넌트들 각각을 복수의 파티션들의 파티션과 관련시킬 수 있다. 상기 방법은, 단계(903)에서, 복수의 노드들 각각의 하나 이상의 노드들과 상기 복수의 파티션들 각각을 관련시킬 수 있으며, 상기 복수의 노드들 각각은 복수의 스위치들의 리프 스위치와 관련되며, 상기 복수의 스위치들은 다른 레벨들에서 복수의 리프 스위치들 및 복수의 스위치들을 포함한다. 마지막으로, 단계(904)에서, 상기 방법은 하나 이상의 선형 포워딩 테이블들을 생성할 수 있으며, 상기 하나 이상의 선형 포워딩 테이블들은 상기 복수의 파티션들 사이의 격리를 제공하며, 상기 복수의 노드들 각각은 파티셔닝 순서와 관련된다.
본 발명의 많은 특징들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합들의 도움으로, 또는 이를 사용하여 수행될 수 있다. 결과적으로, 본 발명의 특징들은(예컨대, 하나 이상의 프로세서들을 포함하는) 프로세싱 시스템을 사용하여 구현될 수 있다.
본 발명의 특징들은 명세서에 표현된 상기 특징들 중 임의의 것을 수행하기 위해 프로세싱 시스템을 프로그래밍하는데 사용될 수 있는 위에/내부에 저장된 명령어들을 갖는 저장 매체(media) 또는 컴퓨터 판독 가능 매체(media)인 컴퓨터 프로그램 제품의 도움으로, 또는 이를 사용하여 구현될 수 있다. 저장 매체는 이들로만 한정되는 것은 아니지만, 플로피 디스크(disk)들, 광학 디스크(disc)들, DVD, CD-ROM들, 마이크로드라이브 및 자기-광학 디스크(disk)들을 포함하는 어떤 타입의 디스크, ROM들, RAM들, EPROM들, EEPROM들, DRAM들, VRAM들, 플래시 메모리 디바이스들, 자기 또는 광학 카드들, 나노시스템들(분자 메모리 IC들을 포함하는) 또는, 명령어들 및/또는 데이터를 저장하기에 적절한 어떤 타입의 매체 또는 디바이스를 포함할 수 있다.
상기 기계 판독 가능 매체(media) 중 임의의 하나에 저장되는, 본 발명의 특징들은 프로세싱 시스템의 상기 하드웨어를 제어하고 프로세싱 시스템이 본 발명의 상기 결과들을 활용하여 다른 메커니즘과 상호작용할 수 있게 하는 소프트웨어 및/또는 펌웨어에 통합될 수 있다. 이러한 소프트웨어 또는 펌웨어에는 이들로만 한정되는 것은 아니지만, 어플리케이션 코드, 디바이스 드라이버들, 운영 체제들 및 실행 환경들/컨테이너들이 포함될 수 있다.
본 발명의 특징들은 또한 예를 들어, 주문형 집적 회로들(ASICs)과 같은 하드웨어 컴포넌트들을 사용하여 하드웨어로 구현될 수 있다. 본 명세서에 기술된 상기 기능들을 수행하기 위한 상기 하드웨어 상태 기계의 구현은 관련 기술 분야의 통상의 기술자에게 명백할 것이다.
또한, 본 발명은 하나 이상의 프로세서들, 메모리 및/또는 본 발명의 공개된 기술에 따라 프로그램된 컴퓨터 판독 가능 저장 매체를 포함하는 하나 이상의 종래의 범용 또는 특수 디지털 컴퓨터, 컴퓨팅 디바이스, 기계 또는 마이크로프로세서를 사용하여 편리하게 구현될 수 있다. 적절한 소프트웨어 코딩은 소프트웨어 분야의 통상의 기술자에게 명백한 바와 같이, 본 발명의 공개된 기술에 기초하여 숙련된 프로그래머들에 의해 용이하게 준비 될 수 있다.
본 발명의 다양한 실시예들이 상술되었지만, 이들 예들은 제한이 없는 예로서 표현된 것임을 이해해야한다. 본 발명의 사상 및 범위를 벗어나지 않으면서 형태 및 세부사항에서의 다양한 변화가 이루어질 수 있음은 통상의 기술자에게 명백할 것이다.
본 발명은 특정 기능의 실행 및 그 관계를 설명하는 기능적 빌딩 블록들의 도움으로 위에서 기술되었다. 이러한 기능적 빌딩 블록들의 경계들은 종종 기술의 편의를 위해 임의로 정의되었다. 상기 특정된 기능들과 그 관계들이 적절히 수행되는 한, 대체 경계들을 정의할 수 있다. 그러한 임의의 대체 경계들은 따라서 본 발명의 범위 및 사상 내에 있다.
본 발명의 상기 설명은 예시 및 설명을 목적으로 제공되었다. 본 설명은 완전한 것(exhaustive)으로 의도되거나 정확히 개시된 형태들로만 본 발명을 제한하고자 의도된 것이 아니다. 본 발명의 외연 및 범위는 상술한 대표적인 실시예들 중 어느 것에 의해서도 제한되어서는 안된다. 많은 수정들 및 변형들이 이 기술분야의 숙련자에게 분명할 것이다. 위 실시예들은 본 발명의 원리 및 이의 실용적 응용을 가장 잘 설명하기 위해 선택 및 기술되었으며, 그럼으로써 이 기술분야의 숙련자들은 본 발명에 대한 다양한 실시예들 및 고려되는 특별한 사용에 적합한 다양한 수정들을 이해할 수 있다. 본 발명의 범위는 다음의 특허 청구 범위 및 이의 균등물에 의해 한정되어야 함이 의도된다.

Claims (20)

  1. 멀티-테넌트(multi-tenant) 클러스터 환경에서 파티션-인지 라우팅(partition-aware routing)을 지원하기 위한 방법으로서,
    상기 멀티-테넌트 클러스터 환경 내에서 하나 이상의 테넌트들을 지원하는 단계와;
    상기 하나 이상의 테넌트들 각각을 복수의 파티션들 중 하나의 파티션과 관련시키는 단계와;
    상기 복수의 파티션들 각각을 복수의 노드들 중 하나 이상의 노드들과 관련시키는 단계와, 상기 복수의 노드들 각각은 복수의 스위치들 중 리프 스위치(leaf switch)와 관련되며, 상기 복수의 스위치들은 복수의 리프 스위치들 및 다른 레벨들의 복수의 스위치들을 포함하며;
    하나 이상의 선형 포워딩 테이블들을 생성하는 단계를 포함하며, 상기 하나 이상의 선형 포워딩 테이블들은 상기 복수의 파티션들 사이의 격리를 제공하며; 그리고
    상기 복수의 노드들 각각은 파티셔닝 순서(partitioning order)와 관련되는 것을 특징으로 하는 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 방법.
  2. 청구항 1에 있어서,
    하나 이상의 선형 포워딩 테이블들을 생성하는 단계는,
    상기 복수의 리프 스위치들 각각에 대해, 각 노드와 관련된 상기 파티셔닝 순서에 따라 상기 복수의 노드들이 노드들의 순서로 정렬하도록 순서화(ordering)하는 단계와; 그리고
    상기 노드들의 순서로, 상기 복수의 엔드 노드(end node)들을 라우팅하는 단계를 포함하며, 상기 라우팅 단계는:
    각 노드에 대해 적어도 하나의 하향(down-going) 포트 및 적어도 하나의 상향(up-going) 포트를 선택하는 단계를 포함하며, 상기 선택하는 단계는 로드 기준(load criterion)으로 구성된 상기 그룹으로부터 선택된 적어도 하나의 인자 및 스위치의 파티션 마킹에 기초하는 것을 특징으로 하는 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 방법.
  3. 청구항 2에 있어서,
    각 노드와 관련된 상기 파티션 순서에 따라 상기 복수의 노드들을 순서화하기 전에, 단일-리프 스위치 파티션들을 필터링하는 단계를 더 포함하는 것을 특징으로 하는 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 방법.
  4. 청구항 1 내지 3 중 어느 한 항에 있어서,
    상기 복수의 파티션들 사이의 격리를 제공하는 단계는,
    서로 다른 파티션들과 관련된 노드들 사이의 통신이 상기 복수의 스위치들 중의 스위치들 사이의 루트를 공유하지 않는 것을 보장하는 단계를 포함하는 것을 특징으로 하는 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 방법.
  5. 청구항 1 내지 4 중 어느 한 항에 있어서,
    상기 복수의 스위치들 및 상기 복수의 노드들이 트리 토폴로지(tree topology)에서 배열되도록 하는 단계를 더 포함하는 것을 특징으로 하는 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 방법.
  6. 청구항 5에 있어서,
    상기 트리 토폴로지는 팻-트리 토폴로지(fat tree topology)인 것을 특징으로 하는 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 방법.
  7. 청구항 1 내지 6 중 어느 한 항에 있어서,
    상기 멀티-테넌트 클러스터 환경은 InfiniBand 네트워크를 포함하는 것을 특징으로 하는 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 방법.
  8. 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 시스템으로서,
    상기 시스템은:
    하나 이상의 마이크로프로세서들; 및
    상기 하나 이상의 마이크로프로세서들 상에서 실행되는 프로세서를 포함하며, 상기 프로세서는 단계들을 수행하기 위해 동작하며, 상기 단계들은:
    상기 멀티-테넌트 클러스터 환경 내에서 하나 이상의 테넌트들을 지원하는 단계와;
    상기 하나 이상의 테넌트들 각각을 복수의 파티션들 중 하나의 파티션과 관련시키는 단계와;
    상기 복수의 파티션들 각각을 복수의 노드들 중 하나 이상의 노드들과 관련시키는 단계와, 상기 복수의 노드들 각각은 복수의 스위치들 중 리프 스위치와 관련되며, 상기 복수의 스위치들은 복수의 리프 스위치들 및 다른 레벨들의 복수의 스위치들을 포함하며;
    하나 이상의 선형 포워딩 테이블들을 생성하는 단계를 포함하며, 상기 하나 이상의 선형 포워딩 테이블들은 상기 복수의 파티션들 사이의 격리를 제공하며;
    상기 복수의 노드들 각각은 파티셔닝 순서와 관련되는 것을 특징으로 하는 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 시스템.
  9. 청구항 8에 있어서,
    하나 이상의 선형 포워딩 테이블들을 생성하는 단계는,
    상기 복수의 리프 스위치들 각각에 대해, 각각의 노드와 관련된 상기 파티셔닝 순서에 따라 상기 복수의 노드들이 노드들의 순서로 정렬하도록 순서화하는 단계와; 그리고
    상기 노드들의 순서로, 상기 복수의 엔드 노드들을 라우팅하는 단계를 포함하며, 상기 라우팅 단계는:
    각 노드에 대해 적어도 하나의 하향 포트 및 적어도 하나의 상향 포트를 선택하는 단계를 포함하며, 상기 선택하는 단계는 로드 기준으로 구성된 상기 그룹으로부터 선택된 적어도 하나의 인자 및 스위치의 파티션 마킹에 기초하는 것을 특징으로 하는 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 시스템.
  10. 청구항 9에 있어서,
    상기 단계들은:
    각 노드와 관련된 상기 파티션 순서에 따라 상기 복수의 노드들을 순서화하기 전에, 단일-리프 스위치 파티션들을 필터링하는 단계를 더 포함하는 것을 특징으로 하는 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 시스템.
  11. 청구항 8 내지 10 중 어느 한 항에 있어서,
    상기 복수의 파티션들 사이의 격리를 제공하는 단계는,
    서로 다른 파티션들과 관련된 노드들 사이의 통신이 상기 복수의 스위치들 중의 스위치들 사이의 루트를 공유하지 않는 것을 보장하는 단계를 포함하는 것을 특징으로 하는 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 시스템.
  12. 청구항 8 내지 11 중 어느 한 항에 있어서,
    상기 복수의 스위치들 및 상기 복수의 노드들이 트리 토폴로지에서 배열되는 것을 특징으로 하는 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 시스템.
  13. 청구항 12에 있어서,
    상기 트리 토폴로지는 팻-트리 토폴로지인 것을 특징으로 하는 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 시스템.
  14. 청구항 8 내지 13 중 어느 한 항에 있어서,
    상기 멀티-테넌트 클러스터 환경은 InfiniBand 네트워크를 포함하는 것을 특징으로 하는 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 시스템.
  15. 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 명령어들이 저장된 비-일시적 기계 판독 가능 저장 매체로서, 실행될 때 시스템이 단계들을 수행하게 하며, 상기 단계들은:
    상기 멀티-테넌트 클러스터 환경 내에서 하나 이상의 테넌트들을 지원하는 단계와;
    상기 하나 이상의 테넌트들 각각을 복수의 파티션들 중 하나의 파티션과 관련시키는 단계와;
    상기 복수의 파티션들 각각을 복수의 노드들 중 하나 이상의 노드들과 관련시키는 단계와, 상기 복수의 노드들 각각은 복수의 스위치들 중 리프 스위치와 관련되며, 상기 복수의 스위치들은 복수의 리프 스위치들 및 다른 레벨들의 복수의 스위치들을 포함하며;
    하나 이상의 선형 포워딩 테이블들을 생성하는 단계를 포함하며, 상기 하나 이상의 선형 포워딩 테이블들은 상기 복수의 파티션들 사이의 격리를 제공하며;
    상기 복수의 노드들 각각은 파티셔닝 순서와 관련되는 것을 특징으로 하는 비-일시적 기계 판독 가능 저장 매체.
  16. 청구항 15에 있어서,
    하나 이상의 선형 포워딩 테이블들을 생성하는 단계는,
    상기 복수의 리프 스위치들 각각에 대해, 각 노드와 관련된 상기 파티셔닝 순서에 따라 상기 복수의 노드들이 노드들 순서로 정렬하도록 순서화하는 단계와; 그리고
    상기 노드들의 순서로, 상기 복수의 엔드 노드들을 라우팅하는 단계를 포함하며, 상기 라우팅 단계는:
    각 노드에 대해 적어도 하나의 하향 포트 및 적어도 하나의 상향 포트를 선택하는 단계를 포함하며, 상기 선택하는 단계는 로드 기준으로 구성된 상기 그룹으로부터 선택된 적어도 하나의 인자 및 스위치의 파티션 마킹에 기초하는 것을 특징으로 하는 비-일시적 기계 판독 가능 저장 매체.
  17. 청구항 16에 있어서,
    상기 단계들은:
    각 노드와 관련된 상기 파티션 순서에 따라 상기 복수의 노드들을 순서화하기 전에, 단일-리프 스위치 파티션들을 필터링하는 단계를 더 포함하는 것을 특징으로 하는 비-일시적 기계 판독 가능 저장 매체.
  18. 청구항 15 내지 17 중 어느 한 항에 있어서,
    상기 복수의 파티션들 사이의 격리를 제공하는 단계는,
    서로 다른 파티션들과 관련된 노드들 사이의 통신이 상기 복수의 스위치들 중의 스위치들 사이의 루트를 공유하지 않는 것을 보장하는 단계를 포함하는 것을 특징으로 하는 비-일시적 기계 판독 가능 저장 매체.
  19. 청구항 15 내지 18 중 어느 한 항에 있어서,
    상기 단계들은:
    상기 복수의 스위치들 및 상기 복수의 노드들이 트리 토폴로지에서 배열되도록 하는 단계를 더 포함하는 것을 특징으로 하는 비-일시적 기계 판독 가능 저장 매체.
  20. 청구항 19에 있어서,
    상기 트리 토폴로지는 팻-트리 토폴로지인 것을 특징으로 하는 비-일시적 기계 판독 가능 저장 매체.
KR1020177010675A 2014-10-31 2015-10-29 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 시스템 및 방법 KR102340683B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201462073615P 2014-10-31 2014-10-31
US62/073,615 2014-10-31
US201462074443P 2014-11-03 2014-11-03
US62/074,443 2014-11-03
US201462076961P 2014-11-07 2014-11-07
US62/076,961 2014-11-07
US201562133187P 2015-03-13 2015-03-13
US62/133,187 2015-03-13
PCT/US2015/058118 WO2016069927A1 (en) 2014-10-31 2015-10-29 System and method for supporting partition-aware routing in a multi-tenant cluster environment

Publications (2)

Publication Number Publication Date
KR20170078626A true KR20170078626A (ko) 2017-07-07
KR102340683B1 KR102340683B1 (ko) 2021-12-20

Family

ID=54479014

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177010675A KR102340683B1 (ko) 2014-10-31 2015-10-29 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US9807003B2 (ko)
EP (1) EP3213471B1 (ko)
JP (1) JP6653699B2 (ko)
KR (1) KR102340683B1 (ko)
CN (1) CN107113233B (ko)
WO (1) WO2016069927A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102070936B1 (ko) * 2018-11-02 2020-01-29 한림대학교 산학협력단 슬롯프레임 파티셔닝 기반 셀 스케쥴링 방법, 장치 및 프로그램

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3025384B1 (fr) * 2014-09-03 2016-09-16 Bull Sas Procede de surveillance et d'alerte de configuration de routage dans un cluster comprenant des liens de communication statiques et programme d'ordinateur mettant en oeuvre ce procede
JP6420354B2 (ja) * 2015-02-18 2018-11-07 インテル・コーポレーション 優先度および帯域幅割り当てに基づくトラフィッククラスアービトレーション
US10187310B2 (en) * 2015-10-13 2019-01-22 Oracle International Corporation System and method for efficient network isolation and load balancing in a multi-tenant cluster environment
US10630816B2 (en) 2016-01-28 2020-04-21 Oracle International Corporation System and method for supporting shared multicast local identifiers (MILD) ranges in a high performance computing environment
US10666611B2 (en) 2016-01-28 2020-05-26 Oracle International Corporation System and method for supporting multiple concurrent SL to VL mappings in a high performance computing environment
US10355972B2 (en) 2016-01-28 2019-07-16 Oracle International Corporation System and method for supporting flexible P_Key mapping in a high performance computing environment
US10348847B2 (en) 2016-01-28 2019-07-09 Oracle International Corporation System and method for supporting proxy based multicast forwarding in a high performance computing environment
US10374926B2 (en) 2016-01-28 2019-08-06 Oracle International Corporation System and method for monitoring logical network traffic flows using a ternary content addressable memory in a high performance computing environment
US10659340B2 (en) 2016-01-28 2020-05-19 Oracle International Corporation System and method for supporting VM migration between subnets in a high performance computing environment
US10348649B2 (en) 2016-01-28 2019-07-09 Oracle International Corporation System and method for supporting partitioned switch forwarding tables in a high performance computing environment
US10333894B2 (en) 2016-01-28 2019-06-25 Oracle International Corporation System and method for supporting flexible forwarding domain boundaries in a high performance computing environment
US10616118B2 (en) 2016-01-28 2020-04-07 Oracle International Corporation System and method for supporting aggressive credit waiting 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
JP6929863B2 (ja) * 2016-08-23 2021-09-01 オラクル・インターナショナル・コーポレイション 高性能コンピューティング環境における高速ハイブリッド再構成をサポートするためのシステムおよび方法
US10355939B2 (en) * 2017-04-13 2019-07-16 International Business Machines Corporation Scalable data center network topology on distributed switch
CN109861925B (zh) * 2017-11-30 2021-12-21 华为技术有限公司 数据传输方法、相关装置及网络
US10574755B2 (en) * 2018-03-28 2020-02-25 Wipro Limited Method and high performance computing (HPC) switch for optimizing distribution of data packets
CN111526113B (zh) 2019-02-02 2023-05-30 中兴通讯股份有限公司 协议处理方法及装置、存储介质
CN109981364B (zh) * 2019-03-25 2021-05-18 联想(北京)有限公司 网络的管理方法和系统
CN110012125B (zh) * 2019-04-01 2022-02-01 优刻得科技股份有限公司 集群网络通信方法、装置、存储介质和设备
CN110611621B (zh) * 2019-09-26 2020-12-15 上海依图网络科技有限公司 树型结构的多集群间的路由控制方法及集群森林
FR3126576A1 (fr) * 2021-09-01 2023-03-03 Latelec Procédé de détermination d’une topologie d’interconnexion entre commutateurs d’un réseau de communication, produit programme d’ordinateur et dispositif correspondants.
CN115459968B (zh) * 2022-08-25 2023-06-06 中国人民解放军国防科技大学 用于高性能计算机系统的隔离方法及高性能计算机系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8364891B2 (en) * 2006-04-04 2013-01-29 Permabit Technology Corporation Storage assignment technique for scalable and fault tolerant storage system

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4430993C1 (de) * 1994-08-31 1995-10-26 Siemens Ag Verfahren zur adaptiven Wegesuche in einem Kommunikationsnetz
US20080186990A1 (en) 2007-02-02 2008-08-07 International Business Machines Corporation Translation module, method and computer program product for providing multiple infiniband address support for vm migration using infiniband address translation
US20080189432A1 (en) 2007-02-02 2008-08-07 International Business Machines Corporation Method and system for vm migration in an infiniband network
US8737399B2 (en) 2010-01-05 2014-05-27 Futurewei Technologies, Inc. Enhanced hierarchical virtual private local area network service (VPLS) system and method for Ethernet-tree (E-Tree) services
CN102859949B (zh) * 2010-04-30 2015-12-02 惠普发展公司,有限责任合伙企业 用于在胖树网络中路由数据分组的方法
JP5476261B2 (ja) * 2010-09-14 2014-04-23 株式会社日立製作所 マルチテナント型情報処理システム、管理サーバ及び構成管理方法
US10063544B2 (en) 2011-06-03 2018-08-28 Oracle International Corporation System and method for supporting consistent handling of internal ID spaces for different partitions in an infiniband (IB) network
CN102333115A (zh) * 2011-09-01 2012-01-25 杭州湾云计算技术有限公司 一种将已有Web应用转化为SaaS多租户应用的方法和装置
US9014201B2 (en) * 2011-11-09 2015-04-21 Oracle International Corporation System and method for providing deadlock free routing between switches in a fat-tree topology
US8943000B2 (en) * 2012-01-20 2015-01-27 Cisco Technology, Inc. Connectivity system for multi-tenant access networks
US8862772B2 (en) 2012-10-09 2014-10-14 Cisco Technology, Inc. System and method for implementing a multilevel data center fabric in a network environment
CN103813288A (zh) * 2012-11-06 2014-05-21 中兴通讯股份有限公司 基于移动网络的租户网络业务实现方法、系统及网元
US9225624B2 (en) * 2012-12-20 2015-12-29 Dell Products L.P. Systems and methods for topology discovery and application in a border gateway protocol based data center
US9264351B2 (en) * 2013-09-07 2016-02-16 Cisco Technology, Inc. System and method for utilization of a segmentation identification to support transmission of data to a destination node
CN104954265B (zh) * 2014-03-25 2018-06-15 华为技术有限公司 发送组播报文的方法及交换机
US10187310B2 (en) * 2015-10-13 2019-01-22 Oracle International Corporation System and method for efficient network isolation and load balancing in a multi-tenant cluster environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8364891B2 (en) * 2006-04-04 2013-01-29 Permabit Technology Corporation Storage assignment technique for scalable and fault tolerant storage system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102070936B1 (ko) * 2018-11-02 2020-01-29 한림대학교 산학협력단 슬롯프레임 파티셔닝 기반 셀 스케쥴링 방법, 장치 및 프로그램

Also Published As

Publication number Publication date
CN107113233A (zh) 2017-08-29
EP3213471B1 (en) 2018-08-29
US9807003B2 (en) 2017-10-31
JP6653699B2 (ja) 2020-02-26
KR102340683B1 (ko) 2021-12-20
JP2017533668A (ja) 2017-11-09
EP3213471A1 (en) 2017-09-06
WO2016069927A1 (en) 2016-05-06
US20160127236A1 (en) 2016-05-05
CN107113233B (zh) 2020-06-23

Similar Documents

Publication Publication Date Title
KR102340683B1 (ko) 멀티-테넌트 클러스터 환경에서 파티션-인지 라우팅을 지원하기 위한 시스템 및 방법
US11356370B2 (en) System and method for efficient network isolation and load balancing in a multi-tenant cluster environment
CA2963580C (en) Data forwarding method, device, and system in software-defined networking
US8855116B2 (en) Virtual local area network state processing in a layer 2 ethernet switch
JP6541768B2 (ja) 高性能コンピューティング(hpc:high performance computing)環境において効率的なロードバランシングをサポートするためのシステムおよび方法
US9325619B2 (en) System and method for using virtual lanes to alleviate congestion in a fat-tree topology
JP6017157B2 (ja) データネットワークのための多用途送信元ポートの実施
EP3725044B1 (en) Actn virtual network augmentation for resource sharing

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
GRNT Written decision to grant