KR20010050502A - 다수의 협동 시스템 이미지 그룹을 생성 및 식별하는방법, 시스템 및 저장 매체 - Google Patents

다수의 협동 시스템 이미지 그룹을 생성 및 식별하는방법, 시스템 및 저장 매체 Download PDF

Info

Publication number
KR20010050502A
KR20010050502A KR1020000054680A KR20000054680A KR20010050502A KR 20010050502 A KR20010050502 A KR 20010050502A KR 1020000054680 A KR1020000054680 A KR 1020000054680A KR 20000054680 A KR20000054680 A KR 20000054680A KR 20010050502 A KR20010050502 A KR 20010050502A
Authority
KR
South Korea
Prior art keywords
logical partition
name
function
cluster
partition cluster
Prior art date
Application number
KR1020000054680A
Other languages
English (en)
Other versions
KR100363378B1 (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 KR20010050502A publication Critical patent/KR20010050502A/ko
Application granted granted Critical
Publication of KR100363378B1 publication Critical patent/KR100363378B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30112Register structure comprising data of variable length
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical 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)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 각 종류의 그룹이 상이한 동작 목적을 가지는 단일 머신 단일 중앙 처리기 복합체(a single machine, single central processor complex:CPC)내에 상이한 종류의 협동 시스템 이미지(cooperating system images) 그룹을 생성 및 식별하는 방법을 개시한다. 그러한 협동 시스템 이미지의 집합은 논리 파티션 클러스터(a logical patition cluster:LPC)로서 지칭된다. LPC는 진단 인스트럭션(a diagnose instruction)을 사용하여 생성되거나 또는 식별된다. 진단 인스트럭션은 수행될 함수를 지시하는 서브코드 필드 및 상기 함수가 수행되어 질 논리 파티션 클러스터를 지시하는 논리 파티션 클러스터 타입 필드를 포함한다.

Description

다수의 협동 시스템 이미지 그룹을 생성 및 식별하는 방법, 시스템 및 저장 매체{METHOD AND APPARATUS FOR CREATING AND IDENTIFYING LOGICAL PARTITION CLUSTERS}
본 출원은 다음 출원의 청구 대상(the subject matter)과 관련된 청구 대상을 포함하며, 각각의 출원은 본 출원과 동일한 양수인에게 양도되며 본 출원과 동일한 날에 출원된다. 이로 인해 아래에 리스트된 특허 출원 각각은 본 명세서에서 전체적으로 참조로서 인용되어진다.
매어그널 등에 허여된, (도켓 번호. PO9-99-145) 일련 번호 09/407,459 로 출원된 "Processing Channel Subsystem Pending I/O Work Queues Based on Priorities,"
쿠발라 등에 허여된, (도켓 번호. PO9-99-146) 일련 번호 09/407,391 로 출원된 "Method, System And Program Products For Managing Groups Of Partitions Of Computing Environment,"
킹 등에 허여된 (도켓 번호.PO9-99-147) 일련 번호 09/407,594 로 출원된 "Method, System And Program Products For Managing Logical Processors Of Computing Environment,"
엘리어트 등에 허여된 (도켓 번호.PO9-99-148) 일련 번호 09/407,212 로 출원된 "Method, System And Program Porducts For Managing Central Processing Unit Resources Of A Computing Environment,"
쿠발라 등에 허여된 (도켓 번호.PO9-99-159) 일련 번호________로 출원된 " Dynamically Redistributing Shareable Resources Of That Environment,"
퀴아칼라 등에 허여된 (도켓 번호.PO9-99-158) 일련 번호 _______로 출원된 "Method, System And Program Products For Determining I/O Configurations Of A Computing Environment."
윌리암 제이. 루니 등에 허여된 (도켓 번호.PO9-99-157) 일련 번호 ______로 출원된 "Method, System And Program Products For Determining I/O Configuration Entropy."
루니 등에 허여된 (도켓 번호. PO9-99-063) 일련 번호 09/407,810 로 출원된 "Method And Apparatus For Assigning Resources To Logical Partition Clusters,"
다수의 프로세서 및 이와 연관된 하드웨어로 구성된 중앙 처리기 복합체(central processing complexes)는 논리 파티셔닝(logical partitioning)을 통해 하나 이상의 협동 시스템 이미지(cooperating system images) 그룹으로 구성될 수 있다. 단일 중앙 처리기 복합체(CPC)내의 다중 논리 파티션에 걸쳐 있는 또는 다중 CPC에 걸쳐 있는 협동 시스템 이미지는 공통 범용 목적(common general purpose)을 위해 시스플렉스(sysplex)라 불려지는 엔티티내로 서로 통합될 수 있다. 시스플렉스내의 시스템 이미지는 공통 물리적 자원을 공유한다. 시간이 지남에 따라, 시스플렉스에서 발생하는 범용 자원의 공유에 대립되는 상이한 특정 목적을 위해 단일 CPC내의 협동 시스템 이미지를 통합하는 것이 필요하게 되었다. 그러므로, 상이한 타입의 협동 시스템 이미지 집합을 생성 및 식별하는 메카니즘이 필요하게 되었다.
시스템 이미지의 그룹, 즉 시스플렉스는 외부 디바이스에 접속되는 제어 유닛에 대한 하나 이상의 채널을 통해 외부 디바이스와 통신한다. 논리 파티션 그룹에 채널을 할당하는 방법이 존재한다. 사용자는 입력/출력 구성 프로그램(IOCP)내에 현존하는 PARTITION 키워드를 설정할 수 있거나 또는 하드웨어 구성 정의(HCD) 프로그램에서 유사한 함수를 구현할 수 있다. 이것을 행함에 의해, 사용자는 어느 논리 파티션이 특정 채널을 액세스할 수 있는지를 명시적으로 특정할 수 있다.
이 접근방안이 가지는 첫번째 문제는 사용자가 채널과 특정 파티션 세트를 연관시킬 필요가 있으며, 만약 파티션이 이후에 또 다른 그룹에 할당되어지면, 자원대 파티션의 연관(resource to partition associations)을 변경하기 위해 PARTITION 키워드를 변경시켜야 한다는 것이다. 만약 사용자가 이것을 이행하지 않는다면, 파티션은 제어 유닛에 대한 자신의 최근 채널을 상실할 수 있다. 부가적으로, 사용자는 비-협동(non-cooperating) 그룹을 동일한 채널 경로에 할당할 수 있는데, 이는시스템을 오류(errors), 데이터 오염(data corruption) 및 가용성의 손실에 노출시킬 수 있다.
본 발명의 예시적인 실시예는 각 종류의 그룹들이 상이한 함수의 목적을 가지는 단일 머신 단일 중앙 프로세서 복합체(central processor complex:CPC)내에 상이한 종류의 협동 시스템 이미지 그룹을 생성하고 식별하는 방법을 나타낸다. 그러한 협동 시스템 이미지의 집합은 논리 파티션 클러스터(LPC)로서 지칭된다. LPC는 진단 인스트럭션(a diagnose instruction)을 사용하여 생성되거나 또는 식별된다. 진단 인트스럭션은 수행될 기능을 나타내는 서브코드 필드 및 상기 기능이 수행될 논리 파티션 클러스터 타입을 나타내는 논리 파티션 클러스터 타입 필드를 포함한다.
본 발명의 또 다른 예시적인 실시예는 구성 가능한 시스템내의 자원을 논리 파티션 클러스터내로 할당하는 방법을 나타낸다. 이 방법은 적어도 하나의 시스템 이미지를 가지는 적어도 하나의 논리 파티션 클러스터를 규정하는 것을 포함한다. 다수의 자원 각각을 위한 LPC 이름 인덱스를 저장하는 LPC 이름 인덱스 레코드가 제공된다. LPC 이름 인덱스 레코드는 자원 식별자에 의해 인덱스된다. 적어도 하나의 LPC 이름을 저장하는 LPC 이름 레코드가 또한 제공된다. 적어도 하나의 LPC 이름 인덱스는 LPC 이름 레코드의 LPC 이름을 지칭하고 각각의 LPC 이름은 논리 파티션 클러스터를 식별한다. LPC 이름 인덱스 레코드 및 LPC 이름 레코드에 응답하여 로직 파티션 클러스터에 자원이 할당된다.
도 1a는 이름 선언 진단(300) 인트스럭션(a Diagnose 300 Declare Name instruction)을 도시한 도면,
도 1b는 I/O 커스텀화 프로세스(I/O customization process)를 도시한 도면,
도 1c는 채널 경로의 부가를 도시한 도면,
도 2는 입력 출력 구성 데이터세트(input output configuration dataset:IOCDS)내의 IOCP 프로그램에 의해 생성된 내부 테이블을 도시한 도면,
도 3a는 파티션을 활성화시킬때의 프로세서 자원/시스템 관리(PR/SM) 하이퍼바이저 코드 처리(hypervisor code processing)의 흐름도,
도 3b는 도 3a에 도시된 개개의 채널 경로 식별자(CHPID)를 위한 논리 파티션 처리의 흐름도,
도 3c는 CHPID 온라인 구성 프로세스(a configure CHPID online process)의 흐름도,
도 4a는 LPC 이름을 선언함으로써 채널-경로 관리를 위한 논리-파티션 클러스터(a logical-partition cluster:LPC)의 멤버로써 논리 파티션을 등록하는데 사용된 운영 체제 초기화 프로세스(an operating system initialization process)의 흐름도,
도 4b는 저장-구성-구성요소-리스트 인스트럭션(Store-Configuration-List Instruction)의 흐름도,
도 4c 내지 4d는 저장-구성요소-리스트 채널 서브시스템 호출 인스트럭션(channel subsystem call instructure)의 흐름도,
도 5는 액티브 IOCDS 생성 커맨드(a make active IOCDS command)의 흐름도.
도면의 주요 부분에 대한 부호의 설명
103 : IOCDS 102 : IOCP
본 발명의 예시적인 실시예는 다양한 상이한 타입의 논리 파티션 클러스터를 생성하고 논리 파티션을 이들 클러스터와 연관시키는 메카니즘이다. 이 메카니즘은 발명자에 의해 진단(Diagnose:300)으로서 지칭된 도 1a에 도시된 인스트럭션이다. 진단 인스트럭션은 특정 이름 및 타입의 논리 파티션 클러스터의 멤버로서 특정 논리 파티션을 등록하는데 사용될 수 있다. 논리 파티션 및 논리 파티션 클러스터 사이의 일대일 대응(one to one correspondence)을 요구하지 않는다. 논리 파티션은 다수의 논리 파티션 클러스터에 소속될 수 있다. 논리 파티션 관리자(PR/SM)는 생성된 상이한 클러스터의 이름 및 타입과 각각의 논리 파티션 클러스터에 포함된 모든 논리 파티션을 추적한다. 논리 파티션 클러스터를 형성하는 것 외에, 또한 논리 동작 클러스터상에서 동작하는 함수(function)가 또한 존재한다. 이름 획득 함수(an obtain name function)는 발행중인 논리 파티션(issuing llgical partition)이 특정 타입의 논리 파티션 클러스터에 소속되는지를 판정하는데 사용될 수 있으며, 만약에 소속된다면, 이 논리 파티션 클러스터의 이름을 획득(get)한다.
도 1a는 본 발명의 예시적인 실시예에 있어서의 진단 인스트럭션의 상세한 설명을 도시한다. 진단 인스트럭션의 일반적인 형태가 "Enterprise Systems Architecture/390 Principles of Operation" (IBM 발행:SA22-7201-05)에서 개시되며 이들 내용은 본 명세서에서 참조로서 인용된다. 도 1a는 연산 코드 확장(60), (61)에 도시된 범용 레지스터 R3, (62) 및 (63)에 도시된 짝수-홀수 레지스터 쌍 R1및 LPC 이름을 포함하는 (57)에 도시된 이중 워드를 도시한다. 연산 코드 확장(60)의 비트 위치 16-31(51에 도시됨)는 실제 연산 코드 확장을 포함한다. 연산 코드 확장(60)의 비트 위치 0-15(50에 도시됨)가 무시된다.
연산 코드 확장(60)의 비트 16-31이 030016일 때, (61)에 도시된 범용 레지스터 R3는 서브코드 필드(53) 및 LPC 타입 필드(52)를 포함한다. 서브코드 필드(53)은 (61)에 도시된 범용 레지스터 R3의 비트 (16-31)에 위치하고 진단 인스트럭션에 의해 수행될 함수를 명시한다.
(62)에 도시된 범용 레지스터 R1은 레지스터의 짝수-홀수 쌍 중 짝수 레지스터이다. 범용 레지스터 R1은 LPC 이름을 포함하는 이중 워드(57)의 어드레스(54)를 포함한다. (63)에 도시된 이 쌍의 홀수 범용 레지스터 R1+1 커맨드의 성공 또는 커맨드 실패의 이유를 나타내는, 진단 인스트럭션에 의해 복귀되는 응답 코드(56)를 포함한다.
(61)에 도시된 범용 레지스터 R3의 서브 코드는 다음 함수를 나타낼 수 있다.
0:이름 선언(Declare Name)
1:이름 획득(Obtain Nmae)
(61)에 도시된 범용 레지스터 R3의 LPC 타입 필드는 다음 LPC 타입을 나타낼 수 있다.
0:시스템 이름(System Name)
1:채널 경로 관리를 위한 LPC(LPC for Channel Path Management)
2:CPU 관리를 위한 LPC(LPC for CPU Management)
진단 인스트럭션은 서브코드 필드(53) 값 및 타입 필드(52)를 제어함으로써 상이한 타입의 LPC들 상에 상이한 동작을 수행하는데 사용될 수 있다. 이름 선언 함수(declear name function)가 타입-0 LPC를 위해 명시될 때, 프로그램은 발행중인 논리 파티션(issuing logical partition)에서 실행하는 운영체제의 이름을 선언한다. 이름 선언 함수가 타입-1 LPC 또는 그 이상 타입의 LPC로 명시될 때, 프로그램은 발행중인 논리 파티션가 멤버로 있는 특정된 LPC 타입의 논리 파티션 클러스터의 이름을 선언한다. 이름 선언 함수는 또한 본 명세서에서 논리 파티션 클러스터의 생성으로서 지칭된다. (62)에 도시된 범용 레지스터 R1은 선언될 특정된 LPC타입의 LPC 이름 또는 시스템 이름을 포함하는 이중 워드(57)의 어드레스를 포함한다.
이름 획득 함수(obtain name function)가 타입-0 LPC에 대해 명시될 때, 논리 파티션 관리자는 발행중인 논리 파티션에서 실행되는 프로그램에 의해 이전에 선언된 운영체제의 이름을 제공한다. 이름 획득 함수는 또한 본 명세서에서 논리 파티션 클러스터의 식별로서 지칭된다. 이것은 발행중인 논리 파티션이 멤버가 되는 특정된 LPC 타입의 논리 파티션 클러스터의 이름이다. 특정된 LPC 타입의 선언된 시스템 이름 혹은 선언된 LPC 이름이 (62)에 도시된 범용 레지스터 R1에 저장된 어드레스에 의해 나타내진 이중 워드(57)에 저장된다.
본 발명의 또 다른 예시적인 실시예는 채널 경로 관리를 위한 논리 파티션 클러스터의 멤버인 상이한 시스템 이미지 그룹에 CHPID를 할당시키는 방법이다. 이 방법은 IBM 병렬 시스플렉스(IBM Parallel Sysplex) 다중 처리기 시스템을 포함하는 다양한 시스템과 결합하여 사용된다. 도 1b는 운영 체제 I/O 구성 커스텀화 프로세스(an operating system I/O configuration customization process)를 도시한다. (100)에서, 유저 인터페이스(도 1c)는 각각의 채널 경로가 LPC 이름으로 규정될 수 있게 해준다. LPC 이름(104)은 동일한 협동 프로세서의 논리 클러스터의 일부인 파티션 세트를 식별하는데 사용되는 이름을 최대 8바이트까지 명시한다. (101)에서, 운영체제 시스템 구성 프로세스는 머신 IOCP에 대한 인터페이스를 생성하여 머신 정의(the machine definition)를 커스텀화한다. IOCP 프로그램에 대한 인터페이스는 텍스트 레코드(text records) 형태를 취한다. 이후에 (103)에 도시된 I/O 구성 데이터세트(IOCDS)를 생성하기 위해 이들 텍스트 레코드가 (102)에서의 IOCP 프로그램에 의해 처리된다. 처리를 위해 머신을 초기화하기 위한 머신 파워-온-리세트 프로세스(POR)에 대한 입력으로서 IOCDS가 사용된다. IOCDS는 LPC 이름에 기초한 두개의 새로운 레코드를 포함한다. 이들 두개의 레코드는 CHPID LPC 이름 인덱스 레코드(200)(도 2에 도시됨) 및 LPC 이름 레코드(202)(도 2에 도시됨)이다. POR 동안, 이들 두개의 레코드는 하드웨어 시스템 영역(HSA:110)의 테이블(109)를 생성하는데 사용된다. HSA(110)은 또한 (105)에 도시된 바와 같이 LPC 이름을 포함한다. 도 1b는 CHPID 정의 옵션의 실례를 보여준다. 도 1b에 도시된 바와 같이, ID(20)를 가지는 채널 경로가 중앙 처리기 복합체상의 파티션들간에 공유된 것(SHARED)으로서 규정된다. LPC 이름, PLEX1은 채널 경로의 배타적 사용을 가지는 시스템 이미지 그룹을 식별한다.
도 2는 IOCDS(103)에 포함된 CHPID LPC 이름 인덱스 레코드(200) 및 LPC 이름 레코드(202)를 도시한다. CHPID LPC 이름 인덱스 레코드(200)는 256개의 1바이트 엔트리를 포함한다. 이것은 머신상의 모든 가능한 CHPID를 위한 하나의 엔트리에 대응한다. LPC 이름(203)을 획득하기 위해 CHPID LPC 이름 인덱스(201)는 LPC 이름 레코드(202)내로 인덱스시키는데 사용된다. 그러므로, CHPID를 액세스할 수 있는 하나 이상의 시스템 이미지의 그룹을 식별하는 LPC 이름(203)을 포함하는 LPC 이름 레코드 위치를 식별하는데 CHPID LPC 이름 인덱스 레코드(200)가 사용된다. CHPID LPC 이름 인덱스 레코드(200)에서의 제로 값(a value of zero)은 LPC 이름이 CHPID의 정의에서 사용되지 않는다는 것을 나타낸다. 제로가 CHPID LPC 이름 인덱스 레코드(200)에서의 특정 CHPID를 위해 저장된다면, 채널 경로의 사용은 LPC 이름에 기초한 임의의 시스템 이미지의 그룹으로 제한되지 않는다.
LPC 이름 레코드(202)는 최대 32개의 8바이트 LPC 이름(203)의 어레이를 포함한다. 이 어레이는 CHPID LPC 이름 인덱스 레코드(200)에서 1내지 32의 값에 의해 인덱스된다. LPC 이름 인덱스 레코드(200) 및 LPC 이름 레코드(202)는 HSA(109)의 테이블을 생성하는데 사용된다.
도 3a는 논리 파티션 관리 초기화 함수(a logical partition management initialization function)를 도시한다. 초기화가 301에 도시된 CEC 상의 논리 파티션을 활성화시키는 것을 선택할 때, 논리 파티션 관리자는 소정의 통상적인 초기화 함수(302)를 수행하기 위한 제어를 획득한다. 이들 통상적인 초기화 함수는 I/O 인터페이스 시스템 리세트를 그 파티션에 의해 접근 가능한 모든 채널 경로에 발행(issuing)하고, 내부 상태 정보를 초기화하는 것등을 포함한다. 통상적인 초기화가 완료된 이후에, 하이퍼바이저(hypervisor)는 어느 채널 경로가 (303)에서 LPC 이름으로 규정되어 있는지를 판정한다. 단계(303)의 상세한 기술이 도 3b에 도시되고 이후에 후술될 것이다. LPC 이름으로 규정된 모든 CHPID가 처리되어진 후에, 운영체제가 (304)에 도시된 바와 같이 고객에 의해 의도된 작업부하(workload)에 대한 처리를 초기화하고 개시하도록 운영 체제에 제어가 넘겨진다. 이후에 초기화 처리는 (305)에 도시된 바와 같이 완료된다.
도 3b는 도 3a의 단계 (303)에 대해 상세히 기술된 처리를 도시한다. 이 구성에 규정된 각각의 채널 경로에 대해, 논리 파티션 관리자는 먼저 LPC 이름이 채널 경로(322)를 위해 명시되어 있는지를 확인하기 위해 체크한다. 이것은 CHPID LPC 이름 인덱스 레코드(200)내의 CHPID 엔트리를 위치 검색함으로써 완료된다. 1 바이트 LPC 이름 인덱스(201)를 위치 검색하기 위해 CHPID LPC 이름 인덱스(200)가 CHPID 번호에 의해 인덱스된다. LPC 이름 인덱스(201)가 제로이면, LPC 이름이 그 CHPID(subject CHPID)를 위해 명시되지 않았으며, 처리는 단계 (323)로 계속된다. CHPID LPC 이름 인덱스(201)가 제로가 아니면, LPC 이름은 CHPID를 위해 명시되었고, 이후에 CHPID는 단계 (324)에서 오프라인(offline)으로 구성된다. CHPID가 단계 (323)에서 처리되는 상태로 존재한다면, 흐름은 다음 CHPID가 처리되는 (321)로 진행한다. 이 구성에서 규정된 모든 CHPID가 처리될 때까지 처리는 계속된다. 모든 CHPID 채널 경로가 처리되어진 이후에, 흐름은 단계 (325)로 진행하고 초기화는 도 3a의 단계 (304)로 진행한다.
도 3c는 논리 파티션 관리자가 채널 경로를 온라인으로 구성하도록 제어할 때의 처리를 도시한다. 도 3c의 처리는 운영 체제로부터 논리 파티션 관리자로 제어가 전달될 때(도 4a의 단계 406에 도시됨) 발생하거나 또는 오프라인인 CHPID를 온라인 상태로 구성하여 이들 CHPID가 이용가능하게 되도록 하는 오퍼레이터의 커맨드의 결과로서 발생한다. (331)에서, 논리 파티션 관리자는 LPC 이름이 구성되는 채널 경로를 위한 CHPID 번호를 사용하여 CHPID LPC 이름 인덱스 레코드(200)에 액세스함으로서 명시되었는지 여부를 판정한다. LPC 이름 인덱스(201)가 제로이면, CHPID가 (333)에서 온라인 상태로 될 수 있다. LPC 이름 인덱스(201)가 제로가 아니면, LPC 이름 레코드(202)에서 CHPID를 위한 LPC 이름(203)을 인출하는데 LPC 이름 인덱스(201)가 사용된다. (332)에서, LPC 이름 레코드(202)로부터의 LPC 이름(203)은 단계 (402)에서, HSA(110)에 저장된 현재 LPC 이름과 비교된다. 이름이 매칭(match)하면, CHPID는 도 (333)에 도시된 바와 같이 온라인 상태에 이르게 된다. 이름이 매칭하지 않으면, 이 프로세스는 단계 (334)에서 실패하여 발행자가 통지된다. CHPID 구성 프로세스는 단계 (335)에서 종료된다.
도 4a는 운영 체제 초기화 프로세스의 흐름도이다. 도 3a의 단계 (304)의 논리 파티션 관리자로부터 단계 (400)의 처리를 시작하기 위한 제어가 운영 체제로 넘겨진다. (401)에서, IPL 디바이스로부터 시스템 코드를 로딩하고, 저장을 초기화시키고, 운영 체제용 테이블 및 상태 정보를 초기화시키고, 사용 가능한 하드웨어 자원을 식별하고, 설치에 의해 제공된 커스텀화 정보를 프로세싱하는 등을 포함하는 통상의 운영체제 초기화가 발생한다. (490)에 도시된 커스텀화 정보 중 하나로는 운영 체제가 참여하게 될 LPC의 이름이다. 진단 인트스럭션의 입력 파라미터를 구성하는데 이 LPC 이름이 사용된다. (485)에서 사용될 하드웨어 자원(예를 들면, CHPID)의 소유권을 설정하기 위해 진단 인스트럭션이 시스템(논리 파티션 관리자 및 채널 서브 시스템)에 운영 체제의 아이덴티티(identity)를 알기 위한 진단 인스트럭션이 발행된다. 다음으로, 단계 (402)에서, 식별된 운영 체제(485)에 의해 이용 가능한 구성 콤포넌트 리스트를 인출하기 위해 운영 체제는 저장-구성-콤포넌트-리스트 채널 서브시스템 호출 인스트럭션(Store-Configuration_Component-List Channel Subsystem Call Instruction:CHSC)을 발행한다. 이들 복귀된 구성 콤포넌트는 동적으로 관리되어 질 CHPID이지만 본 발명에서 CHPID에 반드시 국한되는 것은 아니다. CHSC 처리는 도 4c를 참조하여 후술될 것이다. 운영 체제는 단계 (403)에서 CHPID 리스트를 저장한다. CHPID는 도 3b에 도시된 단계 (320-325)로 인해 초기에는 오프라인 상태이다. 운영 체제 초기화는 단계 (404)에서의 채널 경로를 온라인 상태로 구성하는데 필요한 커맨드를 발행할 수 있을 시점까지 계속된다. 매칭 LPC 이름을 가지는 채널 경로 리스트에서의 각각의 채널 경로의 경우에, CHPID는 단계 (405) 내지 (407)을 통해 온라인으로 구성된다. 전술된 바와 같이, 단계 (406)은 도 3c의 단계(330) 내지 (335)를 호출한다. 리스트내의 모든 CHPID가 처리되어진 이후에, 운영 체제는 (408)에서 자신의 초기화를 완료한다.
진단 인스트럭션은 LPC 이름을 선언함으로써 채널 경로 관리를 위한 논리-파티션 클러스터(LPC)의 멤버로서 논리 파티션을 등록하는데 사용된다. R3의 서브코드 필드(53)가 제로를 포함하고 LPC-타입 필드(52)가 1을 포함할 때, (62)에 도시된 범용 레지스터 R1은 LPC 이름을 포함하는 이중 워드(57)의 어드레스(54)를 포함한다. 홀수 범용 레지스터(63), R1+1은 커맨드 성공 또는 커맨드 실패 이유를 나타내는, 진단 커맨드에 의해 복귀된 응답 코드(56)를 포함한다.
도 4b는 단계 (402)에서 발행된 저장-구성-콤포넌트-리스트 CHSC 커맨드를 위한 커맨드 요구 블럭(410) 및 커맨드 응답 블럭(411)의 상세한 기술을 도시한다. 커맨드 요구 블럭(410)은 값 0020x를 포함하는 길이 필드(600), 저장-구성-콤포넌트-리스트 함수, 0032x를 나타내는 커맨드 코드(602) 및 커맨드에의해 큐잉(queued)될 하드웨어 콤포넌트 타입을 식별하는 CTYPE(604)를 포함한다. 커맨드 요구 블럭(411)은 길이 필드(606) 및 CTYPE(604)에 의해 요구된 하드웨어 자원(608) 리스트를 포함한다. 리스트의 하드웨어 자원의 수는 복귀된 요소 크기(ES)(412) 및 응답 블럭의 전체 길이에 의해 유도된다 (요소의 수=전체 크기 606/요소 크기 (412)).
도 4c는 저장-구성-콤포넌트-리스트 CHSC 커맨드(Store-Configuration-Component-List CHSC command)를 위한 처리를 도시한다. LPC의 협동 멤버간에 공유되어질 하드웨어 자원(채널 길이) 리스트 획득하기 위하여 이 커맨드는 도 4a의 단계 (402)의 시스템 초기화 동안 운영 체제에 의해 발행된다. 저장-구성-구성요소-리스트 CHSC를 위한 처리가 (420)에서 시작한다. 단계 (421)에서, LPC 이름이 진단 인스트럭션을 통하여 이전에 선언되었는지 어떤지를 판정한다. LPC 이름이 이전에 선언되지 않았다면, CHSC는 이 오류를 나타내는 응답 코드로써 (426)에서 실패하며 커맨드는 단계 (432)에서 종료한다. 이후에 이름이 구성에 대해 존재하는지를 확인하기 위해 LPC 이름 레코드(202)가 단계 (423)에서 검색된다. 단계 (424)에서, LPC 이름이 LPC 이름 레코드(202)에 포함되면, 그 이름(203)에 대응하는 인덱스(201)는 (425)에서 저장되고 그렇지 않으면 널 리스트(a null list)가 (427)에서 복귀된다. CHPID LPC 이름 인덱스 레코드(200)의 각각의 채널 경로의 경우에, 단계 (425)에서 저장된 인덱스는 단계 (429)의 CHPID LPC 이름의 대응 인덱스(201)에서의 인덱스와 비교된다. 인덱스가 매칭하면, 단계 (433)에서, 대응 CHPID가 응답 블럭(411)의 CHPID(608)의 리스트에 부가되고 전체 크기(606)가 요소 크기(412)만큼 증가된다. 이 프로세스는 단계 (430) 및 (428)에 의해 도시된 바와 같이 모든 가능한 CHPID에 대해 반복된다. 모든 CHPID가 일단 처리되어지면, 0001x의 응답 코드(415)가 설정된다. 커맨드 응답 블럭(411)은 이제 전체 응답 블럭(과 묵시적인 CHPID의 수)의 길이, 요소 크기 및 현재 LPC 이름(431)에 매칭하는 CHPID의 아이덴티티를 규정한다.
도 5는 액티브 서비스 호출 논리 프로세서 생성(a make active service service call logical processor:SCLP)(액티브 SCLP 생성) 커맨드를 위한 처리를 상세히 기술한다. 이 처리는 시스템 오퍼레이터가 ACTIVATE SWCHIOCDS=A0과 같은 단계 (500)에서 액티브 생성 커맨드를 발행시킴으로써 다음 POR을 위한 디폴트 IOCDS를 변경시키기로 선택한 때 수행된다. 액티브 생성 커맨드를 위한 타켓 IOCDS는 HSA에 포함된 것과 매칭하는 I/O 구성 토큰(a matching I/O configuration token)을 가져야 한다. 단계(501)에서 알려진 처리가 수행된다. 액티브 구성을 위한 현재 LPC 이름 레코드(202)에 포함된 모든 LPC 이름이 또한 타켓 IOCDS의 LPC 이름 레코드에 또한 포함되어 있는지를 검증함으로써 유효성 검사(validation)가 계속되어진다. 단계 (503)에서, 액티브 LPC 이름 레코드(202)에 대응하는 LPC 이름(203)을 검색하기 위해 액티브 구성의 CHPID 이름 인덱스 레코드(200)의 CHPID 엔트리가 조사된다. LPC 이름이 존재하면, 이 LPC 이름은 단계 (507)에서의 대응 CHPID를 위한 타켓 IOCDS에 위치한 LPC 이름과 비교된다. 이름이 매칭하면, 단계 (504) 및 (502)에 도시된 바와 같이 처리가 다음 CHPID로 계속된다. 이름이 단계 (507)에서 매칭되지 않는다면, 이후에 액티브 형성 커맨드는 (508)에 도시된 바와 같이 오류로 종료된다. 단계 (503)에서 CHPID가 HSA내에 대응 LPC 이름을 갖지 않는다면, 타켓 IOCDS에서의 CHPID가 또한 그것과 연관된 LPC 이름을 가질 필요가 없거나, 또한 액티브 생성 커맨드가 단계 (509)에서 도시된 바와 같이 실패할 것이다. 일단 모든 CHPID가 액티브 시스템과 타켓 IOCDS 사이의 어떠한 불일치(discrepandies)도 발견하지 않고서 처리되었다면, 액티브 생성 처리는 (508) 및 (506)에 도시된 바와 같이 완료한다.
위의 상세한 설명은 채널 경로를 하나 이상의 시스템 이미지 그룹에 할당시키는 방법에 관한 것이다. 그러나, 본 발명은 시스템 이미지 그룹에 다양한 자원(단지 채널 경로가 아님)을 할당시키는데 사용될 수 있다는 것을 이해해야한다. 예를 들면, 중앙 프로세서(central processors:CPs)가 유사한 방식으로 그룹에 할당될 수 있다. LPC 이름 인덱스 레코드가 중앙 프로세서 식별자에 의해 인덱스될 수 있다. 그러므로, 본 발명은 전반적으로 CHPID와 같은 자원 식별자에 기초하여 LPC에 자원을 할당시키는 관점으로 기술될 수 있다.
본 발명은 이들 프로세스를 실시하기 위한 컴퓨터-구현 프로세스 및 장치의 형태로 구현될 수 있다. 본 발명은 또한 플로피 디스켓, CD-ROM, 하드 드라이브, 또는 임의의 다른 컴퓨터-판독 가능 저장 매체와 같은 유형 매체로 구현된 인스트럭션을 포함하는 컴퓨트 프로그램 코드의 형태로 구현될 수 있는데, 이 때 컴퓨터 프로그램 코드가 컴퓨터에 로드되거나 컴퓨터에 의해 실행될 때, 컴퓨터는 본 발명을 실시하기 위한 장치가 된다. 본 발명은 또한 컴퓨터 프로그램 코드 형태로, 예를 들면, 저장 매체에 저장되었는지 어떤지, 컴퓨터내로 로드되었는지/또는 컴퓨터에 의해 실행되었는지 어떤지, 또는 광 섬유를 통해 또는 전자기 방사(electromagnetic radation)를 통해 전기 배선(electrical wiring) 또는 케이블링(cabling)과 같은 소정의 전송 매체를 통해 전송되는지 어떤지가 구현될 수 있으며, 이 때, 컴퓨터 프로그램 코드가 컴퓨터내로 로드되거나 컴퓨터에 의해 실행될 때, 컴퓨터는 본 발명을 실시하기 위한 장치가 된다. 컴퓨트 프로그램 코드 세그먼트가 범용 마이크로프로세서(a general-purpose microprocessor)상에서 구현될 때, 특정 로직 회로를 생성하는 마이크로프로세서를 구성한다.
본 발명의 바람직한 실시예가 도시되고 기술되는 동안, 본 발명의 사상 및 범주에 벗어나지 않는 범위내에서 다양한 형태로 변형되거나 재구성될 수 있다. 따라서, 본 발명은 약술하여 기술되려는 것이지 한정하려는 것이 아님을 이해해야 한다.
본 발명은 각 종류의 그룹들이 상이한 함수의 목적을 가지는 단일 머신, 단일 중앙 프로세서 복합체내에 상이한 종류의 협동 시스템 이미지 그룹을 생성하고 식별하는 방법을 제공하며 또한 구성 가능한 시스템내의 자원을 논리 파티션 클러스터내로 할당하는 방법을 제공한다.

Claims (10)

  1. 각각의 그룹이 함수(a function)를 가지는 다수의 협동 시스템 이미지(cooperating system images) 그룹을 생성 및 식별하는 방법에 있어서,
    논리 파티션 클러스터(a logical partition cluster)를 생성하고 상기 논리 파티션 클러스터에 상기 논리 파티션 클러스터를 식별하는 이름 및 상기 논리 파티션 클러스터의 함수를 지시하는 타입을 할당하기 위한 이름 선언 함수(a declare name function)를 실행시키는 단계와,
    상기 논리 파티션 클러스터와 연관된 상기 이름 및 상기 타입을 획득하기 위한 이름 획득 함수(an obtain name function)를 실행하는 단계를 포함하는
    다수의 협동 시스템 이미지 그룹을 생성 및 식별하는 방법.
  2. 제 1 항에 있어서,
    상기 이름 선언 함수 실행 단계 및 상기 이름 획득 함수 실행 단계는 진단 인스트럭션(a diagnose instruction)을 생성하는 단계를 포함하되,
    상기 진단 인스트럭션은
    수행될 함수를 나타내는 서브코드 필드(a subcode field)와
    상기 함수가 수행되어질 논리 파티션 클러스터 타입을 나타내는 논리 파티션 클러스터 타입 필드를 포함하는
    다수의 협동 시스템 이미지 그룹을 생성 및 식별하는 방법.
  3. 제 2 항에 있어서,
    상기 논리 파티션 클러스터 타입 필드는 운영 체제 이름(an operating system name), 채널경로 관리를 위한 논리 파티션 클러스터 및 CPU 관리를 위한 논리 파티션 클러스터 중 하나를 나타내는 다수의 협동 시스템 이미지 그룹을 생성 및 식별하는 방법.
  4. 제 2 항에 있어서,
    상기 서브코드 필드는 이름 선언 함수 및 이름 획득 함수 중 하나를 나타내는 다수의 협동 시스템 이미지 그룹을 생성 및 식별하는 방법.
  5. 제 3 항에 있어서,
    운영 체제 논리 파티션 클러스터상에서의 이름 선언 함수 실행은 발행중인 논리 파티션(issuing logical partition)에서 실행되는 운영 체제의 이름을 생성하는 다수의 협동 시스템 이미지 그룹을 생성 및 식별하는 방법.
  6. 제 3 항에 있어서,
    채널 경로 관리를 위한 논리 파티션 클러스터 상에서의 또는 CPU 관리를 위한 논리 파티션 클러스터상에서의 이름 선언 함수 실행은 발행중인 논리 파티션이 멤버가 되는 논리 파티션 클러스터의 이름을 생성하는 다수의 협동 시스템 이미지 그룹을 생성 및 식별하는 방법.
  7. 제 3 항에 있어서,
    운영 체제 논리 파티션 클러스터상에서의 이름 획득 함수 실행은 발행중인 논리 파티션에서 실행되는 운영 체제의 이름을 식별하는 다수의 협동 시스템 이미지 그룹을 생성 및 식별하는 방법.
  8. 제 3 항에 있어서,
    채널-경로 관리를 위한 논리 파티션 클러스터 상에서의 또는 CPU 관리를 위한 논리 파티션 클러스터상에서의 이름 획득 함수 실행은 상기 발행중인 논리 파티션에 의해 선언된 특정 LPC 타입의 논리 파티션 클러스터의 이름을 식별하는 다수의 협동 시스템 이미지 그룹을 생성 및 식별하는 방법.
  9. 각각의 그룹이 함수를 가지는 다수의 협동 시스템 이미지 그룹을 생성 및 식별하는 머신-판독 가능 프로그램 인스트럭션들로 엔코딩(encoded)된 저장 매체에 있어서,
    머신으로 하여금 논리 파티션 클러스터(a logical partition cluster)를 생성하고 상기 논리 파티션 클러스터에 상기 논리 파티션 클러스터를 식별하는 이름 및 상기 논리 파티션 클러스터의 함수를 나타내는 타입을 할당하기 위한 이름 선언 함수(a declare name function)를 실행시키는 단계와,
    상기 논리 파티션 클러스터와 연관된 상기 이름 및 상기 타입을 획득하기 위한 이름 획득 함수(an obtain name function)를 실행하는 단계를 포함하는 방법을 구현하도록 하는 인스트럭션들을 포함하는 저장 매체.
  10. 각각의 그룹이 함수를 가지는 다수의 협동 시스템 이미지(cooperating system images) 그룹으로 구성가능한 시스템에 있어서,
    논리 파티션 클러스터(a logical partition cluster)를 생성하고 상기 논리 파티션 클러스터에 상기 논리 파티션 클러스터를 식별하는 이름 및 상기 논리 파티션 클러스터의 함수를 지시하는 타입을 할당하는 이름 선언 함수와,
    상기 논리 파티션 클러스터와 연관된 상기 이름 및 상기 타입을 획득하는 이름 획득 함수(an obtain name function)를 포함하는 시스템.
KR1020000054680A 1999-09-28 2000-09-18 다수의 협동 시스템 이미지 그룹을 생성 및 식별하는방법, 시스템 및 저장 매체 KR100363378B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/407,514 US6567841B1 (en) 1999-09-28 1999-09-28 Method and apparatus for creating and identifying logical partition clusters
US9/407,514 1999-09-28
US09/407,514 1999-09-28

Publications (2)

Publication Number Publication Date
KR20010050502A true KR20010050502A (ko) 2001-06-15
KR100363378B1 KR100363378B1 (ko) 2002-12-05

Family

ID=23612397

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000054680A KR100363378B1 (ko) 1999-09-28 2000-09-18 다수의 협동 시스템 이미지 그룹을 생성 및 식별하는방법, 시스템 및 저장 매체

Country Status (3)

Country Link
US (1) US6567841B1 (ko)
KR (1) KR100363378B1 (ko)
IL (1) IL136547A0 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6986137B1 (en) * 1999-09-28 2006-01-10 International Business Machines Corporation Method, system and program products for managing logical processors of a computing environment
EP1321853A3 (en) * 2001-12-10 2009-12-23 Sap Ag Dynamic component transfer based on resource negotiations between computer systems
US7451302B2 (en) * 2004-03-10 2008-11-11 Hewlett-Packard Development Company, L.P. System and method for managing configuration data for a multi-cell computer system
US7693811B2 (en) * 2006-02-28 2010-04-06 International Business Machines Corporation Generating unique identifiers for logical partitions
US8458510B2 (en) 2010-08-12 2013-06-04 International Business Machines Corporation LPAR creation and repair for automated error recovery

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69123663T2 (de) 1990-08-31 1997-06-26 Ibm Kanäle in einem Rechnerein-Ausgabesystem
US5644712A (en) 1991-06-05 1997-07-01 International Business Machines Corporation Indirect addressing of channels via logical channel groups
US5257379A (en) * 1991-09-04 1993-10-26 International Business Machines Corporation Establishing synchronization of hardware and software I/O configuration definitions
US5423026A (en) 1991-09-05 1995-06-06 International Business Machines Corporation Method and apparatus for performing control unit level recovery operations
US5414851A (en) * 1992-06-15 1995-05-09 International Business Machines Corporation Method and means for sharing I/O resources by a plurality of operating systems
US5471609A (en) * 1992-09-22 1995-11-28 International Business Machines Corporation Method for identifying a system holding a `Reserve`
US5301323A (en) 1992-10-30 1994-04-05 International Business Machines Corp. Data processing system including dynamic channel path management
US5712974A (en) 1994-03-30 1998-01-27 International Business Machines Corporation Method and apparatus for controlling the configuration definitions in a data processing system with a plurality of processors
US5548791A (en) 1994-07-25 1996-08-20 International Business Machines Corporation Input/output control system with plural channel paths to I/O devices
US6047332A (en) * 1997-06-30 2000-04-04 Sun Microsystems, Inc. Global file system-based system and method for rendering devices on a cluster globally visible

Also Published As

Publication number Publication date
IL136547A0 (en) 2001-06-14
US6567841B1 (en) 2003-05-20
KR100363378B1 (ko) 2002-12-05

Similar Documents

Publication Publication Date Title
KR100406197B1 (ko) 자원 할당 방법, 시스템 및 저장 매체
JP6683848B2 (ja) インテリジェント構成検出技術
US7174274B2 (en) Gathering I/O measurement data during an I/O operation process
US8171482B1 (en) Application environment specifications for provisioning application specific runtime environments using subsets of resources required for execution
US5659756A (en) Method and system for providing access to logical partition information on a per resource basis
EP0889400B1 (en) System and method for transparent, global access to physical devices on a computer system
US7260663B2 (en) System and method for presenting interrupts
US7174550B2 (en) Sharing communications adapters across a plurality of input/output subsystem images
US20070255798A1 (en) Brokered virtualized application execution
CN107113341B (zh) 用于数据划分的分布式关系数据库管理系统中事务的高吞吐量处理的系统
US7277968B2 (en) Managing sets of input/output communications subadapters of an input/output subsystem
US7487222B2 (en) System management architecture for multi-node computer system
US6275860B1 (en) Method and apparatus for synchronizing function values in a multiple protocol system
KR100363378B1 (ko) 다수의 협동 시스템 이미지 그룹을 생성 및 식별하는방법, 시스템 및 저장 매체
JP7083446B2 (ja) 複数のプロセッサによる共有キャッシュ・ラインの同時変更
US20140164594A1 (en) Intelligent placement of virtual servers within a virtualized computing environment
US20050071531A1 (en) Concurrent arbitration of interrupt resources
US9088569B2 (en) Managing access to a shared resource using client access credentials
JP2012079245A (ja) 仮想計算機のボリューム割当て方法およびその方法を用いた計算機システム
US10185679B2 (en) Multi-queue device assignment to virtual machine groups
US8689230B2 (en) Determination of running status of logical processor
JP2013506898A5 (ko)
JP2003067206A (ja) Lparシステムにおいて装置をダイナミックに割り当てるための方法
US12105824B2 (en) Information processing system for managing data storage and retrieval and method
Wyman et al. Multiple-logical-channel subsystems: Increasing zSeries I/O scalability and connectivity

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121024

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20131025

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20141024

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20151027

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20161026

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20171026

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20191029

Year of fee payment: 18