KR940007832B1 - 실시간 시스템의 프로세서 부하 측정방법 - Google Patents

실시간 시스템의 프로세서 부하 측정방법 Download PDF

Info

Publication number
KR940007832B1
KR940007832B1 KR1019910024061A KR910024061A KR940007832B1 KR 940007832 B1 KR940007832 B1 KR 940007832B1 KR 1019910024061 A KR1019910024061 A KR 1019910024061A KR 910024061 A KR910024061 A KR 910024061A KR 940007832 B1 KR940007832 B1 KR 940007832B1
Authority
KR
South Korea
Prior art keywords
measurement
performance
interrupt
load
measuring
Prior art date
Application number
KR1019910024061A
Other languages
English (en)
Other versions
KR930014101A (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 KR1019910024061A priority Critical patent/KR940007832B1/ko
Publication of KR930014101A publication Critical patent/KR930014101A/ko
Application granted granted Critical
Publication of KR940007832B1 publication Critical patent/KR940007832B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

내용 없음.

Description

실시간 시스템의 프로세서 부하 측정방법
제 1 도는 본 발명이 적용되는 하드웨어 시스템의 구성도.
제 2 도는 본 발명이 적용되는 전체 소프트웨어 구조도.
제 3 도는 본 발명이 적용되는 소프트웨어 블럭 구성도.
제 4 도는 프로세서 정의 식별자의 구조도.
제 5 도 내지 10도는 본 발명에 따른 처리 흐름도.
* 도면의 주요부분에 대한 부호의 설명
11 : 사용자 교환 소프트웨어 12 : 운영체제(O.S)
13 : 데이타 베이스 관리 시스템(DBMS)커널
14 : 패킷 처리기 커널
15 : 모드경계 16 : 호처리 프로세스
17 : DBMS 프로세스 18 : 슈퍼바이저 프로세스
19 : 성능측정 관리기 20 : 성능 누적 테이블
21 : 성능측정용 타이머(PT) 22 : 디스패처(Dispatcher)
본 발명은 실시간 시스템의 프로세서 부하 측정 기능 구현 방법에 관한 것이다.
실시간 시스템의 전전자 교환기 시스템은 서비스의 중단없이 동작하여야 하는 특징과 높은 신뢰성이 요구되는 특징이 있다. 이와 같은 실시간 시스템의 특징을 만족시키기 위하여 다음과 같은 사항이 고려되어야 한다.
첫째, 프로세서의 과부하제어를 통하여 진행중인 교환 서비스에는 최소한의 영향을 미치면서 연속적으로 서비스가 가능할 수 있도록 시스템의 상태를 유지하여야 한다. 둘째, 시스템의 안정성 및 신뢰성을 높이기 위하여 장애를 발생시키는 원인을 조기에 검출하여 장애 부분을 국부화하고, 그 원인을 조기에 조치하여야 한다. 세째, 시스템의 성능을 높이기 위하여 시스템의 병목현상을 초래하는 부분을 발견하고 이를 개선할 수 있어야 한다.
일반적인 시스템에서는 구현의 어려움이 있으며 용도가 적은편이나 교환기와 같은 높은 신뢰도를 요하는 시스템을 개발할 때에는 반드시 있어야 하며 그 오우버헤드가 최소가 되도록 하여야 한다. 분을 조기 진단 할 수 있는 장점이 있다. 종래에는 부하 측정점을 정확히 구현하기 어려운 구조로 되어 있어 부분적인 방법만 존재하였다.
따라서, 본 발명의 목적은측정 단위가 짧은(41마이크로 초) 타이머 운용으로 정확성을 기한, 그리고 운영체계 커널 구조내에 측정점을 빠짐없이 둠으로서 부하 측정의 어려움을 해결한 프로세서의 부하 측정방법을 제공하는데 있다.
상기 목적을 당설하기 위하여 본 발명은, 타이머와 제어 유니트를 구비한 다기능 주변 제어 칩, 중앙처리장치유니트, 및 성능 누적 테이블을 탑재한 기억장치를 포함하여 구성되는 전전자 교환기의 중앙제어장치보드에 적용되어 프로세서의 부하를 측정하는 방법에 있어서 ; 시스템 초기화가 이루어지면 성능 및 부하측정에 관한 초기화를 행하는 제 1 단계와, 각 정합기의 정합 기능전 후에 측정점을 두어 성능 측정요구에 따라 CPU 점유율을 해당항목에 누적하며 상세 측정의 요구에 따라 각 호출당 수행 시간을 수집하는 제 2 단계와, 프로세서 정의 식별 번호 규칙을 운용하여 디스패쳐를 통한 특정 프로세서의 수행 시간을 수집하는 제 3 단계와, 인터럽트 처리기에 이터럽트 처리 기능 전 후에 측정점을 두어 성능 측정요구에 따라 첫번째 인터럽트와 그 이후의 인터럽트를 구분하여 점유율을 인터럽트부에 누적하는 제 4 단계와, 유효한 일이 없으면 공회전을 하는 시스템 프로세스의 전 후에 측정점을 두어 CPU의 아이들(idle)시간을 측정하는 제 5 단계와, 측정 모드 스위칭을 하면서 타이머 값을 읽어서 부하 계산 및 등록을 하는 제 6 단계에 의해 수행되는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 일실시예를 상세히 설명한다.
제 1 도는 본 발명이 적용되는 하드웨어인 전전자 교환기의 상위 프로세서(MPH)의 구성도로서, a는 전체 하드웨어의 이중화 구성도, b는 MPMA의 구성도이다.
도면에서, 1은 중앙처리장치 보드(MPMA), 2는 메모리 오류 제어 보드(MECA), 3은 이중화 운용제어보드(DCCA), 4는 대용량 저장 보드(HSIA), 5는 프로세서 통신 제어보드(PCCA), 6은 입출력인터페이스보드(IOIA), 7은 중앙처리장치 유니트(CPU), 8은 기억장치, 9는 다기능 주변 제어칩(MFP)을 각각 나타낸다.
도면에 도시한 바와같이, 본 발명이 적용되는 상위 프로세서 하드웨어(MPH)는 중앙처리장치 보드(1)와 메모리 보드(4)를 가지며, 본 발명의 소프트웨어가 탑재되어 동작하는 중앙처리장치 보드(1 : MPMA), 상기 MPMA(1)의 제어를 받아 타 프로세서와의 통신을 담당하는 프로세서 통신제어 보드(5 : PCCA), 이중화와 관련하여 D-채널, 및 C-채널 제어를 담당하는 이중화 운용 제어 보드(4 : DCCA)가 시스팀 주 버스에 연결되어 있다.
중앙처리장치 보드(1 : MPMA)는, 기본적으로, 시스팀 버스로 연결된 중아처리장치유니트(7), 기억장치(8), 다기능 주변 제어 칩(9)으로 구성되며, 성능측정을 위하여 상기 다기능 주변 제어 칩(9)내에는 타이머와 제어 유니트가 구비되며, 기억장치(8)내에는 성능 누적 테이블을 유지한다.
이와 같은 구성은 일반적인 분산시스팀의 구성이지만 교환 소프트웨어 및 운영체계를 실행하기 위해서는 이와같은 구성이 구비되어야 한다.
제 2 도는 본 발명이 적용되는 전체 소프트웨어 구조도로서, 도면에서 11은 사용자 교환 소프트웨어, 12는 운영체계(O.S), 13은 데이타 베이스 관리 시스템(DBMS)커널, 14는 패킷 처리기 커널, 15는 모드경계, 16은 호처리 프로세스, 17은 DBMS 프로세스, 18은 슈퍼바이저 프로세스, 19는 성능측정 관리기(이하, PMM이라 함), 20은 성능 누적 테이블(이하, PAT라 함), 21은 성능측정용 타이머(PT), 22는 디스패처(Dispatcher), 깃발표시 부호는 부하측정점을 각각 나타낸다.
전전자 교환 소프트웨어는 제 1 도의 상기 하드웨어 상에서 비동기적으로 발생하는 사건을 통해서 현재 수행하고 있는 모드로부터 커널 모드로 전환하여 긴급한 사건을 처리하기 때문에 두가지 운용모드를 갖는다.
사용자 프로그램이 동작하는 운용모드를 사용자 모드라 하면 이외에 모드경계(15) 내부에서 동작하는 모드를 커널 모드라고 한다. 따라서 사용자 교환 소프트웨어(11)로부터 프로세서 부하 조회(가) 및 상세 부하측정 조회(나)를 행하면 운영체계 커널(12)내의 PMM(19)가 동작하게 되며, PAT(20)의 누적 값을 알려 주게 된다. 그리고 각종 정합기와 디스패처(22)와 인터럽트 처리기 내에 성능 수집 기능을 추가 함으로서 각 커널 및 특정 프로세서의 정확한 시간을 수집할 수 있도록 구성되어 있다. 도면에 나타난 바와같이 빈틈없는 부하 측정점을 설정함이 본 발명의 특징이다. 성능 측정 기본은 MFP(9)내의 41마이크로초 타이머 하나의 인터럽트를 사용하여 매 인터럽트 마다 PAT(20)의 내부 시간을 변경하여 두는 원리로 되어 있다. 도면에서 과부하 제어 및 성능 정보수집을 위해 특별히 취급되는 프로세스 및 커널은 호처리 프로세스(16), DBMS 프로세스(17), 슈퍼바이저 프로세스(18), DBMS 커널(13), 패킷 처리기 커널(14)등이 있다.
제 3 도는 본 발명과 관련한 소프트웨어 블럭 구성도로서, 도면에서 30은 부하 측정 관리기, 31은 사용자 정합기, 32는 커널정합기, 33은 더미 프로세스, 34는 디스패처, 35는 인터럽트 처리기를 각각 나타낸다.
성능 및 부하 측정 초기화를 설정하고 사용자의 조회에 응답하는 부하 측정 관리기(30)는 프로세서 간 통신(IPC)의 경우에는 그 출입 횟수와 그 출입 멧시지의 누적값을 등록하여 두고 교환기 시스템의 구현 특징상 IPC에 의한 병목현상 초래 여부를 확인할 수 있도록 특별히 관리하여 주며, 소프트웨어 블럭 계층구조의 모순에 따라 과다한 메시지 발생시 이를 조기에 검출할 수 있도록 하며, 과부하시 이를 격리 혹은 제어 할 수 있도록 한다.
그리고 정합점에 따라 사용자 정합기와(31)와 커널 정합기(32), 유효한 일이 없으면 공회전을 하는 시스템 프로세스의 전후에 측정점을 두어 CPU의 아이들(idle)시간을 측정하도록 하는 더미(dummy) 프로세스(33), 특정 프로세스의 수행 시간을 수집하는 디스패처(34), 인터럽트처리기(35)에 각각의 고유기능 전후에 측정점을 첨가함으로서 성능 및 부하를 수집 가능하다.
제 4 도는 프로세서 정의 식별자의 구조도이다.
도면에 도시한 바와 같이, 본 발명에 의한 프로세서 정의 식별자는 모두 8바이트로 구성되어 1, 2바이트는 특정작업번호가 기록되고, 3,4 바이트는 프로세서 번호, 5, 6바이트는 블럭번호, 7,8바이트는 순차번호가 기록된다. 그리고 상기 특정 작업번호는, 그 기록 값이 2진수로 "00"이면 일반프로세스를, "01"이면 호처리 프로세스를, "10"이면 DBMS 프로세스를, "11"이면 슈퍼바이저 프로세스를 지칭한다.
결국, 상기와 같은 프로세스 정의 식별 부여 규칙에 따라 디스패처의 도움으로 호처리 및 DBMS 프로세스의 수행시간과 변화를 측정할 수 있도록 한다.
한편, 인터럽트와 관련하여 수행시간을 측정할 때에는 특별한 취급을 요한다. 낮은 순위의 인터럽트가 진행중에 있을 때, 언제라도 높은 순위의 인터럽트가 가로차고 들어올 수 있으며 낮은 순위의 인터럽트 처리는 높은 순위의 인터럽트가 끝날 때 까지 기다리게 한다.
제 5 도는 성능 및 부하의 초기화 흐름도이다.
시스템의 초기화(40)가 시작된 이후에 성능 측정 관련 모든 초기화를 행하며(41), 그 다음으로 프로세스 부하 측정 초기화 과정으로 MFP(9)의 타이머에서 지원 가능한 주기에 맞추어 측정 주기를 계산하고(42), 계산된 주기값을 타이머의 데이타 레지스터에 쓴다(43). 그리고 타이머의 인터럽트를 인에이블(enable) 함으로써 측정이 시작된다(44).
제 6 도는 사용자 및 커널 정합 처리기에서의 성능 및 부하 측정 시작 설정 흐름도이다.
성능 측정 요구가 있었는지 여부를 조사하여(50) 요구가 없었다면 곧바로 복귀하고, 만일 있었다면 지금부터는 운영체제 커널내(12) 및 특정 커널에서 수행됨으로 이전 수행 모드를 저장하고 해당 커널이 CPU를 점유한다고 설정(51)하고 바로 이 측정점까지의 측정치 변경을 호출하여 이전 모드의 PAT(20)에 변경하여 둔다(52). 그리고 상세 성능 측정이 요구되었는지 조사하여(53) 요구가 있었다면 이미 얻던 사용자 프로그램이 기억장치에 로딩 중인지 아닌지 조사하여(54) 로딩중이 아니면, 해당 시스팀 호출 요구로부터 호출로부터 복귀될 때까지의 시간을 측정 하기 위하여 시작 시간을 타임머로부터 읽어둔다(55). 그러나, 로딩 중이거나 상세 성능 측정이 요구되었으면 바로 마친다.
제 7 도는 사용자 및 커널 정합 처리기에서의 성능 및 부하 측정종료 설정 흐름도이다.
성능 측정 요구가 있었는지 여부를 조사하여(56) 요구가 없었다면 곧바로 복구하고 만일 있었다면 지금부터는 호출 이전 프로그램에서 수행됨으로 이전 프로그램 모드가 CPU를 점유한다고 설정하고(57), 바로 이 측정점까지의 측정치 변경을 호출하여 운영 체계 모드의 PAT(20)에 변경하여 둔다(58). 그리고 상세 성능 측정이 요구되었는지 조사하여(59) 요구가 있었다면 이미 얻던 사용자 프로그램이 기억장치에 로딩 중인지 아닌지 조사하여(60) 로딩중이면 상세 성능 측정이 불가능하므로 곧바로 복귀하며, 로딩 중이 아니면, 해당 시스팀 호출로부터 복귀될 때 까지의 시간을 타이머로부터 읽어서 변경하여 둔다(61).
제 8 도는 인터럽트 처리기내의 성능 및 부하 측정 시작 설명 흐름도이다.
낮은 순위의 인터럽트가 진행 중에 있을 때 언제라도 높은 순위의 인터럽트가 끝날 때까지 기다려야 한다는 원칙을 두고, 이 원칙에 따라 첫번째 인터럽트인지 알아보아서(70), 첫번째가 아니면 측정모드 변경을 요하지 않으므로 이상 상태만 점검하여(71)이상시 장애 출력을 하고 종료한다(72). 첫번째 인터럽트에 대하여는, 이전 모드를 저장하고 현재 모드를 인터럽트부라고 설정한다(73). 그리고 비로 이 측정점까지의 측정치 변경을 호출하여 이전 모드의 PAT(20)에 변경하여 두고 종료한다(74).
제 9 도는 인터럽트 처리기내의 성능 및 부하 측정 종료 설정흐름도이다.
상술한 인터럽트 순위 규정의 원칙에 따라 첫번째 인터럽트인지 알아보아서(75), 첫번째가 아니면 측정모드 변경을 요하지 않고 복원 및 장애 출력시키며(78), 첫번째 인터럽트에 대하여는 이전 모드를 현재 모드로 변경한다(76). 그리고 바로 이 측정점까지의 측정치 변경을 호출하여 인터럽트부 PAT(20)에 변경하여 두고 종료한다(77).
제10도는 측정점의 부하 계산 및 등록 흐름도이다.
사용자 프로그램 로딩 중이면 성능 측정이 필요하지 않으므로 곧바로 복귀하고(80), 그렇지 않으면 시스템 상태 레지스터의 값을 저장하고(81), 현재의 성능 측정 유지 카운터를 읽는다(82). 그 다음으로 MFP(9)의 타이머로부터 현재의 데이타 값을 읽는다(83). 그런 후 새로운 모드 시작시의 성능 측정 유지 카운터를 설정하고(84), 이전 모드의 수행 시간을 계산한후 그 측정값을 해당 PAT(20)에 변경하여 둔다(85). 그리고 이전 모드를 중단하고 새로운 모드를 시작한다(86). 마지막으로 시스템 상태 레지스터의 값을 복구하여(87) 성능 측정이 다른 어떠한 수행에도 영향없이 되도록 한다.
따라서, 상기와 같은 처리절차에 의해 수행되는 본 발명으로 얻을 수 있는 효과는 아래와 같다.
첫째, 프로세서 과부하 제어 시기의 검출 기초가 되며 이를 이용하여 교환 시스템의 중단 없는 서비스를 보다 강화 할 수 있다.
둘째, 실제 상황에서 각 부분의 성능을 확인해 볼 수 있으므로 성능 개선을 요하는 부분을 인지할 수 있다.
세째, 제어계 프로세서의 부하를 시험하여 볼때 제어계의 처리 능력을 정확히 시간값으로 구할 수 있는 장점이 있다. 뿐만 아니라 측정 데이타를 수집하여 통계 기능을 구현할 수 있는 효과가 있다.

Claims (1)

  1. 타이머와 제어 유니트를 구비한 다기능 주변 제어 칩(11), 중앙처리장치유니트(7), 및 성능 누적 테이블을 탑재한 기억장치(8)를 포함하여 구성되는 전전자 교환기의 중앙제어장치 보드(1 : MPMA)에 적용되어 프로세서의 부하를 측정하는 방법에 있어서, 시스템 초기화가 이루어지면 성능 및 부하 측정에 관한 초기화를 행하는 제 1 단계(40 내지 44)와, 각 정합기의 정합 기능 전 후에 측정점을 두어 성능 측정요구에 따라 CPU 점유율을 해당 항목에 누적하며 상세 측정의 요구에 따라 각 호출당 수행 시간을 수집하는 제 2 단계(50 내지 61)와, 프로세서 정의 식별 번호 규칙을 운용하여 디스패쳐를 통한 특정 프로세스의 수행 시간을 수집하는 제 3 단계와, 인터럽트 처리기에 인터럽트 처리 기능 전 후에 측정점을 두어 성능 측정요구에 따라 첫번째 인터럽트와 그 이후의 인터럽트를 구분하여 점유율을 인터럽트부에 누적하는 제 4 단계(70 내지 78)와, 유효한 일이 없으면 공회전을 하는 시스템 프로세스의 전 후에 측정점을 두어 CPU의 아이들(idle) 시간을 측정하는 제 5 단계와, 측정 모드 스위칭을 하면서 타임머 값을 읽어서 부하 계산 및 등록을 하는 제 6 단계(80 내지 85)에 의해 수행되는 것을 특징으로 하는 프로세서 부하 측정 방법.
KR1019910024061A 1991-12-23 1991-12-23 실시간 시스템의 프로세서 부하 측정방법 KR940007832B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019910024061A KR940007832B1 (ko) 1991-12-23 1991-12-23 실시간 시스템의 프로세서 부하 측정방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019910024061A KR940007832B1 (ko) 1991-12-23 1991-12-23 실시간 시스템의 프로세서 부하 측정방법

Publications (2)

Publication Number Publication Date
KR930014101A KR930014101A (ko) 1993-07-22
KR940007832B1 true KR940007832B1 (ko) 1994-08-25

Family

ID=19325742

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019910024061A KR940007832B1 (ko) 1991-12-23 1991-12-23 실시간 시스템의 프로세서 부하 측정방법

Country Status (1)

Country Link
KR (1) KR940007832B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100295956B1 (ko) * 1996-05-18 2001-10-24 박종섭 마이크로 프로세서의 감성 유휴도 측정 방법
KR100225735B1 (ko) * 1996-12-20 1999-10-15 유기범 전전자교환기의 아이들메시지(idle message) 표시에 의한 테스트제어방법

Also Published As

Publication number Publication date
KR930014101A (ko) 1993-07-22

Similar Documents

Publication Publication Date Title
US5193179A (en) Activity monitor system non-obtrusive statistical monitoring of operations on a shared bus of a multiprocessor system
US5265240A (en) Channel measurement method and means
US20080163256A1 (en) Extensible and flexible firmware architecture for reliability, availability, serviceability features
CN101377750A (zh) 一种用于机群容错的系统和方法
CN1906589A (zh) Dma设备的实时调试支持及其方法
RU2134446C1 (ru) Способ управления перегрузкой сообщениями элементарной программы в мультипроцессорной управляющей системе (варианты)
KR940007832B1 (ko) 실시간 시스템의 프로세서 부하 측정방법
Bhargava et al. Experimental analysis of layered Ethernet software
JPS6410148B2 (ko)
Nakamura et al. A simulation model for data base system performance evaluation
KR940007828B1 (ko) 실시간 운영체계에서의 인터럽트 처리기 구현방법
US20030177280A1 (en) Imbedded interrupt handler
KR940007827B1 (ko) 실시간 운영체계에서의 운영체계와 사용자 프로그램의 정합방법
KR940007826B1 (ko) 실시간 운영체계에서의 운영체계와 다른 커널과의 정합방법
KR950013840B1 (ko) 지능망 서비스 제어용 분산형 과부하 자동 감시 장치 및 그 운용 방법
WO2024016864A1 (zh) 处理器、获取信息的方法、单板及网络设备
KR970011854B1 (ko) 분산 데이타 베이스 시스템에서의 릴레이션별 데이타 변경 감시 방법
KR100216573B1 (ko) 비동기전달모드 교환기에서의 동적 감시 주기를 이용한 다중 프로세서 상태 관리방법
CN112231156A (zh) 一种spec cpu2017测试成绩预估方法、系统、装置及介质
JPH06149762A (ja) 計算機システムの競合動作試験方式
JPH11143789A (ja) バストレース装置
KR940001697B1 (ko) 전전자 교환기의 시스팀 과부하 제어방법
KR0176095B1 (ko) 인터럽트 대기시간 측정방법
CN112306781A (zh) 一种线程故障处理方法、装置、介质及设备
KR100281973B1 (ko) 중앙처리장치의 로드측정장치

Legal Events

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

Payment date: 19980616

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee