WO2012070727A1 - Method and system for healing races of a multi-thread program in an arinc-653 based computer system for aircraft - Google Patents

Method and system for healing races of a multi-thread program in an arinc-653 based computer system for aircraft Download PDF

Info

Publication number
WO2012070727A1
WO2012070727A1 PCT/KR2011/002056 KR2011002056W WO2012070727A1 WO 2012070727 A1 WO2012070727 A1 WO 2012070727A1 KR 2011002056 W KR2011002056 W KR 2011002056W WO 2012070727 A1 WO2012070727 A1 WO 2012070727A1
Authority
WO
WIPO (PCT)
Prior art keywords
contention
healing
data
arinc
lock
Prior art date
Application number
PCT/KR2011/002056
Other languages
French (fr)
Korean (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 WO2012070727A1 publication Critical patent/WO2012070727A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3632Software debugging of specific synchronisation aspects

Definitions

  • the present invention relates to a method and system for detecting and healing data contention that may occur in a multithreaded program of an ARINC-653 based aircraft computer system.
  • IMA Integrated Modular Avionics
  • FIG. 1 is an exemplary diagram of a multi-threaded program
  • FIG. 2 is an execution diagram intended or expected when executing the program shown in FIG. 1
  • FIG. 3 is due to an unexpected execution when executing the program shown in FIG. An example diagram in which data contention occurs.
  • FIG. 2 when a parallel program executed in two threads is executed, an execution process as shown in FIG. 2 is expected.
  • r3 and w4 of thread B intervene before thread A is completed by abnormal multithreaded contention, resulting in an unintended result.
  • This concurrency error in a multithreaded program is called contention.
  • the main feature of the ARINC-653 in the execution of aeronautical software applications is the inclusion of a health monitor with a recovery mechanism for error occurrence at each level of process, partition and module.
  • recovering by the health monitor may include recovery through an error handler at the process level, possible countermeasures at the module level, reset the module, stop, close the module, or ignore errors, and possible countermeasures at the partition level.
  • the present invention relates to a method and system for detecting data contention that may occur in a multi-threaded program of an ARINC-653-based aircraft computer system and immediately repairing the detected contention error without stopping the system. Invention.
  • a method of healing a multi-threaded program includes detecting a data contention occurrence of a multi-threaded program by a detector, and healing a data contention by a healer.
  • the detecting of the contention occurrence of the multi-threaded program includes generating a label for each thread and detecting the occurrence of the contention using a detection protocol.
  • the detector After the detector detects a data contention occurrence of the multi-threaded program, the detector transmits data contention information to the health monitor of the ARINC-653 and the health monitor is within the ARINC-653 in the region where data contention occurred. And accessing a partition operating system (POS), wherein the step of healing data contention includes inserting a lock at the point where the contention occurred by an install lock operation and an incorrect operation by a remove lock operation. Removing the lock.
  • POS partition operating system
  • the process of inserting the lock or removing the lock protects an execution of a contention-free area in a thread to prevent another thread from intervening or to enforce a context switch or scheduling.
  • the healer healing the data contention further includes notifying the health monitor when the healer fails to heal the data contention and the health monitor further generating a new error handling code.
  • a contention healing system of a multi-threaded program detects data contention, a healer that cures contention-caused data, and a health that receives contention information from the detector and connects the contentioner with the healer.
  • An ARINC-653 module including a monitor, wherein the healer includes an install lock operator to insert a lock at a point where contention is detected and a remove lock operator to remove an erroneous lock.
  • ARINC-653-based aircraft computer system has the following effects.
  • 1 is an exemplary diagram of a multi-threaded program.
  • FIG. 2 is a diagram of an intended or expected execution process when executing the program shown in FIG.
  • FIG. 3 is an exemplary diagram in which data contention occurs due to unexpected execution when executing the program shown in FIG.
  • FIG. 4 is a schematic diagram illustrating a method of detecting data contention of a multithreaded program according to an embodiment of the present invention.
  • FIG. 5 is a diagram of a multithreaded thread thread labeling step of one embodiment of the present invention.
  • FIG. 6 is a diagram relating to an installation lock operation.
  • FIG. 7 is a diagram relating to a remove lock operation.
  • FIG. 8 is a flow chart illustrating a method of healing contention in a multithreaded program of one embodiment of the present invention.
  • FIG. 10 is a block diagram of a contention healing system of a multi-threaded program applied to ARINC-653 for an aircraft computer system according to one embodiment of the present invention.
  • a multithreaded program detector detects a data contention occurrence, an ARINC-653 calls a healer in a ARINC-653-based aircraft computer system, and a healer executes the data contention. There is a healing phase.
  • FIG. 4 is a schematic diagram illustrating a method of detecting data contention of a multithreaded program according to an embodiment of the present invention. As shown in FIG. 4, the detecting of the data contention is performed by generating a label on the thread and detecting the contention using the detection protocol.
  • FIG. 5 is a diagram of a multithreaded thread thread labeling step of one embodiment of the present invention.
  • the NR labeling technique is applied to generate a label that is a unique identifier that maintains concurrency information in each thread.
  • join count ⁇ represents the number of ancester threads associated with the critical threads from the initial thread.
  • the nested region is represented by ⁇ , ⁇ > and the spatial range of the thread is expressed by an integer.
  • the thread that has completed labeling is represented by [ ⁇ , ⁇ , ⁇ >].
  • the parent thread T has a join count of 1 and an inclusion region of ⁇ 1, 50>.
  • the maximum range of the nested area is the maximum integer that the computer system can express, and is assumed to be 50 simply for the sake of example. If you create a label for T1 and T2, there is a parent thread T of these two threads, so the join count is 1, and the nesting area is determined from the parent thread, so it is divided into ⁇ 1, 25>, and ⁇ 26,50>, respectively. Lose.
  • the threads T1 and T2 generate labels of [1, ⁇ 1,25>] and [1, ⁇ 26,50> in the nesting area of T for each thread as shown in FIG.
  • each of T and T1, T, and T2 does not satisfy the above conditions and is in a sequential relationship, and thus a contention cannot occur.
  • a protocol proposed by Dinning and Schonberg is used to detect contention occurrence using a detection protocol.
  • contention when contention may occur in T1 and T2 shown in FIG. 5, ⁇ w2-r3, r1 between ⁇ r1, w2 ⁇ in thread A and ⁇ r3, w4 ⁇ in thread B. -w4, w2-w4 ⁇ contention is detected.
  • Healing the data contention includes inserting a lock at the point where the contention occurred by an install lock operation and removing a wrong lock by a remove lock operation.
  • Fig. 6 is a view related to the install lock operation and Fig. 7 is a view related to the remove lock operation.
  • Inserting and removing locks ultimately removes or changes interleaving on the data, which protects the execution of other threads from interfering with or prevents the execution of other threads for safe execution of contentionable areas on a particular thread. ) Or to force scheduling.
  • the install lock operation is activated to insert a lock at the contention point as shown in FIG. 6 to prevent contention with data of other threads on the thread.
  • the remove lock operation is performed to remove the lock as shown in FIG. 7.
  • the new error handling code refers to operating a program by changing a lock position (a contention point) inserted by an install lock operation.
  • the remove lock operation is notified to the health monitor by displaying a healing anomaly, and the remove lock operation shown in FIG. 7 again. This operation removes the wrong lock, inserts a new lock by the install lock operation, and finally heals the contention of data.
  • FIG. 8 is a flow chart illustrating a method of healing contention in a multithreaded program of one embodiment of the present invention.
  • the detector when the detector goes through a step of searching for contention (S1) and when contention is detected on a multi-thread (S2), the detector informs the health monitor of the ARINC-653 of the contention fact (S3).
  • the health monitor accesses the partition operating system (POS) in the zone where the error occurs (S4).
  • the partition operating system calls the healer (S5) and the healer performs a data healing operation (S6). If the data contention is healed as a result of healing (S7), it is stored in a shared memory or a program is executed (S10). If the data contention is not cured, the health monitor is notified (S8). After generating the error handling code (S9), the healer operates the install lock operation and the remove lock operation again, and eventually heals data contention.
  • FIG. 10 is a block diagram of a contention healing system of a multi-threaded program in an ARINC-653 based aircraft computer system of one embodiment of the present invention.
  • a multi-threaded contention healing system includes a detector that detects data contention, a healer that heals data that has occurred, and a health monitor that receives contention information from the detector and connects the healer. Includes the included ARINC-653 module.
  • the healer includes an install lock operator that inserts a lock at the point where contention is detected and a remove lock operator that removes the wrong lock.
  • the ARINC-653 includes zones that perform independent functions, and each zone includes a separate operating system. It also includes a health monitor that functions to deliver data contention to the system in real time, the health monitor is connected to the detector and the healer.
  • FIG. 10 is a block diagram of a contention healing system at a partition level among levels of a process, a partition, and a module as a contention healing system of a multi-threaded program according to an embodiment of the present invention.
  • the detector monitors whether data contention occurs in the program during execution. It is connected to the health monitor of the interface to inform the contention occurrence.
  • the healer is called by the operating system and includes an install lock operator and a remove lock operator and is responsible for healing data contention. If the data contention is not cured, the health monitor is notified again, and the healing work for the contention healing is started repeatedly.
  • the healer may be given priority over other processes in the system when data contention occurs.
  • a system for detecting a contention of a data by a multi-threaded contention healing system and immediately healing data contention to prevent delay and error in program execution is a system for detecting a contention of a data by a multi-threaded contention healing system and immediately healing data contention to prevent delay and error in program execution.

Abstract

The present invention relates to a method and system for healing races of a multi-thread program in an ARINC-653 based computer system for aircraft. The healing method comprises the steps of: detecting a data race of the multi-thread program using a race detector; and healing the data race using a healer. The healing system comprises: the detector for detecting a data race; ARINC-653 including a health monitor for connecting the detector and the healer; and the healer for healing data when a data race occurs. According to the present invention, errors caused by data races in the multi-thread program can be detected, and the detected errors can be immediately healed. Thus, program execution delay caused by a system shutdown can be prevented, and the multi-thread program can be reliably used.

Description

ARINC-653 기반 항공기용 컴퓨터 시스템에서 멀티 스레드 프로그램의 경합 치유 방법 및 시스템A method and system for contention healing of multi-threaded programs in the ARC-6NC-based aircraft computer system
본 발명은 ARINC-653 기반 항공기용 컴퓨터 시스템의 멀티 스레드 프로그램에서 발생할 수 있는 데이터 경합을 검출하고 치유하는 방법 및 시스템에 관한 발명이다.The present invention relates to a method and system for detecting and healing data contention that may occur in a multithreaded program of an ARINC-653 based aircraft computer system.
IMA(Integrated Modular Avionics)를 위한 ARINC-653표준은 항공 소프트웨어 응용의 수행에 대한 명세이며, 이는 이식성이 있는 응용프로그램의 개발을 가능하게 하였다. 이러한 응용프로그램을 수행하는데 메인컴퓨터에 연결되어 있는 응용프로그램이 수행되는 수많은 모듈이 존재하고 각 모듈에서 둘 이상의 스레드가 동시에 공유된 자원에 적절한 보호 조치 없이 데이터를 수정하거나 변경하고자 할 때 데이터의 경합이 발생할 수 있다. 데이터 경합의 발생은 의도하지 않은 프로그램의 수행이 발생하여 공유메모리 프로그램의 신뢰성이 심각하게 위협받게 된다. The ARINC-653 standard for Integrated Modular Avionics (IMA) is a specification for the performance of aeronautical software applications, which enables the development of portable applications. There are a number of modules that run applications that are connected to the main computer to run these applications, and data contention occurs when two or more threads in each module attempt to modify or change data without appropriate protection on shared resources at the same time. May occur. The occurrence of data contention causes unintended execution of the program, which seriously threatens the reliability of the shared memory program.
도1은 멀티 스레드 프로그램의 예시도면이고, 도2는 도1에 도시된 프로그램을 실행할 때 의도되거나 예상되는 실행과정도면이고, 도3은 도1에 도시된 프로그램을 실행할 때 예상되지 못한 실행으로 인해 데이터 경합이 발생하게 되는 예시도면이다. FIG. 1 is an exemplary diagram of a multi-threaded program, FIG. 2 is an execution diagram intended or expected when executing the program shown in FIG. 1, and FIG. 3 is due to an unexpected execution when executing the program shown in FIG. An example diagram in which data contention occurs.
도1과 같이 두개의 스레드에서 실행되는 병행성 프로그램을 실행시키게 되면 도2와 같은 실행과정을 예상하게 된다. 스레드 A에 있는 r1, w2이 실행된 후에 스레드 B에 있는 r3, w4가 실행되는 정상적인 프로그램 실행과정을 예시하고 있다. 그러나 도3에 도시된 바와 같이 비정상적인 멀티스레드 경합에 의해서 스레드 A의 수행이 완료되기 전에 스레드 B의 r3와 w4가 개입되어 의도하지 않은 결과를 초래하여 비정상적인 수행을 하게 된다. 멀티스레드 프로그램에서 발생하는 이러한 동시성 오류를 경합이라고 한다.As shown in FIG. 1, when a parallel program executed in two threads is executed, an execution process as shown in FIG. 2 is expected. This illustrates the normal program execution process in which r3 and w4 in thread B are executed after r1 and w2 in thread A are executed. However, as shown in FIG. 3, r3 and w4 of thread B intervene before thread A is completed by abnormal multithreaded contention, resulting in an unintended result. This concurrency error in a multithreaded program is called contention.
항공 소프트웨어 응용프로그램의 수행에 있어서 ARINC-653의 가장 큰 특징은 프로세스, 파티션, 모듈 각각의 레벨에서의 오류발생에 따른 회복 메커니즘을 갖는 헬스모니터를 포함하고 있다는 점이다. 그러나 헬스모니터에 의해서 회복하는 단계는 프로세스 레벨에서는 에러 핸들러를 통한 회복, 모듈레벨에서의 가능한 대처방법은 모듈을 리셋하거나 모듈을 정지, 폐쇄하거나 에러를 무시하는 방법, 파티션 레벨에서의 가능한 대처방법으로는 재시작을 한다거나 에러를 무시하거나 가동하지 않는다거나 하는 방법이 있으나 이러한 방법은 궁극적으로 시스템 동작을 중단시키거나 에러를 무시하여 프로그램의 신뢰도를 떨어뜨리는 방법밖에 사용되고 있지 않았다. The main feature of the ARINC-653 in the execution of aeronautical software applications is the inclusion of a health monitor with a recovery mechanism for error occurrence at each level of process, partition and module. However, recovering by the health monitor may include recovery through an error handler at the process level, possible countermeasures at the module level, reset the module, stop, close the module, or ignore errors, and possible countermeasures at the partition level. There are ways to restart, ignore errors, or not run them. However, these methods were only used to ultimately stop the system or ignore errors and reduce the reliability of the program.
특히 복잡하고 다양한 프로그램을 동시에 수행하거나 저장하게 되는 IMA 기반의 항공 소프트웨어에서 데이터 경합오류가 발생한 경우 궁극적으로 항공기의 안전에 문제가 발생할 수 있게 되어 시스템을 리셋한다거나 정지시키는 등의 치유수단을 통하지 않고 데이터의 경합을 검출과 동시에 직접 치유할 수 있는 방법이 필요하게 되었다.In particular, when data contention errors occur in IMA-based aviation software that simultaneously executes and stores complex and diverse programs, the safety of the aircraft may ultimately be caused, and the data may not be repaired by resetting or stopping the system. There is a need for a method that can detect and directly heal contention.
본 발명은 상기와 같은 문제점을 극복하기 위해서 ARINC-653기반 항공기용 컴퓨터 시스템의 멀티 스레드 프로그램에서 발생할 수 있는 데이터 경합을 검출하고 검출된 경합오류를 시스템을 중단시키지 않고 바로 치유하는 방법 및 시스템에 관한 발명이다. The present invention relates to a method and system for detecting data contention that may occur in a multi-threaded program of an ARINC-653-based aircraft computer system and immediately repairing the detected contention error without stopping the system. Invention.
상기와 같은 문제점을 해결하기 위해서 본 발명인 ARINC-653 기반 항공기용 컴퓨터 시스템에서 멀티 스레드 프로그램의 경합치유 방법은 디텍터가 멀티 스레드 프로그램의 데이터 경합 발생을 검출하는 단계, 힐러가 상기 데이터 경합을 치유하는 단계를 포함하며, 상기 디텍터가 멀티 스레드 프로그램의 데이터 경합발생을 검출하는 단계는 각각의 스레드에 레이블을 생성하는 단계와 디텍션 프로토콜을 이용하여 경합발생을 검출하는 단계를 포함한다. In order to solve the above problems, in the ARINC-653-based aircraft computer system of the present invention, a method of healing a multi-threaded program includes detecting a data contention occurrence of a multi-threaded program by a detector, and healing a data contention by a healer. Wherein the detecting of the contention occurrence of the multi-threaded program includes generating a label for each thread and detecting the occurrence of the contention using a detection protocol.
상기 디텍터가 멀티 스레드 프로그램의 데이터 경합 발생을 검출하는 단계 이후, 상기 디텍터가 상기 ARINC-653의 헬스모니터에 데이터 경합 정보를 전송하는 단계와 상기 헬스모니터가 데이터 경합이 발생한 구역의 상기 ARINC-653내 파티션 오퍼레이팅 시스템(POS)에 접근하는 단계를 더 포함하며, 상기 데이터 경합을 치유하는 단계는 인스톨 락 오퍼레이션에 의해서 상기 경합이 발생한 지점에 락(lock)을 삽입하는 과정과 리무브 락 오퍼레이션에 의해서 잘못된 락(lock)을 제거하는 과정을 포함한다. After the detector detects a data contention occurrence of the multi-threaded program, the detector transmits data contention information to the health monitor of the ARINC-653 and the health monitor is within the ARINC-653 in the region where data contention occurred. And accessing a partition operating system (POS), wherein the step of healing data contention includes inserting a lock at the point where the contention occurred by an install lock operation and an incorrect operation by a remove lock operation. Removing the lock.
상기 락을 삽입하는 과정 또는 상기 락을 제거하는 과정은 스레드에서 경합 발생이 가능한 영역을 대상으로 경합 발생 없는 수행을 위해 다른 스레드의 수행이 끼어들지 못하도록 보호하거나 문맥교환(context switch) 또는 스케줄링을 강제하는 것을 포함하고 상기 힐러가 상기 데이터 경합을 치유하는 단계는 상기 힐러가 상기 데이터 경합을 치유하지 못한 경우 헬스모니터에 알리고 상기 헬스모니터는 새로운 에러처리 코드를 생성하는 단계를 더 포함한다.The process of inserting the lock or removing the lock protects an execution of a contention-free area in a thread to prevent another thread from intervening or to enforce a context switch or scheduling. And the healer healing the data contention further includes notifying the health monitor when the healer fails to heal the data contention and the health monitor further generating a new error handling code.
본 발명인 ARINC-653기반 항공기용 컴퓨터 시스템에서 멀티 스레드 프로그램의 경합 치유 시스템은 데이터 경합을 탐지하는 디텍터, 경합이 발생한 데이터를 치유하는 힐러 및 경합발생 정보를 상기 디텍터로부터 전달받고 상기 힐러와 연결하는 헬스모니터를 포함하는 ARINC-653모듈을 포함하고, 상기 힐러는 경합이 탐지된 지점에 락(lock)을 삽입하는 인스톨 락 오퍼레이터와 잘못된 락(lock)을 제거하는 리무브 락 오퍼레이터를 포함한다. In the ARINC-653-based aircraft computer system of the present invention, a contention healing system of a multi-threaded program detects data contention, a healer that cures contention-caused data, and a health that receives contention information from the detector and connects the contentioner with the healer. An ARINC-653 module including a monitor, wherein the healer includes an install lock operator to insert a lock at a point where contention is detected and a remove lock operator to remove an erroneous lock.
본 발명인 ARINC-653기반 항공기용 컴퓨터 시스템의 멀티 스레드 프로그램 경합 치유 방법 및 시스템은 다음과 같은 효과가 있다.Multithreaded program contention healing method and system of the present invention ARINC-653-based aircraft computer system has the following effects.
ARINC-653기반 항공기용 컴퓨터 시스템에서 발생할 수 있는 멀티 스레드 프로그램의 데이터 경합오류를 검출하고 검출된 경합오류를 즉시 치유할 수 있게 되어 시스템 중단에 따른 프로그램 실행의 지연을 방지할 수 있으며, 항공전자를 위한 소프트웨어에 요구되는 신뢰성과 안정성을 보장할 수 있다. It is possible to detect data contention errors of multi-threaded programs that can occur in ARINC-653 based aircraft computer systems and to immediately heal detected contention errors, thereby preventing delays in program execution due to system interruption. It can ensure the reliability and stability required for the software.
도1은 멀티 스레드 프로그램의 예시도면이다.1 is an exemplary diagram of a multi-threaded program.
도2는 도1에 도시된 프로그램을 실행할 때 의도되거나 예상되는 실행과정도면이다.FIG. 2 is a diagram of an intended or expected execution process when executing the program shown in FIG.
도3는 도1에 도시된 프로그램을 실행할 때 예상되지 못한 실행으로 인해 데이터 경합이 발생하게 되는 예시도면이다. FIG. 3 is an exemplary diagram in which data contention occurs due to unexpected execution when executing the program shown in FIG.
도4은 본 발명의 일실시예인 멀티스레드 프로그램의 데이터 경합을 검출하는 방법을 나타낸 개략도이다.4 is a schematic diagram illustrating a method of detecting data contention of a multithreaded program according to an embodiment of the present invention.
도5는 본 발명의 일실시예인 스레드 레이블링 단계를 거친 멀티스레드의 도면이다.5 is a diagram of a multithreaded thread thread labeling step of one embodiment of the present invention.
도6는 인스톨 락 오퍼레이션에 관한 도면이다.6 is a diagram relating to an installation lock operation.
도7는 리무브 락 오퍼레이션에 관한 도면이다. 7 is a diagram relating to a remove lock operation.
도8은 본 발명의 일실시예인 멀티스레드 프로그램에서 경합을 치유하는 방법을 나타내는 순서도이다. 8 is a flow chart illustrating a method of healing contention in a multithreaded program of one embodiment of the present invention.
도9은 멀티스레드에서 데이터 경합 치유 결과를 나타낸 도면이다.9 illustrates data contention healing results in multithreading.
도10은 본 발명의 일실시예인 항공기용 컴퓨터 시스템을 위한 ARINC-653에 적용되는 멀티 스레드 프로그램의 경합 치유 시스템에 관한 블럭도이다.10 is a block diagram of a contention healing system of a multi-threaded program applied to ARINC-653 for an aircraft computer system according to one embodiment of the present invention.
실시예들은 여러 가지 다른 형태들로 구체화되어질 수 있고, 여기에서 설명되는 양태들로 한정되는 것으로 해석되지 않는다. 오히려, 상기 양태들은 실시예들을 더욱 철저하고 완전하게 되도록 해주며, 당업자에게 실시예들의 영역을 충분히 전달할 수 있도록 해준다. The embodiments may be embodied in many different forms and should not be construed as limited to the aspects set forth herein. Rather, the above aspects make the embodiments more thorough and complete, and fully convey the scope of the embodiments to those skilled in the art.
본 발명은 ARINC-653기반 항공기 컴퓨터 시스템에서 멀티스레드 프로그램의 경합치유 방법으로 멀티 스레드 프로그램의 디텍터가 데이터 경합발생을 검출하는 단계와 상기 ARINC-653이 힐러를 호출하는 단계, 힐러가 상기 데이터 경합을 치유하는 단계를 거치게 된다. According to the present invention, a multithreaded program detector detects a data contention occurrence, an ARINC-653 calls a healer in a ARINC-653-based aircraft computer system, and a healer executes the data contention. There is a healing phase.
이하 본 발명의 실시예에 대해서 첨부 도면들을 참조해서 설명하기로 한다. Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings.
도4는 본 발명의 일실시예인 멀티스레드 프로그램의 데이터 경합을 검출하는 방법을 나타낸 개략도이다. 도4에 도시된 바와 같이 상기 데이터 경합발생을 검출하는 단계는 스레드에 레이블을 생성하는 단계와 디텍션 프로토콜을 이용하여 경합발생을 검출하는 단계를 거친다. 4 is a schematic diagram illustrating a method of detecting data contention of a multithreaded program according to an embodiment of the present invention. As shown in FIG. 4, the detecting of the data contention is performed by generating a label on the thread and detecting the contention using the detection protocol.
이하 상기 각 스레드의 식별을 위한 레이블을 생성하는 단계에 대한 설명이다.Hereinafter, a description will be given of generating a label for identification of each thread.
도5는 본 발명의 일실시예인 스레드 레이블링 단계를 거친 멀티스레드의 도면이다. 둘 이상의 멀티 스레드에서 데이터의 경합이 발생할 수 있는 조건을 판별하기 위해서 각 스레드에 동시성 정보를 유지하는 유일한 식별자인 레이블을 생성하고자 NR 레이블링(Nest Region Labeling) 기법을 적용한다. 5 is a diagram of a multithreaded thread thread labeling step of one embodiment of the present invention. In order to determine the conditions under which data contention may occur in two or more multi-threads, the NR labeling technique is applied to generate a label that is a unique identifier that maintains concurrency information in each thread.
먼저 조인카운트(λ)는 초기 스레드로부터 중요스레드(critical thread)에 관련된 조상스레드(ancester thread)의 수를 나타낸다. First, the join count λ represents the number of ancester threads associated with the critical threads from the initial thread.
내포영역(nest region)은 <α,β>로 표시하고 스레드의 공간범위를 정수로 표현한 것이다. 레이블링을 완료한 스레드는 [λ,<α,β>]로 표현된다.The nested region is represented by <α, β> and the spatial range of the thread is expressed by an integer. The thread that has completed labeling is represented by [λ, <α, β>].
도5에 도시된 바와 같이 부모스레드인 T는 조인카운트가 1이고 내포영역은 <1, 50>이다. 이때, 내포영역의 최대범위는 컴퓨터 시스템이 표현할 수 있는 최대 정수이고, 예를 위해 간단히 50이라 가정한다. T1과 T2를 위한 레이블을 생성하면 이들 두 스레드의 부모스레드 T가 존재하여 조인카운트의 값은 1이 되고, 내포영역은 부모 스레드로부터 결정되므로 각각 <1, 25>, <26,50>으로 나누어진다. 결국 스레드 T1과 T2는 도5에 보는 바와 같이 각 스레드를 위하여 [1,<1,25>], [1,<26,50>]의 레이블을 T의 내포영역 내에서 생성하게 된다.As shown in FIG. 5, the parent thread T has a join count of 1 and an inclusion region of <1, 50>. At this time, the maximum range of the nested area is the maximum integer that the computer system can express, and is assumed to be 50 simply for the sake of example. If you create a label for T1 and T2, there is a parent thread T of these two threads, so the join count is 1, and the nesting area is determined from the parent thread, so it is divided into <1, 25>, and <26,50>, respectively. Lose. As a result, the threads T1 and T2 generate labels of [1, <1,25>] and [1, <26,50> in the nesting area of T for each thread as shown in FIG.
이처럼 각 스레드에 대해서 식별자인 레이블이 결정되면 경합이 발생할 수 있는 스레드가 되는지는 소정의 조건을 만족해야 한다. As such, when a label, which is an identifier, is determined for each thread, whether or not a thread can cause contention must satisfy a predetermined condition.
즉 어느 한 스레드의 내포영역이 <α1,β1>이고 또 다른 하나의 스레드 내포영역이 <α2,β2>인 경우 만약 α1<β2이거나 α2>β1인 조건을 만족하면 두개의 스레드는 데이터의 경합이 발생할 수 있는 스레드가 된다. In other words, if one thread's nesting area is <α1, β1> and another thread's nesting area is <α2, β2>, the two threads will not have data contention if they satisfy the condition α1 <β2 or α2> β1. Become a thread that can occur.
결국 도5에 도시되어 있는 T1과 T2 각각의 내포영역을 비교해 보면 1<50이나 26>25으로 만족되므로 경합이 발생할 수 있는 스레드가 된다.As a result, when comparing the nested areas of each of T1 and T2 shown in FIG.
이와 달리 T1과 T2의 부모스레드인 T와 비교해 보면 T와 T1, T와 T2 각각은 상기 조건을 만족하지 않고 순서관계에 있으므로 경합이 발생할 수 없는 스레드이다. In contrast, compared to T, the parent thread of T1 and T2, each of T and T1, T, and T2 does not satisfy the above conditions and is in a sequential relationship, and thus a contention cannot occur.
이하 디텍션 프로토콜을 이용하여 경합발생을 검출하는 단계에 대한 설명이다.Hereinafter, a description will be given of the step of detecting the occurrence of contention using the detection protocol.
디텍션 프로토콜을 이용하여 경합발생을 검출하기 위해서 본 발명의 일실시예에서는 Dinning and Schonberg에 의해서 제안된 프로토콜을 사용한다. In one embodiment of the present invention, a protocol proposed by Dinning and Schonberg is used to detect contention occurrence using a detection protocol.
상기 제안된 프로토콜에 의하면 도5에 도시되어 있는 T1과 T2에서 경합이 발생할 수 있는 경우는 스레드 A에 있는 {r1,w2}와 스레드 B에 있는 {r3,w4}사이에서 {w2-r3, r1-w4, w2-w4}경합이 검출되는 경우이다. According to the proposed protocol, when contention may occur in T1 and T2 shown in FIG. 5, {w2-r3, r1 between {r1, w2} in thread A and {r3, w4} in thread B. -w4, w2-w4} contention is detected.
예를 들어 앞서 언급했던 도2에 r1=0이라 하고 스레드를 통해 w2가 나오면 1씩 더한다고 가정하면 r1→w2→r3→w4를 순차적으로 지나면서 데이터 값은 2가 될 것이다. 그러나 도3에서 같은 방법으로 하면 프로그램 상에 입력되는 데이터 값은 r1에 0이 입력된 후에 w2가 나오기 전에 r3가 있어 r3=0으로 입력되고 w4=1을 프로그램상에 입력하게 된다. 결국 전혀 다른 값을 갖게 되어 데이터 경합에 따른 오류가 발생하게 된다. 즉 짝을 이룬 조합에서 write(w2, w4)가 존재하는 경우 경합이 발생하게 되고 Dinning and Schonberg에 의해 제안된 프로토콜에 의하면 {w2-r3, r1-w4, w2-w4}조합 사이에서는 경합이 발생됨을 검출할 수 있게 된다.For example, suppose that r1 = 0 in FIG. 2 mentioned above, and w2 is added through a thread, the data value is 2 while sequentially passing r1 → w2 → r3 → w4. However, in the same manner as in FIG. 3, the data value input on the program is r3 = 0 and r4 = 0 and w4 = 1 on the program before w2 is output after 0 is input to r1. Eventually it will have a completely different value, resulting in errors due to data contention. That is, when write (w2, w4) exists in a paired combination, contention occurs and according to the protocol proposed by Dinning and Schonberg, contention occurs between {w2-r3, r1-w4, w2-w4} combinations. Can be detected.
이처럼 경합이 발생하게 될 경우를 검출하는 단계를 거친 후에 경합을 치유하는 단계를 거치게 된다. As such, after a step of detecting a case in which contention occurs, a step of healing contention is performed.
상기 데이터 경합을 치유하는 단계는 인스톨 락 오퍼레이션에 의해서 상기 경합이 발생한 지점에 락(lock)을 삽입하는 과정과 리무브 락 오퍼레이션에 의해서 잘못된 락(lock)을 제거하는 과정을 거친다. Healing the data contention includes inserting a lock at the point where the contention occurred by an install lock operation and removing a wrong lock by a remove lock operation.
도6는 인스톨 락 오퍼레이션에 관한 도면이고 도7는 리무브 락 오퍼레이션에 관한 도면이다. Fig. 6 is a view related to the install lock operation and Fig. 7 is a view related to the remove lock operation.
락을 삽입하고 제거한다는 것은 궁극적으로 데이터 상의 인터리빙을 제거하거나 변화시킨다는 것으로 특정 스레드에서 경합 발생이 가능한 영역을 대상으로 이들의 안전한 수행을 위해 다른 스레드의 수행이 끼어들지 못하도록 보호하거나 문맥교환(Context Switch) 또는 스케줄링을 강제하는 것을 의미한다. Inserting and removing locks ultimately removes or changes interleaving on the data, which protects the execution of other threads from interfering with or prevents the execution of other threads for safe execution of contentionable areas on a particular thread. ) Or to force scheduling.
데이터 경합 지점에 락이 존재하지 않거나 해제된 경우에는 인스톨 락 오퍼레이션이 작동하게 되어 도6에 도시된 바와 같이 경합이 발생한 지점에 락(lock)을 삽입하여 스레드 상에서 다른 스레드의 데이터와 경합이 발생되지 않도록 하며, 이미 스레드 상에 락이 있으나 새로운 락을 도입하기 위해서 도7에 도시된 바와 같이 리무브 락 오퍼레이션이 작동하여 락을 제거하는 과정을 거치게 된다. If the lock does not exist or is released at the data contention point, the install lock operation is activated to insert a lock at the contention point as shown in FIG. 6 to prevent contention with data of other threads on the thread. In addition, although there is already a lock on the thread, as shown in FIG. 7, the remove lock operation is performed to remove the lock as shown in FIG. 7.
이러한 과정을 통해서도 경합을 치유하지 못하게 된 경우 상기 헬스모니터에 경합이 치유되지 못한 사실을 알리고 헬스모니터에서는 새로운 에러처리 코드를 작동시키는 단계를 더 거치게 된다. 상기 새로운 에러처리 코드란 인스톨 락 오퍼레이션에 의해 삽입되는 락의 위치(경합 포인트)를 달리하여 프로그램을 동작시키는 것을 말한다.If the contention cannot be cured even through this process, the health monitor is notified that the contention is not cured, and the health monitor further goes through the step of operating a new error handling code. The new error handling code refers to operating a program by changing a lock position (a contention point) inserted by an install lock operation.
즉 리무브 락 오퍼레이션은 앞서 인스톨 락 오퍼레이션에 의해서 락이 경합지점에 삽입되었으나 경합이 치유되지 못하게 된 경우에 치유이상(Healing Anomaly)이라고 표시하여 헬스모니터에 알리게 되며 다시 도7에 도시된 리무브 락 오퍼레이션이 동작하게 되어 잘못된 락을 제거하고 인스톨 락 오퍼레이션에 의해서 새로운 락을 삽입하는 과정을 다시 거쳐 결국에는 데이터의 경합을 치유하게 된다. That is, when the lock lock operation is inserted into the contention point by the installation lock operation, but the contention cannot be cured, the remove lock operation is notified to the health monitor by displaying a healing anomaly, and the remove lock operation shown in FIG. 7 again. This operation removes the wrong lock, inserts a new lock by the install lock operation, and finally heals the contention of data.
이하, 앞서의 ARINC-653기반 항공기용 컴퓨터 시스템에서 멀티 스레드 프로그램의 경합 치유 방법을 종합하여 살펴본다.Hereinafter, a description will be given of the contention healing method of the multi-threaded program in the ARINC-653-based aircraft computer system.
도8은 본 발명의 일실시예인 멀티스레드 프로그램에서 경합을 치유하는 방법을 나타내는 순서도이다. 8 is a flow chart illustrating a method of healing contention in a multithreaded program of one embodiment of the present invention.
도8에 도시된 바와 같이 디텍터가 경합을 찾는 단계(S1)를 거치게 되고 멀티 스레드 상에 경합이 검출된 경우(S2)에는 디텍터는 ARINC-653의 헬스모니터에 경합사실을 알리게 된다(S3). 헬스모니터는 오류가 발생한 구역에 있는 파티션 오퍼레이팅 시스템(POS)에 접근하게 된다(S4). 해당 파티션 오퍼레이팅 시스템은 힐러를 호출하게 되고(S5) 힐러는 데이터 힐링 작업을 수행(S6)하게 된다. 힐링 결과 데이터 경합이 치유(S7)된 경우에는 공유메모리(shared memory)에 저장하거나 프로그램을 수행(S10)하게 되며, 데이터 경합을 치유하지 못한 경우에는 상기 헬스모니터에 알리고(S8) 헬스모니터는 새로운 에러처리 코드를 생성(S9)하고 힐러는 다시 인스톨 락 오퍼레이션, 리무브 락 오퍼레이션을 동작시켜 결국 데이터 경합을 치유하게 된다. As shown in FIG. 8, when the detector goes through a step of searching for contention (S1) and when contention is detected on a multi-thread (S2), the detector informs the health monitor of the ARINC-653 of the contention fact (S3). The health monitor accesses the partition operating system (POS) in the zone where the error occurs (S4). The partition operating system calls the healer (S5) and the healer performs a data healing operation (S6). If the data contention is healed as a result of healing (S7), it is stored in a shared memory or a program is executed (S10). If the data contention is not cured, the health monitor is notified (S8). After generating the error handling code (S9), the healer operates the install lock operation and the remove lock operation again, and eventually heals data contention.
도9은 멀티스레드에서 데이터 경합 치유 결과를 나타낸 도면이다.9 illustrates data contention healing results in multithreading.
도9에 도시된 바와 같이 r1-w4사이에 경합이 검출된 경우 힐러에 의해서 스레드B에 락이 삽입되고 결국 스레드 A와 스레드 B간의 데이터 경합을 치유하게 된다. As shown in FIG. 9, when contention is detected between r1-w4, the locker is inserted into the thread B by the healer, and eventually the data contention between the thread A and the thread B is healed.
이하 본 발명인 ARINC-653 기반 항공기용 컴퓨터 시스템에서 멀티 스레드 프로그램의 경합 치유 시스템에 대하여 설명한다.Hereinafter, a contention healing system of a multi-threaded program in an ARINC-653-based aircraft computer system will be described.
도10은 본 발명의 일실시예인 ARINC-653 기반 항공기용 컴퓨터 시스템에서 멀티 스레드 프로그램의 경합 치유 시스템에 관한 블럭도이다.10 is a block diagram of a contention healing system of a multi-threaded program in an ARINC-653 based aircraft computer system of one embodiment of the present invention.
ARINC-653기반 항공기용 컴퓨터 시스템에서 멀티 스레드 프로그램의 경합 치유 시스템은 데이터 경합을 탐지하는 디텍터와 경합이 발생한 데이터를 치유하는 힐러, 경합발생 정보를 상기 디텍터로부터 전달받고 상기 힐러와 연결하는 헬스모니터를 포함하는 ARINC-653모듈을 포함하고 있다. 상기 힐러는 경합이 탐지된 지점에 락을 삽입하는 인스톨 락 오퍼레이터, 잘못된 락을 제거하는 리무브 락 오퍼레이터를 포함한다. In the ARINC-653 based aircraft computer system, a multi-threaded contention healing system includes a detector that detects data contention, a healer that heals data that has occurred, and a health monitor that receives contention information from the detector and connects the healer. Includes the included ARINC-653 module. The healer includes an install lock operator that inserts a lock at the point where contention is detected and a remove lock operator that removes the wrong lock.
상기 ARINC-653은 독립적인 기능을 수행하는 각 구역을 포함하고 있으며, 상기 각 구역마다 별개의 오퍼레이팅 시스템을 포함하고 있다. 또한 실시간으로 데이터 경합여부를 시스템에 전달하는 기능을 하는 헬스모니터를 포함하고 있고 상기 헬스모니터는 상기 디텍터와 상기 힐러를 연결하고 있다. The ARINC-653 includes zones that perform independent functions, and each zone includes a separate operating system. It also includes a health monitor that functions to deliver data contention to the system in real time, the health monitor is connected to the detector and the healer.
도10에 도시된 시스템은 본 발명의 일실시예인 멀티 스레드 프로그램의 경합치유 시스템으로서 프로세스, 파티션, 모듈 각각의 레벨 중에서 파티션 레벨에서의 경합치유 시스템에 대한 블럭도이다. 10 is a block diagram of a contention healing system at a partition level among levels of a process, a partition, and a module as a contention healing system of a multi-threaded program according to an embodiment of the present invention.
상기 디텍터는 실행중에 프로그램에서 데이터 경합이 발생하는 지를 모니터링 한다. 경합발생을 알리기 위해서 상기 인터페이스의 상기 헬스모니터와 연결되어 있다. The detector monitors whether data contention occurs in the program during execution. It is connected to the health monitor of the interface to inform the contention occurrence.
상기 힐러는 오퍼레이팅 시스템에 의해서 호출되며 인스톨 락 오퍼레이터와 리무브 락 오퍼레이터를 포함하고 데이터 경합을 치유하는 기능을 담당한다. 데이터 경합을 치유하지 못한 경우 다시 헬스모니터에 알리고 다시 경합치유를 위한 힐링작업을 반복하여 개시하게 된다. The healer is called by the operating system and includes an install lock operator and a remove lock operator and is responsible for healing data contention. If the data contention is not cured, the health monitor is notified again, and the healing work for the contention healing is started repeatedly.
상기 힐러는 데이터 경합이 발생했을 때 시스템 내의 다른 프로세스보다 우선적으로 작동하게 될 수 있다.The healer may be given priority over other processes in the system when data contention occurs.
결국 본 발명인 ARINC-653 기반 항공기용 컴퓨터 시스템에서 멀티 스레드 프로그램의 경합 치유 시스템에 의해서 데이터의 경합을 검출하고 즉각적으로 데이터 경합을 치유하여 프로그램 수행의 지연과 오류를 막는 시스템이 실현된다. As a result, in the ARINC-653-based aircraft computer system of the present invention, a system for detecting a contention of a data by a multi-threaded contention healing system and immediately healing data contention to prevent delay and error in program execution.
본 발명의 권리범위는 상술한 실시 예에 한정되는 것이 아니라 첨부된 특허청구범위 내에서 다양한 형태의 실시예로 구현될 수 있다. 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 변형 가능한 다양한 범위까지 본 발명의 청구범위 기재의 범위 내에 있는 것으로 본다.The scope of the present invention is not limited to the above-described embodiments but may be implemented in various forms of embodiments within the scope of the appended claims. Without departing from the gist of the invention claimed in the claims, it is intended that any person skilled in the art to which the present invention pertains falls within the scope of the claims described herein to various extents which can be modified.

Claims (8)

  1. ARINC-653 기반 항공기용 컴퓨터 시스템에서 멀티 스레드 프로그램의 경합치유 방법에 있어서,A method of contention healing in a multi-threaded program in an ARINC-653 based aircraft computer system,
    디텍터가 멀티 스레드 프로그램의 데이터 경합을 검출하는 단계;The detector detecting data contention of the multi-threaded program;
    힐러가 상기 데이터 경합을 치유하는 단계를 포함하는 ARINC-653 기반 항공기용 컴퓨터 시스템에서 멀티 스레드 프로그램의 경합 치유 방법.And a healer healing the data contention.
  2. 제1항에 있어서,The method of claim 1,
    상기 디텍터가 멀티 스레드 프로그램의 데이터 경합을 검출하는 단계는 각각의 스레드에 레이블을 생성하는 단계와 디텍션 프로토콜을 이용하여 경합을 검출하는 단계를 포함하는 ARINC-653기반 항공기용 컴퓨터 시스템에서 멀티 스레드 프로그램의 경합 치유 방법.The detecting of the data contention of the multi-threaded program by the detector may include generating a label for each thread and detecting contention by using a detection protocol. Contention healing method.
  3. 제1항에 있어서,The method of claim 1,
    상기 디텍터가 멀티 스레드 프로그램의 데이터 경합을 검출하는 단계 이후, 상기 디텍터가 상기 ARINC-653의 헬스모니터에 데이터 경합 정보를 전송하는 단계와 상기 헬스모니터가 데이터 경합이 발생한 구역의 상기 ARINC-653내 파티션 오퍼레이팅 시스템(POS)에 접근하는 단계를 더 포함하는 ARINC-653기반 항공기용 컴퓨터 시스템에서 멀티 스레드 프로그램의 경합 치유 방법.After the detector detects data contention of a multi-threaded program, the detector transmits data contention information to the health monitor of the ARINC-653 and the partition in the ARINC-653 of the region where the data monitor has data contention. A method of contention healing in a multi-threaded program in an ARINC-653 based aircraft computer system, further comprising accessing an operating system (POS).
  4. 제1항에 있어서,The method of claim 1,
    상기 데이터 경합을 치유하는 단계는 인스톨 락 오퍼레이션에 의해서 상기 경합이 발생한 지점에 락(lock)을 삽입하는 과정과 리무브 락 오퍼레이션에 의해서 잘못된 락(lock)을 제거하는 과정을 포함하는 ARINC-653기반 항공기용 컴퓨터 시스템에서 멀티 스레드 프로그램의 경합 치유 방법.Healing the data contention may include inserting a lock at the point where the contention occurred by an install lock operation and removing a wrong lock by a remove lock operation. Contention healing method of multi-threaded program in aircraft computer system.
  5. 제4항에 있어서,The method of claim 4, wherein
    상기 락을 삽입하는 과정 또는 상기 락을 제거하는 과정은 스레드에서 경합 발생이 가능한 영역을 대상으로 경합 발생 없는 수행을 위해 다른 스레드의 수행이 끼어들지 못하도록 보호하거나 문맥교환(context switch) 또는 스케줄링을 강제하는 것을 포함하는 ARINC-653기반 항공기용 컴퓨터 시스템에서 멀티 스레드 프로그램의 경합 치유 방법.The process of inserting the lock or removing the lock protects an execution of a contention-free area in a thread to prevent another thread from intervening or to enforce a context switch or scheduling. A method of contention healing in a multi-threaded program in an ARINC-653 based aircraft computer system, comprising:
  6. 제1항에 있어서,The method of claim 1,
    상기 힐러가 상기 데이터 경합을 치유하는 단계는 상기 힐러가 상기 데이터 경합을 치유하지 못한 경우 헬스모니터에 알리고 상기 헬스모니터는 새로운 에러처리 코드를 생성하는 단계를 더 포함하는 ARINC-653기반 항공기용 컴퓨터 시스템에서 멀티 스레드 프로그램의 경합 치유 방법.Wherein the healing of the data contention by the healer further includes informing the health monitor when the healer fails to heal the data contention, and the health monitor further generating a new error handling code. Contention healing method in multi-threaded programs.
  7. ARINC-653기반 항공기용 컴퓨터 시스템에서 멀티 스레드 프로그램의 경합 치유 시스템에 있어서,In a contention healing system of a multi-threaded program in an ARINC-653 based aircraft computer system,
    데이터 경합을 탐지하는 디텍터;A detector for detecting data contention;
    경합이 발생한 데이터를 치유하는 힐러;및A healer to heal data where contention has occurred; and
    경합발생 정보를 상기 디텍터로부터 전달받고 상기 힐러와 연결하는 헬스모니터를 포함하는 ARINC-653모듈을 포함하는 ARINC-653기반 항공기용 컴퓨터 시스템에서 멀티 스레드 프로그램의 경합 치유 시스템.And a contention healing system of a multi-threaded program in an ARINC-653-based aircraft computer system including an ARINC-653 module including a health monitor that receives contention occurrence information from the detector and connects with the healer.
  8. 제7항에 있어서,The method of claim 7, wherein
    상기 힐러는 경합이 탐지된 지점에 락(lock)을 삽입하는 인스톨 락 오퍼레이터와 잘못된 락(lock)을 제거하는 리무브 락 오퍼레이터를 포함하는 ARINC-653기반 항공기용 컴퓨터 시스템에서 멀티 스레드 프로그램의 경합 치유 시스템.The healer is a contention healing of a multi-threaded program in an ARINC-653 based aircraft computer system that includes an install lock operator inserting a lock at a point where contention is detected and a remove lock operator that removes an incorrect lock. system.
PCT/KR2011/002056 2010-11-23 2011-03-25 Method and system for healing races of a multi-thread program in an arinc-653 based computer system for aircraft WO2012070727A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2010-0116992 2010-11-23
KR20100116992 2010-11-23

Publications (1)

Publication Number Publication Date
WO2012070727A1 true WO2012070727A1 (en) 2012-05-31

Family

ID=46146050

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2011/002056 WO2012070727A1 (en) 2010-11-23 2011-03-25 Method and system for healing races of a multi-thread program in an arinc-653 based computer system for aircraft

Country Status (1)

Country Link
WO (1) WO2012070727A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2581706A1 (en) * 2011-10-14 2013-04-17 Thales Fast reset method for display device of a dashboard

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100322224B1 (en) * 1998-02-04 2002-02-07 포만 제프리 엘 Apparatus and method for performing semantic concurrency control in dispatching client requests within a server in a client/server computer system
KR20100006530A (en) * 2008-07-09 2010-01-19 인터내셔널 비지네스 머신즈 코포레이션 Lock windows for reducing contention

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100322224B1 (en) * 1998-02-04 2002-02-07 포만 제프리 엘 Apparatus and method for performing semantic concurrency control in dispatching client requests within a server in a client/server computer system
KR20100006530A (en) * 2008-07-09 2010-01-19 인터내셔널 비지네스 머신즈 코포레이션 Lock windows for reducing contention

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HA, OK KYOON ET AL.: "An Efficient Tool for Verifying Races in OpenMP Directive Programs without Interthread Synchronization", JOURNAL OF KIISE: COMPUTING PRACTICES AND LETTERS, vol. 14, no. 3, May 2008 (2008-05-01), pages 301 - 305 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2581706A1 (en) * 2011-10-14 2013-04-17 Thales Fast reset method for display device of a dashboard

Similar Documents

Publication Publication Date Title
KR101728581B1 (en) Control computer system, method for controlling a control computer system, and use of a control computer system
US9336005B2 (en) Cooperative preemption
US7260749B2 (en) Hot plug interfaces and failure handling
US20130268798A1 (en) Microprocessor System Having Fault-Tolerant Architecture
AU2020285262B2 (en) Error recovery method and apparatus
US5301311A (en) Control method for preventing incorrect reset of common resource and multicomputer system executing the method
US20060282702A1 (en) Task management apparatus for control apparatus, input/output control apparatus, information control apparatus, task management method, input/output controlling method, and information controlling method
US20150006978A1 (en) Processor system
US20060048000A1 (en) Process management system
CN1152306C (en) Method for preventing processes between all processors in multiprocessor computer from producing collision
WO2012070727A1 (en) Method and system for healing races of a multi-thread program in an arinc-653 based computer system for aircraft
Ha et al. On-the-fly healing of race conditions in ARINC-653 flight software
JPH09251443A (en) Processor fault recovery processing method for information processing system
EP3629176B1 (en) Fault detection circuit with progress register and status register
Grunske Transformational patterns for the improvement of safety properties in architectural specification
US9274909B2 (en) Method and apparatus for error management of an integrated circuit system
US11467865B2 (en) Vehicle control device
Tai et al. VP: A new operation for semaphores
JP3423732B2 (en) Information processing apparatus and failure processing method in information processing apparatus
WALTER MAFT-An architecture for reliable fly-by-wire flight control
Salles et al. Can we rely on COTS microkernels for building fault-tolerant systems?
KR102475879B1 (en) Apparatus and method for MDPS MCU core fault detection
Stiffler The vulnerability of computers: malfunctions may be due to" illegal" operations, to hardware failures, or to combinations of hardware and software failures that simply elude pinpointing
CN115964249A (en) Embedded system software interception program design system and method
WO2020105774A1 (en) Multiple module scheduling device and system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11843869

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11843869

Country of ref document: EP

Kind code of ref document: A1