KR20000040132A - 압축된 프로그램을 이용한 다중 프로세서 시스템의 초기화방법 - Google Patents

압축된 프로그램을 이용한 다중 프로세서 시스템의 초기화방법 Download PDF

Info

Publication number
KR20000040132A
KR20000040132A KR1019980055684A KR19980055684A KR20000040132A KR 20000040132 A KR20000040132 A KR 20000040132A KR 1019980055684 A KR1019980055684 A KR 1019980055684A KR 19980055684 A KR19980055684 A KR 19980055684A KR 20000040132 A KR20000040132 A KR 20000040132A
Authority
KR
South Korea
Prior art keywords
program
processor
compressed
initializing
data
Prior art date
Application number
KR1019980055684A
Other languages
English (en)
Other versions
KR100308836B1 (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 이계철
Priority to KR1019980055684A priority Critical patent/KR100308836B1/ko
Publication of KR20000040132A publication Critical patent/KR20000040132A/ko
Application granted granted Critical
Publication of KR100308836B1 publication Critical patent/KR100308836B1/ko

Links

Classifications

    • 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/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 OMP의 저장장치에서 목표가 되는 프로세서의 메모리까지 실행 프로그램을 적재하는 초기화 과정의 시간 단축과 OMP 프로세서의 부하를 줄일 수 있도록 한 압축된 프로그램을 이용한 다중 프로세서 시스템의 초기화방법에 관한 것으로, 다중 프로세서 시스템의 초기화하는 과정에 있어서 프로그램의 크기를 줄임으로써 초기화하는 과정에 소요되는 시간과 OMP 프로세서의 부하를 줄이고, 부하가 줄어듦으로써 동시에 초기화할 수 있는 프로세서의 개수도 늘어난다. 또 프로그램의 크기를 줄임으로써 백업에 필요한 시간의 단축과 디스크의 용량이나 마그네틱테이프의 개수도 줄어들어 효율적으로 시스템을 운용 관리할 수 있다.

Description

압축된 프로그램을 이용한 다중 프로세서 시스템의 초기화방법
본 발명은 압축된 프로그램을 이용한 다중 프로세서 시스템의 초기화방법에 관한 것으로, 보다 상세하게는 다중 프로세서의 구조를 가지는 시스템에서 운용 및 유지보수 기능을 담당하는 프로세서(Operation and Maintenance Processor, 이하 OMP라 함)의 저장장치에 실행 파일을 저장하여 두고 목표(target) 프로세서의 초기화 필요시 OMP의 저장장치에서 목표 프로세서 관련 실행 파일을 통신 채널을 이용하여 목표 프로세서로 전송 및 메모리에 적재한 후 실행하는 방법에 관한 것이다.
일반적으로, 다중 프로세서 구조를 가지는 시스템에서 신규 기능이나 보완된 소프트웨어를 초기화하거나 시스템 전체를 초기화하는 방법에 있어서 외부에서 제작된 실행 프로그램 파일을 시스템 내부의 디스크나 마그네틱테이프 장치 등의 저장장치에 저장하게 된다. 이런 저장 장치는 시스템 전체의 운용 및 유지 보수를 담당하는 프로세서에서 관리하게 된다. 이러한 OMP에서는 특정 기능의 초기화나 프로세서의 초기화를 하면 OMP에서 저장장치에 있는 실행 프로그램에서 텍스트(text)와 데이터(data) 부분 그리고 약간의 부수적인 정보를 통신 채널을 통해 목표 프로세서에 전송하게 되고, 목표 프로세서에서는 부수적인 정보를 이용해 텍스트와 데이터를 해당 메모리의 특정 주소(address)에 적재하게 된다. 부분적으로 실행 프로그램을 프로세서에 적재하여 초기화하는 경우나 프로세서를 완전히 초기화하는 과정에서 목표 프로세서가 여러 개가 존재할 경우 OMP에서는 동시에 여러 프로세서에 프로그램을 전송하기 위해 같은 프로그램을 여러 통신 채널로 전송을 해야 한다. 동일한 프로그램을 여러 프로세서로 전송함으로써 저장장치로부터 프로그램을 여러 번 읽어 오는 동작을 횟수를 줄일 수 있게는 되나 하나의 프로세서에서 여러 프로세서로 전송함에 따라 지연이 생기게 되고, 그에 따라 OMP의 부하도 증가하게 된다. 그래서, 부하를 낮추기 위해서는 순차적으로 시간 간격을 두고 프로그램 전송을 위해 자원을 점유, 해제 동작을 반복하면서 프로그램을 전송해야 한다. 이런 원인들로 인해 초기화 과정에서 OMP의 부하가 증가하거나 초기화 시간이 길어지는 문제가 발생한다.
따라서 본 발명은 상기한 종래 사정을 감안하여 이루어진 것으로, OMP의 저장장치에서 목표가 되는 프로세서의 메모리까지 실행 프로그램을 적재하는 초기화 과정의 시간 단축과 OMP 프로세서의 부하를 줄일 수 있도록 한 압축된 프로그램을 이용한 다중 프로세서 시스템의 초기화방법을 제공함에 목적이 있다.
상기한 목적을 달성하기 위해 본 발명의 바람직한 실시예에 따른 압축된 프로그램을 이용한 다중 프로세서 시스템의 초기화방법은, 운용 및 유지보수 기능을 수행하는 프로세서의 디스크에 응용 프로그램의 실행 프로그램/데이터를 저장하여 두고, 목표 프로세서의 초기화 또는 특정 기능을 초기화할 때 프로세서간의 통신 채널을 이용하여 목표 프로세서 자체 또는 목표 프로세서의 특정 기능을 초기화하는 방법에 있어서,
상기 운용 및 유지보수 기능을 수행하는 프로세서의 디스크에 초기화 관련 실행 프로그램을 압축 형태로 재구성하여 저장하는 과정과;
다수의 프로세서중에서 어느 한 프로세서로부터의 초기화 요청시 상기 운용 및 유지보수 기능을 수행하는 프로세서에서 디스크에 저장된 상기 압축 실행 프로그램을 읽어서 목표 프로세서로 전송하는 과정 및;
상기 목표 프로세서에서 상기 압축 실행 프로그램을 수신하여 복원한 후 메모리에 적재하는 과정을 구비한다.
상기와 같이 구성된 본 발명에 따르면, 여러 프로세서 중에서 임의의 프로세서가 초기화를 OMP의 전송 프로세스에 요청을 한 후에 해당 프로세서의 수신 프로세스는 대기 상태에 들어가고 OMP의 전송 프로세스는 해당 프로세서에 전송할 프로그램 목록을 작성하고 프로그램의 압축 여부를 검사하여 결과를 해당 프로세서의 수신 프로세스에 전송하고, 수신 프로세스는 헤더 정보에서 프로그램의 압축 여부를 판단하고 복원 프로세스를 대기시킨 후에 압축된 프로그램의 텍스트+데이터를 수신하면 버퍼에 별도로 수록하고 복원 프로세스가 버퍼의 내용을 읽어서 복원하여 메모리에 적재함으로써, 모든 프로그램의 메모리상의 적재가 종료한 후 파일을 실행한다.
도 1은 본 발명이 적용되는 전전자교환기(TDX-10A)시스템의 초기화 과정의 개요도,
도 2는 본 발명의 실시예 설명에 채용되는 압축 실행 파일의 구조도,
도 3은 본 발명에 따른 초기화의 정보갱신 과정에서의 CPU시간활용동작의 흐름도이다.
도면의 주요부분에 대한 부호의 설명
1 : 컴퓨터 시스템 2 : 운용 및 유지보수 프로세서
3 : 목표 프로세서 4 : 컴퓨터 시스템의 CPU
5 : 압축 프로세서 6 : 컴퓨터 시스템의 디스크
7 : 압축하기 이전의 실행 프로그램 8 : 압축된 실행 프로그램
9 : 마그네틱테이프 장치 10 : 교환기의 디스크
11 : 디스크(10)의 압축된 실행 프로그램
12 : 전송 프로세서 13 : IPC 네트워크
14 : 목표 프로세서의 수신 프로세서 15 : 버퍼
16 : 복원 프로세서 17 : 메인 메모리
이하, 본 발명의 실시예에 대해 첨부된 도면을 참조하여 보다 상세히 설명한다.
도 1은 본 발명이 적용되는 전전자교환기(TDX-10A)시스템의 초기화 과정의 개요도로서, 참조부호 1은 교환기 외부의 프로그램 제작용 컴퓨터 시스템이고, 2는 OMP, 3은 목표가 되는 프로세서로서 NTP(Number Translation Processor), INP(Interface Control Processor), MMP(Man Machine Processor), ASP(Access Switching Processor)가 될 수 있고, 4는 상기 컴퓨터 시스템(1)의 CPU, 5는 상기 CPU(4)내의 압축 프로세스, 6은 컴퓨터 시스템(1)의 디스크, 7은 압축하기 이전의 실행 프로그램, 8은 압축된 실행 프로그램, 9는 마그네틱테이프 장치, 10은 교환기의 디스크, 11은 상기 교환기 디스크(10)의 압축된 실행 프로그램, 12는 전송 프로세스, 13은 IPC(InterProcessor Connection) 네트워크, 14는 목표 프로세서(3)의 수신 프로세스, 15는 목표 프로세서(3)의 버퍼, 16은 목표 프로세서(3)의 복원 프로세스, 17은 목표 프로세서(3)의 메인 메모리를 나타낸다.
상기 도 1에서, 압축된 프로그램(8)은 교환기 외부의 시스템인 컴퓨터 시스템(1)에서 원본 실행 프로그램(7)을 압축 및 재구성하여 제작을 하고 교환기로의 수록은 마그네틱테이프 장치(9)를 이용해서 교환기의 디스크(10)에 저장을 한다. 교환기에서의 초기화는 OMP(2)의 전송 프로세스(12)가 디스크(10)에서 압축된 실행 프로그램을 읽어 프로그램의 압축 여부를 판단하고 그 정보를 목표 프로세서(3)의 수신 프로세스(14)에 IPC 네트워크(13)를 통해 전송한다. 수신 프로세스(14)는 프로그램의 압축 여부를 검사해 기존의 초기화 과정과 신규의 압축 프로그램을 이용한 초기화 과정을 수행할 지를 결정한다. 압축된 프로그램을 수신하면 프로그램의 압축된 텍스트+데이터부분을 버퍼(15)에 수록을 한다. 복원 프로세스(16)에서는 버퍼(15)에 기록된 내용을 읽어서 복원하고 텍스트/데이터의 정확한 복원 여부를 검증한 후 텍스트/데이터영역을 분리한다. 분리 후에는 목표 프로세서(3)의 메모리 영역에 적재하고 모든 프로그램이 적재되면 모든 실행 프로그램을 수행시킨다.
도 2는 본 발명의 실시예 설명에 채용되는 압축 실행 파일의 구조도로서, 실행 프로그램을 압축하여 재구성하는 과정에 대해 설명하고 있다. 동 도면에서 실행 프로그램을 압축하여 재구성하는 과정은 3단계로 나뉘어진다. 첫째로 압축된 프로그램의 헤더(25)는 원래의 헤더(21)에서 필요한 정보와 압축된 프로그램에 필요한 정보를 이용하여 재구성한다. 재구성한 헤더에 입력되는 정보는 매직 코드(magic code), 헤더 checksum, 압축된 텍스트+데이터영역의 checksum, 텍스트영역의 크기와 데이터영역의 크기, 텍스트와 데이터의 내용이 메모리에 적재될 주소이다. 둘째, 원래 실행 프로그램의 텍스트영역(22)과 데이터영역(23)의 내용은 각각의 영역을 별개의 영역으로 나누어 있지만 압축하는 과정에서는 하나의 영역(27)으로 간주하고 압축한다. BSS영역(24)에 있는 정보는 필요 없으므로 삭제한다. 셋째, 헤더(25)와 텍스트+데이터영역(27)을 만드는 과정에서 헤더(25)와 텍스트+데이터영역(27) 사이에 매직 코드(magic code;26)가 추가로 기록된다. 텍스트+데이터의 내용에 대한 CRC(Cyclic Redundancy Checks)영역(28) 제작과 압축하기 이전의 텍스트영역의 크기와 데이터영역의 크기의 합(29)을 기록한다.
도 3은 본 발명에 따른 초기화의 정보갱신 과정에서의 CPU시간활용동작의 흐름도이다.
먼저, 여러 프로세서중에서 임의의 프로세서가 초기화를 OMP의 전송 프로세서에 요청(31)한 후에 해당 프로세서의 수신 프로세서는 대기 상태로 들어가고, 그 OMP의 전송 프로세서는 해당 프로세서에 전송할 프로그램 목록을 작성하고 프로그램의 압축 여부를 검사하여 결과(헤더 정보 포함)를 해당 프로세서의 수신 프로세서에 전송한다(32). 그에 따라, 그 수신 프로세서는 헤더 정보에서 프로그램의 압축 여부를 판단하고 복원 프로세서를 대기시키고 나서(33), 그 압축된 프로그램을 받기 위해 전송 프로세서로 그 압축된 파일을 송신하라고 요구메시지를 보내게 된다(34). 그 결과 전송 프로세서에서는 그 압축된 파일을 수신 프로세서로 송신하게 됨에 따라 수신 프로세서에서는 압축된 프로그램의 텍스트+데이터를 수신하고 수신된 텍스트+데이터를 버퍼에 별도로 수록한다(36). 이후 대기중이던 복원 프로세서가 버퍼의 내용을 읽어서 복원하여 메모리에 적재한다(37). 복원 프로세서는 수신 프로세서로 파일 복원이 완료되었음을 알리고(38), 수신 프로세서는 전송 프로세서로 파일 수신이 완료되었음을 알리게 된다(39). 모든 프로그램의 메모리상의 적재가 종료되면 파일을 실행시키게 된다.
여기서, 종래의 프로그램의 전송 결과는 현재의 프로그램 전송이 종료된 후에 전송 프로세스가 아이들(IDLE)한 상태에서 수신 프로세스에서 송신 프로세스로 결과를 통보하면(39) 현재 프로그램에 대한 전송 결과가 갱신이 되었으나, 이 시점에서 정보 갱신 작업을 수행하지 않고 전송프로세스가 다음 프로그램을 전송한 후의 아이들한 상태의 시간을 이용한다. 그 수행과정을 설명하면 다음과 같다. 하나의 프로그램의 전송이 완료되면 결과를 갱신하지 않고 다음 프로그램을 전송하고(35) 수신 프로세스에서는 버퍼에 프로그램을 수록한다(36). 복원 프로세스에서는 복원 작업이 종료되면 완료 결과(38)를 수신 프로세스로 통보하고 수신 프로세스는 프로그램 수신 완료(39) 결과를 통보한다. 이 시점까지는 전송 프로세스에서는 아이들한 상태로 있게 된다. 이 상태에서 현재 프로그램의 전송결과가 통보되기 전까지 이전에 전송한 프로그램의 전송 결과를 갱신하는 작업을 수행한다. 이 방법을 적용함으로써 목표 프로세서에서 복원 작업을 하는 동안 아이들한 상태에 있는 OMP의 CPU시간을 활용함으로써 여러 프로세서, 프로그램의 정보를 갱신하기 위한 CPU시간을 줄이게 된다.
이상 설명한 바와 같은 본 발명에 의하면, 다중 프로세서 시스템의 초기화하는 과정에 있어서 프로그램의 크기를 줄임으로써 초기화하는 과정에 소요되는 시간과 OMP 프로세서의 부하를 줄이고, 부하가 줄어듦으로써 동시에 초기화할 수 있는 프로세서의 개수도 늘어난다. 또 프로그램의 크기를 줄임으로써 백업에 필요한 시간의 단축과 디스크의 용량이나 마그네틱테이프의 개수도 줄어들어 효율적으로 시스템을 운용 관리할 수 있다.
한편 본 발명은 상술한 실시예로만 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위내에서 수정 및 변형하여 실시할 수 있다.

Claims (5)

  1. 운용 및 유지보수 기능을 수행하는 프로세서의 디스크에 응용 프로그램의 실행 프로그램/데이터를 저장하여 두고, 목표 프로세서의 초기화 또는 특정 기능을 초기화할 때 프로세서간의 통신 채널을 이용하여 목표 프로세서 자체 또는 목표 프로세서의 특정 기능을 초기화하는 방법에 있어서,
    상기 운용 및 유지보수 기능을 수행하는 프로세서의 디스크에 초기화 관련 실행 프로그램을 압축 형태로 재구성하여 저장하는 과정과;
    다수의 프로세서중에서 어느 한 프로세서로부터의 초기화 요청시 상기 운용 및 유지보수 기능을 수행하는 프로세서에서 디스크에 저장된 상기 압축 실행 프로그램을 읽어서 목표 프로세서로 전송하는 과정 및;
    상기 목표 프로세서에서 상기 압축 실행 프로그램을 수신하여 복원한 후 메모리에 적재하는 과정을 구비하는 것을 특징으로 하는 압축된 프로그램을 이용한 다중 프로세서 시스템의 초기화방법
  2. 제 1항에 있어서,
    상기 압축 실행 프로그램을 재구성하는 과정은 원래의 헤더에서 필요한 정보와 압축된 프로그램에서 필요한 정보를 이용하여 압축된 프로그램의 헤더를 재구성하는 단계와, 원래의 실행 프로그램의 텍스트영역과 데이터영역을 하나의 영역으로 간주하고 압축하는 단계를 구비하는 것을 특징으로 하는 압축된 프로그램을 이용한 다중 프로세서 시스템의 초기화방법.
  3. 제 2항에 있어서,
    상기 압축된 프로그램의 헤더와 텍스트+데이터영역 사이에 매칙 코드가 추가로 기록되는 것을 특징으로 하는 압축된 프로그램을 이용한 다중 프로세서 시스템의 초기화방법.
  4. 제 3항에 있어서,
    상기 압축된 실행 프로그램에는 상기 텍스트+데이터의 내용에 대한 제어 레지스터 커넥터와, 압축하기 이전의 텍스트영역의 크기와 데이터영역의 크기의 합이 추가로 기록되는 것을 특징으로 하는 압축된 프로그램을 이용한 다중 프로세서 시스템의 초기화방법.
  5. 제 1항에 있어서,
    상기 운용 및 유지보수 기능을 수행하는 프로세서에서 현재의 압축 프로그램을 전송하고 아이들상태에 있는 동안, 바로 직전에 전송한 압축 프로그램의 전송결과를 갱신하게 하여 상기 목표 프로세서에서 복원작업을 하는 동안 아이들상태에 있는 상기 운용 및 유지보수 기능을 수행하는 프로세서의 CPU시간을 활용하는 것을 특징으로 하는 압축된 프로그램을 이용한 다중 프로세서 시스템의 초기화방법.
KR1019980055684A 1998-12-17 1998-12-17 압축된프로그램을이용한다중프로세서시스템의초기화방법 KR100308836B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980055684A KR100308836B1 (ko) 1998-12-17 1998-12-17 압축된프로그램을이용한다중프로세서시스템의초기화방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980055684A KR100308836B1 (ko) 1998-12-17 1998-12-17 압축된프로그램을이용한다중프로세서시스템의초기화방법

Publications (2)

Publication Number Publication Date
KR20000040132A true KR20000040132A (ko) 2000-07-05
KR100308836B1 KR100308836B1 (ko) 2001-12-17

Family

ID=19563362

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980055684A KR100308836B1 (ko) 1998-12-17 1998-12-17 압축된프로그램을이용한다중프로세서시스템의초기화방법

Country Status (1)

Country Link
KR (1) KR100308836B1 (ko)

Also Published As

Publication number Publication date
KR100308836B1 (ko) 2001-12-17

Similar Documents

Publication Publication Date Title
EP0106213B1 (en) Decentralized information processing system and initial program loading method therefor
EP1100001B1 (en) Storage system supporting file-level and block-level accesses
KR100987746B1 (ko) 작업 관리 장치, 클러스터 시스템 및 작업 관리 프로그램을기록한 컴퓨터 판독 가능한 기록 매체
CN111984465A (zh) 数据库远程备份方法、装置、介质和电子设备
JP2021524104A (ja) マスター・スタンドバイコンテナシステム切替
CN113641413A (zh) 目标模型加载更新方法及装置、可读介质和电子设备
KR19990042176A (ko) 고속병렬컴퓨터의 노드 부트 방법
CN102255866A (zh) 一种数据下载方法及装置
WO2020060620A1 (en) Storage segment server covered cache
US5450567A (en) Method and system for program change in distributed data processing system
US20070067488A1 (en) System and method for transferring data
CN116560878A (zh) 一种内存共享方法和相关装置
KR100308836B1 (ko) 압축된프로그램을이용한다중프로세서시스템의초기화방법
US8359602B2 (en) Method and system for task switching with inline execution
JP3252464B2 (ja) 仮想計算機システム
KR100388612B1 (ko) 교환 시스템에서의 패키징 압축 방법
EP3853734A1 (en) Applying a log to storage segments
JP6802304B2 (ja) ストレージ制御装置、ストレージ制御システム、ストレージ制御方法、及び、ストレージ制御プログラム
JPH06295289A (ja) 複数計算機におけるブート方法
JP3307331B2 (ja) ネットワークファイルシステムのデータ転送方法
JPH08147251A (ja) 並列計算機
CN115079931A (zh) 分布式存储节点的处理系统、方法、装置、设备和介质
KR100342684B1 (ko) 이중화된 프로세서에서 스탠바이 프로세서의 로딩 방법
CN117130591A (zh) 一种代码生成方法、系统及相关设备
KR20000044525A (ko) 교환기용 프로그램 로디드 데이터 로딩방법

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
FPAY Annual fee payment

Payment date: 20090901

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee