KR100331466B1 - Inter Processor Communication Control Method - Google Patents
Inter Processor Communication Control Method Download PDFInfo
- Publication number
- KR100331466B1 KR100331466B1 KR1019990059055A KR19990059055A KR100331466B1 KR 100331466 B1 KR100331466 B1 KR 100331466B1 KR 1019990059055 A KR1019990059055 A KR 1019990059055A KR 19990059055 A KR19990059055 A KR 19990059055A KR 100331466 B1 KR100331466 B1 KR 100331466B1
- Authority
- KR
- South Korea
- Prior art keywords
- transmitted
- communication
- counterpart
- inter
- processor
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000005540 biological transmission Effects 0.000 claims abstract description 32
- 238000007405 data analysis Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/64—Distributing or queueing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13561—Indexing scheme relating to selecting arrangements in general and for multiplex systems congestion - inc. overflow
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
교환 시스템과 같이 동시에 프로세서간 통신할 상대가 많은 시스템에서의 프로세서간 통신시 시스템내의 자원 변화 상태 정보를 상대 시스템에게 알려주어 프로세서간의 정보 전송량을 조절할 수 있도록 한 것이다.In the case of interprocessor communication in a system where a large number of counterparts communicate with each other at the same time, such as a switching system, it informs the counterpart system of resource change state information in the system so that the amount of information transfer between processors can be controlled.
본 발명은 자기 시스템내 OS 파트의 상태 정보를 실시간적으로 검출하여 IPC 제어 파트에 전송하는 과정과; 상기 IPC 제어 파트에서 OS 파트의 상태 정보를 분석하여 프로세서간 통신 전송율의 조정이 필요한지를 판단하는 과정과; 상기 프로세서간 통신 전송율의 조정이 필요한 경우 상기 OS 파트에서 처리할 수 있는 전송율을 결정하여 상대 시스템에 전송율의 조정을 요청하는 과정을 포함하는 것을 특징으로 한다.The present invention includes the steps of detecting the state information of the OS part in the own system in real time and transmitting to the IPC control part; Analyzing, by the IPC control part, state information of an OS part to determine whether adjustment of the communication rate between processors is required; If the inter-processor communication rate needs to be adjusted, the method may include determining a transmission rate that can be processed by the OS part, and requesting the counterpart system to adjust the transmission rate.
따라서, 프로세서간 통신에서 메시지의 유실이 배제되고, 프로세서간 통신에서 자신 및 상대 시스템 프로세서의 성능을 안정되게 유지시켜 프로세서의 부하가 배제되므로 동작에 안정성이 제공된다.Thus, the loss of messages is eliminated in interprocessor communication, and the stability of the self and the counterpart system processor is kept stable in interprocessor communication, thereby eliminating the load on the processor, thereby providing stability in operation.
Description
본 발명은 프로세서간 통신에 관한 것으로, 더 상세하게는 교환 시스템과 같이 동시에 프로세서간 통신할 상대가 많은 시스템에서 시스템내의 자원 변화 상태 정보를 상대 시스템에게 알려주어 프로세서간 통신시 정보 전송량을 조절할 수 있도록 한 프로세서간 통신 제어방법에 관한 것이다.The present invention relates to interprocessor communication, and more particularly, in a system having many partners to communicate with each other at the same time, such as an exchange system, to inform the counterpart system of resource change state information in the system so that the amount of information transmission can be controlled during interprocessor communication. It relates to a method for controlling communication between processors.
일반적으로 교환 시스템과 같이 동시에 통신할 상대가 많은 시스템들은 상대 시스템의 상태 및 처리 정보를 CROS(Concurrent Real Time Operating System) 방식으로 상호 교환하여 그에 대한 적절한 호 처리 및 자원 관리를 수행하는데, 이는 마스터 시스템(Master System)에 구비되는 메인 프로세서(Main Processor)와 슬레이브 시스템(Slave System)에 구비되는 주변 프로세서(Peripheral Processor)의 프로세서간 통신(IPC ; Inter Processor Communication)을 통해 수행된다.In general, many systems that communicate with each other simultaneously, such as switching systems, exchange status and processing information of the partner systems in a CROS (Concurrent Real Time Operating System) method to perform appropriate call processing and resource management for them. It is performed through interprocessor communication (IPC) between a main processor provided in a master system and a peripheral processor provided in a slave system.
상기와 같이 프로세서간 통신을 위해 마스터 시스템에 구비되는 메인 프로세서 보드는 첨부된 도 1에서 알 수 있는 바와 같이, 시스템의 운용에 대한 전반적인 다양한 동작을 수행하는 OS 파트(Operating System Part ; 10)와 설정된 알고리즘에 따라 프로세서간 통신을 수행하는 IPC 제어 파트(20)로 이루어진다.As shown in FIG. 1, the main processor board provided in the master system for inter-processor communication as described above is configured with an OS part (Operating System Part; 10) that performs various overall operations of the system. It consists of an IPC control part 20 that performs interprocessor communication according to an algorithm.
상기에서 OS 파트(10)에는 검출되는 이벤트에 따라 해당하는 프로세스를 생성하여 시스템의 운용에 대한 다양한 동작을 수행하는 제어부(11)와, IPC 제어 파트(20)를 통해 수행되는 프로세서간 통신에서의 제반적인 데이터를 일시적으로 저장하는 RAM(12)이 구비되고, IPC 제어 파트(20)에는 설정된 알고리즘에 따라 상대 시스템의 프로세서와 프로세서간 통신 동작을 제어하는 제어부(21)와, 상대 시스템으로부터 프로세서간 통신을 통해 수신되는 제반적인 정보를 일시 저장하며 OS 파트(10)에서 상대 시스템의 프로세서측에 전송하는 정보를 일시저장하는 RAM(22)과, 상대측 시스템을 정합하여 자신과 상대 시스템간에 수행되는 프로세서간 통신 정보를 시리얼 인터페이스하는 시스템 정합부(23)로 이루어진다.In the OS part 10, the controller 11 generates a corresponding process according to the detected event and performs various operations on the operation of the system, and in the interprocessor communication performed through the IPC control part 20. RAM 12 for temporarily storing general data is provided, and the IPC control part 20 includes a control unit 21 for controlling the communication operation between the processor of the counterpart system and the processor according to a set algorithm, and the processor from the counterpart system. RAM 22 which temporarily stores general information received through communication and temporarily stores information transmitted from the OS part 10 to the processor side of the counterpart system, and a processor that matches the counterpart system and is performed between itself and the counterpart system. It consists of a system matching unit 23 for serial interface of the communication information between.
또한, 상기 메인 프로세서 보드에는 상대 시스템과의 프로세서간 통신으로 IPC 제어 파트(20)에 수신되는 데이터를 저장하여 OS 파트(10)가 엑세스할 수 있도록 하고, OS 파트(10)에서 시스템 운용을 제어하기 위한 데이터를 저장하여 IPC 제어 파트(20)가 엑세스한 다음 시리얼 인터페이스로 상대 시스템측에 프로세서간 통신을 가능하게 전송하는 양방향 읽고 쓰기 RAM인 DPRAM(30; Dual Port RAM)이 구비된다.In addition, the main processor board stores data received by the IPC control part 20 through inter-processor communication with the counterpart system so that the OS part 10 can access it, and the OS part 10 controls system operation. A dual port RAM (DPRAM) 30, which is a bidirectional read / write RAM that stores data for accessing and accesses the IPC control part 20 and then transmits interprocessor communication to the counterpart system through a serial interface, is provided.
전술한 바와 같은 구성을 갖는 메인 프로세서 보드에서 OS 파트(10)와 IPC 제어 파트(20)간에서 프로세서간의 통신 데이터를 송수신하는 동작은 다음과 같다.An operation of transmitting and receiving communication data between processors between the OS part 10 and the IPC control part 20 in the main processor board having the above configuration is as follows.
이벤트의 발생에 따라 OS 파트(10)의 제어부(11)에서 생성된 프로세스가 발생된 해당 이벤트 처리를 위한 프로세서간 통신을 위하여 해당 이벤트를 처리하고자 하는 데이터를 시스템 클럭에 따라 자신의 파트에 구비되어 있는 RAM(12)을 통해 DPRAM(30)에 기록한 다음 다른 이벤트에 대하여 프로세서간 통신에 부하의 부담이 없이 해당하는 동작을 수행한다.According to the occurrence of the event, a process generated by the control unit 11 of the OS part 10 is provided with its own parts according to the system clock to process the corresponding data for inter-processor communication for processing the corresponding event. After writing to the DPRAM 30 through the RAM 12, the corresponding operation is performed without burdening the inter-processor communication with respect to other events.
상기와 같이 DPRAM(30)에 프로세서간 통신을 위한 데이터가 저장되면 IPC 제어 파트(20)는 설정된 주기로 DPRAM(30)에 저장된 데이터를 엑세스하여 RAM(22)에 저장한 다음 시스템 클럭에 동기를 일치시켜 정합부(23)를 통해 상대 시스템측에 시리얼 인터페이스를 수행하여 그에 해당하는 기능이나 자원관리 및 호처리가 수행되도록 한다.As described above, when data for interprocessor communication is stored in the DPRAM 30, the IPC control part 20 accesses the data stored in the DPRAM 30 at a set period, stores the data in the RAM 22, and then synchronizes the system clock. By performing the serial interface to the counterpart system through the matching unit 23 to perform the corresponding function or resource management and call processing.
또한, 상대 시스템으로부터 시리얼 인터페이스를 통해 IPC 제어 파트(20)의 정합부(23)에 수신되는 프로세서간 통신 데이터는 RAM(22)에 저장된 다음 IPC 제어 파트(20)를 관장하는 제어부(21)의 제어에 따라 DPRAM(30)에 기록되며, OS 파트(10)의 제어부(11)는 설정된 주기로 DPRAM(30)에 저장된 수신 데이터를 엑세스하여 해당 데이터를 관장하는 응용 프로세서에 전달하여 해당하는 기능에 대한 처리 및 제어가 수행되도록 한다.In addition, the interprocessor communication data received by the matching unit 23 of the IPC control part 20 from the counterpart system via the serial interface is stored in the RAM 22 and then controlled by the control unit 21 that manages the IPC control part 20. The control unit 11 of the OS part 10 accesses the received data stored in the DPRAM 30 at a set period and transfers the received data to an application processor that manages the corresponding data for a corresponding function. Allow processing and control to be performed.
상기와 같이 시리얼 인터페이스를 통한 자신과 상대측 시스템간의 프로세서간 통신은 통상적으로 슬라이딩 원도우 흐름 제어(Sliding Window Flow Control)방식을 사용하는데, 이에 대한 동작을 첨부된 도 2를 참조하여 설명하면 다음과 같다.As described above, the communication between the processor and the counterpart system through the serial interface generally uses a sliding window flow control method. An operation thereof will be described with reference to FIG. 2.
교환 시스템의 경우 동시에 여러 상대 시스템과 프로세서간 통신을 수행하여야 하므로 프로세서간 통신을 수행하는 각각의 상대 시스템에 대하여 원도우를 만들고 이 윈도우 마다 전송할 순차번호(Sequence Number)와 수신할 순차번호를 기억한다.In the case of a switching system, communication between multiple counterpart systems and processors must be performed at the same time. Therefore, a window is created for each counterpart system performing interprocessor communication, and a sequence number to be transmitted and a sequence number to be received are stored for each window.
즉, 프로세서간 통신 데이터 마다 순차번호를 부여하여 전송하고, 전송한 갯수 만큼의 전송이 완료되면 상대 시스템측에 전송한 데이터를 정상적으로 수신하였는지를 확인한 다음 그에 대한 응답이 있으면 다음 프로세서간 통신 데이터를 해당 시스템측에 전송하고, 상대 시스템으로부터 정상적으로 수신하였다는 응답이 없으면 다음 프로세서간 통신 데이터를 전송하지 않음으로써 프로세서간 통신 데이터의 흐름 제어를 수행한다.That is, if the number of transmissions is completed, after confirming whether the data transmitted to the counterpart system is normally received, if there is a response, the next interprocessor communication data is transmitted to the corresponding system. If there is no response from the counterpart system, and if there is no response from the counterpart system, the next interprocessor communication data is not transmitted, thereby controlling the flow of interprocessor communication data.
이에 대하여 도 2에 예시된 바와 같이, 시스템 A를 자신 시스템의 대기열 큐(Queue)라 하고, 시스템 B를 상대 시스템의 대기열 큐라 하면 시스템의 초기화상태에서 시스템 A와 시스템 B의 대기열 큐의 윈도우 슬라이드 '0-7'은 프로세서간 통신을 수행하지 않은 상태이므로 비어 있는 상태를 유지한다(a)(b).As shown in FIG. 2, when system A is called a queue queue of its own system and system B is a queue queue of a counterpart system, the window slides of the system queues of system A and system B are initialized in the system initialization state. 0-7 'remains empty because no interprocessor communication is performed (a) (b).
이때, 시스템 A에서 시스템 B측으로 프로세서간 통신 데이터 '3개'를 송신하는 경우 송신측인 시스템 A의 대기열 큐는 송신한 데이터 '3개'를 저장하여 기억하므로 윈도우 슬라이드는 '0-2'까지 데이터가 기록되고 '3-7'까지는 비어 있는 상태를 유지하고, 프로세서간 통신을 통해 데이터 'F0,F1,F2'를 수신한 시스템 B의 대기열 큐는 수신한 데이터 'F0,F1,F2'를 저장하므로 원도우 슬라이드는 '0-2'까지 데이터가 기록되어 '3-7'까지 비어 있는 상태를 유지한다(c)(d).In this case, when transmitting '3' interprocessor communication data from system A to system B, the queue queue of system A, the sender, stores and stores the transmitted data '3', so the window slide is '0-2'. The data is recorded and remains empty until '3-7', and the queue queue of system B that receives data 'F0, F1, F2' through inter-processor communication receives the received data 'F0, F1, F2'. Since the data is stored in the window slide, data is recorded up to '0-2' and remains empty until '3-7' (c) (d).
이때, 프로세서간 통신을 통해 'F0,F1,F2'의 데이터를 수신한 시스템 B에서 시스템 A측에 요구되는 데이터 수신 상태 질의에 따라 그에 대한 응답신호, 즉 윈도우 슬라이드가 비어있는 첫번째를 지정하는 정보 'ACK3'를 시스템 A측에 전송하면 시스템 A와 시스템 B의 대기열 큐에서의 슬라이드는 '3-10'까지 비게 되어 프로세서간 통신을 통해 송수신되는 데이터를 저장할 수 있게 된다(e)(f).In this case, the system B receiving the data of 'F0, F1, F2' through inter-processor communication, according to the data reception status query requested by the system A side, the response signal corresponding thereto, that is, the information specifying the first empty window slide When the 'ACK3' is transmitted to the system A side, the slides in the queue queues of the system A and the system B become empty until '3-10', so that data transmitted and received through inter-processor communication can be stored (e) (f).
이후, 시스템 B에서 수신되는 응답 신호 'ACK3'에 따라 시스템 A에서 시스템 B측에 프로세서간 통신을 통해 데이터 'F3,F4,F5,F6'을 송신하게 되면 시스템 A의 대기열 큐는 송신된 데이터 정보를 기억하게 되므로 윈도우 슬라이드는 '0-6' 까지 데이터가 기록되고 비어 있는 슬라이드는 '7-11'이 되며 프로세서간 통신을 통해 'F3,F4,F5,F6'의 데이터를 수신한 시스템 B측 대기열 큐의 윈도우 슬라이드 역시 '0-6'까지 데이터가 기록되어 비어 있는 슬라이드는 '7-11'로 된다.Subsequently, when the system A transmits data 'F3, F4, F5, F6' through inter-processor communication to the system B side according to the response signal 'ACK3' received from the system B, the queue queue of the system A transmits the data information. As the Windows slide records data up to '0-6', the empty slide becomes '7-11' and the system B side that received the data of 'F3, F4, F5, F6' through inter-processor communication. The window slide of the queue queue is also recorded with data up to '0-6', and the empty slide becomes '7-11'.
상기와 같이 시스템 A와 시스템 B의 대기열 큐 원도우 슬라이드 '0-6'까지송수신된 데이터 'F0,F1,F2,F3,F4,F5,F6'가 기록되고 윈도우 슬라이드가 '7-11'이 비어 있는 상태에서 시스템 B가 시스템 A에서 요구되는 데이터 전송에 대한 질의에 응답 신호 'ACK'을 시스템 A측에 전송하는 경우 시스템 A와 시스템 B의 대기열 큐 원도우 슬라이드는 '7-14까지 비게 되며, 전술한 바와 같은 동작은 프로세서간 통신이 수행되는 과정에서 연속적으로 반복되어 진다.As described above, the data 'F0, F1, F2, F3, F4, F5, F6' transmitted and received to the queue queue slide '0-6' of system A and system B are recorded, and the window slide is blank. If the system B sends a response signal 'ACK' to the system A in response to an inquiry about the data transmission required by the system A, the queue queue window slides of the system A and the system B become empty until '7-14'. The operation as described above is repeated continuously in the process of the inter-processor communication.
상기와 같이 프로세서간 통신으로 데이터를 송수신하는 상태에서 전송된 데이터가 정상적으로 수신되지 않은 경우 시스템 B는 시스템 A측에 해당 데이터에 대하여 재 전송을 요구하고, 시스템 A는 재전송 요구에 따라 대기열 큐의 윈도우에 기억하고 있는 요청하는 해당 데이터만을 시스템 B측에 재전송하여 준다.If the transmitted data is not normally received in the state of transmitting and receiving data by the processor-to-processor communication as described above, the system B requests retransmission of the corresponding data to the system A side, and the system A window of the queue queue according to the retransmission request. Retransmit only the requested data stored in the system B side.
전술한 바와 같이 슬라이드 윈도우 제어방법을 통해 수행하는 프로세서간 통신은 시스템 IPC 제어 파트간의 통신 제어이므로 상대 시스템으로부터 프로세서간 통신을 통해 수신한 데이터를 실질적으로 처리하는 OS 파트의 부하와는 무관하게 전송 제어가 수행된다.As described above, since the interprocessor communication performed through the slide window control method is the communication control between the system IPC control parts, the transmission control is independent of the load of the OS part that processes the data received through the interprocessor communication from the counterpart system. Is performed.
즉, 메시지 데이터를 수신하는 시스템내의 OS 파트에는 제어수단의 부하와 대기열 큐의 부하로 인하여 수신되는 메시지 데이터를 처리할 수 있는 자원이 없으나, IPC 제어 파트에서는 데이터를 수신 처리할 수 있는 자원이 충분한 경우 IPC 제어 파트에서는 OS 파트의 상태 정보를 인식할 수 없어 통상적인 파라메타로 프로세서간 통신 제어를 수행하게 되어 시스템 내의 OS와 IPC 제어 파트 사이에서 송수신되는 메시지 데이터의 유실이 발생되는 문제점이 발생된다.That is, the OS part in the system that receives the message data does not have the resources to process the received message data due to the load of the control means and the load of the queue queue, but the IPC control part has sufficient resources to receive and process the data. In this case, the IPC control part cannot recognize the state information of the OS part, thereby performing interprocessor communication control using normal parameters, causing a problem of loss of message data transmitted and received between the OS and the IPC control part in the system.
본 발명은 전술한 바와 같은 제반적인 문제점을 감안한 것으로, 그 목적은 동시에 다수의 상대 시스템과 수행하는 프로세서간 통신에서 송수신되는 메시지 데이터의 유실이 발생되지 않도록 시스템 내의 OS 파트와 IPC 제어 파트간에 상태 정보를 송수신하도록 하여 어느 한 쪽의 부하로 인하여 정상적인 프로세서간 통신이 수행할 수 없는 경우 상대 시스템측에 전송율을 조정하도록 요청하여 프로세서간 통신에서 메시지 데이터의 유실이 발생되지 않도록 한 것이다.SUMMARY OF THE INVENTION The present invention has been made in view of the above-described general problems, and an object thereof is to provide status information between an OS part and an IPC control part in a system so that message data transmitted and received in inter-processor communication with multiple counterpart systems does not occur at the same time. If the normal inter-processor communication cannot be performed due to one of the loads, the request is made to adjust the data rate to the counterpart system so that message data is not lost in the inter-processor communication.
도 1은 일반적인 메인 프로세서 보드의 구성을 보이는 개략적인 도면.1 is a schematic diagram showing a configuration of a general main processor board.
도 2는 프로세서간 통신에서 슬라이딩 윈도우 프로토콜의 동작을 보이는 흐름도.2 is a flow diagram illustrating operation of a sliding window protocol in interprocessor communication.
도 3은 본 발명에 따라 프로세서간 통신 제어를 수행하는 일 실시예의 흐름도.3 is a flow diagram of an embodiment of performing interprocessor communication control in accordance with the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for main parts of the drawings>
10 : OS 파트 20 : IPC 제어 파트10: OS part 20: IPC control part
상기한 바와 같은 목적을 달성하기 위한 본 발명은, 프로세서간 통신 제어방법에 있어서, 자기 시스템내 OS 파트의 상태 정보를 실시간적으로 검출하여 IPC 제어 파트에 전송하는 과정과; 상기 IPC 제어 파트에서 OS 파트의 상태 정보를 분석하여 프로세서간 통신 전송율의 조정이 필요한지를 판단하는 과정과; 상기 프로세서간 통신 전송율의 조정이 필요한 경우 상기 OS 파트에서 처리할 수 있는 전송율을 결정하여 상대 시스템에 전송율의 조정을 요청하는 과정을 포함하는 것을 특징으로 한다.In accordance with another aspect of the present invention, there is provided a method of controlling an interprocessor communication, the method comprising: detecting real-time state information of an OS part in a self-system and transmitting the same to an IPC control part; Analyzing, by the IPC control part, state information of an OS part to determine whether adjustment of the communication rate between processors is required; If the inter-processor communication rate needs to be adjusted, the method may include determining a transmission rate that can be processed by the OS part, and requesting the counterpart system to adjust the transmission rate.
상기에서 상기 OS 파트의 상태 정보는 데이터 분석 처리수단의 부하 정보와 대기열 큐의 사용량 정보를 포함하며, 상기 IPC 제어 파트에 전송되는 OS 파트의 상태 정보는 현재 값과 소정 단계별 평균값이 동시에 전송되는 것을 특징으로 한다.The state information of the OS part includes load information of data analysis processing means and usage information of a queue queue, and the state information of the OS part transmitted to the IPC control part indicates that a current value and an average value of a predetermined step are simultaneously transmitted. It features.
또한, 상기 IPC 제어 파트에서 상대 시스템에 전송율의 조정을 요청하는 경우에 슬라이딩 윈도우 흐름 제어에서 상대 시스템이 질의하는 메시지 수신 확인에 대한 응답신호에 슬라이드 레인지와 패킷 카운터의 조정을 요청하는 정보를 실어 전송하여 상기 전송율의 조정을 요청하는 것을 특징으로 한다.In addition, when the IPC control part requests the other system to adjust the transmission rate, information on requesting the adjustment of the slide range and the packet counter is transmitted to the response signal for acknowledgment of the message received by the other system in sliding window flow control. Request for adjustment of the transmission rate.
상기 패킷 카운터의 조정에 의해 전송율을 조정하는 경우 동일한 목적지의 상대 시스템에 대하여 전송할 메시지를 패킷으로 패킹하여 전송하되, 상기 패킷 카운터의 값에 대응하여 여러개의 메시지를 하나의 패킷으로 패킹하여 전송하는 것을 특징으로 한다.When the transmission rate is adjusted by adjusting the packet counter, a message to be transmitted to a counterpart system of the same destination is packed in a packet and transmitted, but a plurality of messages are packed in one packet and transmitted according to the packet counter value. It features.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 일 실시예를 상세히 설명하면 다음과 같다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 발명에서 CROS 방식을 이용하여 동시에 다수개의 상대 프로세서에 대하여 프로세서간 통신을 수행하는 경우에 프로세서간 통신 메시지 데이터의 전송율을 제어하는 동작은 첨부된 도 1의 기반에서 수행되므로 OS 파트와 IPC 제어 파트로 이루어지는 프로세서 보드의 구조에 대한 설명은 생략한다.In the present invention, when the inter-processor communication is performed for a plurality of counterpart processors simultaneously using the CROS method, the operation of controlling the transmission rate of the inter-processor communication message data is performed based on the attached FIG. The description of the structure of the processor board is omitted.
도 3에서 알 수 있는 바와 같이 메인 프로세서가 다수개의 상대 프로세서와 CROS 방식을 이용하여 프로세서간 통신을 수행하는 상태에서 OS 파트내의 운용 프로세스는 자신측 제어부(11)의 부하 정보와 대기열 큐의 사용율을 실시간적(대략 40㎳ec간격)으로 측정하여(S101) 현재의 값과 소정 단계의 단위 시간 별 평균값의 정보를 소정의 상태로 가공한 다음 상대 시스템측에 전송하고자 하는 메시지 데이터와 함께 DPRAM(30)에 기록한다(S102).As shown in FIG. 3, in a state in which a main processor performs communication between processors using a plurality of counterpart processors and a CROS method, an operation process in an OS part may determine load information and utilization rates of queue queues of its own control unit 11. Measured in real time (approximately 40 sec intervals) (S101), the information of the current value and the average value for each unit time of a predetermined step is processed in a predetermined state, and then DPRAM (30) with message data to be transmitted to the counterpart system. ) In step S102.
상기에서 제어부(11)의 부하 정보 및 대기열 큐의 사용율에 대한 정보는, 일예를들어 40㎳ec간격으로 측정되는 현재의 정보와 200㎳ec간의 평균값, 1sec간의 평균값, 5sec간의 평균값으로 할당하여 전송한다.The load information of the control unit 11 and the information on the utilization rate of the queue queue are transmitted by assigning, for example, the current information measured at an interval of 40 ms and the average value between 200 ms and the average value between 1 sec and the average value between 5 sec. do.
이때, 상기 OS 파트(10)내 제어부(11)의 부하 정보 및 대기열 큐의 사용율에 대한 정보는 하기의 알고리즘을 통해 DPRAM(30)에 기록하여 준다.At this time, the load information of the controller 11 in the OS part 10 and the information on the utilization rate of the queue queue are recorded in the DPRAM 30 through the following algorithm.
default value : Slide_count=8, Pack_count=5default value: Slide_count = 8, Pack_count = 5
static const FlowInfo_t CPUData[] = {static const FlowInfo_t CPUData [] = {
{700,8,5}, /*reported_value, Slide_count, Pack_count */{700,8,5}, / * reported_value, Slide_count, Pack_count * /
{750,7,5}.{750,7,5}.
{800,6,4}{800,6,4}
{850,5,4},{850,5,4},
{900,5,3}{900,5,3}
{950,4,3}{950,4,3}
{1000,3,2} /* ALERT */{1000,3,2} / * ALERT * /
};};
#defin C_INFO_NUM (sizeof(CPUData)/sizeof(FlowInfo_t)#defin C_INFO_NUM (sizeof (CPUData) / sizeof (FlowInfo_t)
static const FlowInfo_t IPCData[] = {static const FlowInfo_t IPCData [] = {
{400,0,5},{400,0,5},
{500,0,4}{500,0,4}
{600,0,3}{600,0,3}
{700,0.2}{700,0.2}
{800,0,1}{800,0,1}
{900,0.1}{900,0.1}
{1000,0,1}{1000,0,1}
};};
levelize = (load - 700)/50;levelize = (load-700) / 50;
real_level = realize - (3-i); /* 가중치 적용 : 즉 현재 값 보다 평균값이 우선권이 높다. */real_level = realize-(3-i); / * Weighted: the average value takes precedence over the current value. * /
상기의 알고리즘에서 {xxx,y,z}로 구성되는 각 단계는 레벨값을 의미하고, xxx는 제어부의 부하 정보이며, y는 슬라이드 카운터, z는 패킷 카운터이다.In the above algorithm, each step composed of {xxx, y, z} means a level value, xxx is load information of a control unit, y is a slide counter, and z is a packet counter.
상술한 바와 같은 알고리즘을 통해 OS 파트내 제어부(11)의 부하 정보와 대기열 큐의 사용률에 대한 정보가 DPRAM(30)에 기록되면 IPC 제어 파트(20)내의 제어부(21)가 상대 시스템과의 프로세서간 통신 메시지 데이터를 DPRAM(30)에서 엑세스하는 과정에서 OS 파트(10)에 대한 상태 정보를 동시에 엑세스하므로, IPC 제어 파트(20)내의 제어부(21)는 설정된 알고리즘을 통해 OS 파트(10)의 부하 정보 및 대기역 큐의 사용율등을 분석한 다음(S103) 상대 시스템과의 프로세서간 통신에서 전송율의 조정이 필요한 상태인지를 판단한다(S104).When the load information of the control unit 11 in the OS part and the information on the utilization rate of the queue queue are recorded in the DPRAM 30 through the algorithm as described above, the control unit 21 in the IPC control part 20 processes the processor with the counterpart system. In the process of accessing the inter-communication message data from the DPRAM 30, the state information of the OS part 10 is simultaneously accessed, so that the control unit 21 of the IPC control part 20 controls the OS part 10 through the set algorithm. After analyzing the load information and the utilization rate of the standby queue (S103), it is determined whether the transmission rate needs to be adjusted in interprocessor communication with the counterpart system (S104).
상기의 판단에서 OS 파트(10)가 현재의 전송율을 유지하여 프로세서간 통신 메시지 데이터를 안정되게 처리할 수 있는 상태인 것으로 판단되면 IPC 제어 파트(20)는 현재의 파라메타 값으로 프로세서간 통신 전송율을 유지하고(S105) OS 파트(10)의 상태 정보가 현재의 파라메타 값으로 프로세서간 통신을 수행할 수 없는 정도로 판단되면 실질적으로 처리할 수 있는 프로세서간 통신의 전송량을 조정한 다음 정합부(23)를 통해 시리얼 인터페이스로 상대 시스템측에 전송하여 전송율의 조정을 요청한다(S106).In the above determination, if it is determined that the OS part 10 is able to stably process the inter-processor communication message data by maintaining the current transmission rate, the IPC control part 20 adjusts the inter-processor communication transmission rate with the current parameter value. If it is determined that the state information of the OS part 10 cannot perform interprocessor communication with the current parameter value and adjusts the transmission amount of the interprocessor communication that can be substantially processed, the matching unit 23 is maintained. By transmitting to the counterpart system through the serial interface through the request to adjust the transmission rate (S106).
이후, 상대 시스템의 응답에 따라 조정된 전송율에 따라 상대 시스템과의 프로세서간 통신 메시지 데이터의 송수신을 유지하며(S107), 이와 같은 동작은 무한 루프로 연속적으로 반복되도록 한다.Thereafter, transmission and reception of communication message data between processors with the counterpart system is maintained according to the transmission rate adjusted according to the counterpart system's response (S107), and such an operation is continuously repeated in an infinite loop.
상기에서 IPC 제어 파트(20)에서 OS파트(10)의 상태에 따라 상대 시스템측에 프로세서간 통신 메시지 송수신의 전송율 조정을 요청하는 경우에 별도의 메시지를 사용하는 것이 아니라 슬라이딩 윈도우 흐름 제어에서 상대방이 질의하는 메시지 수신 확인 정보에 대한 응답신호 'ACK'에 슬라이드 레인지(slide range)와 패킷 카운터의 조정을 요청하는 정보를 실어 전송한다.In the above case, when the IPC control part 20 requests the counterpart system to adjust the transmission rate of the transmission and reception of the communication message between the processors according to the state of the OS part 10, the counterpart may not use a separate message, but the sliding window flow control. The response signal 'ACK' for the message acknowledgment information to be queried is transmitted with information requesting adjustment of a slide range and a packet counter.
상기에서 슬라이드 레인지가 조정되는 경우 슬라이드 윈도우 흐름 제어에서 N개의 메시지 데이터를 상대 시스템에 전송하였으나 상대 시스템으로부터 메시지를 수신하였다는 응답신호 'ACK'를 받을 때 까지 상대 시스템측에 메시지 데이터의 전송을 수행하지 않고 대기하므로, 슬라이드 레인지가 줄어들게 되면 프로세서간 통신의 전송율이 낮아지는 결과가 된다.When the slide range is adjusted, the message data is transmitted to the counterpart system until N message data is transmitted to the counterpart system in the slide window flow control, but the response signal 'ACK' is received from the counterpart system. If the slide range is reduced, the transmission rate of the interprocessor communication is lowered.
또한, 패킷 카운터를 조정하는 경우 같은 목적지 상대 시스템에 대해서는 전송 지연이 있는 동안에 패킷 카운터의 값에 대응하여 여러 메시지 데이터를 하나의 패킷으로 패킹(packing)하여 전송함으로써 상대 시스템의 OS 파트에서 패킹된 메시지 데이터를 여러개의 메시지 데이터로 분리하여 대기열 큐를 사용하므로 메시지 데이터를 전송하는 프로세서에는 전송하고자 하는 패킷의 갯수가 줄어들어 OS 파트의 대기열 큐의 사용율을 최소화하므로 프로세서간 통신에서 전송율이 낮아지게 된다.Also, when adjusting the packet counter, for the same destination counterpart system, a message packed by the OS part of the counterpart system is packed by transmitting several message data into one packet corresponding to the value of the packet counter during the transmission delay. Since the data is divided into several message data and the queue is used, the processor that transmits the message data reduces the number of packets to be transmitted, thereby minimizing the utilization of the queue queue of the OS part, thereby reducing the transmission rate in interprocessor communication.
상기에서 IPC 제어 파트(20)가 DPRAM(30)에 기록된 OS 파트(10)의 정보를 엑세스하여 OS 파트(10)측의 부하 정보와 대기율 큐에 대한 사용율을 분석하는 동작을 예를들면 다음과 같다.For example, the IPC control part 20 accesses the information of the OS part 10 recorded in the DPRAM 30 to analyze the load information on the OS part 10 side and the utilization rate for the wait rate queue. As follows.
IPC 제어 파트(20)에서 DPRAM(30)에서 엑세스한 OS 파트(10)의 제어부(11) 현재 및 각 단계별 부하가 980,840,810,780(40㎳ec,200㎳ec,1sec,5sec)라면, 각 레벨의 값은 5,2,2,1이 되며, 이에 대하여 가중치를 적용하면 2(5-3),0(2-2),1(2-1)이 되므로, 이중에서 가장 큰 값인 2가 실제 처리 가능한 제어부의 부하 레벨이 된다.If the load of the control unit 11 of the OS part 10 accessed from the DPRAM 30 in the IPC control part 20 current and each step load is 980,840,810,780 (40 sec, 200 sec, 1 sec, 5 sec), the value of each level. Becomes 5,2,2,1, and if you apply weights, it becomes 2 (5-3), 0 (2-2), 1 (2-1). It becomes the load level of the control unit.
만약 프로세서간 통신 메시지 데이터가 더 높은 레벨을 유지하고 있는 상태이면 전송율 조정 요청시 패킷 카운터는 이 값을 적용한다.If the interprocessor communication message data maintains a higher level, the packet counter applies this value when the rate adjustment request is made.
따라서, 현재 OS 파트(10)가 프로세서간 통신 메시지 데이터를 처리할 수 있는 정도는 레벨 2의 상태, 즉 {800,6,4}를 유지하고 있으므로, 이에 해당하는 슬라이드 카운터와 패킷 카운터를 상대방에게 전송하여 해당 전송율로 프로세서간 통신 메시지 데이터의 송수신이 수행되도록 요청한다.Therefore, the degree to which the OS part 10 can process the interprocessor communication message data is maintained at level 2, that is, {800,6,4}. Therefore, the corresponding slide counter and packet counter are provided to the counterpart. Transmits and requests transmission and reception of communication message data between processors at a corresponding transmission rate.
이때, 상대 시스템은 요청된 전송율, 즉 OS 파트의 제어부 부하 정도 '800', 슬라이드 카운터'6', 패킷 카운터 '4'를 유지하여 프로세서간 통신을 수행한다.At this time, the counterpart system maintains the requested transmission rate, that is, the control unit load degree '800' of the OS part, the slide counter '6', and the packet counter '4' to perform inter-processor communication.
이상에서 설명한 바와 같이 본 발명은 동시에 여러 상대 시스템과 통신하는 프로세서간 통신에서 자신 시스템내 OS 파트의 상태 정보를 분석하여 상대 시스템측에 프로세서간 통신 메시지 데이터의 전송율 조정을 요청하므로 프로세서간 통신에서 메시지의 유실이 배제되어 신뢰성이 제공된다.As described above, the present invention analyzes the state information of OS parts in its own system in interprocessor communication simultaneously communicating with multiple counterpart systems, and requests the partner system to adjust the transfer rate of interprocessor communication message data. Loss of power is eliminated to provide reliability.
또한, 프로세서간 통신에서 자신 및 상대 시스템 프로세서의 성능을 안정되게 유지시켜 프로세서의 부하가 배제되므로 동작에 안정성이 제공된다.In addition, stability of operation is provided because the performance of the self and the counterpart system processor is kept stable in interprocessor communication, thereby eliminating the load on the processor.
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990059055A KR100331466B1 (en) | 1999-12-18 | 1999-12-18 | Inter Processor Communication Control Method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019990059055A KR100331466B1 (en) | 1999-12-18 | 1999-12-18 | Inter Processor Communication Control Method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010064765A KR20010064765A (en) | 2001-07-11 |
KR100331466B1 true KR100331466B1 (en) | 2002-04-09 |
Family
ID=19627008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990059055A KR100331466B1 (en) | 1999-12-18 | 1999-12-18 | Inter Processor Communication Control Method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100331466B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100590171B1 (en) * | 2004-04-30 | 2006-06-14 | 서울통신기술 주식회사 | Isd message processing device and method |
KR101385784B1 (en) * | 2011-11-30 | 2014-04-30 | 삼성에스디에스 주식회사 | Apparatus and method for transmitting data and method for determination of transmission rate |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR910012989A (en) * | 1989-12-26 | 1991-08-08 | 경상현 | Interprocessor Communication Method in Self Tuning Controller |
-
1999
- 1999-12-18 KR KR1019990059055A patent/KR100331466B1/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR910012989A (en) * | 1989-12-26 | 1991-08-08 | 경상현 | Interprocessor Communication Method in Self Tuning Controller |
Also Published As
Publication number | Publication date |
---|---|
KR20010064765A (en) | 2001-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7313153B2 (en) | Wireless communication system, wireless communication control apparatus, wireless communication control method, wireless communication apparatus, wireless communication method, and storage medium | |
US7281249B2 (en) | Computer forming logical partitions | |
RU2319311C2 (en) | Method for power-efficient planning of channels in wireless network | |
JP6240248B2 (en) | Transmission control protocol communication method and server | |
US7889710B2 (en) | Wireless mesh network with locally activated fast active scheduling of wireless messages | |
WO1991015069A1 (en) | Method and apparatus for scheduling access to a csma communication medium | |
EP3694164B1 (en) | Data transmission method and device, and computer storage medium | |
KR100304648B1 (en) | Method for allocating resoures wireless in wireless communication system | |
JP7565339B2 (en) | Method, device, terminal and medium for resolving transmission contention | |
US20140068165A1 (en) | Splitting a real-time thread between the user and kernel space | |
KR102287566B1 (en) | Method for executing an application on a distributed system architecture | |
CN110661840A (en) | Management delegation of transmission and acknowledgement of frames | |
JP2002057699A (en) | Packet transmission method, packet transmission method, and recording medium | |
JP3057078B2 (en) | Method and apparatus for using input / output buffers | |
KR100331466B1 (en) | Inter Processor Communication Control Method | |
US6580725B1 (en) | Method and apparatus for dynamic allocation of a messaging system resource | |
CN115397023B (en) | Communication method, network device and storage medium | |
CN116634521B (en) | Cross-layer protocol architecture integrating MAC layer and routing layer and implementation method | |
JP3722198B2 (en) | node | |
CN112152938B (en) | A Determination Method of Round Trip Delay in Cloud Virtual Environment | |
CN113873015B (en) | Internet of things system | |
US20240129928A1 (en) | Packet data convergence protocol duplication cooperative configured grant | |
EP1744495B1 (en) | Round trip time estimation | |
JP3043742B1 (en) | Bandwidth generation device for uplink transmission information | |
JPH11196097A (en) | Data communication control device and method therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 19991218 |
|
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: 20010728 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: 20020319 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20020322 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20020323 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20041227 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20060131 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20070223 Start annual number: 6 End annual number: 6 |
|
FPAY | Annual fee payment |
Payment date: 20080218 Year of fee payment: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20080218 Start annual number: 7 End annual number: 7 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |