[go: up one dir, main page]

KR20060120406A - 서버 최적화 방법과 시스템 및 컴퓨터 판독 가능한 저장매체 - Google Patents

서버 최적화 방법과 시스템 및 컴퓨터 판독 가능한 저장매체 Download PDF

Info

Publication number
KR20060120406A
KR20060120406A KR1020060036065A KR20060036065A KR20060120406A KR 20060120406 A KR20060120406 A KR 20060120406A KR 1020060036065 A KR1020060036065 A KR 1020060036065A KR 20060036065 A KR20060036065 A KR 20060036065A KR 20060120406 A KR20060120406 A KR 20060120406A
Authority
KR
South Korea
Prior art keywords
server
source
target
servers
source server
Prior art date
Application number
KR1020060036065A
Other languages
English (en)
Other versions
KR100834340B1 (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 KR20060120406A publication Critical patent/KR20060120406A/ko
Application granted granted Critical
Publication of KR100834340B1 publication Critical patent/KR100834340B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • 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
    • 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/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 각각 리소스를 갖는 복수의 타겟 서버들 사이의 복수의 소스 서버의 분배를 최적화하는 방법에 관한 것으로, 소스 서버 각각은 하나의 기능적 특성을 가지며, 소스 서버 중 둘 이상이 클러스터에 속하고,
(a) 타겟 서버의 이용 가능한 리소스를 결정하는 단계와,
(b) 소스 서버의 그 기능적 특성 또는 각 기능적 특성에 대한 타겟 서버로의 관계와 관련되는 사전 결정되는 제한을 결정하는 단계와,
(c) 소스 서버를 수용하고 사전 결정되는 제한이 소스 서버와 타겟 서버 사이에 만족되도록 충분한 리소스를 갖는 타겟 서버에 기초하여 소스 서버와 타겟 서버 사이의 관계를 결정하는 단계와,
(d) 단계 (a) 내지 (c)를 반복하여 각 소스 서버를 적합한 타겟 서버에 연관시키는 단계를 포함한다.

Description

서버 최적화 방법과 시스템 및 컴퓨터 판독 가능한 저장 매체{SYSTEM AND METHOD OF DETERMINING AN OPTIMAL DISTRIBUTION OF SOURCE SERVERS IN TARGET SERVERS}
도 1은 4개의 소스 서버가 하나의 타겟 서버에서 가상화되는 서버 가상화의 일례를 도시하는 블록도이다.
도 2는 12개의 소스 서버가 4개의 타겟 서버에서 가상화되는 서버 가상화의 일례를 도시하는 블록도이다.
도 3은 제 1 실시예에 의해 제공되는 타겟 서버의 소스 서버의 최적 분배를 결정하는 방법으로부터의 입력 데이터 및 출력 데이터를 도시하는 블록도이다.
도 4는 제 1 실시예에 의해 제공되는 타겟 서버의 소스 서버의 최적 분배를 결정하는 방법을 흐름도이다.
도 5는 도 4에 도시된 방법에 의해 발생되는 소스 서버의 분배의 일례의 블록도이다.
도면의 주요 부분에 대한 부호의 설명
12: 운영 시스템 14: 가상화 계층
10: 타겟 서버 16: 소스 서버 목록
본 발명은 서버 가상화(server virtualisation) 동안에 타겟 서버의 소스 서버의 최적 분배를 결정하는 시스템 및 방법에 관한 것이다.
본 발명의 분야의 관점에서, 서버 가상화 및 타겟 서버의 소스 서버 분배의 문제점을 간략히 소개할 필요가 있다.
요구 즉시 연산(on-demand computing)은 연산 리소스를 한 조직과 그 개별 이용자에게 필요에 따라(as-needed basis) 할당하는 기업-수준 연산 모델이다. 이 프로세스는 변동하는 연산 요구를 기업이 효율적으로 만족시킬 수 있게 한다. 예를 들어, 한 이용자 그룹이 많은 대역폭을 요구하는 애플리케이션으로 작업하는 경우, 요구 즉시 연산 모델은 추가 대역폭을 이 그룹에 세부적으로 할당하고 대역폭을 그 시점에 필요로 하지 않는 이용자로부터 전환시킬 수 있다. 요구 즉시 연산 모델을 구현하는 데 이용되는 주요 툴 중의 하나는 후술할 바와 같은 서버 가상화이다.
현재의 운영 시스템은 본래부터 멀티태스킹이지만, 그럼에도 불구하고, 임의의 주어진 운영 시스템 하에서 실행되는 애플리케이션들간의 어떤 상호 작용이 항상 존재하는데, 왜냐면 운영 시스템은 그들간의 리소스를 할당해야 하기 때문이다. 그 결과, 결합 또는 과부하가 걸린 애플리케이션이 동일한 운영 시스템 하에서 실행되는 다른 애플리케이션을 현저히 퇴화시키거나 심지어 동작 불가능하게 할 수 있다. 이 문제에 대한 이상적인 해결책은 각 애플리케이션에 개별 서버를 전용시키는 것인데, 이는 애플리케이션들간의 상호 작용의 최소화를 보장하기 때문이다. 또한, 이 배치는 관리자로 하여금 주어진 네트워크상에서 복수의 운영 시스템을 실행시킬 수 있게 하고, 운영 시스템 각각은 개발, 배치 및 제어와 같은 상이한 작업을 위해 최적의 성능을 제공하도록 구성된다. 불행히도, 대부분의 경우에 이 해결책은 현실화하기에 너무 고비용이 든다.
이 문제점을 해결하는 하나의 수단은, 보다 적은 수의 타겟 서버상에서 상이한 운영 시스템을 실행하는 (소스 서버로 알려진) 복수의 서버를 가상화하는 것이다. 그러면, 가상화된 서버는 이용자 요구에 따라 쉽게 구성 및 재구성될 수 있다. 상이한 타겟 서버는 상이한 이용 가능한 리소스를 가지며 각 소스 서버는 상이한 리소스 요구조건을 가질 것이므로, 소스 서버가 타겟 서버 사이에서 효율적으로 분배되는 방식이 네트워크의 필요를 서비스하는 데 요구되는 타겟 서버의 수를 결정한다.
그러나, 타겟 서버의 소스 서버 분배의 연구 논문은 네트워크에 대한 상세한 연구에 기초해야 하며 많은 매개변수를 고려해야 한다. 지금까지, 상호 연산을 수행하여 타겟 서버내의 소스 서버의 최적 분배를 결정하는 것이 필요했다. 그러나, 이 종류의 최적화 문제의 연산 시간은 전형적으로 고려되는 파라미터의 수에 따라 지수적으로(exponentially) 증가하므로, 서버 가상화 동안에 전형적으로 고려되는 많은 수의 파라미터는 극단적으로 지루하고 많은 시간이 소비되는 상호 연산 방안을 구성한다. 그 결과, 이러한 상호 연산 방안은 전형적으로 비교적 적은 수(즉, 25개보다 적은)의 소스 서버에 대해서만 수행된다.
이와 유사하게, 단일 소스 서버, 타겟 서버 또는 가상화 소프트웨어 파라미터가 변경되면, 새로운 파라미터 세트에 대해 상호 최적화의 전체 프로세스를 반복해야 한다. 따라서, 소스 서버의 분배에 관한 개별 파라미터의 효과를 조사하는 실험을 수행하는 것이 쉽지 않다.
최적화 문제를 간단하게 하는 한가지 방식은, 그 내부에 고려되는 파라미터의 수를 감소시키는 것이다. 예를 들어, 소스 서버와 타겟 서버의 CPU 및 메모리 파라미터에 관해서만 초점을 맞추는 것이 가능하다. 그러나, 이 간략화는, 감소된 파라미터 세트로 결정되는 타겟 서버의 수가 더 많은 전체 파라미터 세트로 결정되는 것보다 전형적으로 작은 한, 덜 정확하거나 신뢰할 수 없는 해결책을 유도한다. 예를 들어, 고려되는 유일한 파라미터가 소스 서버의 CPU 속도이면, x개의 타겟 서버가 소스 서버의 그룹을 수용하는 데 충분할 것이다. 그러나, 소스 서버의 메모리 요구조건도 고려되어야 하는 경우에는, (타겟 서버의 메모리 리소스에 따라)소스 서버를 수용하기 위해 x개 이상의 타겟 서버를 이용할 필요가 있다. 어떤 경우에도, x개의 타겟 서버보다 작은 소스 서버를 수용하는 것은 가능하지 않을 것이다.
또한, 감소된 파라미터 세트로 얻어지는 결과가 신뢰할 수 없기 때문에, 네트워크 동작이 더 잘 이해되는 경우에 추후에 소스 서버의 분배를 변경할 필요가 종종 있다.
본 발명에 따르면, 첨부된 독립항에서 설명하는 바와 같은 타겟 서버에 소스 서버 최적 분배를 결정하는 시스템 및 방법을 제공한다.
본 발명의 다른 양태가 첨부된 종속항에서 설명하는 다른 실시예에 의해 제공된다.
본 발명은 타겟 서버의 소스 서버의 최적 분배를 결정하는 자동 메커니즘을 제공하여, 소스 서버를 가상화하기 위해 요구되는 타겟 서버의 수를 최소화하고, 소스 서버의 하드웨어 요구조건 및 기능적 요구 조건을 고려한다.
특히, 본 발명의 시스템 및 방법은 65,000개에 이르는 소스 서버가 가상화되어 1,000개에 이르는 타겟 서버들 사이에 분배될 수 있게 한다. 또한, 1.5GHz 프로세서 및 1024 GB RAM을 갖는 P4 이동 컴퓨터상에서 수행된 실험에서는, 본 발명의 시스템 및 방법이 Excel 2002 SP-1 스프레드시트에서 구현되면 4초 동안에는 500개의 서버를 가상화하고 20초 동안에는 2,000개의 서버를 가상화할 수 있음을 보여 주었다.
종래 상호 연산 기술과 비교하여 본 발명의 장점 중 가장 중요한 점은, 본 발명은 복수의 파라미터를 수용할 수 있다는 점이다. 이는, 소스 서버 분배 문제에 대한 실로 최적 해결책이 얻어져서, 요구되는 타겟 서버의 연산되는 수가 감소되는 것을 보장한다. 또한, 본 발명의 시스템 및 방법에 의해 제공되는 해결책은 차후에 요구되므로, 관련 네트워크/소스 서버/타겟 서버 파라미터 모두가 고려되었다.
본 발명은 자동 최적화 메커니즘을 제공하므로, ((예를 들어, CPU 전력, 메모리 등을 증가 또는 감소시켜서) 타겟 서버 특성을 변경하여) 실험이 최적의 통합 플랫폼을 결정하도록 쉽게 수행되고, 최종 서버 분배 해결책에 관한 각 파라미터의 효과를 연구할 수 있게 한다.
예시를 위해 첨부된 도면을 참조할 것이다.
간략히 하기 위해, 타겟 서버의 소스 서버의 최적 분배를 결정하는 방법은 이하 서버 최적화 방법으로 지칭할 것이다. 유사하게, 서버의 하드웨어 리소스 요구조건, 이용 및 기능성 특성은 이하 서버의 동작 파라미터로서 지칭할 것이다.
도 1을 참조하면, 서버 최적화 방법(5)은 복수의 소스 서버(SS1, SS2, SS3, SS4)를, 그 프로세서로 하여금 다수의 독립적 운영 시스템들 사이에서 전환할 수 있게 하는 소프트웨어를 실행하는 타겟 서버(TS)로 교체한다. 이들 다수의 독립적 운영 시스템은 가상 서버(VS1, VS2, VS3, VS4)로 알려진다. 가상 서버의 각각은 독립적 서버로서 애플리케이션 세트를 실행하는 자신 고유의 운영 시스템으로 동작할 수 있다. 결과적으로, 서버 가상화의 프로세스는 각 소스 서버를, 소프트웨어에서 소스 서버의 동작 및 특성을 모방하는 가상 서버로 효율적으로 매핑한다(maps). 분명히 하기 위해, 서버 가상화 프로세스에서 사용되는 맵핑 프로세스는, 이하 소스 서버와 타겟 서버 사이의 관계를 이루는 것으로 참조될 것이다.
보다 상세히는, 서버 가상화 시스템의 소프트웨어 아키텍처는 타겟 서버(10)로 직접 설치되는 단일 운영 시스템(12)을 포함할 수 있다. 전술한 운영 시스템(12), 가상화 계층(14)은 가상 서버의 리다이렉션(redirection) 및 이뮬레이션(emulation) 프로세스를 처리한다. 이들 기능을 수행하기 위해, 가상화 계층(14)은 리소스(예: CPU, 메모리 및 디스크 공간)를 요구한다. 운영 시스템(12)과 가상화 계층(14)의 조합은 호스트로 지칭한다. 호스트는 사전 정의되는 최대 제한(max_VS)에 이르는 임의의 수의 독립적 가상 서버를 생성할 수 있다.
참고로, 어떤 가상화 계층(예: Vmware ESX)은 하위 운영 시스템을 요구하지 않는데, 가상화 시스템 자체가 타겟 서버 하드웨어상으로 직접 설치되기 때문이다. 이 경우, 호스트는 가상화 계층만으로 구성된다.
사용에 있어서, 운영 시스템과 가상 서버(VSi)의 각각에서 실행되는 애플리케이션은, 리소스(예: 메모리, 하드드라이브 및 네트워크 포트)에 대한 직접적인 제어를 갖지 않는다. 그 대신, 가상화 계층(14)이 가상 서버 애플리케이션으로부터의 하드웨어 요청을 인터셉트하여 적절히 처리한다.
도 2를 참조하여 전술한 원리를 일반화하면, 복수의 소스 서버(SS1 내지 SS12)를 포함하는 네트워크는, 복수의 타겟 서버(TS1, TS2, TS3 및 TS4)상에서 실행되는 복수의 가상 서버(VS1 내지 VS12)로 맵핑될 수 있다. 예를 들어, 소스 서버(SS1 내지 SS4)는 타겟 서버(TS1)상에서 실행되는 가상 서버(VS1 내지 VS4)로 맵핑될 수 있다. 이와 유사하게, 소스 서버(SS5 및 SS6)는 타겟 서버(TS2)상에서 실행되는 가상 서버(VS5 및 VS6)로 맵핑될 수 있고, 소스 서버(SS7 내지 SS9)는 타겟 서버(TS3)상에서 실행되는 가상 서버(VS7 내지 VS9)로 맵핑될 수 있다. 마지막으로, 소스 서버(SS10 내지 SS12)는 타겟 서버(TS4)상에서 실행되는 가상 서버(VS10 및 VS12)로 맵핑될 수 있다.
전술한 시나리오가 일례로서 단독으로 사용된다는 것을 인식할 것이다. 특히, 소스 서버는 엄격한 번호대로 타겟 서버에서 가상화될 필요가 없다는 것을 인식할 것이다. 따라서, 한 네트워크를 서비스하는 데 필요한 요구되는 타겟 서버의 수를 그들간의 소스 서버 분배를 최적화함으로써 최소화할 수 있다.
도 3을 참조하면, 전술한 관점에서, 서버 최적화 방법(5)은 다음 입력 데이터를 사용한다.
- 소스 서버 목록 및 이용 데이터(16)
- 타겟 서버 구성 및 용량(18)
- 가상화 소프트웨어 계층 제한 및 요구조건(20)
- 가상화 파라미터(22)
소스 서버 목록(16)은 하드웨어 리소스(CPU 속도, 이용 가능한 메모리, 디스크 공간, 디스크 I/O 등) 및 이들 리소스의 사용을 고려한다. 소스 서버 목록(16)은 소스 서버 각각의 기능적 특성도 고려한다. 서버 최적화 방법에 의해 고려되는 기능적 특성은 다음을 포함한다.
- 소스 서버가 접속되는 네트워크 존(예: DMZ 및 백엔드(back-end))
- 소스 서버의 이용 가능성 요구 조건(예:24x7 또는 8x5 이용 가능성)
- 소스 서버의 클러스터링(clustering)
- 소스 서버의 환경
- 소스 서버의 위치
전술한 기능적 특성이 이용되어 서버 최적화 방법(5)에 의해 제공되는 소스 서버의 가능한 분배에 대한 제한을 이룰 수 있다. 예를 들어, 소스 서버가 접속되는 네트워크 존이 소스 서버 최적화 방법(5)에 포함되는데, 왜냐면 상이한 네트워크 존에 접속되는 소스 서버가 동일한 서버로 가상화되는 것은 보안상으로 바람직하지 않을 수 있게 때문이다. 이와 유사하게, 개별 소스 서버의 이용 가능성 요구 조건이 고려되는데, 왜냐면 상이한 이용 가능성 요구 조건을 갖는 소스 서버를 상이한 타겟 서버로 가상화하여 유지 관리를 촉진하는 것이 바람직할 수 있기 때문이다.
소스 서버의 클러스터링이 소스 서버 최적화 방법에 포함되는데, 높은 이용 가능성 클러스터의 서버가 상이한 타겟 서버로 가상화되어 그들의 이용 가능성으 보존하는 것이 바람직하기 때문이다. 이와 유사하게, 소스 서버의 환경이 고려되는데, 상이한 환경(예: 제조, 개발, 테스팅 등)에 속하는 소스 서버가 동일한 타겟 서버로 가상화되는 것이 바람직하지 않을 수 있기 때문이다. 마지막으로, 소스 서버의 위치가 고려되는데, 상이한 위치의 소스 서버가 동일한 위치의 타겟 서버에서 가상화되는 것이 바람직하지 않을 수 있기 때문이다.
간략히 하기 위해, 사전 결정되는 기간이 클러스터링 규칙, 위치 규칙 및 가상화 제한을 포함하는 상이한 제한의 범위를 지칭하는 데 이용될 것이다. 전술한 입력 데이터는 서버 최적화 방법(5)에 의해 프로세싱되어 다음 출력 데이터를 발생시킨다.
- 요구되는 타겟 서버의 수(24)
- 각 타겟 서버상에서 가상화되는 소스 서버 리스트(26)
- 소스 서버의 당시 분배에 의해 소비되는 각 타겟 서버의 용량
도 4를 참조하면, 서버 최적화 방법의 제 1 단계에서 제 1 소스 서버의 동작 파라미터는 소스 서버로부터 검색된다(30). 제 1 소스 서버의 동작 파라미터는 제 1 타겟 서버의 동작 파라미터에 대해 비교되어 제 1 소스 서버가 제 1 타겟 서버(32)에서 가상화될 수 있는지를 판단한다.
특히, 제 1 타겟 서버의 이용 가능한 하드웨어 리소스가 제 1 소스 서버의 리소스 요구 조건에 의해 초과되지 않으며, 가상화 계층 제한이 충족되고, 서버 클러스터링 규칙이 깨어지지 않으면, 제 1 소스 서버가 제 1 타겟 서버에 할당되고, 제 1 타겟 서버의 동작 파라미터가 조절되어 제 1 소스 서버(34)가 차지하는 용량을 반영한다.
그러나, 제 1 소스 서버의 리소스 요구 조건이 제 1 타겟 서버의 이용 가능한 하드웨어 리소스를 초과하면(즉, 제 1 타겟 서버에서 제 1 소스 서버를 가상화할 수 없으면), 제 1 소스 서버의 동작 파라미터는 제 2 타겟 서버의 소스 서버에 비교된다.
제 2 타겟 서버의 이용 가능한 하드에어 리소스가 제 1 소스 서버의 리소스 요구 조건에 의해 초과되지 않고, 가상화 계층 제한이 충족되며, 서버 클러스터링 규칙이 깨어지지 않으면, 제 1 소스 서버는 제 2 타겟 서버에 할당되고 제 2 타겟 서버의 동작 파라미터가 조절되어 제 1 소스 서버가 차지하는 용량을 반영한다. 그러나, 이전과 같이, 제 1 소스 서버의 리소스 요구 조건이 제 2 타겟 서버의 이용 가능한 하드웨어 리소스를 초과하면, 제 1 소스 서버의 동작 파라미터는 제 3 타겟 서버 및 나머지 타겟 서버의 소스 서버와 차례로 비교된다(38). 소스 서버가 타겟 서버에 수용될 수 없으면, 이벤트는 에러로 보고된다.
일단 제 1 소스 서버가 타겟 서버상에서 가상화되면, 이전과 같이 다음 소스 서버의 동작 파라미터가 검색되어 제 1 타겟 서버의 업데이트된 동작 파라미터에 대해 비교된다.
제 1 타겟 서버의 업데이트된 이용 가능한 하드웨어 리소스가 제 2 소스 서버의 리소스 요구 조건에 의해 초과되지 않고, 가상화 계층 제한이 만족되며, 서버 클러스터링 규칙이 깨어지지 않으면, 제 2 소스 서버는 제 1 타겟 서버에 할당되고 제 1 타겟 서버의 동작 파라미터가 조절되어 제 2 소스 서버(34)가 차지하는 용량을 반영한다.
그러나, 제 2 소스 서버의 리소스 요구 조건이 제 1 타겟 서버의 이용 가능한 하드웨어 리소스를 초과하면(즉, 제 1 타겟 서버에서 제 2 소스 서버를 가상화할 수 없으면), 제 2 소스 서버의 동작 파라미터는 제 2 타겟 서버(36) 및 나머지 타겟 서버의 소스 서버에 대해 차례로 비교되어 타겟 서버에 수용될 때까지 계속된 다.
전술한 프로세스는 모든 소스 서버가 타겟 서버상에서 가상화될 때까지 계속된다. 최적화 프로세스 동안에 소스 서버를 주어진 타겟 서버로 할당하려 할 때 겪게 되는 문제점에 관한 기록(a log)이 유지된다(38).
도 5는 12개의 소스 서버(SS1 내지 SS12)가 6개의 타겟 서버(TS1 내지 TS6)에서 가상화되는 일례에 대한 서버 최적화 방법으로부터 얻어지는 결과를 도시하고 있다. 타겟 서버 각각은 다음을 구비한다.
- 100개의 속도 유닛의 CPU 속도(예: MHz)
- 100개의 데이터 유닛의 메모리 용량(예: Mb)
- 100개의 트래픽 유닛의 디스크 I/O(예: Mbps)
- 100개의 트래픽 유닛의 네트워크 트래픽(예: Mbps)
소스 서버(SS1, SS2, SS4, SS6, 및 SS8-SS11)는 Window(상표) 운영 시스템을 채택하고, 서버(SS3, SS5, SS7 및 SS12)는 Linux(상표) 운영 시스템을 채택한다. 소스 서버(SS1, SS2, SS4, SS5, SS7, SS8 및 SS10-SS12)는 모두 24x7 이용 가능성 요구 조건을 갖는 반면, 나머지 소스 서버는 감소된 이용 가능성 요구 조건, 즉, 8x5 이용 가능성을 갖는다. 또한, 소스 서버(SS4 및 SS10)는 동일한 클러스터(Cl)에 속한다.
소스 서버(SS1)는 20개의 속도 유닛의 CPU 속도, 40개의 데이터 유닛의 메모 리 용량, 10개의 트래픽 유닛의 디스크 I/O 및 15개의 트래픽 유닛의 네트워크 트래픽을 갖는다. 소스 서버(SS2)는 25개의 속도 유닛의 CPU 속도, 15개의 데이터 유닛의 메모리 용량, 20개의 트래픽 유닛의 디스크 I/O 및 20개의 트래픽 유닛의 네트워크 트래픽을 갖는다. 소스 서버(SS3)는 20개의 속도 유닛의 CPU 속도, 20개의 데이터 유닛의 메모리 용량, 5개의 트래픽 유닛의 디스크 I/O 및 10개의 트래픽 유닛의 네트워크 트래픽을 갖는다.
소스 서버(SS4)는 40개의 속도 유닛의 CPU 속도, 8개의 데이터 유닛의 메모리 용량, 30개의 트래픽 유닛의 디스크 I/O 및 5개의 트래픽 유닛의 네트워크 트래픽을 갖는다. 소스 서버(SS5)는 10개의 속도 유닛의 CPU 속도, 30개의 데이터 유닛의 메모리 용량, 10개의 트래픽 유닛의 디스크 I/O 및 30개의 트래픽 유닛의 네트워크 트래픽을 갖는다. 소스 서버(SS6)는 5개의 속도 유닛의 CPU 속도, 20개의 데이터 유닛의 메모리 용량, 30개의 트래픽 유닛의 디스크 I/O 및 10개의 트래픽 유닛의 네트워크 트래픽을 갖는다.
소스 서버(SS7)는 50개의 속도 유닛의 CPU 속도, 10개의 데이터 유닛의 메모리 용량, 40개의 트래픽 유닛의 디스크 I/O 및 10개의 트래픽 유닛의 네트워크 트래픽을 갖는다. 소스 서버(SS8)는 20개의 속도 유닛의 CPU 속도, 40개의 데이터 유닛의 메모리 용량, 20개의 트래픽 유닛의 디스크 I/O 및 20개의 트래픽 유닛의 네트워크 트래픽을 갖는다. 소스 서버(SS9)는 25개의 속도 유닛의 CPU 속도, 25개의 데이터 유닛의 메모리 용량, 40개의 트래픽 유닛의 디스크 I/O 및 25개의 트래픽 유닛의 네트워크 트래픽을 갖는다.
소스 서버(SS10)는 30개의 속도 유닛의 CPU 속도, 50개의 데이터 유닛의 메모리 용량, 10개의 트래픽 유닛의 디스크 I/O 및 10개의 트래픽 유닛의 네트워크 트래픽을 갖는다. 소스 서버(SS11)는 60개의 속도 유닛의 CPU 속도, 15개의 데이터 유닛의 메모리 용량, 20개의 트래픽 유닛의 디스크 I/O 및 5개의 트래픽 유닛의 네트워크 트래픽을 갖는다. 소스 서버(SS12)는 35개의 속도 유닛의 CPU 속도, 10개의 데이터 유닛의 메모리 용량, 30개의 트래픽 유닛의 디스크 I/O 및 10개의 트래픽 유닛의 네트워크 트래픽을 갖는다.
서버 최적화 방법(5)은 동일한 이용 가능성 요구 조건을 갖는 소스 서버를 동일한 타겟 서버로 할당한다. 또한, 서버 최적화 방법은 동일한 운영 시스템을 채택하는 소스 서버를 동일한 타겟 서버로 할당한다. 이 예에서는, (각각 24x7 이용 가능성을 가지며 Windows(상표) 운영 시스템을 실행하는) 소스 서버(SS1, SS2, 및 SS4)가 타겟 서버(TS1)로 할당된다. 이와 유사하게, (각각 24x7 이용 가능성을 가지며 Linux(상표) 운영 시스템을 실행하는) 소스 서버(SS5, SS7 및 SS12)가 타겟 서버(TS3)로 할당된다. 마지막으로, (각각 8x5 이용 가능성을 가지며 Window(상표) 운영 시스템을 실행하는) 소스 서버(SS6 및 SS9)가 타겟 서버(TS4)로 할당되고, (각각 24x7 이용 가능성을 가지며 Window(상표) 운영 시스템을 실행하는) 소스 서 버(SS8 및 SS10)가 타겟 서버(TS5)로 할당된다.
또한, 전술한 바에 따르면, (동일한 클러스터(C1)의 구성원인) 소스 서버(SS4 및 SS10)가 상이한 타겟 서버, 즉, TS1 및 TS5에 각각 할당된다는 것을 유의하자. 나머지 소스 서버, 즉, SS3 및 SS11는 타겟 서버(TS2 및 TS6)에 각각 할당된다.
전술한 할당 시나리오는 예시를 위해서만 제공된 것이며, 특히, 서버 최적화 방법의 구현을 제한하는 것으로 해석되어서는 안된다는 것을 인식할 것이다. 또한, 더 정밀한 검색 알고리즘, 예를 들어, 유전적 알고리즘도 이 방법에서 채택될 수 있다는 것을 이해할 것이다. 마지막으로, 서버 최적화 방법은 이론상으로 제어 알고리즘으로 통합되어 동적 서버 할당 메커니즘을 제공할 수 있음을 이해할 것이다.
본 발명의 범위를 벗어나지 않고 전술한 바에 수정 및 변형이 이루어질 수 있다.
본 발명에 의하면, 복수의 파라미터를 수용할 수 있어서, 요구되는 타겟 서버의 연산되는 수가 감소되는 것을 보장하며, 자동 최적화 메커니즘을 제공하므로, ((예를 들어, CPU 전력, 메모리 등을 증가 또는 감소시켜서) 타겟 서버 특성을 변경하여) 실험이 최적의 통합 플랫폼을 결정하도록 쉽게 수행되고, 최종 서버 분배 해결책에 관한 각 파라미터의 효과를 연구할 수 있게 한다.

Claims (14)

  1. 각각 리소스를 갖는 복수의 타겟 서버(target servers) 사이에 복수의 소스 서버(source servers) 분배를 최적화하는 방법으로서,
    상기 소스 서버의 각각은 기능적 특성을 가지며,
    상기 소스 서버 중 2개 이상이 하나의 클러스터(cluster)에 속하고,
    (a) 상기 타겟 서버(32)의 이용 가능한 리소스를 결정하는 단계와,
    (b) 상기 소스 서버의 상기 또는 각 기능적 특성에 대해 타겟 서버에 대한 관계와 관련되는 사전 결정되는 제한을 결정하는 단계와,
    (c) 상기 소스 서버를 수용하고 상기 사전 결정되는 제한이 상기 소스 서버와 상기 타겟 서버 사이에 만족되도록 충분한 리소스를 갖는 상기 타겟 서버에 기초하여 상기 소스 서버와 상기 타겟 서버 사이의 관계를 결정하는 단계와,
    (d) 각 소스 서버를 적합한 타겟 서버에 연관시키기 위해 상기 (a) 내지 (c)단계를 반복하는 단계를 포함하는
    서버 최적화 방법.
  2. 제 1 항에 있어서,
    상기 사전 결정되는 제한을 결정하는 단계는,
    상기 소스 서버와 상기 타겟 서버 사이의 가상화 규칙 및 클러스터 규칙에 관한 사전 결정되는 제한을 결정하는 단계를 포함하는
    서버 최적화 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 소스 서버는 이용 가능성 요구조건을 가지며,
    상기 방법은, 상기 소스 서버의 상기 이용 가능성 요구조건을 상기 타겟 서버에 이미 할당된 소스 서버의 요구조건과 일치시키는 단계를 더 포함하는
    서버 최적화 방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 방법을 구현하면서 겪게 되는 에러의 기록을 관리하는 단계(38)를 더 포함하는
    서버 최적화 방법.
  5. 제 1 항 또는 제 2 항에 있어서,
    상기 소스 서버와 상기 타겟 서버 사이의 관계를 구성하는 단계를 더 포함하는
    서버 최적화 방법.
  6. 제 1 항 또는 제 2 항에 있어서,
    어느 소스 서버가 어느 타겟 서버로 분배될 지에 관한 기록을 관리하는 단계를 더 포함하는
    서버 최적화 방법.
  7. 복수의 타겟 서버 사이에 복수의 소스 서버 분배를 최적화하는 시스템으로서,
    제 1 항 또는 제 2 항에 기재된 방법의 각각의 단계를 수행하는 각각의 수단을 포함하는
    서버 최적화 시스템.
  8. 제 7 항에 있어서,
    상기 또는 각 소스 서버의 상기 기능적 특성은 그 소스 서버에 대한 하드웨어 리소스 요구조건을 포함하는
    서버 최적화 시스템.
  9. 제 7 항에 있어서,
    상기 또는 각 소스 서버의 상기 기능적 특성은 상기 또는 각 소스 서버에 대한 클러스터 구성원에 대한 세부 사항을 포함하는
    서버 최적화 시스템.
  10. 제 7 항에 있어서,
    상기 또는 각 소스 서버의 상기 기능적 특성은 상기 또는 각 소스 서버가 연관되는 네트워크 존의 세부 사항을 포함하는
    서버 최적화 시스템.
  11. 제 7 항에 있어서,
    상기 또는 각 소스 서버의 상기 기능적 특성은 상기 또는 각 소스 서버에 대한 환경의 세부 사항을 포함하는
    서버 최적화 시스템.
  12. 제 7 항에 있어서,
    상기 또는 각 소스 서버의 상기 기능적 특성은 상기 또는 각 소스 서버의 위치의 세부 사항을 포함하는
    서버 최적화 시스템.
  13. 제 7 항에 있어서,
    상기 시스템은,
    채택되는 타겟 서버의 수와, 그 내부의 소스 서버의 분배와, 상기 타겟 서버의 나머지 리소스를 보고하는 수단을 더 포함하는
    서버 최적화 시스템.
  14. 인스트럭션을 포함하는 프로그램을 가지며,
    상기 프로그램이 컴퓨터 시스템상에서 실행되면 제 1 항 또는 제 2 항에 기재된 방법의 각각의 단계를 수행하는
    컴퓨터 판독 가능한 저장 매체.
KR1020060036065A 2005-05-20 2006-04-21 서버 최적화 방법과 시스템 및 컴퓨터 판독 가능한 저장매체 KR100834340B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP05300391.9 2005-05-20
EP05300391 2005-05-20

Publications (2)

Publication Number Publication Date
KR20060120406A true KR20060120406A (ko) 2006-11-27
KR100834340B1 KR100834340B1 (ko) 2008-06-02

Family

ID=37425242

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060036065A KR100834340B1 (ko) 2005-05-20 2006-04-21 서버 최적화 방법과 시스템 및 컴퓨터 판독 가능한 저장매체

Country Status (4)

Country Link
US (1) US8347297B2 (ko)
KR (1) KR100834340B1 (ko)
CN (1) CN1866217A (ko)
TW (1) TW200712909A (ko)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6901582B1 (en) 1999-11-24 2005-05-31 Quest Software, Inc. Monitoring system for monitoring the performance of an application
US20070234337A1 (en) * 2006-03-31 2007-10-04 Prowess Consulting, Llc System and method for sanitizing a computer program
US9547485B2 (en) * 2006-03-31 2017-01-17 Prowess Consulting, Llc System and method for deploying a virtual machine
WO2007121571A1 (en) 2006-04-21 2007-11-01 Cirba Inc. Method and system for determining compatibility of computer systems
US8606894B1 (en) * 2006-04-27 2013-12-10 Hewlett-Packard Development Company, L.P. Server consolidation
US8255516B1 (en) 2006-04-28 2012-08-28 Hewlett-Packard Development Company, L.P. Performance-data based server consolidation
US7979245B1 (en) 2006-05-17 2011-07-12 Quest Software, Inc. Model-based systems and methods for monitoring computing resource performance
US8051162B2 (en) 2006-07-28 2011-11-01 Hewlett-Packard Development Company, L.P. Data assurance in server consolidation
US8671166B2 (en) * 2007-08-09 2014-03-11 Prowess Consulting, Llc Methods and systems for deploying hardware files to a computer
US8051111B2 (en) 2008-01-31 2011-11-01 Prowess Consulting, Llc Method and system for modularizing windows imaging format
US8175863B1 (en) * 2008-02-13 2012-05-08 Quest Software, Inc. Systems and methods for analyzing performance of virtual environments
US8930953B2 (en) * 2009-01-16 2015-01-06 International Business Machines Corporation Dynamic checking of hardware resources for virtual environments
US20100312805A1 (en) * 2009-05-08 2010-12-09 Noonan Iii Donal Charles System and method for capturing, managing, and distributing computer files
US9201754B2 (en) * 2011-01-19 2015-12-01 Red Hat, Inc. Recording application consumption details
US9483284B2 (en) 2011-02-25 2016-11-01 Red Hat, Inc. Version compatibility determination
US9215142B1 (en) 2011-04-20 2015-12-15 Dell Software Inc. Community analysis of computing performance
US8856303B2 (en) 2012-01-04 2014-10-07 International Business Machines Corporation Server virtualization
US9557879B1 (en) 2012-10-23 2017-01-31 Dell Software Inc. System for inferring dependencies among computing systems
US10333820B1 (en) 2012-10-23 2019-06-25 Quest Software Inc. System for inferring dependencies among computing systems
US9473572B2 (en) * 2013-10-14 2016-10-18 International Business Machines Corporation Selecting a target server for a workload with a lowest adjusted cost based on component values
US11005738B1 (en) 2014-04-09 2021-05-11 Quest Software Inc. System and method for end-to-end response-time analysis
US9479414B1 (en) 2014-05-30 2016-10-25 Dell Software Inc. System and method for analyzing computing performance
US9898315B1 (en) * 2014-11-24 2018-02-20 Amazon Technologies, Inc. Management of demand for virtual computing resources
US10291493B1 (en) 2014-12-05 2019-05-14 Quest Software Inc. System and method for determining relevant computer performance events
CA2969863A1 (en) 2014-12-09 2016-06-16 Cirba Ip Inc. System and method for routing computing workloads based on proximity
US11182713B2 (en) 2015-01-24 2021-11-23 Vmware, Inc. Methods and systems to optimize operating system license costs in a virtual data center
US9274758B1 (en) 2015-01-28 2016-03-01 Dell Software Inc. System and method for creating customized performance-monitoring applications
US9959148B2 (en) 2015-02-11 2018-05-01 Wipro Limited Method and device for estimating optimal resources for server virtualization
US9996577B1 (en) 2015-02-11 2018-06-12 Quest Software Inc. Systems and methods for graphically filtering code call trees
US10187260B1 (en) 2015-05-29 2019-01-22 Quest Software Inc. Systems and methods for multilayer monitoring of network function virtualization architectures
US10200252B1 (en) 2015-09-18 2019-02-05 Quest Software Inc. Systems and methods for integrated modeling of monitored virtual desktop infrastructure systems
CN105635323B (zh) 2016-03-14 2018-05-22 北京百度网讯科技有限公司 数据传输控制方法和装置
US10250456B2 (en) * 2016-05-17 2019-04-02 Microsoft Technology Licensing, Llc Operational management in cloud computing systems
US10230601B1 (en) 2016-07-05 2019-03-12 Quest Software Inc. Systems and methods for integrated modeling and performance measurements of monitored virtual desktop infrastructure systems
US10802872B2 (en) * 2018-09-12 2020-10-13 At&T Intellectual Property I, L.P. Task delegation and cooperation for automated assistants

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2839201B2 (ja) 1990-07-30 1998-12-16 株式会社日立製作所 仮想計算機システム
US6470386B1 (en) * 1997-09-26 2002-10-22 Worldcom, Inc. Integrated proxy interface for web based telecommunications management tools
JPH11110324A (ja) * 1997-10-07 1999-04-23 Hitachi Ltd 代理サーバ選択装置および代理サーバ
US6223202B1 (en) * 1998-06-05 2001-04-24 International Business Machines Corp. Virtual machine pooling
US6311213B2 (en) * 1998-10-27 2001-10-30 International Business Machines Corporation System and method for server-to-server data storage in a network environment
US6453392B1 (en) 1998-11-10 2002-09-17 International Business Machines Corporation Method of and apparatus for sharing dedicated devices between virtual machine guests
US6970913B1 (en) * 1999-07-02 2005-11-29 Cisco Technology, Inc. Load balancing using distributed forwarding agents with application based feedback for different virtual machines
US6985937B1 (en) * 2000-05-11 2006-01-10 Ensim Corporation Dynamically modifying the resources of a virtual server
US6877158B1 (en) * 2000-06-08 2005-04-05 International Business Machines Corporation Logical partitioning via hypervisor mediated address translation
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US6880002B2 (en) * 2001-09-05 2005-04-12 Surgient, Inc. Virtualized logical server cloud providing non-deterministic allocation of logical attributes of logical servers to physical resources
US7054934B2 (en) * 2001-10-26 2006-05-30 Hewlett-Packard Development Company, L.P. Tailorable optimization using model descriptions of services and servers in a computing environment
US7577722B1 (en) * 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
JP4119239B2 (ja) * 2002-12-20 2008-07-16 株式会社日立製作所 計算機資源割当方法、それを実行するための資源管理サーバおよび計算機システム
US7134125B2 (en) * 2003-02-07 2006-11-07 Intel Corporation Method for firmware to provide seamless regulation of system resources and extend additional configuration methods for system resource management
US7203944B1 (en) * 2003-07-09 2007-04-10 Veritas Operating Corporation Migrating virtual machines among computer systems to balance load caused by virtual machines
US20050060590A1 (en) * 2003-09-16 2005-03-17 International Business Machines Corporation Power-aware workload balancing usig virtual machines
US8856793B2 (en) * 2004-05-11 2014-10-07 International Business Machines Corporation System, method and program for scheduling computer program jobs
US9329905B2 (en) * 2004-10-15 2016-05-03 Emc Corporation Method and apparatus for configuring, monitoring and/or managing resource groups including a virtual machine
US7730486B2 (en) * 2005-02-28 2010-06-01 Hewlett-Packard Development Company, L.P. System and method for migrating virtual machines on cluster systems

Also Published As

Publication number Publication date
US20070226341A1 (en) 2007-09-27
CN1866217A (zh) 2006-11-22
KR100834340B1 (ko) 2008-06-02
TW200712909A (en) 2007-04-01
US8347297B2 (en) 2013-01-01

Similar Documents

Publication Publication Date Title
KR100834340B1 (ko) 서버 최적화 방법과 시스템 및 컴퓨터 판독 가능한 저장매체
US10891162B2 (en) Methods and apparatus to improve external resource allocation for hyper-converged infrastructures based on costs analysis
US10176020B2 (en) Dynamic management of computing platform resources
US10409628B2 (en) Managing virtual machine instances utilizing an offload device
US10768972B2 (en) Managing virtual machine instances utilizing a virtual offload device
US8104033B2 (en) Managing virtual machines based on business priorty
US8301746B2 (en) Method and system for abstracting non-functional requirements based deployment of virtual machines
EP1089173B1 (en) Dynamic adjustment of the number of logical processors assigned to a logical partition
US9471258B2 (en) Performance isolation for storage clouds
US7778275B2 (en) Method for dynamically allocating network adapters to communication channels for a multi-partition computer system
KR20140022922A (ko) 네트워크 분할을 통한 네이티브 클라우드 컴퓨팅
JP2006048680A (ja) 複数のインスタンスアプリケーションに対し負荷分散装置を動作させるシステムおよび方法
US10223170B2 (en) Dynamic management of computing platform resources
US10666572B2 (en) Dynamic management of computing platform resources
CN115280285B (zh) 由独立操作的多个调度器在公共资源集上调度工作负载
CN112424765A (zh) 用于用户定义的函数的容器框架
US11307889B2 (en) Schedule virtual machines
KR20170094899A (ko) 컴퓨팅 리소스 관리 시스템 및 방법
US11831552B1 (en) LCS resource device access control and management system

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20060421

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20070820

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20080311

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20080527

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20080528

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20110401

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20110401

Start annual number: 4

End annual number: 4

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee