CN101122869A - Single thread reposition method for multiple-core multiple thread processor - Google Patents

Single thread reposition method for multiple-core multiple thread processor Download PDF

Info

Publication number
CN101122869A
CN101122869A CNA2007101522649A CN200710152264A CN101122869A CN 101122869 A CN101122869 A CN 101122869A CN A2007101522649 A CNA2007101522649 A CN A2007101522649A CN 200710152264 A CN200710152264 A CN 200710152264A CN 101122869 A CN101122869 A CN 101122869A
Authority
CN
China
Prior art keywords
kernel thread
main kernel
thread
main
threaded
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CNA2007101522649A
Other languages
Chinese (zh)
Other versions
CN100535865C (en
Inventor
赵阳
过仕好
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CNB2007101522649A priority Critical patent/CN100535865C/en
Publication of CN101122869A publication Critical patent/CN101122869A/en
Application granted granted Critical
Publication of CN100535865C publication Critical patent/CN100535865C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

The present invention discloses a single-thread resetting method of a multicore-multithread processor, including the following operations: after start-up of a master kernel thread and a non-master kernel thread, the master kernel thread actively sends a heartbeat detection message to the non-master kernel thread. If a heartbeat reply from the non-master kernel thread is not received in the specified time, the master kernel thread sends a non-maskable interrupt to the non-master kernel thread, which, receiving the interrupt, transfers to the designated address and implements codes. According to the recorded information of non-master kernel thread, the master kernel thread reloads code segments, data segment, mapping relation between the physical address and physical virtual address space and sends start-up information to the non-master kernel thread. The resetting method introduced in the present invention has the following advantages such as a low system cost and short resetting time as well as non-interrupt to the other non-master kernel threads, greatly improving the system stability and reliability of the multicore-multithread processor.

Description

A kind of single-threaded repositioning method that is used for the multinuclear multiline procedure processor
Technical field
The present invention relates to resetting technique, relate in particular to the single-threaded repositioning method that is used for the multinuclear multiline procedure processor.
Background technology
High-performance multinuclear multiline procedure processor has obtained application more and more widely, XLR series processors with RMI Corp. is an example, this series processors is integrated up to 8 RMI enhancement mode MIPS64 RISC CPU core, each kernel is supported 4 threads, therefore the XLR processor is the highest supports 32 threads, and promptly the processing power of a polycaryon processor is equivalent to 32 parallel single core processor.
Occur when unusual in common single core processor system, can rely on watchdog reset or the software warm start total system that resets, in time resetting to guarantee system stability and reliability; And in multinuclear multiline procedure processor system, because the different threads of a plurality of kernels of polycaryon processor can identical or different embedded OS and the application program of independent operating, though certain thread of a certain certain kernel of the moment may occur unusually, and this moment, the thread in other all kernels still can operate as normal, therefore the business that unusual kernel thread occurs can be shared the kernel thread of other operate as normal, does not influence the normal operation of system.If,, can influence the reliability and stability of total system greatly though system has obtained recovery in order to recover the method that unusual thread adopts total system to reset.
Patented claim CN200610127590.X " method for supervising in the multiple nucleus system, supervising device and multiple nucleus system " is disclosed in the unusual method of monitoring polycaryon processor in the multiple nucleus system, and different reposition strategies is set respectively, but do not provide at the single-threaded method that resets concrete in the multinuclear multiline procedure processor at each nuclear.
In sum, the resetting technique of existing multinuclear multiline procedure processor can't reset at single-threaded, thereby has influenced the reliability and stability of system greatly.
Summary of the invention
The objective of the invention is to propose a kind of single-threaded repositioning method that is used for the multinuclear multiline procedure processor, be used for overcoming the problem that when concrete single-threaded the going wrong of multinuclear multiline procedure processor, total system is resetted.
In order to realize the foregoing invention purpose, the present invention specifically is achieved in that
A kind of single-threaded repositioning method that is used for the multinuclear multiline procedure processor comprises the steps:
A, after main kernel thread and non-main kernel thread start, main kernel thread initiatively sends heartbeat detection message to non-main kernel thread, does not reply if receive non-main kernel thread heartbeat in official hour, then sends non-shielding to the non-main kernel thread of losing heartbeat and interrupts;
B receives that the non-main kernel thread that non-shielding is interrupted changes the assigned address run time version over to.
The described single-threaded repositioning method that is used for the multinuclear multiline procedure processor also comprises:
C, main kernel thread is reloaded the mapping relations of code segment, data segment and physical address, physics virtual address space according to the information of the non-main kernel thread of record, sends initiation message to non-main kernel thread.
The described single-threaded repositioning method that is used for the multinuclear multiline procedure processor, the startup of described non-main kernel thread specifically is achieved in that
After receiving the initiation message of main kernel thread transmission, the mapping relations of non-main kernel thread setting physics virtual address space separately change the assigned address run time version over to, upgrade kernel thread.
Connect above-mentioned scheme, described non-main kernel thread is also reset stack pointer.
The described single-threaded repositioning method that is used for the multinuclear multiline procedure processor, described main kernel thread carried out following processing procedure before sending initiation message:
The main kernel thread electrifying startup;
Load non-main kernel thread code to internal memory, and resolve the code information that loads;
Allocation of codes loads the space, writes down the information of non-main kernel thread.
The described single-threaded repositioning method that is used for the multinuclear multiline procedure processor, described master control thread have the start address of non-main kernel thread operation, the mapping relations and the stack pointer of physics virtual address space in the initiation message that non-main kernel thread sends;
The information of the non-main kernel thread of each of described record comprises, the mapping relations of the code segment of non-main kernel thread, data segment, physical address and physical address Virtual Space.
The described single-threaded repositioning method that is used for the multinuclear multiline procedure processor, the initiation message that non-main kernel thread sends according to the main kernel thread that receives, the mapping relations of physics virtual address space separately are set, change the assigned address run time version over to, upgrade the kernel thread relevant information.
The described single-threaded repositioning method that is used for the multinuclear multiline procedure processor, the described assigned address run time version that changes over to, be meant the critical registers configuration of finishing non-main kernel thread, buffer memory initialization and renewal kernel thread relevant information, and wait for that main kernel thread sends initiation message.
Adopt the method for the invention, compared with prior art, overcome in multinuclear multiline procedure processor system certain kernel thread occur resetting when unusual shortcoming of total system, it is concrete single-threaded to occur only resetting when unusual at kernel thread, and do not influence the operation of other kernel threads, can avoid total system to reset, guaranteeing to occur unusual kernel thread resumes operation timely and effectively, this repositioning method not only system overhead is few, reset time is short, and have the independence of not disturbing other kernel threads, greatly improved the stability and the reliability of multinuclear multiline procedure processor system operation.
Description of drawings
Fig. 1 is the kernel thread operation code space synoptic diagram of the method for the invention;
Fig. 2 is the process flow diagram of the method for the invention.
Embodiment
The present invention is described in detail below in conjunction with the drawings and specific embodiments.
As shown in Figure 1, after system powers on, main kernel thread is other non-main kernel thread storage allocation spaces, and difference loading code section and data segment, main kernel thread writes down the physical address that each kernel thread distributed and the mapping relations of physics virtual address, need not to redistribute memory headroom when reloading like this, shortened the time of restarting kernel thread, also saved memory headroom.
Be illustrated in figure 2 as the multiplexing process flow diagram of the method for the invention.
S201, system powers on.
S202 judges whether to be main kernel thread according to thread number, if, then change S203 over to, otherwise, being non-main kernel thread, the circular wait main kernel thread starts.
S203, main kernel thread is carried out work such as critical registers configuration, buffer memory initialization, internal memory initialization and system configuration after starting.
S204, main kernel thread loads non-main kernel thread code to internal memory, resolve the code information that loads, allocation of codes section, data segment space, write down code segment, data segment and the physical address of each non-main kernel thread, the mapping relations of physics virtual address space, and send initiation message to non-main kernel thread.
Described main kernel thread is sent to this non-main kernel thread with the start address of non-main kernel thread operation, the mapping relations and the stack pointer of physics virtual address space by initiation message.
S205, main kernel thread is waited for the startup of non-main kernel thread.
S206, the initiation message that non-main kernel thread sends according to the main kernel thread that receives, physics virtual address space mapping relations separately are set, the code address that changes appointment over to begins to carry out, upgrade the kernel thread relevant information, and reset stack pointer as required, and finish startup work, bring into operation.
S207, main kernel thread regularly sends heartbeat detection message to non-main kernel thread.
S208 judges whether non-main kernel thread loses heartbeat, if then change S209 over to, otherwise change S207 over to.
Main kernel thread timed sending heartbeat detection message, detect the whether normally operation of non-main kernel thread, after non-main kernel thread is received heartbeat detection message, can initiatively make and replying, main kernel thread thinks that in view of the above this non-main kernel thread operation is normal, in case the interval that surpasses regulation is replied in heartbeat, main kernel thread judges that in view of the above this non-main kernel thread of losing heartbeat occurs unusual.
S209, main kernel thread sends non-shielding to the non-main kernel thread of losing heartbeat and interrupts.
S210, non-main kernel thread is received in the non-shielding and is had no progeny, and changes the assigned address run time version over to, mainly finishes the critical registers configuration of this kernel thread, buffer memory initialization and upgrade the kernel thread relevant information, and the initiation message that resends of circular wait main kernel thread.
S211, non-main kernel thread judges whether to receive the initiation message of main kernel thread transmission, if receive, then changes S212 over to, otherwise waits for that main kernel thread resends initiation message, repeats S211.
S212, main kernel thread is according to the information of the non-main kernel thread of record, reload the mapping relations of code segment, data segment and physical address, physics virtual address space, and start address, physics virtual address space mapping relations and the stack pointer of this kernel thread operation resend to this non-main kernel thread by initiation message.
S213, non-main kernel thread is received the initiation message that resends, and restarts operation.

Claims (8)

1. a single-threaded repositioning method that is used for the multinuclear multiline procedure processor is characterized in that, comprises the steps:
A, after main kernel thread and non-main kernel thread start, main kernel thread initiatively sends heartbeat detection message to non-main kernel thread, does not reply if receive non-main kernel thread heartbeat in official hour, then sends non-shielding to the non-main kernel thread of losing heartbeat and interrupts;
B receives that the non-main kernel thread that non-shielding is interrupted changes the assigned address run time version over to.
2. the single-threaded repositioning method that is used for the multinuclear multiline procedure processor as claimed in claim 1 is characterized in that, also comprises:
C, main kernel thread is reloaded the mapping relations of code segment, data segment and physical address, physics virtual address space according to the information of the non-main kernel thread of record, sends initiation message to non-main kernel thread.
3. the single-threaded repositioning method that is used for the multinuclear multiline procedure processor as claimed in claim 1 or 2 is characterized in that the startup of described non-main kernel thread specifically is achieved in that
After receiving the initiation message of main kernel thread transmission, the mapping relations of non-main kernel thread setting physics virtual address space separately change the assigned address run time version over to, upgrade kernel thread.
4. the single-threaded repositioning method that is used for the multinuclear multiline procedure processor as claimed in claim 3 is characterized in that:
Described non-main kernel thread is reset stack pointer.
5. the single-threaded repositioning method that is used for the multinuclear multiline procedure processor as claimed in claim 3 is characterized in that:
Described main kernel thread was carried out following processing procedure before sending initiation message:
The main kernel thread electrifying startup;
Load non-main kernel thread code to internal memory, and resolve the code information that loads;
Allocation of codes loads the space, writes down the information of non-main kernel thread.
6. as claim 2 or the 5 described single-threaded repositioning methods that are used for the multinuclear multiline procedure processor, it is characterized in that:
Described master control thread has the start address of non-main kernel thread operation, the mapping relations and the stack pointer of physics virtual address space in the initiation message that non-main kernel thread sends;
The information of the non-main kernel thread of each of described record comprises, the mapping relations of the code segment of non-main kernel thread, data segment, physical address and physical address Virtual Space.
7. the single-threaded repositioning method that is used for the multinuclear multiline procedure processor as claimed in claim 6 is characterized in that:
The initiation message that non-main kernel thread sends according to the main kernel thread that receives is provided with physics virtual address space mapping relations separately, changes the assigned address run time version over to, upgrades the kernel thread relevant information.
8. the single-threaded repositioning method that is used for the multinuclear multiline procedure processor as claimed in claim 3 is characterized in that:
The described assigned address run time version that changes over to is meant the critical registers configuration of finishing non-main kernel thread, buffer memory initialization and renewal kernel thread relevant information, and wait for that main kernel thread sends initiation message.
CNB2007101522649A 2007-09-20 2007-09-20 Single thread reposition method for multiple-core multiple thread processor Active CN100535865C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2007101522649A CN100535865C (en) 2007-09-20 2007-09-20 Single thread reposition method for multiple-core multiple thread processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2007101522649A CN100535865C (en) 2007-09-20 2007-09-20 Single thread reposition method for multiple-core multiple thread processor

Publications (2)

Publication Number Publication Date
CN101122869A true CN101122869A (en) 2008-02-13
CN100535865C CN100535865C (en) 2009-09-02

Family

ID=39085212

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2007101522649A Active CN100535865C (en) 2007-09-20 2007-09-20 Single thread reposition method for multiple-core multiple thread processor

Country Status (1)

Country Link
CN (1) CN100535865C (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033780A (en) * 2010-12-23 2011-04-27 北京锐安科技有限公司 Method for improving stability and extensibility of player program
CN102754080A (en) * 2010-02-23 2012-10-24 富士通株式会社 Multi-core processor system, interrupt program, and interrupt method
CN102999317A (en) * 2012-12-30 2013-03-27 北京讯鸟软件有限公司 Multi-tenant oriented elastic multi-process service processing method
CN104794006A (en) * 2010-02-23 2015-07-22 富士通株式会社 Multi-core processor system, interrupt routine and interrupt method
CN106293825A (en) * 2016-08-05 2017-01-04 武汉虹信通信技术有限责任公司 A kind of multinuclear based on hardware semaphore starts synchronous method
CN113571003A (en) * 2020-04-28 2021-10-29 佳纶生技股份有限公司 Display device with recovery mechanism
CN114115025A (en) * 2021-11-24 2022-03-01 国汽智控(北京)科技有限公司 Fault information saving method, device and equipment based on automatic driving system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102754080A (en) * 2010-02-23 2012-10-24 富士通株式会社 Multi-core processor system, interrupt program, and interrupt method
CN102754080B (en) * 2010-02-23 2015-05-13 富士通株式会社 Multi-core processor system, interrupt program, and interrupt method
CN104794006A (en) * 2010-02-23 2015-07-22 富士通株式会社 Multi-core processor system, interrupt routine and interrupt method
CN102033780A (en) * 2010-12-23 2011-04-27 北京锐安科技有限公司 Method for improving stability and extensibility of player program
CN102999317A (en) * 2012-12-30 2013-03-27 北京讯鸟软件有限公司 Multi-tenant oriented elastic multi-process service processing method
CN102999317B (en) * 2012-12-30 2015-12-23 北京讯鸟软件有限公司 Towards the elasticity multi-process service processing method of many tenants
CN106293825A (en) * 2016-08-05 2017-01-04 武汉虹信通信技术有限责任公司 A kind of multinuclear based on hardware semaphore starts synchronous method
CN113571003A (en) * 2020-04-28 2021-10-29 佳纶生技股份有限公司 Display device with recovery mechanism
CN114115025A (en) * 2021-11-24 2022-03-01 国汽智控(北京)科技有限公司 Fault information saving method, device and equipment based on automatic driving system
CN114115025B (en) * 2021-11-24 2024-05-28 国汽智控(北京)科技有限公司 Method, device and equipment for storing fault information based on automatic driving system

Also Published As

Publication number Publication date
CN100535865C (en) 2009-09-02

Similar Documents

Publication Publication Date Title
CN100535865C (en) Single thread reposition method for multiple-core multiple thread processor
EP2495655B1 (en) Method for switching operating system and electronic apparatus using the same
US8489932B2 (en) Server system and crash dump collection method
US8261269B2 (en) System and method for synchronizing transient resource usage between virtual machines in a hypervisor environment
EP2798491B1 (en) Method and device for managing hardware errors in a multi-core environment
US20140325197A1 (en) Specialized boot path for speeding up resume from sleep state
JP6399916B2 (en) Information processing apparatus and control method thereof
CN102331958A (en) Method for starting hard disk under Linux system
WO2008101386A1 (en) Method of recovering single core exception in multi-core system
US10025670B2 (en) Information processing apparatus, memory dump method, and storage medium
CN101620460A (en) Computer system dormancy method and computer system
US11868780B2 (en) Central processor-coprocessor synchronization
CN102754080B (en) Multi-core processor system, interrupt program, and interrupt method
EP2827241B1 (en) Electronic device that executes hibernation, suspend control method and a non-transitory computer-readable recording medium
CN106775846B (en) Method and device for online migration of physical server
US9880888B2 (en) Executing an operating system in a multiprocessor computer system
US20220318053A1 (en) Method of supporting persistence and computing device
US20140372806A1 (en) Virtual machine system and information storing processing method
US9170862B2 (en) Converting apparatus, conversion method, and information processing system
CN115576734A (en) Multi-core heterogeneous log storage method and system
WO2008048581A1 (en) A processing device operation initialization system
US10061630B2 (en) Image forming apparatus that ensures operation while HDD is inoperative, and recording medium therefor
JP5867630B2 (en) Multi-core processor system, multi-core processor system control method, and multi-core processor system control program
JP6981098B2 (en) Recovery control device, recovery control system, recovery control method, and recovery control program
JPWO2013136457A1 (en) Virtual computer system, information storage processing program, and information storage processing method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant