KR100583511B1 - 데드 로직 파티션의 자원을 동적으로 할당하는 장치 및 컴퓨터로 구현되는 방법와 컴퓨터 판독가능 기록 매체 - Google Patents
데드 로직 파티션의 자원을 동적으로 할당하는 장치 및 컴퓨터로 구현되는 방법와 컴퓨터 판독가능 기록 매체 Download PDFInfo
- Publication number
- KR100583511B1 KR100583511B1 KR1020030093274A KR20030093274A KR100583511B1 KR 100583511 B1 KR100583511 B1 KR 100583511B1 KR 1020030093274 A KR1020030093274 A KR 1020030093274A KR 20030093274 A KR20030093274 A KR 20030093274A KR 100583511 B1 KR100583511 B1 KR 100583511B1
- Authority
- KR
- South Korea
- Prior art keywords
- partition
- logic
- dead
- resources
- partitions
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
- Memory System (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
동적 자원 할당 장치 및 방법에서는, 로직 파티션의 데드(dead) 시점을 검출하고, 데드 로직 파티션이 셧다운된 이후에 데드(dead) 로직 파티션의 공유 자원을 라이브(live) 로직 파티션에 할당한다. 이로써 데드 로직 파티션의 공유 자원이, 가능하다면 아직 살아있는 하나 이상의 로직 파티션으로 자원을 이동시킴으로써 사용될 수 있게 된다. 이런식으로, 공유 자원은 데드 로직 파티션에 의해 소유되고 있다는 이유만으로 버려지는 일 없이 최대 가능 범위까지 사용된다.
Description
도 1은 바람직한 실시예에 따른 로직 파티셔닝 및 동적 자원 할당을 지원하는 컴퓨터 장치의 블록도,
도 2는 두개의 로직 파티션들 사이의 전체 프로세싱의 할당을 도시하는 블록도,
도 3은 두개의 로직 파티션 사이의 전체 메모리의 할당을 도시하는 블록도,
도 4는 데드 로직 파티션을 처리하는 종래의 기술의 방법을 나타내는 흐름도,
도 5는 데드 로직 파티션이 셧다운될 때 데드 로직 파티션이 소유한 프로세싱 파워의 50%가 어떻게 버려지는지를 나타내는 블록도,
도 6은 데드 로직 파티션이 셧다운될 때 데드 로직 파티션이 소유한 메모리의 67%가 어떻게 버려지는지를 나타내는 블록도,
도 7은 데드 로직 파티션을 처리하는 바람직한 실시예에 따른 방법의 흐름도,
도 8은 도 2의 파티션 2에 의해 소유되는 프로세싱 파워의 50%가 파티션 2이 셧다운된 이후에 파티션 1에 재할당되는 방법을 나타내는 블록도,
도 9는 도 3의 파티션 2에 의해 소유되는 메모리의 67%가 파티션 2이 셧다운된 이후에 파티션 1에 재할당되는 방법을 나타내는 블록도.
본 발명은 일반적으로 데이터 프로세싱에 관한 것이며, 더 상세하게는 컴퓨터 시스템의 공유 자원의 할당에 관한 것이다.
초창기의 컴퓨터 이래로, 컴퓨터 시스템은, 많은 다양한 세팅이 설치될 수 있는 매우 복잡한 디바이스로 발전되었다. 컴퓨터 시스템은 전형적으로 하드웨어(예컨대, 반도체, 회로 기판 등)와 소프트웨어(예컨대, 컴퓨터 프로그램)의 조합을 포함한다. 반도체 공정 및 컴퓨터 아키텍쳐의 발전으로 인해서 컴퓨터 하드웨어의 성능이 더 향상됨에 따라, 더 복잡한 컴퓨터 소프트웨어가 개발되어서 더 높은 하드웨어의 성능의 이점을 취하고, 그 결과 오늘날의 시스템은 몇년 전보다 더 강력하게 되었다.
특정 컴퓨터 시스템에서 하드웨어와 소프트웨어의 조합은 컴퓨팅 환경을 정의한다. 서로 다른 하드웨어 플랫폼과 서로 다른 운영 체제는 서로 다른 컴퓨팅 환경을 제공한다. 최근에, 기술자들은 서로 다른 컴퓨팅 환경으로 컴퓨터 시스템 자원을 로직 파티셔닝함으로써 동일한 물리적 컴퓨터 시스템에 서로 다른 컴퓨팅 환경을 제공할 수 있다는 것을 알았다. IBM에서 개발한 iSeries 컴퓨터 시스템은 로직 파티셔닝을 지원하는 컴퓨터 시스템의 예이다. iSeries 컴퓨터 시스템에서 로직 파티셔닝이 요구되면, 서로 다른 컴퓨팅 환경을 동일한 플랫폼에서 정의하는 것을 가능하게 하는 파티션 관리자 코드(iSeries 기술에서 하이퍼바이저(hypervisor)로 간주됨)가 인스톨된다. 파티션 관리자가 인스톨되면, 서로 다른 컴퓨팅 환경을 정의하는 로직 파티션이 생성될 수 있다. 파티션 관리자는 로직 파티션에 의해 정의되는 개별적인 컴퓨팅 환경을 유지하면서, 컴퓨터 시스템에서 필요한 자원을 확실하게 공유할 수 있도록 로직 파티션을 관리한다.
다수의 로직 파티션을 포함하는 컴퓨터 시스템은 로직 파티션들 사이에서 자원을 공유하는 것이 전형적이다. 예컨대, 두개의 로직 파티션을 가진 컴퓨터 시스템은 CPU의 50%를 각각의 파티션에 할당하도록 정의될 수도 있고, 메모리의 33%는 제 1 파티션에 할당하고, 메모리의 67%는 제 2 파티션에 할당하도록 정의될 수도 있다. 일단 로직 파티션이 정의되어서 공유 자원이 로직 파티션에 할당되면, 각각의 로직 파티션은 별도의 컴퓨터 시스템의 역할을 한다. 따라서, 두개의 로직 파티션을 가진 하나의 컴퓨터 시스템을 구비한 상기 실시예에서, 두개의 로직 파티션은 실제로는 두개의 별도의 완전히 다른 컴퓨터 시스템으로 보일 것이다.
컴퓨터 시스템의 자원이 파티션 사이에서 공유될 수 있기 때문에, 로직 파티션은 공유 자원 환경의 한가지 특정예이다. 로직 파티션이 비정상적으로 동작을 개시하면, 로직 파티션은 공유 자원의 오류를 발생시킬 가능성이 있다. 공유 자원 을 오류로부터 보호하기 위해, 데드되거나 스톨(stall)된 로직 파티션은 수행되는 로직 파티션에 의해 완전히 셧다운되어야 한다. 많은 공유 자원 환경에서, 많은 로직 파티션이 함께 쌍을 이루고 있어서, 다른 로직 파티션이 정상적으로 기능하는지 서로 모니터한다. 제 2 로직 파티션이 적절하게 동장하지 않는다는 것이 제 1 로직 파티션에서 검출되면, 제 1 로직 파티션은 제 2 로직 파티션을 완전히 셧다운시키는 기능을 수행한다. 이러한 접근 방안과 관련된 문제는 불량 로직 파티션이 소유하고 있는 모든 자원이 없어진다는 점이다. 데드 로직 파티션의 할당 자원을 라이브 로직 파티션에 동적으로 할당하는 방법을 사용하지 않으면, 컴퓨터 산업은 자원을 소유하고 있는 로직 파티션이 공유 자원 환경에서 데드될 때, 버려지는 자원 때문에 지속적으로 어려움을 겪을 것이다.
동적 자원 할당 장치 및 방법에서는, 로직 파티션의 데드 시점을 검출해서, 데드 로직 파티션을 셧다운시킨 후에, 데드 로직 파티션의 임의의 공유 자원을 라이브 로직 파티션에 할당한다. 이로써 데드 로직 파티션의 공유 자원을 가능하다면, 하나 이상의 라이브 로직 파티션으로 옮김으로써 사용할 수 있게 된다. 이런식으로, 공유 자원의 낭비 없이, 최대 범위까지 공유 자원이 사용될 수 있으며, 이는 라이브 로직 파티션에 의해 소유되기 때문이다.
본 발명의 상기 설명 및 다른 특성은 첨부된 도면에 도시된 바와 같이, 본 발명은 그 바람직한 실시예를 통해서 더욱 자명하게 될 것이다.
본 발명의 바람직한 실시예에 따라서, 로직 파티션이 데드되었을 때, 동적 자원 할당 메커니즘은 데드 로직 파티션을 셧다운시킨 후에, 데드 로직 파티션이 소유하고 있는 모든 자원을 라이브 로직 파티션에 할당한다. 이런식으로, 데드 로직 파티션이 소유한 자원은 데드 로직 파티션을 셧다운시키는 것에 의해 버려지지 않는다.
도 1을 참조하면, 컴퓨터 시스템(100)은 IBM iSeries 컴퓨터 시스템으로, 바람직한 실시예로서, 로직 파티셔닝 및 동적 자원 할당을 지원하는 하나의 적절한 타입의 컴퓨터 시스템을 도시하고 있다. 당업자는 로직 파티션을 지원하는 임의의 컴퓨터 시스템에 본 발명의 메커니즘 및 장치를 동일하게 적용할 수 있다는 것을 이해할 것이다. 도 1을 참조하면, 컴퓨터 시스템(100)은 주 메모리(120), 대용량 저장 인터페이스(130), 디스플레이 인터페이스(140) 및 네트워크 인터페이스(150)에 접속된 하나 이상의 프로세서(110)를 포함한다. 이들 시스템 구성 요소는 시스템 버스(160)의 사용을 통해서 상호 접속된다. 대용량 저장 인터페이스(130)는 대용량 저장 디바이스(다이렉트 액세스 저장 디바이스(155)와 같은)를 컴퓨터 시스템(100)에 접속시키는 데 사용된다. 다이렉트 액세스 저장 디바이스 중 특정 타입이 CD RW 드라이브이며, 여기서 CD RW(195)로부터의 데이터를 판독할 수 있다.
주 메모리(120)는 파티션 관리자(121), 데드 로직 파티션 검출기(122), 데드 로직 파티션 셧다운 메커니즘(123), 동적 자원 할당 메커니즘(124) 및 두개의 로직 파티션(125, 127)을 포함한다. 파티션 관리자(127)는 바람직하게는 하나의 주 파 티션(125) 및 하나 이상의 부 파티션(127)을 생성하되, 이들은 모두 로직 파티션이다. 주 파티션(125)은 바람직하게는 운영 체제(126)를 포함하고 있고, 제 2 파티션(127)은 바람직하게는 운영 체제(128)를 포함하고 있다.
운영 체제(126)는 OS/400과 같이 당업계에 알려진 멀티태스킹 운영 체제이지만, 당업자는 본 발명의 사상과 범주가 어떤 하나의 운영 체제로 한정되지 않는다는 것을 이해할 것이다. 임의의 적절한 운영 체제가 사용될 수 있다. 운영 체제(126)는 컴퓨터 시스템(100)의 자원을 관리하는 로우 레벨의 코드를 포함하는 복잡한 프로그램이다. 이들 자원 중 일부는 프로세서(110), 주 메모리(120), 대용량 인터페이스(130), 디스플레이 인터페이스(140), 네트워크 인터페이스(150) 및 시스템 버스(160)이다. 각각의 부 파티션(127) 내의 운영 체제(128)는 주 파티션(125) 내의 운영 체제(126)와 같은 것일 수도 있고, 완전히 다른 운영 체제 일 수도 있다. 따라서, 주 파티션(125)가 OS/400 운영 체제를 수행하고, 부 파티션(127)은 가능하다면 다른 버전 또는 다른 환경 세팅(예컨대, 시간 영역)을 가진 OS/400외의 다른 운영 체제를 수행할 수도 있다. 부 파티션(127) 내의 운영 체제(128)가 하드웨어와 양립가능하다면, OS/400이 아닐 수도 있다. 이런식으로, 로직 파티션들은 동일한 물리적인 컴퓨터 시스템에 완전히 다른 컴퓨팅 환경을 제공할 수 있다.
데드 로직 파티션 검출기(122)는 로직 파티션(125, 127) 중 하나가 적절한 동작을 멈춘 시점을 검출한다. 일단 데드 로직 파티션 검출기(122)가 데드 로직 파티션을 검출하면, 로직 파티션이 데드 동적 자원 할당 메커니즘(124)을 식별한 다. 도 1에는 하나의 데드 로직 파티션 검출기(122)만이 도시되어 있지만, 바람직한 실시예에서는, 각각의 파티션이 서로 다른 로직 파티션의 상태를 모니터하는 데드 로직 파티션 검출기를 포함한다. 따라서, 바람직한 실시예에서 두개의 로직 파티션을 가진 시스템에 대해서, 각각의 로직 파티션은 다른 로직 파티션의 상태를 모니터하는 데드 로직 파티션 검출기를 가질 것이다. 데드 로직 파티션 검출기(122)의 적절한 예는 Heartbeat이라고 알려진, 컴퓨터 프로그램으로, 이는 www.linux-ha.org에서 다운로드받을 수 있는 소스 공개된 고가용성(high availability) 프로그램이다. Heartbeat은 정해진 시간 간격으로 신호를 브로드케스트해서 로직 파티션이 정확하게 동작 중임을 나타낸다. 제 1 로직 파티션이 제 2 로직 파티션으로부터 정해진 시간 간격 중에 신호를 수신하지 않으면, 제 1 로직 파티션은 제 2 로직 파티션이 데드임을 안다.
데드 로직 파티션 셧다운 메커니즘(123)은 데드 로직 파티션을 셧다운시키기 위해 사용된다. 데드 로직 파티션 셧다운 메커니즘(123)의 하나의 적절한 예는 STONITH이라고 알려진 컴퓨터 프로그램으로, Shoot The Other Node In The Head이다. STONITH는 www.linux-ha.org에서 다운로드받을 수 있는 별도의 소스 공개된 고가용성 프로그램이다. STONITH는 하드웨어 의존형 셧다운 절차를 실시하기 위해 독립 인터페이스를 제공한다.
동적 자원 할당 메커니즘(124)은 데드 로직 파티션이 셧다운된 이후에 데드 로직 파티션이 소유한 자원을 라이브 로직 파티션에 재할당하기 위해 사용된다. 데드 로직 파티션 검출기(122)가 로직 파티션이 데드 동적 자원 할당 메커니즘(124)에게 로직 파티션이 데드되었음을 통지할 때, 동적 자원 할당 메커니즘(124)은 데드 로직 파티션의 공유 자원을 라이브 로직 파티션에 할당한다. iSeries 컴퓨터 시스템에서, 동적 자원 할당 메커니즘(124)은 Java Toolbox API를 사용해서 XML(extensible markup language)로 메시지를 주 파티션에 전송하고, 여기서 데드 로직 파티션 셧다운 메커니즘(123)을 사용해서 데드 로직 파티션을 셧다운시킨 후에, 데드 로직 파티션으로부터의 공유 자원을 라이브 파티션에 재할당한다. 이런식으로, 데드 로직 파티션을 셧다운시킨 후에, 데드 로직 파티션 자원이 바람직하게는 라이브 로직 파티션에 재할당되기 때문에, 데드 로직 파티션이 셧다운되었을 때에도 데드 로직 파티션 자원은 버려지지 않는다.
파티션(125, 127)은 주 메모리 내에 거주하는 것으로 도 1에 도시되어 있다. 그러나 당업자는 파티션인 메모리와는 다른 자원을 포함하는 로직 구조라는 것을 이해할 것이다. 로직 파티션은 전형적으로, 프로세서 성능 및 시스템 자원과 함께, 메모리의 일부를 나타낸다. 따라서, 주 파티션(125)은 대용량 저장 인터페이스(130), 디스플레이 디바이스(140), 네트워크 인터페이스(150) 또는 다른 I/O 디바이스로의 인터페이스의 기능을 제공할 수 있는 하나 이상의 I/O 프로세서와 함께 2개의 프로세서 및 메모리의 일부를 포함하는 것으로 정의될 수 있다. 부 파티션(127)은 3개의 다른 프로세서, 메모리(120)의 다른 부분 및 하나 이상의 I/O 프로세서를 포함하는 것으로 정의된다. 파티션은 로직 파티션을 상징적으로 나타내도록 도 1에 도시되어 있으며, 이는 컴퓨터 시스템(100) 내의, 메모리(120)의 외부에 시스템 자원을 포함한다. 파티셔너(121), 데드 로직 파티션 검출기(122), 데 드 로직 파티션 셧다운 메커니즘(123) 및 동적 자원 할당 메커니즘(124)이 주 파티션(125)에 상주하는 것이 바람직하지만, 컴퓨터 시스템(100) 또는 네트워크(170)를 통해서 컴퓨터 시스템(100)에 연결된 컴퓨터 시스템(175)에서 임의의 규정된 파티션에 존재할 수 있다. 또한, 데드 로직 파티션 검출기(122), 데드 로직 파티션 셧다운 메커니즘(123) 및 동적 자원 메커니즘(124)이 도 1에 개별적으로 도시되어 있지만, 바람직한 실시예는 데드 로직 파티션 검출기(122)와 데드 로직 파티션 셧다운 메커니즘(123)의 기능을 포함하는 동적 자원 할당 메커니즘(124)까지 특별히 확장될 수 있다.
컴퓨터 시스템(100)은 컴퓨터 시스템(100)의 프로그램이 주 메모리(120) 및 DASD 디바이스(155)와 같은 다수의 더 작은 저장 엔티티에 액세스하는 대신에 더 큰 하나의 저장 엔티티에만 액세스하는 것처럼 동작할 수 있게 하는 알려진 가상의 어드레싱 메커니즘을 사용한다. 따라서, 파티션 관리자(121) 및 파티션(125, 127)이 주 메모리(120) 내에 상주하는 것으로 도시되어 있지만, 당업자는 이들 아이템이 동시에 주메모리(120)에 모두 완전히 포함될 필요가 없다는 것을 이해할 것이다. 여기서 사용되는 용어 메모리는 일반적으로 컴퓨터 시스템(100)의 전체 가상 메모리를 가리킨다.
프로세서(110)는 하나 이상의 마이크로프로세서 및/집적 회로로 이루어질 수 있다. 프로세서(110)는 주 메모리(120)에 저장된 프로그램 인스트럭션을 실행한다. 주 메모리(120)는 프로세서(110)가 액세스할 수 있는 프로그램 및 데이터를 저장한다. 컴퓨터 시스템(100)이 개시할 때, 프로세서(110)는 우선 파티션 관리자(121)를 만드는 프로그램 인스트럭션을 실행하고, 이는 로직 파티션 내의 운영 체제를 초기화시킨다.
컴퓨터 시스템(100)이 하나의 시스템 버스만을 포함하는 것으로 도시되어 있지만, 당업자는 본 발명이 다수의 버스를 가진 컴퓨터 시스템을 사용해서 구현될 수 있다는 것을 이해할 것이다. 더욱이 바람직한 실시예에서 사용되는 인터페이스(이른바 AS/400 기술에서 입/출력 프로세서)는 컴퓨트 인텐시브 프로세싱을 프로세서(110)로부터 오프로드하기 위해 사용되는 완전하게 프로그래밍된 마이크로프로세서를 각각 개별적으로 포함한다. 그러나, 당업자는 본 발명이 I/O 어댑터를 사용해서 동일한 기능을 수행하는 컴퓨터 시스템에 동일하게 적용한다는 것을 이해할 것이다.
디스플레이 인터페이스(140)가 하나 이상의 디스플레이(165)를 컴퓨터 시스템(100)에 직접 접속시키는 데 사용된다. 비 지능적(즉, 덤(dumb)) 터미널 또는 완전 프로그래밍 가능한 워크스테이션일 수도 있는 이들 디스플레이(165)를 사용해서 시스템 관리자 및 유저는 컴퓨터 시스템(100)과 통신할 수 있다. 그러나, 디스플레이 인터페이스(140)가 하나 이상의 디스플레이(165)와의 통신을 지원하기 위해 제공되지만, 유저 및 다른 프로세스와의 모든 필요한 인터렉트는 네트워크 인터페이스(150)를 통해서 일어나기 때문에, 컴퓨터 시스템(100)이 디스플레이(165)를 반드시 필요로 하는 것은 아니다.
네트워크 인터페이스(150)는 다른 컴퓨터 시스템 및/또는 워크스테이션(예컨대, 도 1에서 175)을 네트워크(170)를 통해서, 컴퓨터 시스템(100)에 접속시키기 위해 사용된다. 현재의 아날로그 및/또는 디지털 기술을 사용해서 또는 미래의 몇가지 네트워킹 메커니즘을 통해서 네트워크 접속(170)이 행해질 수 있지만, 본 발명은 컴퓨터 시스템(100)이 다른 컴퓨터 시스템 및/또는 워크스테이션에 접속될 수 있는지 여부에 관계없이 동일하게 적용한다. 더욱이, 많은 상이한 네트워크 프로토콜이 네트워크를 구현하는 데 사용될 수 있다. 이들 프로토콜은 컴퓨터가 네트워크(170)를 통해서 통신하는 것을 가능하게 하는 특정 컴퓨터 프로그램이다. TCP/IP(Transmission Control Protocol/Internet Protocol)이 네트워트 프로토콜의 예이다.
여기서, 본 발명은 전체 기능 컴퓨터 시스템에 대해서 설명되었고, 설명될 것이지만, 당업자는 본발명이 다양한 형태의 프로그램 제품으로 배포될 수 있으며, 실제 배포를 수행하는 데 사용되는 컴퓨터 판독 가능 신호 저장 매체의 각각의 타입에 관계없이 본 발명이 동일하게 적용가능하다는 것을 이해할 것이다. 적절한 신호 저장 매체의 예는, 플로피 디스크 및 CD RW(예컨대 도 1의 195)와 같은 기록가능 타입 매체, 및 디지털 및 아날로그 통신 링크와 같은 전송 타입 매체를 포함한다.
도 2는 컴퓨터 시스템의 전체 프로세싱 파워가 이들이 생성된 로직 파티션에 할당될 수 있는 방법을 나타낸다. 파티션 관리자(121)가 사용되어서, 컴퓨터 시스템의 전체 프로세싱 파워의 50%를 제 1 로직 파티션(파티션 1)에 할당하고, 50%를 제 2 로직 파티션(파티션 2)에 할당하는, 균등한 분배를 보장하는 것으로 가정한다. 도 3은 로직 파티션이 생성될 때, 컴퓨터 시스템의 전체 메모리가 로직 파티 션에 할당될 수 있는 방법을 도시한다. 파티션 관리자(121)가 사용되어서, 컴퓨터 시스템의 전체 메모리의 33%를 파티션 1에 할당하고, 67%를 파티션 2에 할당하는, 분배를 보장하는 것으로 가정한다. 도 2 및 3에 도시된 특정 값들은 본 발명의 원리를 설명하기 위한 예이다.
데드 로직 파티션을 처리하는 종래의 방법(400)이 도 4에 도시되어 있다. 로직 파티션의 상태가 모니터된다(단계 410). 로직 파티션이 데드가 아니라면(단계 420=아니오), 방법(400)은 단계(410)의 모니터링으로 돌아간다. 로직 파티션이 데드라면(단계 420=예), 데드 로직 파티션은 셧다운된다(단계 430).
데드 로직 파티션을 셧다운시키는 것과 관련된 문제가 도 5 및 도 6에 개략적으로 도시되어 있다. 도 5에 도시된 바와 같이, 데드 로직 파티션이 도 4의 단계 430에서 셧다운되면, 프로세싱 파워의 50%를 가지고 있는 로직 파티션이 셧다운되었기 때문에 데드 로직 파티션에 할당된 프로세싱 파워는 버려진다. 도 6과 유사하게, 데드 로직 파티션이 셧다운되면, 메모리의 67%를 가지고 있는 로직 파티션이 셧다운되었기 때문에 데드 로직 파티션에 할당된 메모리는 버려진다.
도 7을 참조하면, 방법(700)은 데드 로직 파티션 검출기(122)에 의해 수행되는 단계들 및 도 1의 동적 자원 할당 메커니즘(124)을 도시하고 있다. 바람직한 실시예에 따른 방법(700)은 로직 파티션의 상태를 모니터한다(단계 710). 로직 파티션이 데드가 아니라면(단계 720=아니오), 방법(700)은 단계(710)로 돌아가서 모니터링을 계속한다. 로직 파티션이 데드라면(단계 720=예), 데드 로직 파티션은 셧다운된다(단계 730). 데드 로직 파티션이 소유한 자원이 라이브 로직 파티션에 할당된다(단계 740).
데드 로직 파티션을 셧다운한 이후에 데드 로직 파티션이 소유한 자원을 라이브 로직 파티션에 할당함으로써 생기는 효과가 도 8 및 도 9에 도시되어 있다. 단계 730에서 파티션 2가 소유한 자원의 파티션 1로의 할당은 성공적인 것으로 가정한다. 결과적으로, 파티션 1은 자신의 원래의 프로세싱 파워 퍼센트에 파티션 2가 가지고 있었던 퍼센트를 더 가지고 있다. 이들 두 파티션의 예에서, 결과적으로 도 8에 도시된 바와 같이 파티션 1은 100%의 전체 프로세싱 파워를 가지고 있다. 이와 마찬가지로, 도 9는, 파티션 1이 현재 100%의 전체 메모리를 가지고 있는 것을 도시한다. 도 8 및 도 9는 본 발명과 도 5 및 도 6에 도시된 종래의 기술의 차이를 나타낸다. 본 발명은 이들 자원을, 가능하다면 데드 로직 파티션을 셧다운시킨 후에 라이브 로직 파티션에 재할당함으로써 데드 로직 파티션이 소유한 버려지는 자원의 낭비를 없앤다.
도 7의 단계 730에서 데드 로직 파티션이 소유한 자원을 라이브 로직 파티션에 재할당한다. 이러한 할당의 성공 여부는 데드 로직 파티션의 오류 정도에 따라서 달라진다. 일부 경우에, 동적 자원 할당 메커니즘은 데드 로직 파티션이 소유한 하나 이상의 자원을 재할당하는 데 사용할 수 없을 것이지만, 바람직한 실시예에서는 데드 로직 파티션이 소유한 모든 자원을 라이브 로직 파티션에 재할당하려 한다. 결과적으로 데드 로직 파티션에 소유한 자원 중 라이브 로직 파티션에 재할당될 수 있는 모든 자원은 재할당되어서, 데드 로직 파티션을 셧다운시킴으로써 유발될 수 있는 자원의 낭비를 최소화한다.
용어 '데드 로직 파티션'은 매우 넓게 사용된다. 이 용어는 적절하게 기능하지 않는 임의의 로직 파티션을 가리키기 위해 널리 사용된다. 오작동의 타입은 중요하지 않다. 로직 파티션을 셧다운시키는 것을 정당화하기에 충분할만큼 오작동이 심각하면, 로직 파티션은 데드 로직 파티션으로 간주된다. 데드 로직 파티션이 수행될 수도 있지만, 로직 파티션이 프로그램 수행을 지속하는 것을 방해하는 약간의 에러 또는 의외의 상황으로 인해서 정지될 수도 있다. 바람직한 실시예는 데드 로직 파티션이 소유한 자원을, 가능하다면 데드 로직 파티션을 셧다운시킨 후에 라이브 파티션에 재할당함으로써, 이들 자원이 버려지는 것을 방지하는 것이다.
당업자는 본 발명의 사상과 범주 내에서 많은 변화가 가능하다는 것을 이해할 것이다. 따라서, 본 발명이 그 바람직한 실시예를 참조로 설명되었지만, 당업자는 본 발명의 사상과 범주를 벗어남없이 그 형태 및 사양에 변화가 있을 수 있다는 것을 이해할 것이다.
본 발명에 의한 동적 자원 할당 장치 및 방법에서는, 로직 파티션이 데드 시점을 검출해서, 데드 로직 파티션을 셧다운시킨 후에, 데드 로직 파티션의 임의의 공유 자원을 라이브 로직 파티션에 할당한다. 이로써 데드 로직 파티션의 공유 자원을 가능하다면, 하나 이상의 라이브 로직 파티션으로 옮김으로써 사용할 수 있게 된다.
Claims (12)
- 데드로직 파티션의 자원을 동적으로 할당하는 장치에 있어서,적어도 하나의 프로세서와,상기 적어도 하나의 프로세서에 연결된 메모리와,상기 장치 상에서 정의되는 제 1 및 제 2 로직 파티션 ― 상기 제 1 및 제 2 로직 파티션은 각각 공유 자원 중 미리 정해진 부분을 가지고 있음 ― 과,상기 메모리에 상주하며 상기 적어도 하나의 프로세서에 의해 실행되는 동적 자원 할당 메커니즘 ― 상기 동적 자원 할당 메커니즘은 상기 제 2 로직 파티션이 적절하게 동작하지 않을 때, 상기 공유 자원 중 상기 제 2 로직 파티션이 소유하는 미리 정해진 부분을 상기 제 1 로직 파티션에 할당함 ―을 포함하는데드로직 파티션의 자원을 동적으로 할당하는 장치.
- 제 1 항에 있어서,상기 동적 자원 할당 메커니즘은 상기 공유 자원 중 상기 제 2 로직 파티션이 소유하는 미리 정해진 부분을 상기 제 1 로직 파티션에 할당하기 전에 상기 제 2 로직 파티션을 셧다운시키는 기능을 수행하는데드로직 파티션의 자원을 동적으로 할당하는 장치.
- 제 1 항에 있어서,상기 공유 자원은 상기 메모리를 포함하는데드로직 파티션의 자원을 동적으로 할당하는 장치.
- 제 1 항에 있어서,상기 공유 자원은 상기 적어도 하나의 프로세서를 포함하는데드로직 파티션의 자원을 동적으로 할당하는 장치.
- 데드로직 파티션의 자원을 동적으로 할당하는 장치에 있어서,적어도 하나의 프로세서와,상기 적어도 하나의 프로세서에 연결된 메모리와,상기 장치 상에서 정의되는 제 1 및 제 2 로직 파티션 ― 상기 제 1 및 제 2 로직 파티션은 각각 공유 자원 중 미리 정해진 부분을 가지고 있음 ― 과,상기 메모리에 상주하며 상기 적어도 하나의 프로세서에 의해 실행되는 동적 자원 할당 메커니즘을 포함하되,상기 동적 자원 할당 메커니즘은1) 상기 제 2 로직 파티션이 적절하게 동작하지 않을 때, 상기 제 2 로직 파티션을 셧다운시키는 단계와2) 상기 공유 자원 중 상기 제 2 로직 파티션이 소유하는 미리 정해진 부분을 상기 제 1 로직 파티션에 할당하는 단계를 수행하는데드로직 파티션의 자원을 동적으로 할당하는 장치.
- 제 5 항에 있어서,상기 공유 자원은 메모리를 포함하는데드로직 파티션의 자원을 동적으로 할당하는 장치.
- 제 5 항에 있어서,상기 공유 자원은 상기 적어도 하나의 프로세서를 포함하는데드로직 파티션의 자원을 동적으로 할당하는 장치.
- 공유 자원 중 미리 정해진 부분을 각각 가지고 있는 제 1 및 제 2 로직 파티션을 포함하는 컴퓨터 시스템에서 공유 자원을 관리하기 위한 컴퓨터로 구현되는 방법에 있어서,(A) 상기 제 2 로직 파티션이 적절하게 동작하지 않는 시점을 검출하는 단계와,(B) 상기 공유 자원 중 상기 제 2 로직 파티션이 소유하는 미리 정해진 부분을 상기 제 1 로직 파티션에 할당하는 단계를 포함하는공유 자원을 관리하기 위한 컴퓨터로 구현되는 방법.
- 제 8 항에 있어서,(C) 상기 제 2 로직 파티션을 셧다운시키는 단계를 더 포함하는공유 자원을 관리하기 위한 컴퓨터로 구현되는 방법.
- 제 8 항에 있어서,상기 공유 자원은 메모리를 포함하는공유 자원을 관리하기 위한 컴퓨터로 구현되는 방법.
- 제 8 항에 있어서,상기 공유 자원은 적어도 하나의 프로세서를 포함하는공유 자원을 관리하기 위한 컴퓨터로 구현되는 방법.
- 제 8 항 내지 제 11 항 중 어느 한 항에 따른 방법의 각각의 단계를 수행하는 컴퓨터 프로그램을 구비한 컴퓨터 판독가능 기록 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/360,251 | 2003-02-06 | ||
US10/360,251 US20040158834A1 (en) | 2003-02-06 | 2003-02-06 | Apparatus and method for dynamically allocating resources of a dead logical partition |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040071582A KR20040071582A (ko) | 2004-08-12 |
KR100583511B1 true KR100583511B1 (ko) | 2006-05-24 |
Family
ID=32823964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030093274A KR100583511B1 (ko) | 2003-02-06 | 2003-12-18 | 데드 로직 파티션의 자원을 동적으로 할당하는 장치 및 컴퓨터로 구현되는 방법와 컴퓨터 판독가능 기록 매체 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20040158834A1 (ko) |
JP (1) | JP2004240970A (ko) |
KR (1) | KR100583511B1 (ko) |
CN (1) | CN1291319C (ko) |
TW (1) | TW200506734A (ko) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7814491B1 (en) * | 2004-04-14 | 2010-10-12 | Oracle America, Inc. | Method and apparatus for managing system resources using a container model |
US20060123111A1 (en) * | 2004-12-02 | 2006-06-08 | Frank Dea | Method, system and computer program product for transitioning network traffic between logical partitions in one or more data processing systems |
US8578385B2 (en) * | 2005-04-21 | 2013-11-05 | Microsoft Corporation | Method and system for virtual service isolation |
US7743372B2 (en) * | 2005-06-28 | 2010-06-22 | Internatinal Business Machines Corporation | Dynamic cluster code updating in logical partitions |
US7937616B2 (en) * | 2005-06-28 | 2011-05-03 | International Business Machines Corporation | Cluster availability management |
US7774785B2 (en) * | 2005-06-28 | 2010-08-10 | International Business Machines Corporation | Cluster code management |
US7673114B2 (en) * | 2006-01-19 | 2010-03-02 | International Business Machines Corporation | Dynamically improving memory affinity of logical partitions |
US7814495B1 (en) | 2006-03-31 | 2010-10-12 | V Mware, Inc. | On-line replacement and changing of virtualization software |
US7844709B2 (en) * | 2006-09-20 | 2010-11-30 | International Business Machines Corporation | Method and apparatus for managing central processing unit resources of a logically partitioned computing environment without shared memory access |
US8452820B2 (en) * | 2007-10-05 | 2013-05-28 | International Business Machines Corporation | Logical partition configuration data file creation |
US8141092B2 (en) * | 2007-11-15 | 2012-03-20 | International Business Machines Corporation | Management of an IOV adapter through a virtual intermediary in a hypervisor with functional management in an IOV management partition |
US8141093B2 (en) * | 2007-11-15 | 2012-03-20 | International Business Machines Corporation | Management of an IOV adapter through a virtual intermediary in an IOV management partition |
US8141094B2 (en) * | 2007-12-03 | 2012-03-20 | International Business Machines Corporation | Distribution of resources for I/O virtualized (IOV) adapters and management of the adapters through an IOV management partition via user selection of compatible virtual functions |
US8161299B2 (en) | 2007-12-20 | 2012-04-17 | Intel Corporation | Location based policy system and method for changing computing environments |
US20090163226A1 (en) * | 2007-12-20 | 2009-06-25 | Burges Karkaria | Device, system, and method of power saving using location sensing modules |
US8271751B2 (en) * | 2008-04-24 | 2012-09-18 | Echostar Technologies L.L.C. | Systems and methods for reliably managing files in a computer system |
US8359415B2 (en) * | 2008-05-05 | 2013-01-22 | International Business Machines Corporation | Multi-root I/O virtualization using separate management facilities of multiple logical partitions |
US8505019B1 (en) * | 2008-10-31 | 2013-08-06 | Hewlett-Packard Development Company, L.P. | System and method for instant capacity/workload management integration |
US8144582B2 (en) * | 2008-12-30 | 2012-03-27 | International Business Machines Corporation | Differentiating blade destination and traffic types in a multi-root PCIe environment |
US8738621B2 (en) | 2009-01-27 | 2014-05-27 | EchoStar Technologies, L.L.C. | Systems and methods for managing files on a storage device |
US8489797B2 (en) * | 2009-09-30 | 2013-07-16 | International Business Machines Corporation | Hardware resource arbiter for logical partitions |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990053243A (ko) * | 1997-12-23 | 1999-07-15 | 이계철 | 개방형 내장 시스템에서의 순환 이중화 방법 |
US6381682B2 (en) * | 1998-06-10 | 2002-04-30 | Compaq Information Technologies Group, L.P. | Method and apparatus for dynamically sharing memory in a multiprocessor system |
KR20020070813A (ko) * | 2001-03-01 | 2002-09-11 | 인터내셔널 비지네스 머신즈 코포레이션 | 논리적으로 분할된 다중처리 시스템 내에서 발생하는 에러이벤트를 보고하기 위한 표준 포맷 |
KR20020070795A (ko) * | 2001-03-01 | 2002-09-11 | 인터내셔널 비지네스 머신즈 코포레이션 | 논리적으로 분할된 다중처리 시스템에서의 중복 보고 에러제거 방법 및 시스템 |
US20020156939A1 (en) * | 2001-04-23 | 2002-10-24 | International Business Machines Corporation | Method and apparatus to monitor the run state of a multi-partitioned computer system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69113181T2 (de) * | 1990-08-31 | 1996-05-02 | Ibm | Verfahren und Gerät zur Querteilungssteuerung in einer verteilten Verarbeitungsumgebung. |
US6633916B2 (en) * | 1998-06-10 | 2003-10-14 | Hewlett-Packard Development Company, L.P. | Method and apparatus for virtual resource handling in a multi-processor computer system |
US6965936B1 (en) * | 2000-12-06 | 2005-11-15 | Novell, Inc. | Method for detecting and resolving a partition condition in a cluster |
JP2002202959A (ja) * | 2000-12-28 | 2002-07-19 | Hitachi Ltd | 動的な資源分配をする仮想計算機システム |
-
2003
- 2003-02-06 US US10/360,251 patent/US20040158834A1/en not_active Abandoned
- 2003-12-18 KR KR1020030093274A patent/KR100583511B1/ko not_active IP Right Cessation
-
2004
- 2004-02-02 TW TW093102291A patent/TW200506734A/zh unknown
- 2004-02-02 JP JP2004026103A patent/JP2004240970A/ja active Pending
- 2004-02-05 CN CNB200410003664XA patent/CN1291319C/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990053243A (ko) * | 1997-12-23 | 1999-07-15 | 이계철 | 개방형 내장 시스템에서의 순환 이중화 방법 |
US6381682B2 (en) * | 1998-06-10 | 2002-04-30 | Compaq Information Technologies Group, L.P. | Method and apparatus for dynamically sharing memory in a multiprocessor system |
KR20020070813A (ko) * | 2001-03-01 | 2002-09-11 | 인터내셔널 비지네스 머신즈 코포레이션 | 논리적으로 분할된 다중처리 시스템 내에서 발생하는 에러이벤트를 보고하기 위한 표준 포맷 |
KR20020070795A (ko) * | 2001-03-01 | 2002-09-11 | 인터내셔널 비지네스 머신즈 코포레이션 | 논리적으로 분할된 다중처리 시스템에서의 중복 보고 에러제거 방법 및 시스템 |
US20020156939A1 (en) * | 2001-04-23 | 2002-10-24 | International Business Machines Corporation | Method and apparatus to monitor the run state of a multi-partitioned computer system |
Also Published As
Publication number | Publication date |
---|---|
CN1291319C (zh) | 2006-12-20 |
KR20040071582A (ko) | 2004-08-12 |
CN1519720A (zh) | 2004-08-11 |
US20040158834A1 (en) | 2004-08-12 |
TW200506734A (en) | 2005-02-16 |
JP2004240970A (ja) | 2004-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100583511B1 (ko) | 데드 로직 파티션의 자원을 동적으로 할당하는 장치 및 컴퓨터로 구현되는 방법와 컴퓨터 판독가능 기록 매체 | |
JP3703078B2 (ja) | 論理区画マネージャ及び方法 | |
JP4001873B2 (ja) | 論理的にパーティションが作成されたコンピュータ・システム内で割り込みを仮想化するための装置および方法 | |
US8032899B2 (en) | Providing policy-based operating system services in a hypervisor on a computing system | |
US8732705B2 (en) | Method and system for virtual machine migration | |
US8438566B2 (en) | Managing assignment of partition services to virtual input/output adapters | |
US8108196B2 (en) | System for yielding to a processor | |
JP4558661B2 (ja) | パーティション間で実行可能プログラムを転送するためのコンピュータシステム及び方法 | |
TWI402753B (zh) | 用於動態地改善邏輯分割的記憶體親和性之電腦系統、電腦可讀程式產品及方法 | |
US8201167B2 (en) | On-demand allocation of virtual asynchronous services interfaces | |
JP4568271B2 (ja) | ロジカル・パーティション・コンピュータ・システム内のリソース転送を制御するための装置および方法 | |
KR20040102074A (ko) | 데이터 관리 방법, 데이터 처리 시스템 및 컴퓨터 프로그램 | |
US20090150640A1 (en) | Balancing Computer Memory Among a Plurality of Logical Partitions On a Computing System | |
KR20050112524A (ko) | 논리적으로 분할된 컴퓨터 시스템에서의 리소스 전달을제어하는 장치 및 방법 | |
KR20040098520A (ko) | 입/출력 패브릭 내의 하드웨어 에러로부터의 자율 복구 | |
US20080201550A1 (en) | Autonomically suspending and resuming logical partitions when i/o reconfiguration is required | |
US11461120B2 (en) | Methods and apparatus for rack nesting in virtualized server systems | |
JP2009070142A (ja) | 仮想計算機の実行可否検査方法 | |
US8489797B2 (en) | Hardware resource arbiter for logical partitions | |
US20080148355A1 (en) | Providing Policy-Based Operating System Services in an Operating System on a Computing System | |
JP2004318841A (ja) | ロジカル・パーティション環境におけるコンフィギュレーション・サイズの決定 | |
US20080189715A1 (en) | Controlling resource transfers in a logically partitioned computer system | |
JP2004318880A (ja) | ロジカル・パーティション・データ処理システムにおいてパーティション・ファームウェアを同時更新及び活動化するための方法及び装置 | |
JP3628590B2 (ja) | コンピュータ・システムの論理区画の最大インタラクティブ・・パフォーマンスを、他の区画の最大インタラクティブ・パフォーマンスに関係なく指定する装置及び方法 | |
US7475218B2 (en) | Apparatus and method for autonomically detecting resources in a logically partitioned computer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |