KR20160076969A - 엔드-투-엔드 데이터센터 성능 제어 - Google Patents

엔드-투-엔드 데이터센터 성능 제어 Download PDF

Info

Publication number
KR20160076969A
KR20160076969A KR1020150163021A KR20150163021A KR20160076969A KR 20160076969 A KR20160076969 A KR 20160076969A KR 1020150163021 A KR1020150163021 A KR 1020150163021A KR 20150163021 A KR20150163021 A KR 20150163021A KR 20160076969 A KR20160076969 A KR 20160076969A
Authority
KR
South Korea
Prior art keywords
quality
data center
service
center performance
node
Prior art date
Application number
KR1020150163021A
Other languages
English (en)
Other versions
KR101782345B1 (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 KR20160076969A publication Critical patent/KR20160076969A/ko
Application granted granted Critical
Publication of KR101782345B1 publication Critical patent/KR101782345B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5019Ensuring fulfilment of SLA
    • H04L41/5025Ensuring fulfilment of SLA by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/091Measuring contribution of individual network components to actual service level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/2842
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/15Use in a specific computing environment
    • G06F2212/152Virtualized environment, e.g. logically partitioned system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/601Reconfiguration of cache memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5096Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to distributed or central networked applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

실시예들에서, 엔드-투-엔드 데이터센터 성능 제어와 관련된 장치들, 방법들 및 (일시적 및 비일시적) 저장 매체들이 설명된다. 다양한 실시예들에서, 컴퓨팅을 위한 장치는 데이터센터 성능 타겟을 수신하고, 복수의 노드로부터 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 엔드-투-엔드 데이터센터 성능 레벨을 결정하고, 데이터센터 성능 타겟에 대한 결정된 엔드-투-엔드 데이터센터 성능 레벨의 비교의 결과에 적어도 부분적으로 기초하여 완화 커맨드를 송신할 수 있다. 다양한 실시예들에서, 컴퓨팅을 위한 장치는 하나 이상의 프로세서, 메모리, 서비스 레벨 합의에 대응하는 데이터센터 성능 타겟을 수신하기 위한 데이터센터 성능 모니터, 및 데이터센터 성능 타겟에 대한 엔드-투-엔드 데이터센터 성능 레벨의 비교에 결과에 적어도 부분적으로 기초하여 완화 커맨드를 송신하기 위한 완화 모듈을 포함할 수 있다.

Description

엔드-투-엔드 데이터센터 성능 제어{END-TO-END DATACENTER PERFORMANCE CONTROL}
본 발명은 데이터 처리 분야에 관한 것으로서, 특히 복수의 노드에 대해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하는 엔드-투-엔드 데이터센터 성능 제어에 관한 것이다.
여기서 제공되는 배경 설명은 본 발명의 상황을 일반적으로 설명하기 위한 것이다. 달리 표시되지 않는 한, 이 섹션에서 설명되는 내용은 본원의 청구항들에 대한 종래 기술이 아니며, 이 섹션 내에 포함함에 의해 종래 기술로서 자인되지 않는다.
데이터센터들은 점점 더 통합되고 있으며, 이는 애플리케이션 성능의 관리에 있어서 많은 과제를 유발한다. 다수의 애플리케이션이 임의의 주어진 플랫폼 상에서 공동 실행되는 통합 환경에서 또는 소프트웨어 정의 네트워킹 또는 네트워크 기능 가상화를 이용하는 것들과 같은 가상화된 환경들에서, 주어진 스레드가 목격할 성능을 기존 방법들 및 기술을 이용하여 예측 및 제어하는 것은 어려울 수 있다. 서버 통합이 증가하고, 가상 머신(VM)의 수가 증가함에 따라, 데이터센터 내의 경합 소스들이 증가한다. 이러한 경합 소스들은 코어 내의 스레드들 간의, 레벨 2(L2) 캐시 상의 스레드들 간의, 오프코어 대역폭에 대한 스레드들 간의, 상호접속 대역폭에 대한 스레드들 간의, 레벨 3(L3) 캐시 공간 및 대역폭에 대한 스레드들, 가속기들 및 입출력(IO) 간의, IO 대역폭에 대한 스레드들 및 가속기들 간의, 그리고 네트워크에 대한 경쟁 애플리케이션들 및 흐름들 간의 경합을 포함할 수 있다. 이러한 결합된 경합 소스들은 주어진 작업 흐름에 대한 성능 예측의 어려움을 증가시킨다. 이것은 클라우드 서비스 백엔드 기반구조와 통신하는 스마트폰 애플리케이션의 응답 시간과 같이 애플리케이션의 최종 사용자의 견해가 고려될 때 심각한 결과를 가져올 수 있다. 게다가, 결합된 경합 소스들은 사용자에 대한 웹페이지 전달의 실질적인 지연도 유발할 수 있으며, 일반적으로 예를 들어 클라우드 대 클라우드 컴퓨트 배치들과 같은 데이터센터 내의 클라우드 서비스 제공들의 인식되는 성능에 영향을 줄 수 있다.
실시예들은 첨부 도면들과 관련된 아래의 상세한 설명에 의해 쉽게 이해될 것이다. 이러한 설명을 용이하게 하기 위해, 동일한 참조 번호들은 동일한 구조 요소들을 지시한다. 실시예들은 첨부 도면들에서 한정이 아니라 예시적으로 도시된다.
도 1은 다양한 실시예들에 따른, 운영 환경에서 컴퓨팅하기 위한 장치의 블록도이다.
도 2는 다양한 실시예들에 따른, 데이터센터의 블록도이다.
도 3은 다양한 실시예들에 따른 네트워크 기능 가상화 시스템의 블록도이다.
도 4는 다양한 실시예들에 따른, 네트워크 기능 가상화 서비스 레벨 합의 모니터링 시스템의 블록도이다.
도 5는 엔드-투-엔드 데이터센터 성능 제어를 위한 예시적인 프로세스의 흐름도이다.
도 6은 엔드-투-엔드 데이터센터 성능 제어 노드 레벨 동작들을 위한 예시적인 프로세스의 흐름도이다.
도 7은 다양한 실시예들에 따른, 본 발명의 다양한 양태들을 실시하는 데 적합한 예시적인 컴퓨팅 환경을 나타낸다.
도 8은 다양한 실시예들에 따른, 장치가 본 발명의 다양한 양태들을 실시하는 것을 가능하게 하도록 구성되는 명령어들을 갖는 예시적인 저장 매체를 나타낸다.
아래의 상세한 설명에서는, 본 명세서의 일부를 형성하고, 전반적으로 동일한 번호들이 동일한 요소들을 지시하고, 실시될 수 있는 실시예들을 예시적으로 도시하는 첨부 도면들이 참조된다. 다른 실시예들이 이용될 수 있고, 본 발명의 범위로부터 벗어나지 않으면서 구조적 또는 논리적 변경들이 이루어질 수 있다는 것을 이해해야 한다. 따라서, 아래의 상세한 설명은 한정의 의미로 간주되지 않아야 하며, 실시예들의 범위는 첨부된 청구항들 및 그들의 균등물들에 의해 정의된다.
다양한 동작들이 청구 발명의 이해에 가장 도움이 되는 방식으로 다수의 개별 액션들 또는 동작들로서 차례로 설명될 수 있다. 그러나, 설명의 순서는 이러한 동작들이 반드시 순서에 의존한다는 것을 의미하는 것으로 해석되지 않아야 한다. 구체적으로, 이러한 동작들은 설명의 순서대로 수행되지 않을 수 있다. 설명되는 동작들은 설명되는 실시예와 다른 순서로 수행될 수 있다. 다양한 추가 동작들이 수행될 수 있고/있거나, 설명되는 동작들이 추가 실시예들에서 생략될 수 있다.
본 발명의 목적을 위해, "A 및/또는 B"라는 표현은 (A), (B) 또는 (A 및 B)를 의미한다. 본 발명의 목적을 위해, "A, B 및/또는 C"라는 표현은 (A), (B), (C), (A 및 B), (A 및 C), (B 및 C) 또는 (A, B 및 C)를 의미한다.
본 설명은 "일 실시예에서" 또는 "실시예들에서"라는 표현들을 사용할 수 있으며, 이들 각각은 동일하거나 상이한 하나 이상의 실시예를 지칭할 수 있다. 더구나, 본 발명의 실시예들과 관련하여 사용되는 바와 같은 "포함하는(comprising, including)", "갖는(having)" 등의 용어는 동의어이다.
본 명세서에서 사용되는 바와 같이, "논리" 및 "모듈"이라는 용어는 하나 이상의 소프트웨어 또는 펌웨어 프로그램을 실행하는 주문형 집적 회로(ASIC), 전자 회로, 프로세서(공유, 전용 또는 그룹) 및/또는 메모리(공유, 전용 또는 그룹), 조합 논리 회로, 및/또는 설명되는 기능을 제공하는 다른 적절한 컴포넌트들을 지칭하거나, 그들의 일부이거나, 그들을 포함할 수 있다. "모듈"이라는 용어는 본 발명에 따른 하나 이상의 동작을 수행하거나 그의 수행을 유발하도록 구성되는 소프트웨어, 펌웨어 및/또는 회로를 지칭할 수 있다. 소프트웨어는 비일시적 컴퓨터 판독 가능 저장 매체들 상에 기록되는 소프트웨어 패키지, 코드, 명령어들, 명령어 세트들 및/또는 데이터로서 구현될 수 있다. 펌웨어는 메모리 디바이스들 내에 하드(예로서, 비휘발성) 코딩되는 코드, 명령어들 또는 명령어 세트들 및/또는 데이터로서 구현될 수 있다. "회로"는 본 발명의 임의의 실시예에서 사용되는 바와 같이 예를 들어 단독으로 임의의 조합으로 하드와이어드 회로, 하나 이상의 개별 명령어 처리 코어를 포함하는 컴퓨터 프로세서들과 같은 프로그래밍 가능 회로, 상태 머신 회로, 프로그래밍 가능 회로에 의해 실행되는 명령어들을 저장하는 소프트웨어 및/또는 펌웨어를 포함할 수 있다. 모듈들은 컴퓨팅 디바이스의 일부를 형성하는 회로로서 공동으로 또는 개별적으로 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, "프로세서"라는 용어는 프로세서 코어일 수 있다.
이제, 도 1을 참조하면, 다양한 실시예들에 따른, 본 발명의 엔드-투-엔드 데이터센터 성능 제어 가르침과 통합된 컴퓨팅을 위한 장치(100)가 도시된다. 도시된 바와 같이, 장치(100)는 네트워크(106)를 통해 서로 협동하도록 구성되는 (오케스트레이터로도 지칭되는) 중앙 정책 서버(102) 및 복수의 플랫폼 노드(104)를 포함하는 다수의 컴포넌트(102-174)를 포함하여, 중앙 정책 서버(102)의 제어/오케스트레이션 하에 플랫폼 노드들(104)을 통한 컴퓨팅을 제공할 수 있다. 실시예들에서, 중앙 정책 서버(102)는 서비스 레벨 합의들(SLA들)에 따라 데이터센터 성능을 모니터링하여 플랫폼 노드들(104) 상에서 실행되는 작업 부하들 간의 경합 소스들을 검출하고, 플랫폼 노드들(104) 상에 선택적으로 배치된 서비스 품질(QoS) 모니터링 및 시행 하드웨어 기기들을 이용하여 그들을 완화하도록 구성될 수 있다. 노드들(104)은 다양한 실시예들에서 선반에 장착된 서버 시스템들일 수 있다. QoS 모니터링 및 시행 하드웨어 기기들은 트래픽을 우선순위화하기 위해 온-다이 또는 오프-다이 QoS 하드웨어 긱긱들에 의해 제공되는 메커니즘들을 포함할 수 있다. 실시예들에서, QoS 하드웨어 기기들은 캐시 점유 모니터링 하드웨어, 캐시 미스 모니터링 카운터들, 및 (예로서, 통계 제한들 또는 하드 용량 제한들을 통해) 데이터를 캐시 내에 채우는 제어를 포함할 수 있는 최종 레벨 캐시 QoS 하드웨어 기기(158)를 포함할 수 있다. QoS 하드웨어 기기들에 의해 제공되는 QoS 모니터링 메커니즘들은 다양한 실시예들에서 경쟁 트래픽 흐름들에 의한 다양한 시스템 자원들의 사용과 관련된 QoS 모니터링 데이터를 제공할 수 있다. QoS 기기들에 의해 제공되는 QoS 시행 메커니즘들은 실시예들에서 경쟁 트래픽 흐름들 간의 시스템 자원들의 할당을 제공할 수 있다.
실시예들에서, 중앙 정책 서버(102)는 하나 이상의 프로세서 또는 프로세서 코어(108), 시스템 메모리(110), 데이터센터 성능 모니터(112), 및 함께 결합되고 서로 협동하도록 구성될 수 있는 하나 이상의 프로세서(108)에 의해 동작되는 모듈들(116)을 포함할 수 있다. 실시예들에서, 데이터센터 성능 모니터(112)의 일부 또는 전부가 모듈들(116)의 일부로서 포함될 수 있다. 플랫폼 노드들(104)은 하나 이상의 프로세서 또는 프로세서 코어(117), 메모리(118), 및 함께 결합되고 서로 협동하도록 구성될 수 있는 하나 이상의 프로세서(117)에 의해 동작되는 노드 관리 모듈들(119)을 포함할 수 있다. 청구항들을 포함하는 본원의 목적을 위해, "프로세서" 및 "프로세서 코어"라는 용어는 상황이 명확하게 달리 요구하지 않는 한은 동의어인 것으로 간주될 수 있다. 실시예들에서, 복수의 플랫폼 요소와 관련된 다양한 타입의 QoS 기기들에 관한 제어들은 서비스 레벨 합의들(SLA들)에 따른 시스템 내의 작업 부하들, 흐름들 또는 태스크들의 성능 요구들을 유지하기 위해 작업 부하들, 흐름들, 태스크들 또는 가상 머신들의 실제 성능과 관련된 성능 타겟들을 모니터링하고 QoS 기기 제어들을 조절하기 위한 오케스트레이터로서 작용하는 중앙 정책 서버(102)에 의해 조정될 수 있다. SLA들은 다양한 실시예들에서 초당 동작 수, 사용자 정의 메트릭, 응답 시간(지연) 또는 다른 성능 척도들에 있어서의 성능 타겟의 형태를 취할 수 있다. 실시예들에서, SLA들은 데이터센터 관리자들 또는 관리 소프트웨어로부터 하달되는 성능 타겟들에 적어도 부분적으로 기초하여 관리될 수 있다.
다양한 실시예들에서, SLA에 의해 설정된 타겟 미만의 성능은 더 큰 지연(예로서, 타겟인 150 ms가 아니라 400 ms) 또는 더 적은 초당 동작 수(예로서, 타겟인 초당 50,000 동작이 아니라 초당 30,000 동작)와 같은 형태들을 취할 수 있으며, 타겟을 초과하는 성능은 더 작은 지연(예로서, 타겟인 150 ms가 아니라 100 ms) 또는 더 많은 초당 동작 수(예로서, 타겟인 초당 50,000 동작이 아니라 초당 75,000 동작)와 같은 형태들을 취할 수 있다. 중앙 정책 서버(102)는 QoS 기기들을 이용하여, 스레드들 또는 작업 부하들과 관련된 캐시 공간 및 프로세서 코어들과 같은 파라미터들을 증감함으로써 작업 부하들의 성능을 조절하여, 스레드 또는 작업 부하의 성능 레벨을 올리거나 내려서 그의 성능 레벨을 스레드 또는 작업 부하와 관련된 타겟에 더 가까워지게 할 수 있다. 실시예들에서, 캐시 공간은 단일 캐시 레벨, 캐시 레벨들의 조합 또는 모든 캐시 레벨들에 대해 스레드들 또는 작업 부하들 사이에 재분배될 수 있다. 실시예들에서, 높은 우선순위의 작업 부하는 더 낮은 우선순위의 작업 부하들이 그들의 대응하는 성능 타겟을 충족시킴으로써 높은 우선순위의 작업 부하가 그의 대응하는 SLA를 초과하는 경우에도 증가된 성능을 받을 때 QoS 기기들에 의한 조절에 의해 추가 자원들 또는 모든 나머지 자원들을 제공받을 수 있다. 실시예들에서, QoS 기기들에 의한 조절에 의해, 낮은 또는 중간 우선순위 레벨을 갖는 더 낮은 우선순위의 작업부하들은 그들과 관련된 SLA에 따른 보증된 최소 서비스 레벨에만 대응하는 성능 레벨을 제공받을 수 있으며, 따라서 더 높은 우선순위의 작업 부하들 또는 인스턴스들은 가능한 한 빠르게 실행될 수 있다. 실시예들에서, 중앙 정책 서버(102)는 처리량과 같은 성능 레벨들을 증가시키기 위해 성능 타겟들이 충족될 때 추가 자원들을 제공하거나 작업 부하들 및 자원들을 재균형화할 수 있다. 실시예들에서, 이것은 일부 또는 모든 실행 작업 부하들, 스레드들 또는 인스턴스들이 그들 각각의 성능 타겟들을 충족시키는 경우에도 최적화 또는 성능 최대화 프로세스로서 발생할 수 있다.
실시예들에서, 모니터링 또는 시행을 위한 QoS 하드웨어 기기들은 하이퍼바이저가 애플리케이션 및 가상 머신 레벨들에서의 최종 레벨 캐시 사용을 모니터링하는 것을 가능하게 할 수 있는 온 다이 플랫폼 QoS(PQoS) 메커니즘들은 물론, 트래픽 흐름 자원 사용을 모니터링하고 트래픽을 우선순위화하는 데 사용될 수 있는 동시 멀티스레딩(SMT) QoS, 캐시 QoS 및 메모리 QoS도 포함할 수 있지만, 이에 한정되지 않는다. 다양한 실시예들에서, 모니터링 및 시행을 위한 QoS 하드웨어 기기들은 PCIe(peripheral component interconnect express) QoS, 이더넷 QoS, LTE(long-term evolution) QoS, eNB(evolved node B) QoS, 인텔(등록상표) QPI(QuickPath Interconnect) QoS, KTI(Keizer Technology Interface) QoS, IPv6(Internet Protocol version 6) QoS, 인텔(등록상표) IOSF(On-Chip System Fabric) QoS, TCP(transmission control protocol) QoS, DCB(datacenter bridging) QoS, 및 네트워크 인터페이스 카드(NIC)/스위치/네트워크 레벨에서 QoS를 모니터링 및 시행하기 위한 많은 다른 기술들과 같은 오프 다이 메커니즘들을 포함할 수 있지만, 이에 한정되지 않는다. 다양한 실시예들에서, 일부 또는 모든 QoS 또는 PQoS 하드웨어 기기들은 예를 들어 판독 시에 QoS 모니터링 데이터를 제공함으로써 또는 QoS 하드웨어 기기의 레지스터에 기입하거나 특정 데이터를 QoS 기기로 전송할 때 시행 메커니즘으로서의 자원들의 할당을 제공함으로써 모니터링 및 시행 능력 중 하나 또는 양자를 제공할 수 있다. 실시예들에서, PQoS 하드웨어 기기는 L3 캐시 모니터링 및 L3 캐시 시행, 재할당, 및 재분배 능력들을 포함할 수 있다.
일반적으로, 실시예들에서, 노드 관리 모듈들(119) 내에 포함될 수 있는 소프트웨어 에이전트는 각각의 노드(104) 상에서 실행되어 로컬 노드 시스템을 모니터링하고, 데이터센터 오케스트레이터로서 작용할 수 있는 중앙 정책 서버(102)에 QoS 데이터를 포함하는 텔레메트리를 제공하고, 중앙 정책 서버(102)로부터 수신된 정책들, 커맨드들 또는 명령어들을 시행하도록 구성될 수 있다. 노드 관리 모듈들(119)은 QoS 모니터링 및 시행 기기 열거 모듈들, 경합 국소화 모듈(contention localization module), 완화 모듈, 및 데이터 수신 및 보고 모듈들을 포함할 수 있다. 다양한 실시예들에서, 중앙 정책 서버(102)는 작업 부하들, 성능 타겟들, 작업 부하-노드 맵핑들 및 자원 경합 레벨들을 검사하여, (웹 서버 VM에 얼마나 많은 캐시를 제공할지 또는 방화벽 VM을 위해 얼마나 많은 메모리 대역폭을 예약할지 등의) 자원 할당 결정들을 수행하기 위한 데이터센터 오케스트레이터로서 작용할 수 있으며, 이러한 결정들은 시행을 위해 이러한 애플리케이션들을 실행하는 노드들(104)로 하달된다. 중앙 정책 서버(102)는 시스템 관리자들 또는 사용자들에 의한 사용을 위해 데이터센터 성능 레벨들 및 QoS 모니터링 및 시행 데이터에 기초하여 플롯들(plots), 성능 데이터 및 텔레메트리를 생성 및 저장할 수 있다. 중앙 정책 서버(102)는 이용 가능 자원들 대 사용중인 애플리케이션들, 흐름들, VM들 및 사용중인 작업부하들, 엔드-투-엔드 성능 타겟들, 및 흐름의 각각의 부분에 대한 성능 예산들을 포함하는 데이터센터의 글로벌 뷰를 유지할 수 있으며, 이러한 정보를 이용하여 데이터센터 레벨 및 노드 레벨 자원 할당 최적화들을 행할 수 있다(예로서, 캐시에 민감하고 예상 성능 레벨 미만에서 동작하는 흐름 중앙의 노드 상의 작업 부하에 더 많은 L3 캐시를 할당할 수 있다). 실시예들에서, 중앙 정책 서버(102)는 성능 데이터 테이블들도 (예로서, 행 x 열 포맷 또는 키-값 포맷으로) 저장할 수 있다.
다양한 실시예들에서, 데이터센터 성능 모니터(112)는 복수의 노드의 성능 레벨들을 모니터링하기 위한 노드 모니터(120) 및 복수의 노드의 성능 레벨들을 집계하여 집계된 성능 레벨을 결정하기 위해 하나 이상의 프로세서(108)에 의해 동작되는 노드 집계 모듈(121)을 포함할 수 있다. 실시예들에서, 모듈들(116)은 데이터센터 성능 타겟에 적어도 부분적으로 기초하여 복수의 노드 각각에 대한 노드 성능 타겟을 결정하기 위한 성능 분배 모듈(122), 경합 국소화 커맨드를 송신하고 경합 국소화 응답을 수신하기 위한 경합 국소화 모듈(123), 경합 국소화 응답에 적어도 부분적으로 기초하여 완화 커맨드를 송신하기 위한 완화 모듈(124) 및 하나 이상의 다른 모듈(126)을 포함할 수 있다. 실시예들에서, 경합 국소화 모듈(123)은 경합 국소화 커맨드를 먼저 송신하지 않고서 QoS 하드웨어 모니터링 기기들에 기초하여 다양한 자원들에 대한 경합에 관한 데이터를 노드들(104)로부터 주기적으로 수신할 수 있으며, 완화 모듈(124)은 이러한 주기적으로 수신된 데이터에 적어도 부분적으로 기초하여 완화 커맨드를 송신할 수 있다. 실시예들에서, 완화 모듈은 작업 부하에 대해, 추가 메모리를 제공하기 위한 명령어, 추가 프로세서 코어를 제공하기 위한 명령어, 추가 네트워크 대역폭을 제공하기 위한 명령어, 추가 메모리 대역폭을 제공하기 위한 명령어, 불충분한 서비스를 받는 디바이스에 대한 추가 IO 대역폭을 제공하기 위한 명령어, SMT QoS를 이용하여 추가적인 스레드별 자원들을 제공하기 위한 명령어 및 추가 캐시 공간을 제공하기 위한 명령어를 포함하는 완화 커맨드들의 그룹으로부터 선택된 완화 커맨드를 포함할 수 있다. 실시예들에서, 어떤 완화 커맨드들을 발할지에 대한 결정은 적어도 하나의 모듈(122-124, 126)에 의해 수행되는 액션들에 적어도 부분적으로 기초할 수 있다. 작업 부하의 성능을 낮추기 위한 조절이 수행되는 실시예들에서, 완화 커맨드는 작업 부하에 대해, 더 적은 메모리를 제공하기 위한 명령어, 프로세서 코어를 제거하기 위한 명령어, 더 작은 네트워크 대역폭을 제공하기 위한 명령어, 더 작은 메모리 대역폭을 제공하기 위한 명령어, 과도하게 서비스를 받는 디바이스에 대한 더 작은 IO 대역폭을 제공하기 위한 명령어, SMT QoS를 이용하여 더 적은 스레드별 자원들을 제공하기 위한 명령어 및 더 작은 캐시 공간을 제공하기 위한 명령어를 포함하는 완화 커맨드들의 그룹으로부터 선택된 완화 커맨드를 포함할 수 있다. 완화 커맨드는 다양한 실시예들에서 다른 QoS 시행 메커니즘을 이용하기 위한 명령어도 포함할 수 있다.
실시예들에서, 하나 이상의 플랫폼 노드(104)는 메모리, 캐시, 저장소 및 인터페이스들이 하나 이상의 프로세서(117)와 통신하는 것을 가능하게 하기 위한 상호접속(132)을 포함할 수 있다. 노드들(104)은 네트워크(106)를 통한 노드들(104)과 중앙 정책 서버(102) 간의 통신을 촉진하기 위해 다양한 실시예들에서 네트워크 인터페이스 카드(NIC)(136)와 데이터 통신하는 입출력(IO) 인터페이스(134)를 포함할 수 있다. 실시예들에서, 각각의 노드(104)는 예를 들어 공유 L2 캐시(138) 및 최종 레벨 캐시(140), 예로서 L3 캐시와 같은 하나 이상의 캐시 자원도 포함할 수 있다. 실시예들에서, 각각의 노드(104)는 하나 이상의 다른 캐시 레벨(예로서, L1, L4 등)도 포함할 수 있다. 제1 작업 부하(142) 및 제2 작업 부하(144)와 같은 하나 이상의 작업 부하 또는 가상 머신이 하나 이상의 프로세서(117)에 의해 동작될 수 있다.
실시예들에서, 노드들(104)은 프로세서 코어 내의 스레드들 간의 성능 문제들을 다루기 위한 동시 멀티스레딩(SMT) QoS 하드웨어 기기(152), 공유 L2 캐시(138) 상의 스레드들 간의 성능 문제들을 다루기 위한 L2 QoS 하드웨어 기기(154), 오프코어 대역폭에 대한 스레드들 간의 성능 문제들을 다루기 위해 구성 가능 레이트 제한기(157)와 연계하여 동작할 수 있는 L2 외부 대역폭 QoS 하드웨어 기기(156), 및 최종 레벨 캐시 자원들에 대한 스레드들 간의 성능 문제들을 다루기 위한 최종 레벨 캐시 QoS 하드웨어 기기(158)를 포함하는, 서비스 품질 레벨들을 모니터링 및 시행하기 위한 다수의 메커니즘 또는 하드웨어 훅(hook)을 포함할 수 있다. 실시예들에서, 최종 레벨 캐시 QoS 하드웨어 기기(158)는 높은 우선순위의 작업 부하들(160)이 중간 우선순위의 작업 부하들(162)보다 높은 비율의 최종 레벨 캐시(140) 자원들을 받고, 중간 우선순위의 작업 부하들(162)이 낮은 우선순위의 작업 부하들(164)보다 높은 비율의 최종 레벨 캐시(140) 자원들을 받는 방식으로 제1 작업 부하(142) 및 제2 작업 부하(144)와 같은 작업 부하들과 관련된 스레드들에 대한 최종 레벨 캐시(140)의 할당을 모니터링 및 시행하기 위한 메커니즘들을 제공할 수 있다. 실시예들에서, 최종 레벨 캐시(140)의 자원들은 더 많거나 적은 우선순위 레벨로 분류될 수 있다. 최종 레벨 캐시 QoS 하드웨어 기기(158)는 다양한 실시예들에서 최종 레벨 캐시(140) 공간 및 대역폭에 대한 스레드들, 가속기들 및 IO 동작들 간의 성능 문제들을 다루는 데 사용될 수 있다. 중앙 정책 서버(102)는 각각의 노드(104)에 조회하여, 임의의 주어진 노드 상에서 어떠한 QoS 하드웨어 기기들이 이용될 수 있는지와 같은 각각의 노드 상에서의 하드웨어 지원 능력들을 결정할 수 있다. 노드(104)는 조회에 응답하여 이용 가능 QoS 하드웨어 기기들을 열거하고, QoS 하드웨어 기기들에 대응하는 데이터를 포함하는 응답을 중앙 정책 서버(102)로 전송할 수 있다. 이러한 데이터는 다양한 실시예에서 중앙 정책 서버(102)에 의해 어느 완화 커맨드들을 어느 노드들로 전송할지를 결정하는 데 사용될 수 있다. 데이터센터는 동시에 배치되는 다양한 나이들 및 하드웨어 능력들의 노드들(104)의 이종 무리를 포함할 수 있다. 그러한 이종 환경들에서, 중앙 정책 서버(102)로부터 노드들로 전송되는 커맨드들은 임의의 주어진 노드 상에서 이용 가능한 하드웨어 능력들에 적어도 부분적으로 기초하여 노드마다 다를 수 있다.
실시예들에서, 장치(100)는 메모리(118) 및 메모리(118)와 상호접속(132) 간의 인터페이스와 관련된 메모리 QoS 하드웨어 기기(166), 상호접속(132)과 관련되어 상호접속 대역폭에 대한 스레드들 간의 성능 문제들을 다루기 위한 상호접속 QoS 하드웨어 기기(168), IO 인터페이스(134)와 관련되어 IO 대역폭에 대한 스레드들 및 가속기들 사이는 물론, 네트워크(106)에 대한 경쟁 애플리케이션들 및 흐름들 사이의 성능 문제들을 다루기 위한 IO QoS 하드웨어 기기(170), NIC(136)와 관련된 큐 기반 QoS 하드웨어 기기(172), 및 네트워크(106)와 관련된 네트워크 QoS 하드웨어 기기(174)도 포함할 수 있다. PQoS는 다양한 실시예들에서 하나 이상의 QoS 하드웨어 기기 모니터링 또는 시행 능력은 물론, 다른 QoS 하드웨어 기기들을 포함할 수 있다.
이제, 도 2를 참조하면, 다양한 실시예들에 따른, 본 발명의 엔드-투-엔드 데이터센터 성능 제어 가르침과 통합된 데이터센터(200)의 블록도가 도시된다. 실시예들에서, 착신 데이터 트래픽(202)은 제1 네트워크 인터페이스(206)일 수 있는 진입점을 통해 공개 인터넷(204)으로부터 데이터센터(200)로 들어갈 수 있다. 실시예들에서, 발신 데이터 트래픽(208)은 제2 네트워크 인터페이스(210)일 수 있는 진출점에서 데이터센터(200)를 나갈 수 있다. 진입점에서 진출점까지의 엔드-투-엔드 데이터센터 지연(Lat-E2E)(212)이 측정될 수 있다. 다양한 실시예들에서, 도 1과 관련하여 설명된 중앙 정책 서버(102)와 같은 오케스트레이터일 수 있는 데이터센터 모니터(214)가 데이터 트래픽을 서비스하는 복수의 노드를 모니터링할 수 있다. 예시적인 구성에서, 데이터센터(200)는 방화벽과 같은 제1 노드(216), 부하 균형화기와 같은 제2 노드(218), 동적 콘텐츠 서버와 같은 제3 노드(220), 인-메모리 캐싱을 갖는 정적 콘텐츠 서버와 같은 제4 노드(222) 및 동적 광고 삽입을 제공하는 서버와 같은 제5 노드(224)를 포함할 수 있다. 노드들(216-224) 각각은 다양한 실시예들에서 노드(104)와 관련하여 설명된 것들과 같은 컴포넌트들을 포함할 수 있다. 게다가, 이러한 노드들(216, 218, 220, 222, 224)은 데이터센터 모니터(214)와 함께 서로 협동하여, 데이터센터 모니터(214)로 하여금 다양한 SLA들에 대응하는 작업 부하들에 대한 데이터센터 성능 타겟들을 충족시키기 위해 Lat-E2E(212)와 같은 데이터센터(200) 성능 레벨들을 모니터링 및 시행하는 것을 가능하게 할 수 있다.
엔드-투-엔드 데이터센터 지연 Lat-E2E(212) 또는 총 데이터센터 지연은 모든 네트워크 및 컴퓨트 지연들의 합으로서 계산될 수 있다.
Figure pat00001
위의 식에 반영되지 않았지만, 총 데이터센터 지연의 계산은 모든 병렬 지연들을 합산하는 것이 아니라 병렬 동작들 간의 최대 지연을 이용함으로써 병렬 동작들을 설명할 것이다.
도 2에 도시된 데이터센터(200)와 관련하여, 네트워크 지연들은 LatN*으로 표시되고, 컴퓨트 지연들은 LatC*로 표시된다. 도시된 바와 같이, 네트워크 지연들은 제1 네트워크 인터페이스(206)와 제1 노드(216) 간의 제1 네트워크 지연 LatN1(240), 제1 노드(216)와 제2 노드(218) 간의 제2 네트워크 지연 LatN2(242), LatN3a(234)로 표시된 제3 노드(220)에 들어가는 트래픽과 관련된 네트워크 지연, LatN4a(236)로 표시된 제4 노드(222)에 들어가는 트래픽과 관련된 네트워크 지연, LatN3b(238)로 표시된 제3 노드(220)를 나가는 트래픽과 관련된 네트워크 지연, LatN4b(240)로 표시된 제4 노드(222)를 나가는 트래픽과 관련된 네트워크 지연, 및 LatN5(242)로 표시된 제5 노드(224)와 제2 네트워크 인터페이스(210) 간의 네트워크 지연을 포함한다. 각각의 노드와 관련된 컴퓨트 지연들도 표시되며, LatC1(230), LatC2(232), LatC3(234), LatC4(236) 및 LatC5(238)는 각각 제1 노드(216) 내지 제5 노드(224)에 대응한다. 도 2에 도시된 지연들에 적용되는 바와 같이, Lat-E2E(212)는 다음과 같이 설명될 수 있다.
Figure pat00002
도 2와 관련하여, 이해의 편의를 위해, 위의 식은 제3 노드(220) 및 제4 노드(222)에 의해 수행되는 동작들이 병렬로 수행될 수 있거나 그들 중 하나만이 일부 흐름들에 대해 수행될 수 있는 가능성을 명확히 설명하지 않는다는 점에서 다소 단순하다. 실시예들에서, 엔드-투-엔드 데이터센터 성능을 계산함에 있어서, 임의의 주어진 흐름에 대해, 제3 노드(220) 및 제4 노드(222)와 관련된 모든 지연들을 합산하는 것이 아니라, 제2 노드(218)와 제5 노드(224) 간의 최대 지연(max([LatN3a + LatC3 + LatN3b], [LatN4a + LatC4 + LatN4b]))이 이용될 수 있다. 이러한 방식으로 엔드-투-엔드 데이터센터 성능을 관찰함으로써, 엔드-투-엔드 데이터센터 성능 타겟들이 정량화되고, 분해되고, 데이터센터 서비스 체인 내의 개별 에이전트들에 기인할 수 있다. 실시예들에서, 데이터센터 모니터(214)는 지연들과 같은 성능 타겟들을 노드별 컴퓨트 예산들로 분해할 수 있으며, 이어서 노드별 컴퓨트 예산들은 자원 배정들 및 할당들을 유발할 수 있다. 데이터센터 모니터(214)는 또한 지연들과 같은 성능 타겟들을 각각의 네트워크 세그먼트에 대한 네트워크 지연과 관련된 네트워크 세그먼트별 예산들로 분해할 수 있다. 예시적인 네트워크 세그먼트는 제1 노드(216)와 제2 노드(218) 사이에 도시된 경로일 수 있으며, 경로의 각각의 끝에 있는 노드들(노드들(216, 218))은 네트워크 세그먼트와 관련된다. 실시예들에서, 데이터센터 모니터(214)는 네트워크 세그먼트와 관련된 노드들 중 하나 이상과 협동하여 QoS 모니터링 또는 시행 하드웨어 기기들을 이용하여, 그들과 관련된 네트워크 세그먼트들에 관한 네트워크 세그먼트 예산들을 모니터링 또는 시행할 수 있다. 실시예들에서, 성능 분배 모듈(122)은 지연들과 같은 성능 타겟들을 노드별 컴퓨트 예산들 및/또는 네트워크 세그먼트별 네트워크 지연 예산들로 분해하는 이러한 프로세스들에서 사용될 수 있다.
예를 들어, 도 2와 관련된 예는 웹 호스팅 흐름에 대해 250 밀리초(ms)의 엔드-투-엔드 데이터센터 지연을 요구하는 SLA를 충족시킨다. 이것은 Lat-E2E(212)에 대한 250 ms의 엔드-투-엔드 데이터센터 성능 타겟을 유발할 것이다. 제1 노드(216)(방화벽), 제2 노드(218)(부하 균형화기) 및 제5 노드(224)(동적 광고 삽입) 각각이 10 ms의 결합된 컴퓨트 및 네트워크 지연들을 요구하는 경우, 이것은 제3 노드(220)(동적 콘텐츠 서버) 및 제4 노드(222)(정적 콘텐츠 서버)가 이러한 예시적인 웹 호스팅 흐름에서 그들의 결과들을 전달하기 위한 220 ms의 결합된 컴퓨트 및 네트워크 지연들을 남긴다. 더 낮은 SLA의 웹사이트들(예로서, 500 ms), 또는 10 ms 이하의 응답 시간을 요구할 수 있는 VoIP(voice-over-IP) 오디오 트래픽과 같은 데이터센터(200) 내의 다른 활성 흐름들과 관련된 요구들도 데이터센터 모니터(214)에 의해 캐시 공간, 네트워크 대역폭, 지연 및 메모리 대역폭은 물론, 스레드, 코어 및 소켓 스케줄링과 같은 자원들에 관한 데이터센터(200) 내의 자원 할당을 결정하는 데에 고려될 수 있다. 작업 부하 우선순위, 작업 부하 캐시, 메모리, 컴퓨트 및 IO 감도, 및 QoS 모니터링 데이터와 결합되는 엔드-투-엔드 데이터센터 성능 타겟은 데이터센터 모니터(214)에 의해 노드들 상의 개별 작업 부하들에 대한 자원 할당들을 결정하도록 결합될 수 있다.
이제, 도 3을 참조하면, 다양한 실시예들에 따른, 본 발명의 엔드-투-엔드 데이터센터 성능 제어 가르침과 통합된 네트워크 기능 가상화(NFV) 시스템(300)의 블록도가 도시된다. 실시예들에서, NFV 환경은 데이터센터 모니터(214) 또는 중앙 정책 서버(102)와 관련하여 설명된 기능 및 컴포넌트들의 일부 또는 전부를 포함할 수 있는 소프트웨어 정의 네트워킹(SDN) 제어기(302)를 포함할 수 있다. SDN 제어기(302)는 다양한 실시예들에서 노드들(104, 216, 218, 220, 222 또는 224)과 관련하여 설명된 기능 및 컴포넌트들의 일부 또는 전부를 포함할 수 있는 서버 노드(304)와 데이터 통신할 수 있다. 실시예들에서, 복수의 서버 노드(304)가 SDN 제어기(302)와 데이터 통신할 수 있다. NFV 환경(300)은 SDN 제어기(302)와 협동하여 하나 이상의 서버 노드(304)에 정책들을 분배하고 시행하도록 구성되는 정책 엔진(306)도 포함할 수 있다. 실시예들에서, SDN 제어기(302) 및 정책 엔진(306)은 단일 컴퓨팅 디바이스 내에 포함될 수 있거나, 복수의 컴퓨팅 디바이스 사이에 분산될 수 있다. 서버 노드(304)는 착신 데이터 트래픽을 위한 제1 NIC(308) 및 발신 데이터 트래픽을 위한 제2 NIC(310)를 포함할 수 있다.
2개의 흐름, 즉 높은 우선순위의 흐름 및 낮은 우선순위의 흐름이 서버 노드(304)를 횡단하는 것으로 도시된다. 높은 우선순위의 흐름은 NIC(308)를 통해 들어갈 수 있으며, 이어서 제2 NIC(310)로 전달되기 전에 제1 가상 머신(VM)(314) 상에서 실행되는 제1 가상화 네트워크 기능(VNF)(312)으로, 이어서 제2 VM(318) 상에서 실행되는 제2 VNF(316)로, 이어서 제3 VM(322) 상에서 실행되는 제3 VNF(320)로 전달된다. 유사한 방식으로, 더 낮은 우선순위의 흐름은 예를 들어 NIC(308)를 통해 들어가고, 제2 NIC(310)로 전달되기 전에 제4 VM(332) 상에서 실행되는 제4 VNF(330)로, 이어서 제5 VM(336) 상에서 실행되는 제5 VNF로, 이어서 제6 VM(340) 상에서 실행되는 제6 VNF(338)로 전달되는 것으로 도시된다. 그들은 도 3에 상이한 것으로 도시되지만, VM들 또는 VNF들의 일부 또는 전부는 다양한 실시예들에서 동일할 수 있으며, 상이한 수의 VM들 또는 VNF들이 사용될 수 있다.
서버 노드(304)는 노드를 통해 흐르는 흐름들을 모니터링하고, 응답 시간, 네트워크 및 메모리 대역폭 사용, 및 자원 사용, 예로서 캐시 점유 레벨들과 같은 자원 사용 및 성능 레벨들에 관한 QoS 모니터링 데이터를 포함하는 텔레메트리를 SDN 제어기(302)로 전송할 수 있다. 서버 노드(304)는 다양한 실시예들에서 도 1과 관련하여 설명된 기기들과 같은 QoS 메커니즘들을 이용하여 흐름들을 모니터링할 수 있다. 다양한 실시예들에서, SDN 제어기(302)는 서버 노드(304)로부터 수신된 텔레메트리에 적어도 부분적으로 기초하여 성능 레벨들을 성능 타겟들과 비교하여 모니터링할 수 있다. 타겟들이 성능 레벨들에 의해 충족되지 못하는 경우, SDN 제어기(302)는 성능 요구들을 충족시키기 위해 자원 할당 변경들을 행하도록 서버 노드(304)에 명령어할 수 있다. 자원 할당 변경들은 도 1과 관련하여 설명된 것들과 같은 하드웨어 QoS 기기들을 이용하여 성능 부족 애플리케이션에 더 많은 공유 캐시를 할당하는 것, 더 많은 메모리 대역폭, 하나 이상의 추가 코어 또는 추가 네트워크 대역폭을 할당하는 것과 같은 파라미터들을 포함할 수 있다. 실시예들에서, 자원 할당 변경들은 예를 들어 경합 국소화 모듈(124)에 의해 제공될 수 있는 것과 같은 경합 소스들의 검출에 적어도 부분적으로 기초할 수 있다.
도 4는 다양한 실시예들에 따른, 본 발명의 엔드-투-엔드 데이터센터 성능 제어 가르침과 통합된 네트워크 기능 가상화(NFV) 서비스 레벨 합의(SLA) 모니터링 시스템(400)의 블록도이다. 실시예들에서, 서비스 제공자 또는 클라우드 임차인과 같은 NFV 임차인(402)은 서비스들에 관한 원하는 SLA를 구매하기 위해 과금 또는 고객 돌봄 시스템과 같은 동작 지원 시스템/비즈니스 지원 시스템(OSS/BSS)(404)과 통신할 수 있다. 이러한 서비스들은 SLA 고수를 위해 임차인(402)에 의해 모니터링 및 감사될 수 있다. 실시예들에서, OSS/BSS(404)는 가상 기반구조 오케스트레이터(406)에 SLA 요청을 제공한다.
오케스트레이터(406)는 많은 능력 가운데 특히 SLA 제어기를 포함할 수 있다. SLA 제어기는 고레벨 SLA를 SLA 요구들의 시스템 레벨 세트로 변환할 수 있으며, 플랫폼 서비스 품질(PQoS)은 많은 가능한 요구의 일례이다. 오케스트레이터(406)는 가상 기반구조 관리자(VIM)(408) 상에서 실행되는 네트워크 기능 가상화 기반구조(NFVI) 에이전트(407)로 시스템 SLA 요구들을 전달할 수 있다. 오케스트레이터(406)는 다양한 실시예들에서 정책 관리, 감사 및 보고 능력들도 포함할 수 있다.
VIM(408)은 NFVI(410) 내의 플랫폼(430) 및 플랫폼들(474)과 같은 복수의 플랫폼으로부터 PQoS 데이터를 수집하는 NFVI 에이전트(407)를 포함할 수 있다. NFVI는 ETSI GS NFV 002 v1.1.1(2013년 10월)과 같은 유럽 통신 표준 협회(ETSI) NFV 표준에 의해 설명된 것과 같은 보드 시스템 프레임워크일 수 있다. VIM(408)은 다양한 실시예들에서 NFVI 에이전트(407)에 의해 PQoS 데이터를 추적하는 데 사용되는 NFVI 제공 및 PQoS 추적 데이터베이스(DB)(412)를 포함할 수 있다. VIM(408)은 NFVI 에이전트(407)에 의해 SLA들을 NFVI(410) 상의 작업 부하들 및 VNF들로 맵핑하는 데 사용되는 SLA 대 NFVI 맵핑 DB(414)도 포함할 수 있다. 다양한 실시예들에서, NFVI(410)에서 수행되는 작업 부하들은 전통적인 데이터센터에서의 작업 부하들에 비해 상대적으로 수명이 길어서, PQoS가 능동 또는 수동 모드에서 모니터링 및 시행되는 것을 가능하게 할 수 있다. 수명이 더 짧거나 빠르거나 일시적인 작업 부하들은 오케스트레이터(406) 및 VIM(408)에 의해 모니터링 및 시행될 수 있는 서비스 클래스들을 적용받을 수 있으며, 따라서 유사한 작업 부하를 갖는 작업 흐름은 나중에 실행될 때 성능 타겟들을 충족시키는 데 적합한 플랫폼별 자원 할당들(예로서, 캐시 공간, 메모리)을 제공받을 수 있다.
각각의 플랫폼은 하나 이상의 프로세서(432), 메모리(434), 더블 데이터 레이트(DDR) 또는 주변 컴포넌트 상호접속 익스프레스(PCIe) 버스와 같은 버스들(436), IO/NIC 컴포넌트들(438), 저장 디바이스들(440), 및 함께 결합되고 서로 협동하도록 배열되는 도 1과 관련하여 설명된 QoS 기기들과 같은 텔레메트리 기기들(442)을 포함할 수 있다. 플랫폼들(430, 474)은 실시예들에서 Xeon(등록상표) E5-2600 v3 프로세서를 이용하는 것과 같은 인텔(등록상표) Xeon(등록상표) DP 플랫폼에 기초할 수 있다. NFVI 에이전트(407)는 또한 SLA들에 따라 이용 가능 PQoS를 원하는 PQoS와 맵핑하고, 필요한 경우에 완화를 수행하여 SLA들을 충족시킬 수 있다. PQoS는 다양한 실시예들에서 도 1과 관련하여 설명된 QoS 하드웨어 기기들의 일부 또는 전부, 또는 다른 QoS 기기들을 포함할 수 있다. 실시예들에서, NFVI 에이전트(407)는 SLA들에 따라 원하는 PQoS를 달성하기 위해 NFVI(410) 전반에서 VNF들 또는 작업 부하들을 제공, 설치, 구성 및 이주할 수 있다. 기본 입출력 시스템(BIOS), 예로서 통합 확장 가능 펌웨어 인터페이스(UEFI) BISO(450)가 플랫폼들(430, 474)의 일부 또는 전부 상에서 실행될 수 있다. 게다가, 하이퍼바이저(452) 또는 가상 머신 모니터(VMM)가 플랫폼들(430, 474)의 일부 또는 전부 상에서 VNF들 또는 VM들을 실행할 수 있다. 운영 체제(OS) 또는 클라우드 OS가 다양한 실시예들에서 플랫폼들(430, 474)의 일부 또는 전부 상에서 실행될 수 있다.
실시예들에서, 플랫폼들(430, 474)은 제1 VNF 컴포넌트(VNFC)(462) 및 제2 VNFC(464) 내지 제n VNFC(466)와 같은 하나 이상의 VNFC를 포함할 수 있는 VNF-1(460) 내지 VNF-n(470)과 같은 하나 이상의 VNF를 실행할 수 있다. VNF들은 예를 들어 서빙 게이트웨이(SGW) 또는 패킷 데이터 네트워크 게이트웨이(PGW)와 같은 다양한 기능들을 채용할 수 있다. 플랫폼 SLA 에이전트(454)가 일부 또는 모든 플랫폼들(430, 474) 상에서 실행되어, VNF 제공, 구성 및 갱신 기능들을 수행하는 것은 물론, I/O 버스들, 저장소, CPU 레지스터들 및 캐시들, 및 메모리와 관련된 것들을 포함하지만 이에 한정되지 않는 통계 및 데이터를 플랫폼 QoS 모니터링 기기들로부터 수집할 수 있다. SLA 에이전트(454)는 플랫폼 상의 다양한 PQoS 파라미터들 및 레지스터들을 판독 및 기입하기 위한 특권을 가질 수 있으며, 따라서 PQoS 모니터링 기기들로부터 데이터 수집하고, 데이터를 PQoS 시행 기기들에 기입할 수 있다.
도 5는 다양한 실시예들에 따른, 도 1-4와 관련하여 설명되는 장치(100), 데이터센터 모니터(214), NFV 시스템(300) 또는 NFV SLA 모니터링 시스템(400)에 의해 구현될 수 있는 엔드-투-엔드 데이터센터 성능 제어를 위한 예시적인 프로세스(500)를 나타낸다. 다양한 실시예들에서, 프로세스(500)는 데이터센터 성능 모니터(112), 노드 모니터(120), 노드 집계 모듈(121), 성능 분배 모듈(122) 및/또는 경합 국소화 모듈(123)에 의해 수행될 수 있다. 다른 실시예들에서, 프로세스(500)는 더 많거나 적은 모듈들을 이용하여 또는 상이한 순서의 일부 동작들을 이용하여 수행될 수 있다.
실시예들에서, 프로세스는 작업 부하들 및 성능 타겟들, 예로서 엔드-투-엔드 데이터센터 성능 타겟들이 데이터센터 성능 모니터(112), 데이터센터 모니터(214), SDN 제어기(302) 또는 오케스트레이터(406)와 같은 제어기에 의해 수신될 수 있는 블록 502를 포함할 수 있다. 동작 504에서, 서비스 레벨 합의들(SLA들)이 작업 부하들로 맵핑될 수 있다. 블록 506에서, 예를 들어 데이터센터 성능 모니터(112) 및 성능 분배 모듈(122)에 의해, 작업 부하들이 노드들, 예로서 노드(104), 도 2와 관련하여 설명된 노드들(216-224), 노드(304) 또는 플랫폼들(430 또는 474)로 맵핑될 수 있다. 실시예들에서, 제어기는 캐시 공간, 메모리 및 네트워크 이용과 같은 모든 데이터센터 자원들 및 이용의 맵을 유지할 수 있다. 실시예들에서, 블록 506에서, 네트워크 세그먼트별 지연 예산과 같은 네트워크 세그먼트별 성능 타겟이 결정될 수 있다. 실시예들에서, 동작 508에서, 데이터센터 성능 모니터(112)가 QoS 기기들(152, 154, 156, 158, 166, 168, 170, 172, 174)로부터 텔레메트리를 수신하는 것과 같이, 노드들로부터의 QoS 텔레메트리가 수신될 수 있다. 실시예들에서, 노드들로부터의 QoS 텔레메트리는 네트워크 세그먼트를 통한 네트워크 지연과 같은 네트워크 세그먼트 성능 레벨들에 대응하는 데이터를 포함할 수 있다. 실시예들에서, 노드 성능 타겟들에 대한 노드 성능 레벨들 또는 네트워크 세그먼트 성능 타겟들에 대한 네트워크 세그먼트 성능 레벨들의 비교가 수행될 수 있다. 블록 510에서, 다양한 실시예들에서, 예를 들어 노드 집계 모듈(121)에 의해 노드들로부터의 텔레메트리가 집계될 수 있다. 동작 512에서, 엔드-투-엔드 데이터센터 성능 레벨이 결정될 수 있다.
결정 블록 514에서, 결정된 엔드-투-엔드 데이터센터 성능 레벨이 엔드-투-엔드 데이터센터 성능 타겟 미만인지가 결정될 수 있다. 엔드-투-엔드 데이터센터 성능 레벨이 엔드-투-엔드 데이터센터 성능 타겟보다 낮지 않은 경우, 프로세스는 블록 508로 복귀할 수 있다. 엔드-투-엔드 데이터센터 성능 레벨이 엔드-투-엔드 데이터센터 성능 타겟 미만인 경우, 블록 518에서, 예를 들어 경합 국소화 모듈(123)이 커맨드를 노드(104)로 전송함으로써 경합 국소화가 수행될 수 있으며, 다양한 실시예들에서 노드 관리 모듈들(119) 내의 노드 경합 국소화 모듈이 경합 국소화 프로세스를 수행하고, 응답을 데이터센터 성능 모니터(112) 또는 데이터센터 모니터(214)와 같은 데이터센터 제어기로 전송할 수 있다. 실시예들에서, 경합 국소화는 경합 국소화 커맨드를 네트워크 세그먼트와 관련된 노드로 전송하는 것을 포함할 수 있다.
추가 실시예들에서, 결정 블록 514에서, 결정된 엔드-투-엔드 데이터센터 성능 레벨이 엔드-투-엔드 데이터센터 성능 타겟보다 높은지(예로서, 타겟이 초당 50,000 동작일 때 초당 100,000 동작)가 결정될 수 있다. 실시예들에서, 결정 블록 514에서, 엔드-투-엔드 데이터센터 성능 레벨이 엔드-투-엔드 데이터센터 성능 타겟으로부터 사전 정의된 범위 밖에 있는지(예로서, 타겟 지연 +/- 25 ms)가 결정될 수 있다. 이러한 실시예들에서 엔드-투-엔드 데이터센터 성능 레벨이 엔드-투-엔드 데이터센터 성능 타겟보다 높지 않거나 사전 정의된 범위 내에 있는 경우, 프로세스는 블록 508로 복귀할 수 있다. 이러한 실시예들에서 엔드-투-엔드 데이터센터 성능 레벨이 성능 타겟보다 높거나 범위 밖에 있는 경우, 프로세스는 블록 518로 진행할 수 있거나, 옵션으로서 블록 520으로 직접 진행할 수 있다.
동작 520에서, 데이터센터 성능 모니터(112) 또는 데이터센터 모니터(214)와 같은 데이터센터 제어 장치에 의해 완화 커맨드가 노드(104)와 같은 하나 이상의 노드로 전송될 수 있다. 다양한 실시예들에서, 완화 커맨드는 경합 국소화 응답에 적어도 부분적으로 기초할 수 있으며, 작업 부하에 대해, 추가 메모리를 제공하기 위한 명령어, 추가 프로세서 코어를 제공하기 위한 명령어, 추가 네트워크 대역폭을 제공하기 위한 명령어, 추가 메모리 대역폭을 제공하기 위한 명령어, 불충분한 서비스를 받는 디바이스에 대한 추가 IO 대역폭을 제공하기 위한 명령어, SMT QoS를 이용하여 추가적인 스레드별 자원들을 제공하기 위한 명령어 및 추가 캐시 공간을 제공하기 위한 명령어를 포함하는 완화 커맨드들의 그룹으로부터 선택된 완화 커맨드를 포함할 수 있다. 예를 들어, 서비스 요청에 300 ms가 걸리는 웹 서버는 그의 예산이 250 ms일 때 추가 캐시 또는 CPU 코어들을 제공받아 작업을 대체로 더 빠르게 완료할 수 있다. 실시예들에서, 이어서, 프로세스(500)는 블록 506으로 복귀할 수 있으며, 여기서 작업 부하들이 하나 이상의 노드로 리맵핑될 수 있다. 추가 실시예들에서, 작업 부하의 성능이 낮아지는 경우, 완화 커맨드는 작업 부하에 대해, 더 적은 메모리를 제공하기 위한 명령어, 프로세서 코어를 제거하기 위한 명령어, 더 작은 네트워크 대역폭을 제공하기 위한 명령어, 더 작은 메모리 대역폭을 제공하기 위한 명령어, 과도한 서비스를 받는 디바이스에 대한 더 작은 IO 대역폭을 제공하기 위한 명령어, SMT QoS를 이용하여 더 적은 스레드별 자원들을 제공하기 위한 명령어, 및 더 작은 캐시 공간을 제공하기 위한 명령어를 포함하는 완화 커맨드들의 그룹으로부터 선택된 완화 커맨드를 포함할 수 있다.
도 6은 엔드-투-엔드 데이터센터 성능 제어 노드 레벨 동작들을 위한 예시적인 프로세스(600)의 흐름도이다. 실시예들에서, 프로세스(600)는 노드(104) 상에서 실행되는 노드 관리 모듈들(119)에 의해 수행될 수 있으며, 스레드들로서 구성될 수 있는 다수의 컴포넌트를 포함할 수 있다. 블록 602에서, 예를 들어, QoS 모니터링 및 시행 기기들에 의해 제공되는 다양한 메커니즘들과 같은 QoS 하드웨어 능력들이 예로서 노드(104) 상에서 실행되는 노드 관리 모듈들(119)에 의해 열거될 수 있다. 실시예들에서, 예를 들어 SMT QoS 기기(152), L2 QoS 기기(154), L2 외부 대역폭 QoS 기기(156), 최종 레벨 캐시 QoS 기기(158), 상호접속 QoS 기기(168), IO QoS 기기(170) 및 큐 기반 QoS 기기(172)의 모니터링 및 시행 능력들이 열거될 수 있다. 동작 604에서, 다양한 실시예들에서, 열거된 QoS 하드웨어 능력들이 노드에 의해 데이터센터 성능 모니터(112) 또는 데이터센터 모니터(214)와 같은 데이터센터 모니터로 보고될 수 있다. 블록 606에서, 노드 상에서 실행되는 작업 부하들에 관한 QoS 데이터 및 성능 정보를 포함하는 텔레메트리가 데이터센터 모니터로 보고될 수 있다.
결정 블록 608에서, 예를 들어 중앙 정책 서버(102) 또는 정책 엔진(306)과 같은 데이터센터 모니터 또는 중앙 정책 서버로부터 노드에 의해 임의의 새로운 정책들이 수신되었는지가 결정될 수 있다. 결정 블록 608에서 새로운 정책들이 수신된 것으로 결정되는 경우, 그들이 동작 610에서 적용될 수 있다. 결정 블록 608에서 새로운 정책들이 수신되지 않은 것으로 결정되는 경우 또는 블록 610에서 새로운 정책들이 적용된 경우, 결정 블록 612에서, 경합 국소화 요청이 수신되었는지가 결정될 수 있다. 경합 국소화 요청이 수신된 경우, 블록 614에서 경합 국소화가 수행될 수 있다. 실시예들에서, 노드(104)는 노드 상에서 가장 일반적인 경합 소스들의 결정을 포함하는 경합 국소화를 수행할 수 있다. 예를 들어, 스트리밍 애플리케이션이 노드(104) 상에 웹 서버와 함께 위치하는 경우, 경합 국소화는 캐시 및 메모리 대역폭이 경합되고, 웹 서버가 캐시에 민감하고, 액션의 최상의 코스가 스트리밍 애플리케이션의 캐시 사용을 제한하는 것일 수 있다는 것을 지시할 수 있다.
노드(104)에 의한 경합 국소화는 이용 가능 QoS 모니터링 기기들을 열거하고, 모든 공유 자원들에서 경합을 측정하는 것, 예로서 어떤 스레드들이 가장 많은 캐시 공간, 메모리 대역폭, IO, 네트워크 사용, 디스크 대역폭, 또는 초당 입출력 동작 수(IOPS)를 사용하고 있는지를 결정하는 것을 포함할 수 있다. 경합 국소화는 SLA들, 지연들 또는 성능 타겟들을 충족시키지 않는 것으로 식별되었을 수 있는 최고 우선순위 작업 부하들일 수 있는 관심 있는 작업 부하들에 대한 주요 경합 소스들을 검출하는 것을 더 포함할 수 있다. 주요 경합 소스들의 검출은 관심 있는 스레드, 애플리케이션 또는 VM별 캐시 또는 메모리 사용을 검사하고, 캐시 또는 메모리 공간을 과도하게 사용(캐시의 50%를 넘는 사용)하는 스레드들을 식별하는 것을 포함할 수 있다. 주요 경합 소스들의 검출은 디스크 또는 반도체 드라이브(SSD) 대역폭 및 IOPS 사용은 물론, 네트워크 대역폭 사용을 결정함으로써 관심 있는 스레드, 애플리케이션 또는 VM별 IO 사용을 검사하는 것을 더 포함할 수 있다. 주요 경합 소스들의 검출은 L2 캐시 경합 또는 SMT 스레드 경합과 같은 QoS 모니터링 기기들을 지원하는 다른 가능한 자원들을 검사하는 것을 더 포함할 수 있다. 경합 국소화는 관심 있는 스레드들, 애플리케이션들 또는 VM들에 대한 데이터를 집계하여, 경합이 가장 심한 곳 및 스레드들, 애플리케이션들 또는 VM들에 대응하는 작업 부하들이 얼마나 캐시, 메모리, IO 또는 네트워크에 민감할 수 있는지를 결정하는 것도 포함할 수 있다. 경합 국소화는 집계된 데이터에 적어도 부분적으로 기초하여 검출된 경합을 완화하기 위한 추천 액션들의 요약을 생성하는 것을 더 포함할 수 있다. 경합 국소화 데이터는 동작 616에서 데이터센터 모니터로 전송될 수 있다. 경합 국소화 데이터는 다양한 실시예들에서 경합을 완화하기 위한 추천 액션들의 요약 및 요약된 경합 상태 데이터를 포함할 수 있다. 실시예들에서, 블록 614에서 경합 국소화가 수행될 수 있으며, 결정 블록 612에서 경합 요청이 수신되지 않은 것으로 결정되는 경우에도, 블록 616에서 경합 데이터가 전송될 수 있다. 실시예들에서, 결정 블록 612와 관련하여 설명된 것과 같은, 경합 요청이 수신되었는지를 확인하기 위한 검사가 수행되지 않을 수 있으며, 노드들(104)은 요청을 먼저 수신하지 않고서 데이터를 데이터센터 모니터 또는 중앙 정책 서버에 주기적으로 보고할 수 있다.
결정 블록 612에서 경합 국소화 요청이 수신되지 않은 것으로 결정되거나, 동작 616에서 경합 데이터가 전송된 경우, 결정 블록 618에서 완화 요청이 수신되었는지가 결정될 수 있다. 다양한 실시예들에서 하나 이상의 명령어를 포함하는 완화 커맨드의 형태일 수 있는 완화 요청이 수신된 경우, 블록 620에서 완화가 수행될 수 있다. 실시예들에서, 완화 커맨드는 작업 부하에 대해, 추가 메모리를 제공하기 위한 명령어, 추가 프로세서 코어를 제공하기 위한 명령어, 추가 네트워크 대역폭을 제공하기 위한 명령어, 추가 메모리 대역폭을 제공하기 위한 명령어, 불충분한 서비스를 받는 디바이스에 대한 추가 IO 대역폭을 제공하기 위한 명령어, SMT QoS를 이용하여 추가 스레드별 자원들을 제공하기 위한 명령어, 및 추가 캐시 공간을 제공하기 위한 명령어, 또는 QoS 시행 메커니즘들을 사용하기 위한 다른 명령어들을 포함하는 완화 커맨드들의 그룹으로부터 선택된 완화 커맨드를 포함할 수 있다.
노드(104)에 의한 완화는 노드 상의 이용 가능 QoS 시행 기기들을 열거하는 것, 하드웨어 QoS 기기들을 이용하여 완화 커맨드에 적어도 부분적으로 기초하여 자원 할당을 변경하는 것, 및 요청된 완화 동작이 성공했는지를 중앙 정책 서버(102) 또는 데이터센터 모니터(214)와 같은 데이터센터 모니터에 보고하는 것을 포함할 수 있다. 블록 620에서 완화가 수행되었거나, 결정 블록 618에서 완화 요청이 수신되지 않은 것으로 결정되는 경우, 프로세스(600)는 블록 606으로 복귀할 수 있으며, 여기서 갱신된 성능 및 QoS 데이터가 데이터센터 모니터로 보고된다. 대안 실시예들에서, 데이터센터 모니터는 성능 타겟을 노드로 전송할 수 있으며, 노드는 경합 요청 또는 완화 요청의 수신 없이 자원 할당 결정들을 행하고, 노드는 데이터의 요약 레벨, 현재 상태의 지시 및 성능 타겟이 노드 상에서 충족되는지를 지시할 수 있는 더 적은 데이터를 데이터센터 모니터로 전송할 수 있다.
다양한 실시예들에서, 노드 관리 모듈들(119) 내에 포함될 수 있는 작업 부하 관리자가 프로세스(600)와 병렬로 또는 순차적으로 실행되어, 중앙 정책 서버(102)로부터 노드(104)에서 작업 부하 개시 요청들을 수신하고, 작업 부하들을 개시하고, 작업 부하들을 특정 소켓들 또는 코어들 상에 배치하고, 필요에 따라 코어들 또는 소켓들에 걸쳐 작업 부하들을 이주하고, 노드들에 걸친 VM 이주와 관련된 액션들, 예로서 중지, 셧다운, 저장 및 이동 상황 액션들을 수행할 수 있다.
이제, 도 7을 참조하면, 다양한 실시예들에 따른, 도 1-4를 참조하여 전술한 바와 같은 본 발명을 실시하는 데 사용하기에 적합한 예시적인 컴퓨터(700)가 도시된다. 도시된 바와 같이, 컴퓨터(700)는 하나 이상의 프로세서 또는 프로세서 코어(702) 및 시스템 메모리(704)를 포함할 수 있다. 청구항들을 포함하는 본원의 목적을 위해, "프로세서" 및 "프로세서 코어"라는 용어는 상황이 달리 명확히 요구하지 않는 한은 동의어인 것으로 간주될 수 있다. 게다가, 컴퓨터(700)는 하나 이상의 그래픽 프로세서(705), 대용량 저장 디바이스(706)(예로서, 디스켓, 하드 드라이브, 컴팩트 디스크 판독 전용 메모리(CD-ROM) 등), 입출력 디바이스(708)(예로서, 디스플레이, 키보드, 커서 제어, 원격 제어, 게이밍 제어기, 이미지 캡처 디바이스 등), 센서 허브(709) 및 통신 인터페이스(710)(예로서, 네트워크 인터페이스 카드, 모뎀, 적외선 수신기, 무선 수신기(예로서, 블루투스) 등)를 포함할 수 있다. 요소들은 하나 이상의 버스를 나타낼 수 있는 시스템 버스(712)를 통해 서로 결합될 수 있다. 다수의 버스의 경우, 그들은 하나 이상의 버스 브리지(미도시)에 의해 브리징될 수 있다.
이러한 요소들 각각은 이 분야에 공지된 그의 통상적인 기능들을 수행할 수 있다. 구체적으로, 시스템 메모리(704) 및 대용량 저장 디바이스들(706)은 중앙 정책 서버(102); 노드(104); 데이터센터 모니터(214); 노드들(216, 218, 220, 222 또는 224); SDN 제어기(302); 정책 엔진(306); 노드(304); 오케스트레이터(406); VIM(408); NFV 임차인(402): OSS/BSS(404); 또는 플랫폼들(430, 474)과 관련된 동작들, 예로서 도 1에 도시된 데이터센터 성능 모니터(112), 모듈들(119, 121, 122, 123, 124, 126)에 대해 설명된 동작들 또는 계산 논리(722)로서 공동으로 표시된 도 5의 프로세스(500) 또는 도 6의 프로세스(600)에 도시된 동작들을 구현하는 프로그래밍 명령어들의 작업 사본 및 영구 사본을 저장하는 데 사용될 수 있다. 시스템 메모리(704) 및 대용량 저장 디바이스들(706)은 다양한 실시예들에서 도 3-4에 도시된 작업 부하들(142, 144); VM들(314, 318, 322, 332, 336, 340); 또는 VNF들(312, 316, 320, 330, 334, 338, 462, 464, 466, 470)과 관련된 동작들을 구현하는 프로그래밍 명령어들의 작업 사본 및 영구 사본을 저장하는 데에도 사용될 수 있다. 다양한 요소들은 프로세서(들)(702)에 의해 지원되는 어셈블러 명령어들 또는 바이트코드, 또는 그러한 명령어들로 컴파일 또는 해석될 수 있는 고레벨 언어들, 예로서 C 언어에 의해 구현될 수 있다.
프로그래밍 명령어들의 영구 사본은 예를 들어 컴팩트 디스크(CD)와 같은 배포 매체(미도시)를 통해 또는 (배포 서버(미도시)로부터의) 통신 인터페이스(710)를 통해 공장에서 또는 현장에서 대용량 저장 디바이스(706) 내에 배치될 수 있다. 즉, 에이전트 프로그램의 구현을 갖는 하나 이상의 배포 매체가 에이전트를 배포하고 다양한 컴퓨팅 디바이스들을 프로그래밍하는 데 사용될 수 있다.
이러한 요소들(702-712)의 수, 능력 및/또는 용량은 컴퓨터(700)가 서버, 오케스트레이터, 셋톱 박스 또는 데스크탑 컴퓨터와 같은 정지 컴퓨팅 디바이스인지 또는 태블릿 컴퓨팅 디바이스, 랩탑 컴퓨터 또는 스마트폰과 같은 이동 컴퓨팅 디바이스인지에 따라 다를 수 있다. 그들의 구성들은 공지되어 있으며, 따라서 더 설명되지 않는다.
도 8은 다양한 실시예들에 따른, 전술한 중앙 정책 서버(102); 노드(104), 데이터센터 모니터(214); 노드들(216, 218, 220, 222 또는 224); SDN 제어기(302); 정책 엔진(306); 노드(304); 오케스트레이터(406); VIM(408); NFV 임차인(402); OSS/BSS(404); 또는 플랫폼들(430, 474)과 관련된 동작들 중 모든 또는 선택된 동작들을 수행하도록 구성되는 명령어들을 갖는 예시적인 적어도 하나의 비일시적 컴퓨터 판독 가능 저장 매체(802)를 나타낸다. 도시된 바와 같이, 적어도 하나의 컴퓨터 판독 가능 저장 매체(802)는 다수의 프로그래밍 명령어(804)를 포함할 수 있다. 저장 매체(802)는 플래시 메모리, 동적 랜덤 액세스 메모리, 정적 랜덤 액세스 메모리, 광 디스크, 자기 디스크 등을 포함하지만 이에 한정되지 않는, 이 분야에 공지된 광범위한 영구 저장 매체를 나타낼 수 있다. 프로그래밍 명령어들(804)은 다양한 실시예들에서 디바이스, 예로서 컴퓨터(700), 중앙 정책 서버(102), 노드(104), 데이터센터 모니터(214), 노드들(216, 218, 220, 222 또는 224), SDN 제어기(302), 정책 엔진(306), 노드(304), 오케스트레이터(406), VIM(408), NFV 임차인(402), OSS/BSS(404) 또는 플랫폼들(430, 474)이 프로그래밍 명령어들의 실행에 응답하여 도 1에 도시된 데이터센터 성능 모니터(112); 모듈들(119, 121, 122, 123, 124, 126)에 대해 설명된 다양한 동작들; 도 5의 프로세스(500) 또는 도 6의 프로세스(600); 작업 부하들(142, 144); 도 3-4에 도시된 VM들(314, 318, 322, 332, 336, 340); 또는 VNF들(312, 316, 320, 330, 334, 338, 462, 464, 466, 470)의 동작들, 그러나 이에 한정되지 않는 동작들을 수행하는 것을 가능하게 하도록 구성될 수 있다. 대안 실시예들에서, 프로그래밍 명령어들(804)은 다수의 컴퓨터 판독 가능 저장 매체(802) 상에 배치될 수 있다. 또 다른 실시예들에서, 컴퓨터 판독 가능 저장 매체(802)는 신호와 같이 일시적일 수 있다.
도 7을 다시 참조하면, 일 실시예에서, 프로세서들(702) 중 적어도 하나는 도 1에 도시된 데이터센터 성능 모니터(112); 모듈들(119, 121, 122, 123, 124, 126)에 대해 설명된 다양한 양태들; 도 5의 프로세스(500) 또는 도 6의 프로세스(600); 작업 부하들(142, 144); 도 3-4에 도시된 VM들(314, 318, 322, 332, 336, 340); 또는 VNF들(312, 316, 320, 330, 334, 338, 462, 464, 466, 470)의 동작들을 실시하도록 구성되는 계산 논리(722)를 갖는 메모리와 함께 패키징될 수 있다. 일 실시예에서, 프로세서들(702) 중 적어도 하나는 도 1에 도시된 데이터센터 성능 모니터(112); 모듈들(119, 121, 122, 123, 124, 126)에 대해 설명된 다양한 양태들; 도 5의 프로세스(500) 또는 도 6의 프로세스(600); 작업 부하들(142, 144); 도 3-4에 도시된 VM들(314, 318, 322, 332, 336, 340); 또는 VNF들(312, 316, 320, 330, 334, 338, 462, 464, 466, 470)의 동작들을 실시하도록 구성되는 계산 논리(722)를 갖는 메모리와 함께 패키징되어, 시스템 인 패키지(SiP)를 형성할 수 있다. 일 실시예에서, 프로세서들(702) 중 적어도 하나는 도 1에 도시된 데이터센터 성능 모니터(112); 모듈들(119, 121, 122, 123, 124, 126)에 대해 설명된 다양한 양태들; 도 5의 프로세스(500) 또는 도 6의 프로세스(600); 작업 부하들(142, 144); 도 3-4에 도시된 VM들(314, 318, 322, 332, 336, 340); 또는 VNF들(312, 316, 320, 330, 334, 338, 462, 464, 466, 470)의 동작들을 실시하도록 구성되는 계산 논리(722)를 갖는 메모리와 동일 다이 상에 통합될 수 있다. 일 실시예에서, 프로세서들(702) 중 적어도 하나는 도 5의 프로세스(500) 또는 도 6의 프로세스(600)의 양태들을 실시하도록 구성되는 계산 논리(722)를 갖는 메모리와 함께 패키징되어 시스템 온 칩(SoC)을 형성할 수 있다.
전술한 기술들을 수행하기 위한 (머신 판독 가능 저장 매체와 같은 비일시적 머신 판독 가능 매체를 포함하는) 머신 판독 가능 매체, 방법, 시스템 및 디바이스는 본 명세서에서 개시되는 실시예들의 설명 예들이다. 게다가, 전술한 상호작용들에서의 다른 디바이스들은 다양한 개시되는 기술들을 수행하도록 구성될 수 있다.
예들
예 1은 컴퓨팅을 제어하기 위한 장치로서, 하나 이상의 프로세서; 상기 하나 이상의 프로세서에 결합된 메모리; 서비스 레벨 합의에 대응하는 데이터센터 성능 타겟을 수신하고, 상기 데이터센터의 복수의 노드에 대해 상기 하나 이상의 노드와 관련된 하나 이상의 서비스 품질 모니터링 하드웨어 기기에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 엔드-투-엔드 데이터센터 성능 레벨을 결정하고, 결정된 상기 엔드-투-엔드 데이터센터 성능 레벨을 수신된 상기 데이터센터 성능 타겟과 비교하기 위한 데이터센터 성능 모니터; 및 상기 데이터센터 성능 타겟에 대한 상기 엔드-투-엔드 데이터센터 성능 레벨의 상기 비교의 결과에 적어도 부분적으로 기초하여 완화 커맨드를 송신하기 위해 상기 하나 이상의 프로세서에 의해 동작되는 완화 모듈을 포함하고, 상기 완화 커맨드는 상기 노드들 중 하나 이상의 노드 상의 하나 이상의 서비스 품질 시행 하드웨어 기기로 송신되는 장치를 포함할 수 있다.
예 2는 예 1의 장치에 있어서, 상기 데이터센터 성능 타겟에 대한 상기 엔드-투-엔드 데이터센터 성능 레벨의 상기 비교에 응답하여 경합 국소화 커맨드를 송신하기 위해 상기 하나 이상의 프로세서에 의해 동작되는 경합 국소화 모듈을 더 포함하고, 상기 경합 국소화 모듈은 또한 경합 국소화 응답을 수신하기 위해 상기 하나 이상의 프로세서에 의해 동작되며, 상기 완화 커맨드는 또한 상기 경합 국소화 응답에 적어도 부분적으로 기초하는 장치를 포함할 수 있다.
예 3은 예 2의 장치에 있어서, 상기 데이터센터 성능 타겟에 적어도 부분적으로 기초하여 상기 복수의 노드 각각에 대한 노드 성능 타겟을 결정하기 위해 상기 하나 이상의 프로세서에 의해 동작되는 성능 분배 모듈을 더 포함하고, 상기 데이터센터 모니터는 상기 노드들과 관련된 하나 이상의 서비스 품질 모니터링 하드웨어 기기에 적어도 부분적으로 기초하여 상기 복수의 노드 각각에 대한 노드 성능 레벨을 결정하고, 결정된 각각의 노드 성능 레벨을 그의 대응하는 노드 성능 타겟과 비교하며, 상기 경합 국소화 모듈은 그의 대응하는 노드 성능 타겟 미만인 것으로 결정된 노드 성능 레벨을 갖는 각각의 노드로 경합 국소화 커맨드를 송신하고, 경합 국소화 커맨드를 송신받은 각각의 노드로부터 경합 국소화 응답을 수신하며, 상기 완화 모듈은 경합 국소화 응답이 수신된 상기 노드들 중 적어도 하나의 노드로 노드 완화 커맨드를 송신하는 장치를 포함할 수 있다.
예 4는 예 1-2 중 어느 하나의 예의 장치에 있어서, 상기 완화 모듈은 상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟을 초과하는 것으로 결정된 것에 응답하여 완화 커맨드를 송신하는 장치를 포함할 수 있다.
예 5는 예 1의 장치에 있어서, 상기 데이터센터 성능 모니터는 복수의 서비스 레벨 합의에 대응하는 복수의 데이터센터 성능 타겟을 수신하고, 하나 이상의 서비스 품질 모니터링 하드웨어 기기에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 상기 복수의 데이터센터 성능 타겟 각각에 대응하는 복수의 엔드-투-엔드 데이터센터 성능 레벨을 결정하고, 결정된 상기 엔드-투-엔드 데이터센터 성능 레벨들 각각을 상기 대응하는 데이터센터 성능 타겟들과 비교하며, 상기 완화 모듈은 그의 대응하는 데이터센터 성능 타겟보다 낮은 것으로 결정된 엔드-투-엔드 데이터센터 성능 레벨에 대응하는 작업 부하를 실행하는 노드로 완화 커맨드를 송신하고, 상기 완화 모듈은 작업 부하에 대해, 추가 메모리를 제공하기 위한 명령어, 추가 프로세서 코어를 제공하기 위한 명령어, 추가 네트워크 대역폭을 제공하기 위한 명령어, 추가 메모리 대역폭을 제공하기 위한 명령어, 불충분한 서비스를 받는 디바이스에 대한 추가 IO 대역폭을 제공하기 위한 명령어, SMT QoS를 이용하여 추가 스레드별 자원들을 제공하기 위한 명령어, 및 추가 캐시 공간을 제공하기 위한 명령어를 포함하는 완화 커맨드들의 그룹으로부터 선택된 적어도 하나의 완화 커맨드를 송신하는 장치를 포함할 수 있다.
예 6은 예 1-5 중 어느 하나의 예에 있어서, 상기 데이터센터 성능 모니터는 상기 복수의 노드의 성능 레벨들을 모니터링하기 위한 노드 모니터; 및 상기 복수의 노드의 상기 성능 레벨들을 집계하여, 집계된 성능 레벨을 결정하기 위해 상기 하나 이상의 프로세서에 의해 동작되는 노드 집계 모듈을 포함하고, 상기 데이터센터 성능 모듈은 상기 집계된 데이터센터 성능 레벨에 적어도 부분적으로 기초하여 상기 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 장치를 포함할 수 있다.
예 7은 예 6에 있어서, 상기 하나 이상의 서비스 품질 모니터링 하드웨어 기기 및 상기 하나 이상의 서비스 품질 시행 하드웨어 기기 각각은 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 적어도 하나를 포함하는 장치를 포함할 수 있다.
예 8은 예 1-6 중 어느 한 예에 있어서, 상기 하나 이상의 서비스 품질 모니터링 하드웨어 기기 및 상기 하나 이상의 서비스 품질 시행 하드웨어 기기 각각은 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 적어도 하나를 포함하는 장치를 포함할 수 있다.
예 9는 컴퓨팅을 제어하기 위한 방법으로서, 컴퓨팅을 위한 장치에 의해, 데이터센터 성능 타겟을 수신하는 단계; 상기 장치에 의해, 상기 데이터센터의 복수의 노드로부터 상기 하나 이상의 노드와 관련된 하나 이상의 서비스 품질 모니터링 하드웨어 기기에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 단계; 상기 장치에 의해, 결정된 상기 엔드-투-엔드 데이터센터 성능 레벨을 상기 데이터센터 성능 타겟과 비교하는 단계; 및 상기 장치에 의해, 상기 데이터센터 성능 타겟에 대한 상기 엔드-투-엔드 데이터센터 성능 레벨의 상기 비교의 결과에 적어도 부분적으로 기초하여 완화 커맨드를 송신하는 단계를 포함하고, 상기 완화 커맨드는 상기 노드들 중 하나 이상의 노드 상의 하나 이상의 서비스 품질 시행 하드웨어 기기로 송신되는 방법을 포함할 수 있다.
예 10은 예 9에 있어서, 상기 장치에 의해, 상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟 미만인 것으로 결정된 것에 응답하여 경합 국소화 커맨드를 송신하는 단계; 및 상기 장치에 의해, 경합 국소화 응답을 수신하는 단계를 더 포함하고, 상기 완화 커맨드를 송신하는 단계는 또한 상기 경합 국소화 응답에 적어도 부분적으로 기초하는 방법을 포함할 수 있다.
예 11은 예 10에 있어서, 상기 장치에 의해, 상기 데이터센터 성능 타겟에 적어도 부분적으로 기초하여 상기 복수의 노드 각각에 대한 노드 성능 타겟을 결정하는 단계를 더 포함하고, 상기 장치에 의해 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 단계는 하나 이상의 서비스 품질 모니터링 하드웨어 기기에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 상기 복수의 노드 각각에 대한 노드 성능 레벨을 결정하는 단계, 및 결정된 각각의 노드 성능 레벨을 그의 대응하는 노드 성능 타겟과 비교하는 단계를 포함하고, 상기 장치에 의해 경합 국소화 커맨드를 송신하는 단계는 그의 대응하는 노드 성능 타겟 미만인 것으로 결정된 성능 레벨을 갖는 각각의 노드로 경합 국소화 커맨드를 송신하는 단계를 포함하고, 상기 장치에 의해 경합 국소화 응답을 수신하는 단계는 경합 국소화 커맨드를 송신받은 각각의 노드로부터 경합 국소화 응답을 수신하는 단계를 포함하며, 상기 장치에 의해 완화 커맨드를 송신하는 단계는 경합 국소화 응답이 수신된 상기 노드들 중 적어도 하나의 노드로 노드 완화 커맨드를 송신하는 단계를 포함하는 방법을 포함할 수 있다.
예 12는 예 9에 있어서, 상기 장치에 의해 완화 커맨드를 송신하는 단계는 상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟을 초과하는 것으로 결정된 것에 응답하여 완화 커맨드를 송신하는 단계를 포함하는 방법을 포함할 수 있다.
예 13은 예 9에 있어서, 상기 장치에 의해 데이터센터 성능 타겟을 수신하는 단계는 복수의 서비스 레벨 합의에 대응하는 복수의 데이터센터 성능 타겟을 수신하는 단계를 포함하고, 상기 장치에 의해 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 단계는 하나 이상의 서비스 품질 모니터링 하드웨어 기기에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 상기 복수의 데이터센터 성능 타겟 각각에 대응하는 복수의 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 단계를 포함하고, 상기 장치에 의해 비교하는 단계는 결정된 상기 엔드-투-엔드 데이터센터 성능 레벨들 각각을 상기 대응하는 데이터센터 성능 타겟들과 비교하는 단계를 포함하고, 상기 장치에 의해 완화 커맨드를 송신하는 단계는 그의 대응하는 데이터센터 성능 타겟보다 낮은 것으로 결정된 엔드-투-엔드 데이터센터 성능 레벨에 대응하는 작업 부하를 실행하는 노드로 완화 커맨드를 송신하는 단계를 포함하고, 상기 장치에 의해 완화 커맨드를 송신하는 단계는 작업 부하에 대해, 추가 메모리를 제공하기 위한 명령어, 추가 프로세서 코어를 제공하기 위한 명령어, 추가 네트워크 대역폭을 제공하기 위한 명령어, 추가 메모리 대역폭을 제공하기 위한 명령어, 불충분한 서비스를 받는 디바이스에 대한 추가 IO 대역폭을 제공하기 위한 명령어, SMT QoS를 이용하여 추가 스레드별 자원들을 제공하기 위한 명령어, 및 추가 캐시 공간을 제공하기 위한 명령어를 포함하는 완화 커맨드들의 그룹으로부터 선택된 적어도 하나의 완화 커맨드를 송신하는 단계를 포함하는 방법을 포함할 수 있다.
예 14는 예 9-13 중 어느 한 예에 있어서, 상기 장치에 의해 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 단계는 상기 복수의 노드의 성능 레벨들을 결정하는 단계; 및 상기 복수의 노드의 상기 성능 레벨들을 집계하여, 집계된 성능 레벨을 결정하는 단계를 포함하고, 상기 장치에 의해 상기 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 단계는 또한 상기 집계된 데이터센터 성능 레벨에 적어도 부분적으로 기초하는 방법을 포함할 수 있다.
예 15는 예 14에 있어서, 상기 장치에 의해 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 단계는 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 하나 이상에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 단계를 포함하고, 상기 장치에 의해 완화 커맨드를 송신하는 단계는 상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟 미만인 것으로 결정된 것에 응답하여 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 하나 이상에 적어도 부분적으로 기초하여 완화 커맨드를 송신하는 단계를 포함하는 방법을 포함할 수 있다.
예 16은 예 9-13 중 어느 한 예에 있어서, 상기 장치에 의해 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 단계는 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 하나 이상에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 단계를 포함하고, 상기 장치에 의해 완화 커맨드를 송신하는 단계는 상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟 미만인 것으로 결정된 것에 응답하여 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 하나 이상에 적어도 부분적으로 기초하여 완화 커맨드를 송신하는 단계를 포함하는 방법을 포함할 수 있다.
예 17은 저장된 명령어들을 포함하는 적어도 하나의 비일시적 컴퓨터 판독 가능 매체로서, 상기 명령어들은 컴퓨팅을 위한 장치에 의한 상기 명령어들의 실행에 응답하여, 상기 장치로 하여금: 데이터센터 성능 모니터에서 데이터센터 성능 타겟을 수신하고; 상기 데이터센터의 복수의 노드로부터 상기 하나 이상의 노드와 관련된 하나 이상의 서비스 품질 모니터링 하드웨어 기기에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 엔드-투-엔드 데이터센터 성능 레벨을 결정하고; 결정된 상기 엔드-투-엔드 데이터센터 성능 레벨을 상기 데이터센터 성능 타겟과 비교하고; 상기 데이터센터 성능 타겟에 대한 상기 엔드-투-엔드 데이터센터 성능 레벨의 상기 비교의 결과에 적어도 부분적으로 기초하여 완화 커맨드를 송신하게 하며, 상기 완화 커맨드는 상기 노드들 중 하나 이상의 노드 상의 하나 이상의 서비스 품질 시행 하드웨어 기기로 송신되는 적어도 하나의 비일시적 컴퓨터 판독 가능 매체를 포함할 수 있다.
예 18은 예 17에 있어서, 상기 장치는 또한 상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟 미만인 것으로 결정된 것에 응답하여 경합 국소화 커맨드를 송신하고; 경합 국소화 응답을 수신하며, 상기 장치는 상기 경합 국소화 응답에 적어도 부분적으로 기초하여 상기 완화 커맨드를 송신하는 적어도 하나의 비일시적 컴퓨터 판독 가능 매체를 포함할 수 있다.
예 19는 예 18에 있어서, 상기 장치는 또한 상기 데이터센터 성능 타겟에 적어도 부분적으로 기초하여 상기 복수의 노드 각각에 대한 노드 성능 타겟을 결정하고; 하나 이상의 서비스 품질 모니터링 하드웨어 기기에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 상기 복수의 노드 각각에 대한 노드 성능 레벨을 결정하고; 결정된 각각의 노드 성능 레벨을 그의 대응하는 노드 성능 타겟과 비교하고; 그의 대응하는 노드 성능 타겟 미만인 것으로 결정된 노드 성능 레벨을 갖는 각각의 노드로 경합 국소화 커맨드를 송신하고; 경합 국소화 커맨드를 송신받은 각각의 노드로부터 경합 국소화 응답을 수신하고; 경합 국소화 응답이 수신된 상기 노드들 중 적어도 하나의 노드로 완화 커맨드를 송신하는 적어도 하나의 비일시적 컴퓨터 판독 가능 매체를 포함할 수 있다.
예 20은 예 17에 있어서, 상기 장치는 상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟을 초과하는 것으로 결정된 것에 응답하여 완화 커맨드를 송신하는 적어도 하나의 비일시적 컴퓨터 판독 가능 매체를 포함할 수 있다.
예 21은 예 17에 있어서, 상기 장치는 또한 복수의 서비스 레벨 합의에 대응하는 복수의 데이터센터 성능 타겟을 수신하고; 하나 이상의 서비스 품질 모니터링 하드웨어 기기에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 상기 복수의 데이터센터 성능 타겟 각각에 대응하는 복수의 엔드-투-엔드 데이터센터 성능 레벨을 결정하고; 결정된 상기 엔드-투-엔드 데이터센터 성능 레벨들 각각을 상기 대응하는 데이터센터 성능 타겟들과 비교하고; 그의 대응하는 데이터센터 성능 타겟보다 낮은 것으로 결정된 엔드-투-엔드 데이터센터 성능 레벨에 대응하는 작업 부하를 실행하는 노드로 완화 커맨드를 송신하고; 작업 부하에 대해, 추가 메모리를 제공하기 위한 명령어, 추가 프로세서 코어를 제공하기 위한 명령어, 추가 네트워크 대역폭을 제공하기 위한 명령어, 추가 메모리 대역폭을 제공하기 위한 명령어, 불충분한 서비스를 받는 디바이스에 대한 추가 IO 대역폭을 제공하기 위한 명령어, SMT QoS를 이용하여 추가 스레드별 자원들을 제공하기 위한 명령어, 및 추가 캐시 공간을 제공하기 위한 명령어를 포함하는 완화 커맨드들의 그룹으로부터 선택된 적어도 하나의 완화 커맨드를 송신하는 적어도 하나의 비일시적 컴퓨터 판독 가능 매체를 포함할 수 있다.
예 22는 예 17-21에 있어서, 상기 장치는 또한 상기 복수의 노드의 성능 레벨들을 결정하고; 상기 복수의 노드의 상기 성능 레벨들을 집계하여, 집계된 성능 레벨을 결정하고; 상기 집계된 데이터센터 성능 레벨에 적어도 부분적으로 기초하여 상기 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 적어도 하나의 비일시적 컴퓨터 판독 가능 매체를 포함할 수 있다.
예 23은 예 22에 있어서, 상기 장치는 또한 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 하나 이상에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 상기 엔드-투-엔드 데이터센터 성능 레벨을 결정하고; 상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟 미만인 것으로 결정된 것에 응답하여 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 하나 이상에 적어도 부분적으로 기초하여 완화 커맨드를 송신하는 적어도 하나의 비일시적 컴퓨터 판독 가능 매체를 포함할 수 있다.
예 24는 예 17-21 중 어느 한 예에 있어서, 상기 장치는 또한 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 하나 이상에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 상기 엔드-투-엔드 데이터센터 성능 레벨을 결정하고; 상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟 미만인 것으로 결정된 것에 응답하여 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 하나 이상에 적어도 부분적으로 기초하여 완화 커맨드를 송신하는 적어도 하나의 비일시적 컴퓨터 판독 가능 매체를 포함할 수 있다.
예 25는 예 17에 있어서, 상기 장치는 또한 상기 데이터센터 성능 타겟에 적어도 부분적으로 기초하여 복수의 네트워크 세그먼트 각각에 대한 네트워크 세그먼트별 성능 타겟을 결정하고; 하나 이상의 서비스 품질 모니터링 하드웨어 기기에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 상기 복수의 네트워크 세그먼트 각각에 대한 네트워크 세그먼트 성능 레벨을 결정하고; 결정된 각각의 네트워크 세그먼트 성능 레벨을 그의 대응하는 네트워크 세그먼트 성능 예산과 비교하고; 그의 대응하는 네트워크 세그먼트 성능 예산에 대한 결정된 상기 네트워크 세그먼트 성능 레벨의 상기 비교에 적어도 부분적으로 기초하여 네트워크 세그먼트와 관련된 노드로 경합 국소화 커맨드를 송신하고; 경합 국소화 커맨드를 송신받은 상기 노드로부터 경합 국소화 응답을 수신하고; 경합 국소화 응답이 수신된 상기 노드로 완화 커맨드를 송신하는 적어도 하나의 비일시적 컴퓨터 판독 가능 매체를 포함할 수 있다.
예 26은 컴퓨팅을 제어하기 위한 장치로서, 데이터센터 성능 타겟을 수신하기 위한 수단; 상기 데이터센터의 복수의 노드로부터 상기 하나 이상의 노드와 관련된 하나 이상의 서비스 품질 모니터링 하드웨어 기기에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 엔드-투-엔드 데이터센터 성능 레벨을 결정하기 위한 수단; 결정된 상기 엔드-투-엔드 데이터센터 성능 레벨을 상기 데이터센터 성능 타겟과 비교하기 위한 수단; 및 상기 데이터센터 성능 타겟에 대한 상기 엔드-투-엔드 데이터센터 성능 레벨의 상기 비교의 결과에 적어도 부분적으로 기초하여 완화 커맨드를 송신하기 위한 수단을 포함하고, 상기 완화 커맨드는 상기 노드들 중 하나 이상의 노드 상의 하나 이상의 서비스 품질 시행 하드웨어 기기로 송신되는 장치를 포함할 수 있다.
예 27는 예 26의 장치에 있어서, 상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟 미만인 것으로 결정된 것에 응답하여 경합 국소화 커맨드를 송신하기 위한 수단; 및 경합 국소화 응답을 수신하기 위한 수단을 더 포함하며, 상기 완화 커맨드를 송신하기 위한 상기 수단은 또한 상기 경합 국소화 응답에 적어도 부분적으로 기초하여 상기 완화 커맨드를 송신하는 장치를 포함할 수 있다.
예 28은 예 26의 장치에 있어서, 상기 데이터센터 성능 타겟에 적어도 부분적으로 기초하여 상기 복수의 노드 각각에 대한 노드 성능 타겟을 결정하기 위한 수단을 더 포함하고, 엔드-투-엔드 데이터센터 성능 레벨을 결정하기 위한 상기 수단은 하나 이상의 서비스 품질 모니터링 하드웨어 기기에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 상기 복수의 노드 각각에 대한 노드 성능 레벨을 결정하기 위한 수단 및 결정된 각각의 노드 성능 레벨을 그의 대응하는 노드 성능 타겟과 비교하기 위한 수단을 포함하며, 경합 국소화 커맨드를 송신하기 위한 상기 수단은 그의 대응하는 노드 성능 타겟 미만인 것으로 결정된 노드 성능 레벨을 갖는 각각의 노드로 경합 국소화 커맨드를 송신하기 위한 수단을 포함하고, 경합 국소화 응답을 수신하기 위한 상기 수단은 경합 국소화 커맨드를 송신받은 각각의 노드로부터 경합 국소화 응답을 수신하기 위한 수단을 포함하고, 완화 커맨드를 송신하기 위한 상기 수단은 경합 국소화 응답이 수신된 상기 노드들 중 적어도 하나의 노드로 노드 완화 커맨드를 송신하기 위한 수단을 포함하는 장치를 포함할 수 있다.
예 29는 예 26의 장치에 있어서, 완화 커맨드를 송신하기 위한 상기 수단은 상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟을 초과하는 것으로 결정된 것에 응답하여 완화 커맨드를 송신하기 위한 수단을 포함하는 장치를 포함할 수 있다.
예 30은 예 26에 있어서, 데이터센터 성능 타겟을 수신하기 위한 상기 수단은 복수의 서비스 레벨 합의에 대응하는 복수의 데이터센터 성능 타겟을 수신하기 위한 수단을 포함하고, 엔드-투-엔드 데이터센터 성능 레벨을 결정하기 위한 상기 수단은 하나 이상의 서비스 품질 모니터링 하드웨어 기기에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 상기 복수의 데이터센터 성능 타겟 각각에 대응하는 복수의 엔드-투-엔드 데이터센터 성능 레벨을 결정하기 위한 수단을 포함하고, 비교하기 위한 상기 수단은 결정된 상기 엔드-투-엔드 데이터센터 성능 레벨들 각각을 상기 대응하는 데이터센터 성능 타겟들과 비교하기 위한 수단을 포함하고, 완화 커맨드를 송신하기 위한 상기 수단은 그의 대응하는 데이터센터 성능 타겟보다 낮은 것으로 결정된 엔드-투-엔드 데이터센터 성능 레벨에 대응하는 작업 부하를 실행하는 노드로 완화 커맨드를 송신하기 위한 수단을 포함하고, 완화 커맨드를 송신하기 위한 상기 수단은 작업 부하에 대해, 추가 메모리를 제공하기 위한 명령어, 추가 프로세서 코어를 제공하기 위한 명령어, 추가 네트워크 대역폭을 제공하기 위한 명령어, 추가 메모리 대역폭을 제공하기 위한 명령어, 불충분한 서비스를 받는 디바이스에 대한 추가 IO 대역폭을 제공하기 위한 명령어, SMT QoS를 이용하여 추가 스레드별 자원들을 제공하기 위한 명령어, 및 추가 캐시 공간을 제공하기 위한 명령어를 포함하는 완화 커맨드들의 그룹으로부터 선택된 적어도 하나의 완화 커맨드를 송신하기 위한 수단을 포함하는 방법을 포함할 수 있다.
예 31은 예 26-30 중 어느 한 예에 있어서, 엔드-투-엔드 데이터센터 성능 레벨을 결정하기 위한 상기 수단은 상기 복수의 노드의 성능 레벨들을 결정하기 위한 수단; 및 상기 복수의 노드의 상기 성능 레벨들을 집계하여, 집계된 성능 레벨을 결정하기 위한 수단을 포함하고, 상기 엔드-투-엔드 데이터센터 성능 레벨을 결정하기 위한 상기 수단은 또한 상기 집계된 데이터센터 성능 레벨에 적어도 부분적으로 기초하여 상기 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 장치를 포함할 수 있다.
예 32는 예 31에 있어서, 완화 커맨드를 송신하기 위한 상기 수단은 작업 부하에 대해, 추가 메모리를 제공하기 위한 명령어, 추가 프로세서 코어를 제공하기 위한 명령어, 추가 네트워크 대역폭을 제공하기 위한 명령어, 추가 메모리 대역폭을 제공하기 위한 명령어, 불충분한 서비스를 받는 디바이스에 대한 추가 IO 대역폭을 제공하기 위한 명령어, SMT QoS를 이용하여 추가 스레드별 자원들을 제공하기 위한 명령어, 및 추가 캐시 공간을 제공하기 위한 명령어를 포함하는 완화 커맨드들의 그룹으로부터 선택된 적어도 하나의 완화 커맨드를 송신하기 위한 수단을 포함하고, 엔드-투-엔드 데이터센터 성능 레벨을 결정하기 위한 상기 수단은 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 하나 이상에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 엔드-투-엔드 데이터센터 성능 레벨을 결정하기 위한 수단을 포함하고, 완화 커맨드를 송신하기 위한 수단은 상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟 미만인 것으로 결정된 것에 응답하여 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 하나 이상에 적어도 부분적으로 기초하여 완화 커맨드를 송신하기 위한 수단을 포함하는 장치를 포함할 수 있다.
예 33은 예 26-30 중 어느 한 예에 있어서, 엔드-투-엔드 데이터센터 성능 레벨을 결정하기 위한 상기 수단은 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 하나 이상에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 엔드-투-엔드 데이터센터 성능 레벨을 결정하기 위한 수단을 포함하고, 완화 커맨드를 송신하기 위한 수단은 상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟 미만인 것으로 결정된 것에 응답하여 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 하나 이상에 적어도 부분적으로 기초하여 완화 커맨드를 송신하기 위한 수단을 포함하는 장치를 포함할 수 있다.
본 명세서에서는 설명의 목적을 위해 소정 실시예들이 도시되고 설명되었지만, 본 발명의 범위로부터 벗어나지 않으면서 동일 목적들을 달성할 것으로 추정되는 다양한 대안 및/또는 등가 실시예들 또는 구현들이 도시되고 설명된 실시예들을 대체할 수 있다. 본원은 본 명세서에서 설명된 실시예들의 임의의 개량들 또는 변형들을 포함하는 것을 의도한다. 따라서, 본 명세서에서 설명된 실시예들은 청구항들에 의해서만 한정되는 것이 명백히 의도된다.
본 개시 내용이 "하나의" 또는 "제1" 요소 또는 그의 등가물을 기재하는 경우, 그러한 개시 내용은 하나 이상의 그러한 요소를 포함하며, 둘 이상의 그러한 요소를 요구하지도 배제하지도 않는다. 또한, 식별되는 요소들에 대한 서수 지시자들(예로서, 제1, 제2 또는 제3)은 요소들을 구별하기 위해 사용되며, 필요한 또는 제한된 수의 그러한 요소들을 지시하거나 암시하지 않고, 또한 달리 구체적으로 언급되지 않은 한 그러한 요소들의 특정 위치 또는 순서도 지시하지 않는다.

Claims (25)

  1. 컴퓨팅을 제어하기 위한 장치로서,
    하나 이상의 프로세서와,
    상기 하나 이상의 프로세서에 결합된 메모리와,
    서비스 레벨 합의에 대응하는 데이터센터 성능 타겟을 수신하고, 상기 데이터센터의 복수의 노드 중 하나 이상의 노드와 관련된 하나 이상의 서비스 품질 모니터링 하드웨어 기기에 의해 수집된 상기 복수의 노드에 대한 서비스 품질 데이터에 적어도 부분적으로 기초하여 엔드-투-엔드 데이터센터 성능 레벨을 결정하고, 결정된 상기 엔드-투-엔드 데이터센터 성능 레벨을 수신된 상기 데이터센터 성능 타겟과 비교하는 데이터센터 성능 모니터와,
    상기 하나 이상의 프로세서에 의해 작동되어 상기 데이터센터 성능 타겟에 대한 상기 엔드-투-엔드 데이터센터 성능 레벨의 상기 비교의 결과에 적어도 부분적으로 기초하여 완화 커맨드(a mitigation command)를 송신하는 완화 모듈을
    포함하되,
    상기 완화 커맨드는 상기 노드 중 하나 이상의 노드 상의 하나 이상의 서비스 품질 시행 하드웨어 기기로 송신되는
    컴퓨팅 제어 장치.
  2. 제1항에 있어서,
    상기 하나 이상의 프로세서에 의해 작동되어 상기 데이터센터 성능 타겟에 대한 상기 엔드-투-엔드 데이터센터 성능 레벨의 상기 비교에 응답하여 경합 국소화 커맨드를 송신하는 경합 국소화 모듈을 더 포함하되,
    상기 경합 국소화 모듈은 상기 하나 이상의 프로세서에 의해 작동되어 또한 경합 국소화 응답을 수신하고,
    상기 완화 커맨드는 또한 상기 경합 국소화 응답에 적어도 부분적으로 기초하는
    컴퓨팅 제어 장치.
  3. 제2항에 있어서,
    상기 하나 이상의 프로세서에 의해 작동되어 상기 데이터센터 성능 타겟에 적어도 부분적으로 기초하여 상기 복수의 노드 각각에 대한 노드 성능 타겟을 결정하는 성능 분배 모듈을 더 포함하되,
    상기 데이터센터 성능 모니터는 상기 노드와 관련된 하나 이상의 서비스 품질 모니터링 하드웨어 기기에 적어도 부분적으로 기초하여 상기 복수의 노드 각각에 대한 노드 성능 레벨을 결정하고, 결정된 각각의 노드 성능 레벨을 그의 대응하는 노드 성능 타겟과 비교하며,
    상기 경합 국소화 모듈은 그의 대응하는 노드 성능 타겟 미만인 것으로 결정된 노드 성능 레벨을 갖는 각각의 노드로 경합 국소화 커맨드를 송신하고, 상기 경합 국소화 커맨드를 송신받은 각각의 노드로부터 경합 국소화 응답을 수신하며,
    상기 완화 모듈은 상기 경합 국소화 응답이 수신된 상기 노드 중 적어도 하나의 노드로 노드 완화 커맨드를 송신하는
    컴퓨팅 제어 장치.
  4. 제1항에 있어서,
    상기 완화 모듈은 상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟을 초과하는 것으로 판정된 것에 응답하여 완화 커맨드를 송신하는
    컴퓨팅 제어 장치.
  5. 제1항에 있어서,
    상기 데이터센터 성능 모니터는 복수의 서비스 레벨 합의에 대응하는 복수의 데이터센터 성능 타겟을 수신하고, 하나 이상의 서비스 품질 모니터링 하드웨어 기기에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 상기 복수의 데이터센터 성능 타겟 각각에 대응하는 복수의 엔드-투-엔드 데이터센터 성능 레벨을 결정하며, 결정된 상기 엔드-투-엔드 데이터센터 성능 레벨 각각을 상기 대응하는 데이터센터 성능 타겟과 비교하고,
    상기 완화 모듈은 그에 대응하는 데이터센터 성능 타겟보다 낮은 것으로 판정된 엔드-투-엔드 데이터센터 성능 레벨에 대응하는 작업 부하를 실행하는 노드로 완화 커맨드를 송신하되,
    상기 완화 모듈은 상기 작업 부하에 대해, 추가 메모리를 제공하기 위한 명령어, 추가 프로세서 코어를 제공하기 위한 명령어, 추가 네트워크 대역폭을 제공하기 위한 명령어, 추가 메모리 대역폭을 제공하기 위한 명령어, 불충분한 서비스를 받는 디바이스에 대한 추가 IO 대역폭을 제공하기 위한 명령어, SMT QoS를 이용하여 추가 스레드별 자원을 제공하기 위한 명령어, 및 추가 캐시 공간을 제공하기 위한 명령어를 포함하는 완화 커맨드의 그룹으로부터 선택된 적어도 하나의 완화 커맨드를 송신하는
    컴퓨팅 제어 장치.
  6. 제5항에 있어서,
    상기 데이터센터 성능 모니터는
    상기 복수의 노드의 성능 레벨을 모니터링하는 노드 모니터와,
    상기 복수의 노드의 상기 성능 레벨을 집계하여, 집계된 성능 레벨을 결정하기 위해 상기 하나 이상의 프로세서에 의해 동작되는 노드 집계 모듈
    을 포함하고,
    상기 데이터센터 성능 모듈은 상기 집계된 데이터센터 성능 레벨에 적어도 부분적으로 기초하여 상기 엔드-투-엔드 데이터센터 성능 레벨을 결정하는
    컴퓨팅 제어 장치.
  7. 제6항에 있어서,
    상기 하나 이상의 서비스 품질 모니터링 하드웨어 기기 및 상기 하나 이상의 서비스 품질 시행 하드웨어 기기 각각은 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 적어도 하나를 포함하는
    컴퓨팅 제어 장치.
  8. 제1항에 있어서,
    상기 하나 이상의 서비스 품질 모니터링 하드웨어 기기 및 상기 하나 이상의 서비스 품질 시행 하드웨어 기기 각각은 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 적어도 하나를 포함하는
    컴퓨팅 제어 장치.
  9. 컴퓨팅을 제어하기 위한 방법으로서,
    컴퓨팅을 위한 장치에 의해, 데이터센터 성능 타겟을 수신하는 단계와,
    상기 장치에 의해, 상기 데이터센터의 복수의 노드 중 하나 이상의 노드와 관련된 하나 이상의 서비스 품질 모니터링 하드웨어 기기에 의해 상기 복수의 노드로부터 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 단계와,
    상기 장치에 의해, 결정된 상기 엔드-투-엔드 데이터센터 성능 레벨을 상기 데이터센터 성능 타겟과 비교하는 단계와,
    상기 장치에 의해, 상기 데이터센터 성능 타겟에 대한 상기 엔드-투-엔드 데이터센터 성능 레벨의 상기 비교의 결과에 적어도 부분적으로 기초하여 완화 커맨드를 송신하는 단계
    를 포함하되,
    상기 완화 커맨드는 상기 노드 중 하나 이상의 노드 상의 하나 이상의 서비스 품질 시행 하드웨어 기기로 송신되는
    컴퓨팅 제어 방법.
  10. 제9항에 있어서,
    상기 장치에 의해, 상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟 미만인 것으로 판정된 것에 응답하여 경합 국소화 커맨드를 송신하는 단계와,
    상기 장치에 의해, 경합 국소화 응답을 수신하는 단계
    를 더 포함하되,
    상기 완화 커맨드를 송신하는 단계는 또한 상기 경합 국소화 응답에 적어도 부분적으로 기초하는
    컴퓨팅 제어 방법.
  11. 제10항에 있어서,
    상기 장치에 의해, 상기 데이터센터 성능 타겟에 적어도 부분적으로 기초하여 상기 복수의 노드 각각에 대한 노드 성능 타겟을 결정하는 단계를 더 포함하되,
    상기 장치에 의해 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 단계는 하나 이상의 서비스 품질 모니터링 하드웨어 기기에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 상기 복수의 노드 각각에 대한 노드 성능 레벨을 결정하는 단계와, 결정된 각각의 노드 성능 레벨을 그의 대응하는 노드 성능 타겟과 비교하는 단계를 포함하고,
    상기 장치에 의해 경합 국소화 커맨드를 송신하는 단계는 그의 대응하는 노드 성능 타겟 미만인 것으로 결정된 성능 레벨을 갖는 각각의 노드로 경합 국소화 커맨드를 송신하는 단계를 포함하며,
    상기 장치에 의해 경합 국소화 응답을 수신하는 단계는 경합 국소화 커맨드를 송신받은 각각의 노드로부터 경합 국소화 응답을 수신하는 단계를 포함하고,
    상기 장치에 의해 완화 커맨드를 송신하는 단계는 경합 국소화 응답이 수신된 상기 노드 중 적어도 하나의 노드로 노드 완화 커맨드를 송신하는 단계를 포함하는
    컴퓨팅 제어 방법.
  12. 제9항에 있어서,
    상기 장치에 의해 완화 커맨드를 송신하는 단계는 상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟을 초과하는 것으로 판정된 것에 응답하여 완화 커맨드를 송신하는 단계를 포함하는
    컴퓨팅 제어 방법.
  13. 제9항에 있어서,
    상기 장치에 의해 데이터센터 성능 타겟을 수신하는 단계는 복수의 서비스 레벨 합의에 대응하는 복수의 데이터센터 성능 타겟을 수신하는 단계를 포함하고,
    상기 장치에 의해 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 단계는 하나 이상의 서비스 품질 모니터링 하드웨어 기기에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 상기 복수의 데이터센터 성능 타겟 각각에 대응하는 복수의 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 단계를 포함하며,
    상기 장치에 의해 비교하는 단계는 결정된 상기 엔드-투-엔드 데이터센터 성능 레벨 각각을 상기 대응하는 데이터센터 성능 타겟과 비교하는 단계를 포함하고,
    상기 장치에 의해 완화 커맨드를 송신하는 단계는 그의 대응하는 데이터센터 성능 타겟보다 낮은 것으로 판정된 엔드-투-엔드 데이터센터 성능 레벨에 대응하는 작업 부하를 실행하는 노드로 완화 커맨드를 송신하는 단계를 포함하며,
    상기 장치에 의해 완화 커맨드를 송신하는 단계는 상기 작업 부하에 대해, 추가 메모리를 제공하기 위한 명령어, 추가 프로세서 코어를 제공하기 위한 명령어, 추가 네트워크 대역폭을 제공하기 위한 명령어, 추가 메모리 대역폭을 제공하기 위한 명령어, 불충분한 서비스를 받는 디바이스에 대한 추가 IO 대역폭을 제공하기 위한 명령어, SMT QoS를 이용하여 추가 스레드별 자원을 제공하기 위한 명령어, 및 추가 캐시 공간을 제공하기 위한 명령어를 포함하는 완화 커맨드의 그룹으로부터 선택된 적어도 하나의 완화 커맨드를 송신하는 단계를 포함하는
    컴퓨팅 제어 방법.
  14. 제13항에 있어서,
    상기 장치에 의해 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 단계는
    상기 복수의 노드의 성능 레벨을 결정하는 단계와,
    상기 복수의 노드의 상기 성능 레벨을 집계하여, 집계된 성능 레벨을 결정하는 단계를 포함하고,
    상기 장치에 의해 상기 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 단계는 또한 상기 집계된 데이터센터 성능 레벨에 적어도 부분적으로 기초하는
    컴퓨팅 제어 방법.
  15. 제14항에 있어서,
    상기 장치에 의해 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 단계는 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 하나 이상에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 단계를 포함하고,
    상기 장치에 의해 완화 커맨드를 송신하는 단계는 상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟 미만인 것으로 결정된 것에 응답하여 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 하나 이상에 적어도 부분적으로 기초하여 완화 커맨드를 송신하는 단계를 포함하는
    컴퓨팅 제어 방법.
  16. 제9항에 있어서,
    상기 장치에 의해 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 단계는 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 하나 이상에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 엔드-투-엔드 데이터센터 성능 레벨을 결정하는 단계를 포함하고,
    상기 장치에 의해 완화 커맨드를 송신하는 단계는 상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟 미만인 것으로 결정된 것에 응답하여 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 하나 이상에 적어도 부분적으로 기초하여 완화 커맨드를 송신하는 단계를 포함하는
    컴퓨팅 제어 방법.
  17. 저장된 명령어를 포함하는 적어도 하나의 비일시적 컴퓨터 판독 가능 매체로서,
    상기 명령어는 컴퓨팅을 위한 장치에 의한 상기 명령어의 실행에 응답하여, 상기 장치로 하여금,
    데이터센터 성능 모니터에서 데이터센터 성능 타겟을 수신하고,
    상기 데이터센터의 복수의 노드 중 하나 이상의 노드와 관련된 하나 이상의 서비스 품질 모니터링 하드웨어 기기에 의해 상기 복수의 노드로부터 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 엔드-투-엔드 데이터센터 성능 레벨을 결정하고,
    결정된 상기 엔드-투-엔드 데이터센터 성능 레벨을 상기 데이터센터 성능 타겟과 비교하고,
    상기 데이터센터 성능 타겟에 대한 상기 엔드-투-엔드 데이터센터 성능 레벨의 상기 비교의 결과에 적어도 부분적으로 기초하여 완화 커맨드를 송신하게 하되,
    상기 완화 커맨드는 상기 노드 중 하나 이상의 노드 상의 하나 이상의 서비스 품질 시행 하드웨어 기기로 송신되는
    적어도 하나의 비일시적 컴퓨터 판독 가능 매체.
  18. 제17항에 있어서,
    상기 장치는 또한
    상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟 미만인 것으로 판정된 것에 응답하여 경합 국소화 커맨드를 송신하고,
    경합 국소화 응답을 수신하고,
    상기 장치는 상기 경합 국소화 응답에 적어도 부분적으로 기초하여 상기 완화 커맨드를 송신하는
    적어도 하나의 비일시적 컴퓨터 판독 가능 매체.
  19. 제18항에 있어서,
    상기 장치는 또한
    상기 데이터센터 성능 타겟에 적어도 부분적으로 기초하여 상기 복수의 노드 각각에 대한 노드 성능 타겟을 결정하고,
    하나 이상의 서비스 품질 모니터링 하드웨어 기기에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 상기 복수의 노드 각각에 대한 노드 성능 레벨을 결정하고, 결정된 각각의 노드 성능 레벨을 그의 대응하는 노드 성능 타겟과 비교하고,
    그의 대응하는 노드 성능 타겟 미만인 것으로 판정된 노드 성능 레벨을 갖는 각각의 노드로 경합 국소화 커맨드를 송신하고,
    경합 국소화 커맨드를 송신받은 각각의 노드로부터 경합 국소화 응답을 수신하고,
    경합 국소화 응답이 수신된 상기 노드 중 적어도 하나의 노드로 완화 커맨드를 송신하는
    적어도 하나의 비일시적 컴퓨터 판독 가능 매체.
  20. 제17항에 있어서,
    상기 장치는 상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟을 초과하는 것으로 판정된 것에 응답하여 완화 커맨드를 송신하는
    적어도 하나의 비일시적 컴퓨터 판독 가능 매체.
  21. 제17항에 있어서,
    상기 장치는 또한
    복수의 서비스 레벨 합의에 대응하는 복수의 데이터센터 성능 타겟을 수신하고,
    하나 이상의 서비스 품질 모니터링 하드웨어 기기에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 상기 복수의 데이터센터 성능 타겟 각각에 대응하는 복수의 엔드-투-엔드 데이터센터 성능 레벨을 결정하고,
    결정된 상기 엔드-투-엔드 데이터센터 성능 레벨 각각을 상기 대응하는 데이터센터 성능 타겟과 비교하고,
    그의 대응하는 데이터센터 성능 타겟보다 낮은 것으로 판정된 엔드-투-엔드 데이터센터 성능 레벨에 대응하는 작업 부하를 실행하는 노드로 완화 커맨드를 송신하고,
    상기 작업 부하에 대해, 추가 메모리를 제공하기 위한 명령어, 추가 프로세서 코어를 제공하기 위한 명령어, 추가 네트워크 대역폭을 제공하기 위한 명령어, 추가 메모리 대역폭을 제공하기 위한 명령어, 불충분한 서비스를 받는 디바이스에 대한 추가 IO 대역폭을 제공하기 위한 명령어, SMT QoS를 이용하여 추가 스레드별 자원을 제공하기 위한 명령어, 및 추가 캐시 공간을 제공하기 위한 명령어를 포함하는 완화 커맨드의 그룹으로부터 선택된 적어도 하나의 완화 커맨드를 송신하는
    적어도 하나의 비일시적 컴퓨터 판독 가능 매체.
  22. 제21항에 있어서,
    상기 장치는 또한
    상기 복수의 노드의 성능 레벨을 결정하고,
    상기 복수의 노드의 상기 성능 레벨을 집계하여, 집계된 성능 레벨을 결정하고,
    상기 집계된 데이터센터 성능 레벨에 적어도 부분적으로 기초하여 상기 엔드-투-엔드 데이터센터 성능 레벨을 결정하는
    적어도 하나의 비일시적 컴퓨터 판독 가능 매체.
  23. 제22항에 있어서,
    상기 장치는 또한
    동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 하나 이상에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 상기 엔드-투-엔드 데이터센터 성능 레벨을 결정하고,
    상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟 미만인 것으로 결정된 것에 응답하여 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 하나 이상에 적어도 부분적으로 기초하여 완화 커맨드를 송신하는
    적어도 하나의 비일시적 컴퓨터 판독 가능 매체.
  24. 제17항에 있어서,
    상기 장치는 또한
    동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 하나 이상에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 상기 엔드-투-엔드 데이터센터 성능 레벨을 결정하고,
    상기 엔드-투-엔드 데이터센터 성능 레벨이 상기 데이터센터 성능 타겟 미만인 것으로 판정된 것에 응답하여 동시 멀티스레딩 서비스 품질 메커니즘, L2 캐시 서비스 품질 메커니즘, L2 외부 대역폭 서비스 품질 메커니즘, 상호접속 서비스 품질 메커니즘, 메모리 대역폭 서비스 품질 메커니즘, 입출력 서비스 품질 메커니즘, 최종 레벨 캐시 서비스 품질 메커니즘 또는 네트워크 서비스 품질 메커니즘 중 하나 이상에 적어도 부분적으로 기초하여 완화 커맨드를 송신하는
    적어도 하나의 비일시적 컴퓨터 판독 가능 매체.
  25. 제17항에 있어서,
    상기 장치는 또한
    상기 데이터센터 성능 타겟에 적어도 부분적으로 기초하여 복수의 네트워크 세그먼트 각각에 대한 네트워크 세그먼트별 성능 타겟을 결정하고,
    하나 이상의 서비스 품질 모니터링 하드웨어 기기에 의해 수집된 서비스 품질 데이터에 적어도 부분적으로 기초하여 상기 복수의 네트워크 세그먼트 각각에 대한 네트워크 세그먼트 성능 레벨을 결정하고,
    결정된 각각의 네트워크 세그먼트 성능 레벨을 그의 대응하는 네트워크 세그먼트 성능 예산과 비교하고,
    그의 대응하는 네트워크 세그먼트 성능 예산에 대한 결정된 상기 네트워크 세그먼트 성능 레벨의 상기 비교에 적어도 부분적으로 기초하여 네트워크 세그먼트와 관련된 노드로 경합 국소화 커맨드를 송신하고,
    경합 국소화 커맨드를 송신받은 상기 노드로부터 경합 국소화 응답을 수신하고,
    경합 국소화 응답이 수신된 상기 노드로 완화 커맨드를 송신하는
    적어도 하나의 비일시적 컴퓨터 판독 가능 매체.
KR1020150163021A 2014-12-23 2015-11-20 엔드-투-엔드 데이터센터 성능 제어 KR101782345B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/581,595 2014-12-23
US14/581,595 US9769050B2 (en) 2014-12-23 2014-12-23 End-to-end datacenter performance control

Publications (2)

Publication Number Publication Date
KR20160076969A true KR20160076969A (ko) 2016-07-01
KR101782345B1 KR101782345B1 (ko) 2017-09-27

Family

ID=54703788

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150163021A KR101782345B1 (ko) 2014-12-23 2015-11-20 엔드-투-엔드 데이터센터 성능 제어

Country Status (5)

Country Link
US (1) US9769050B2 (ko)
EP (1) EP3038291B1 (ko)
JP (1) JP6278320B2 (ko)
KR (1) KR101782345B1 (ko)
CN (1) CN105743962A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101889657B1 (ko) * 2017-04-27 2018-08-20 서울대학교산학협력단 빅데이터 워크로드 처리를 위한 메모리 서브시스템 자원 관리 방법
KR102025426B1 (ko) * 2018-05-11 2019-09-25 한국전자통신연구원 Sdn 기반의 통신 노드에서의 트래픽 과적에 따른 서비스 품질 저하를 해소하기 위한 대역폭 제어 방법 및 장치

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9817684B2 (en) * 2012-10-16 2017-11-14 Intel Corporation Cross-function virtualization of a telecom core network
US10291472B2 (en) 2015-07-29 2019-05-14 AppFormix, Inc. Assessment of operational states of a computing environment
US10581687B2 (en) 2013-09-26 2020-03-03 Appformix Inc. Real-time cloud-infrastructure policy implementation and management
US20160261523A1 (en) * 2015-03-06 2016-09-08 Apollo Education Group, Inc. Dynamically tuning system components for improved overall system performance
US9838272B2 (en) * 2015-04-13 2017-12-05 Ciena Corporation Service enhancement discovery for connectivity traits and virtual network functions in network services
US9942631B2 (en) * 2015-09-25 2018-04-10 Intel Corporation Out-of-band platform tuning and configuration
US10541900B2 (en) * 2016-02-01 2020-01-21 Arista Networks, Inc. Hierarchical time stamping
US9967136B2 (en) * 2016-03-28 2018-05-08 Dell Products L.P. System and method for policy-based smart placement for network function virtualization
US10491688B2 (en) * 2016-04-29 2019-11-26 Hewlett Packard Enterprise Development Lp Virtualized network function placements
WO2018028781A1 (en) * 2016-08-10 2018-02-15 NEC Laboratories Europe GmbH Method for managing computational resources of a data center
US10534712B1 (en) * 2016-08-29 2020-01-14 Infinidat Ltd. Service level agreement based management of a pre-cache module
US11064019B2 (en) * 2016-09-14 2021-07-13 Advanced Micro Devices, Inc. Dynamic configuration of inter-chip and on-chip networks in cloud computing system
US10331485B2 (en) * 2016-11-18 2019-06-25 Huawei Technologies Co., Ltd. Method and system for meeting multiple SLAS with partial QoS control
US20180173547A1 (en) * 2016-12-20 2018-06-21 Intel Corporation Pinning of virtual network function (vnf) deployments using hardware metrics
US11005968B2 (en) * 2017-02-17 2021-05-11 Intel Corporation Fabric support for quality of service
CN108462592A (zh) * 2017-02-20 2018-08-28 华为技术有限公司 基于sla的资源分配方法和nfvo
US11068314B2 (en) * 2017-03-29 2021-07-20 Juniper Networks, Inc. Micro-level monitoring, visibility and control of shared resources internal to a processor of a host machine for a virtual environment
US10355912B2 (en) 2017-04-06 2019-07-16 At&T Intellectual Property I, L.P. Network trouble shooting digital assistant system
US11323327B1 (en) 2017-04-19 2022-05-03 Juniper Networks, Inc. Virtualization infrastructure element monitoring and policy control in a cloud environment using profiles
US10958990B2 (en) * 2017-05-03 2021-03-23 Intel Corporation Trusted platform telemetry mechanisms inaccessible to software
US11500681B2 (en) * 2017-06-29 2022-11-15 Intel Corporation Technologies for managing quality of service platform interconnects
CN111095900B (zh) * 2017-09-05 2023-03-31 诺基亚通信公司 用于分布式云环境中sla管理的方法和装置
CN109756356B (zh) 2017-11-07 2021-09-21 华为技术有限公司 设备升级方法及装置
US11016746B2 (en) 2018-01-17 2021-05-25 Kymeta Corporation Method and apparatus for remotely updating satellite devices
CN110297710B (zh) * 2018-03-23 2022-05-10 畅想科技有限公司 用于多资源仲裁的公共优先级信息
KR102062332B1 (ko) * 2018-04-03 2020-01-03 서울대학교산학협력단 처리 시간에 민감한 워크로드에 대한 메모리 대역폭 할당 방법 및 장치
US11171858B2 (en) * 2018-05-03 2021-11-09 Nokia Solutions And Networks Oy Method for testing network services
US11431648B2 (en) 2018-06-11 2022-08-30 Intel Corporation Technologies for providing adaptive utilization of different interconnects for workloads
EP3609128A1 (en) 2018-08-07 2020-02-12 Siemens Aktiengesellschaft Communication system, provider node, communication node and method for providing a virtual network function to a customer node
US11888710B2 (en) * 2018-09-25 2024-01-30 Intel Corporation Technologies for managing cache quality of service
US10831543B2 (en) * 2018-11-16 2020-11-10 International Business Machines Corporation Contention-aware resource provisioning in heterogeneous processors
US10887196B2 (en) * 2018-11-28 2021-01-05 Microsoft Technology Licensing, Llc Efficient metric calculation with recursive data processing
CN109710270A (zh) * 2018-12-29 2019-05-03 北京神州绿盟信息安全科技股份有限公司 一种安全应用交付方法、装置以及存储介质
SG11202108341TA (en) * 2019-02-27 2021-09-29 Singapore Telecommunications Ltd System for optimising data communication
WO2020034639A1 (en) * 2019-03-26 2020-02-20 Zte Corporation Method and apparatus for monitoring performance
US11099999B2 (en) * 2019-04-19 2021-08-24 Chengdu Haiguang Integrated Circuit Design Co., Ltd. Cache management method, cache controller, processor and storage medium
US11115284B1 (en) * 2020-03-31 2021-09-07 Atlassian Pty Ltd. Techniques for dynamic rate-limiting
CN112000298B (zh) * 2020-08-31 2024-04-19 北京计算机技术及应用研究所 基于io加权公平排队的存储服务质量保障系统
US11494081B2 (en) 2020-10-09 2022-11-08 Seagate Technology Llc System and method for using telemetry data to change operation of storage middleware client of a data center
US11700304B2 (en) * 2020-11-19 2023-07-11 Deixis, PBC Confirmation of service levels via distributed ledgers
LU500282B1 (en) * 2021-06-16 2022-12-16 Microsoft Technology Licensing Llc Dynamic performance monitoring virtualization support
US11733729B2 (en) * 2021-09-27 2023-08-22 International Business Machines Corporation Centralized imposing of multi-cloud clock speeds
CN114760221B (zh) * 2022-03-31 2024-02-23 深信服科技股份有限公司 一种业务监控方法、系统和存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2001502A (en) 1934-05-05 1935-05-14 Spencer White & Prentis Inc Excavating, hoisting, dumping, and conveying apparatus
EP1381977A1 (en) * 2001-04-26 2004-01-21 Creekpath Systems, Inc. A system for global and local data resource management for service guarantees
US7877435B2 (en) 2002-06-20 2011-01-25 International Business Machines Corporation Method and system for transaction pipeline decomposition
JP3896111B2 (ja) * 2003-12-15 2007-03-22 株式会社日立製作所 リソース割り当てシステム、方法及びプログラム
JP3916652B2 (ja) 2006-10-20 2007-05-16 株式会社日立製作所 リソース割り当てシステム、方法及びプログラム
US7991881B2 (en) * 2008-02-29 2011-08-02 Microsoft Corporation Monitoring network performance to identify sources of network performance degradation
US8190930B2 (en) 2009-03-30 2012-05-29 Intel Corporation Methods and apparatuses for controlling thread contention
US10554505B2 (en) 2012-09-28 2020-02-04 Intel Corporation Managing data center resources to achieve a quality of service
US9294557B2 (en) * 2013-04-19 2016-03-22 International Business Machines Corporation Hardware level generated interrupts indicating load balancing status for a node in a virtualized computing environment
US20150263906A1 (en) * 2014-03-14 2015-09-17 Avni Networks Inc. Method and apparatus for ensuring application and network service performance in an automated manner

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101889657B1 (ko) * 2017-04-27 2018-08-20 서울대학교산학협력단 빅데이터 워크로드 처리를 위한 메모리 서브시스템 자원 관리 방법
KR102025426B1 (ko) * 2018-05-11 2019-09-25 한국전자통신연구원 Sdn 기반의 통신 노드에서의 트래픽 과적에 따른 서비스 품질 저하를 해소하기 위한 대역폭 제어 방법 및 장치

Also Published As

Publication number Publication date
EP3038291A1 (en) 2016-06-29
US20160182345A1 (en) 2016-06-23
KR101782345B1 (ko) 2017-09-27
EP3038291B1 (en) 2019-10-02
CN105743962A (zh) 2016-07-06
JP2016119064A (ja) 2016-06-30
JP6278320B2 (ja) 2018-02-14
US9769050B2 (en) 2017-09-19

Similar Documents

Publication Publication Date Title
KR101782345B1 (ko) 엔드-투-엔드 데이터센터 성능 제어
US11165631B1 (en) Identifying a root cause of alerts within virtualized computing environment monitoring system
US11068314B2 (en) Micro-level monitoring, visibility and control of shared resources internal to a processor of a host machine for a virtual environment
US11888714B2 (en) Policy controller for distributed virtualization infrastructure element monitoring
US20200167258A1 (en) Resource allocation based on applicable service level agreement
EP3624400B1 (en) Technologies for deploying virtual machines in a virtual network function infrastructure
Javadi et al. Scavenger: A black-box batch workload resource manager for improving utilization in cloud environments
US10419321B2 (en) Managing resource consumption for distributed services
KR102034532B1 (ko) 스펙트럼 리소스들의 제공 및 분배를 위한 시스템 및 방법
CN107924341B (zh) 基于平台遥测数据的实时的本地和全局数据中心网络优化
US9882832B2 (en) Fine-grained quality of service in datacenters through end-host control of traffic flow
US10979491B2 (en) Determining load state of remote systems using delay and packet loss rate
US20170155560A1 (en) Management systems for managing resources of servers and management methods thereof
WO2017010922A1 (en) Allocation of cloud computing resources
US20170041201A1 (en) Network Function Virtualization Management System
KR20170120335A (ko) 네트워크 기능 가상화 시스템 상의 컴퓨팅 리소스 관리 장치 및 방법
KR20170059465A (ko) 애플리케이션들에 대한 네트워크 분류
US10568112B1 (en) Packet processing in a software defined datacenter based on priorities of virtual end points
Blenk et al. Technical Report on DFG Project SDN-App: SDN-enabled Application-aware Network Control Architectures and their Performance Assessment
Blenk et al. SDN-enabled Application-aware Network Control Architectures and their Performance Assessment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant