CN114546926A - Core cluster synchronization, control method, data processing method, core, device, and medium - Google Patents

Core cluster synchronization, control method, data processing method, core, device, and medium Download PDF

Info

Publication number
CN114546926A
CN114546926A CN202011330716.XA CN202011330716A CN114546926A CN 114546926 A CN114546926 A CN 114546926A CN 202011330716 A CN202011330716 A CN 202011330716A CN 114546926 A CN114546926 A CN 114546926A
Authority
CN
China
Prior art keywords
core
cluster
synchronization
many
data
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
CN202011330716.XA
Other languages
Chinese (zh)
Other versions
CN114546926B (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.)
Beijing Lynxi Technology Co Ltd
Original Assignee
Beijing Lynxi Technology Co Ltd
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 Beijing Lynxi Technology Co Ltd filed Critical Beijing Lynxi Technology Co Ltd
Priority to CN202011330716.XA priority Critical patent/CN114546926B/en
Priority to PCT/CN2021/132363 priority patent/WO2022111457A1/en
Publication of CN114546926A publication Critical patent/CN114546926A/en
Application granted granted Critical
Publication of CN114546926B publication Critical patent/CN114546926B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The present disclosure provides a method for controlling core cluster synchronization, including: sending a synchronization signaling to a starting core of at least one core cluster in a many-core system so as to synchronize the starting core of the core cluster according to the synchronization signaling; the many-core system comprises at least one core cluster, and the cores in the core cluster have an incidence relation driven by data flow. A method of core cluster synchronization, a data processing method, a core, an electronic device, a computer readable medium.

Description

Core cluster synchronization, control method, data processing method, core, device, and medium
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a method for controlling core cluster synchronization, a method for core cluster synchronization, a data processing method, a core, an electronic device, and a computer-readable medium.
Background
The many-core system may be made up of at least one chip, each chip having multiple computational units, the smallest computational unit in each chip that can be independently scheduled and has full computational power being referred to as a core. In the many-core system, a plurality of cores can work jointly, each core can respectively and independently run program instructions, the running speed of a program is accelerated by utilizing the parallel computing capability, and the multitask processing capability is provided.
In some related technologies, cores in a many-core system have a unified synchronization signal, a plurality of cores are switched simultaneously according to the synchronization signal, and the many-core system processes computation tasks globally according to the unified synchronization signal from stage (phase) to stage, which is poor in flexibility.
Disclosure of Invention
The present disclosure provides a control method of core cluster synchronization, a data processing method, a core, an electronic device, a computer readable medium.
In a first aspect, an embodiment of the present disclosure provides a method for controlling core cluster synchronization, including:
sending a synchronization signaling to a starting core of at least one core cluster in a many-core system so as to synchronize the starting core of the core cluster according to the synchronization signaling;
the many-core system comprises at least one core cluster, and the cores in the core cluster have an incidence relation driven by data flow.
In a second aspect, an embodiment of the present disclosure provides a method for synchronizing a core cluster, which is applied to a core of a many-core system, where the method includes:
responding to the received synchronous signaling, and synchronizing according to the synchronous signaling;
the many-core system comprises at least one core cluster, the cores in the core cluster have an incidence relation driven by data flow, and the current core is the initial core of the core cluster to which the current core belongs.
In a third aspect, an embodiment of the present disclosure provides a data processing method applied to a core of a many-core system, including:
receiving data transmitted by a relay core;
switching to an operation state when the received data meets the operation condition;
transmitting the data obtained by operation to a subsequent core of the current core;
the many-core system comprises at least one core cluster, the cores in the core cluster have an incidence relation driven by data flow, and the preceding core, the succeeding core and the current core belong to the same core cluster.
In a fourth aspect, an embodiment of the present disclosure provides a core applied to a many-core system, where the core includes:
one or more processing units;
a storage unit having one or more programs stored thereon that, when executed by the one or more processing units, cause the one or more processing units to implement at least one of the following methods:
the control method for core cluster synchronization according to the first aspect of the embodiment of the present disclosure;
the core cluster synchronization method according to the second aspect of the embodiment of the present disclosure;
the data processing method according to the third aspect of the embodiments of the present disclosure.
In a fifth aspect, an embodiment of the present disclosure provides an electronic device, including:
a plurality of cores; and
a network on chip configured to interact data among the plurality of cores and external data;
one or more of the cores have stored therein one or more instructions that are executed by one or more of the cores to enable one or more of the cores to perform at least one of the following methods:
the control method for core cluster synchronization according to the first aspect of the embodiment of the present disclosure;
the core cluster synchronization method according to the second aspect of the embodiment of the present disclosure;
the data processing method according to the third aspect of the embodiments of the present disclosure.
In a sixth aspect, the disclosed embodiments provide a computer readable medium, on which a computer program is stored, which when executed by a processor, implements at least one of the following methods:
a control method for core cluster synchronization according to a first aspect of the present disclosure;
the core cluster synchronization method according to the second aspect of the embodiment of the present disclosure;
the data processing method according to the third aspect of the embodiments of the present disclosure.
In the embodiment of the disclosure, a synchronization signaling is sent to the initial core of each core cluster in the many-core system, so that the initial cores of each core cluster are synchronized, the synchronization of each core cluster at the cluster level is realized, task processing is performed in each core cluster according to a data stream driving mechanism, the whole many-core system can work at the same time, and the input-output relationship of each core is simple; meanwhile, only the initial core of the core cluster is synchronized through the synchronous signaling, so that the many-core system does not need to perform global core synchronization, the flexibility of processing tasks of the many-core system can be improved, and the core utilization rate is improved.
It should be understood that the statements in this section do not necessarily identify key or critical features of the embodiments of the present disclosure, nor do they limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description.
Drawings
The accompanying drawings are included to provide a further understanding of the disclosure and are incorporated in and constitute a part of this specification, illustrate embodiments of the disclosure and together with the description serve to explain the principles of the disclosure and not to limit the disclosure. The above and other features and advantages will become more apparent to those skilled in the art by describing in detail exemplary embodiments thereof with reference to the attached drawings, in which:
FIG. 1 is a schematic diagram of a data flow driving mechanism;
FIG. 2 is a schematic diagram of a data flow driving mechanism;
FIG. 3 is a flow chart of a control method in an embodiment of the disclosure;
FIG. 4 is a flow chart of some steps in another control method in accordance with an embodiment of the present disclosure;
FIG. 5 is a flow chart of some steps in yet another control method in an embodiment of the present disclosure;
FIG. 6 is a flow chart of some steps in yet another control method in an embodiment of the present disclosure;
FIG. 7 is a flow chart of some steps in yet another control method in an embodiment of the present disclosure;
FIG. 8 is a flow chart of a method of core cluster synchronization in an embodiment of the present disclosure;
FIG. 9 is a flowchart illustrating some steps in another method for core cluster synchronization according to an embodiment of the present disclosure;
FIG. 10 is a flow chart of a data processing method in an embodiment of the present disclosure;
FIG. 11 is a schematic diagram of a data flow driving mechanism in an embodiment of the present disclosure;
FIG. 12 is a block diagram of the components of a core in an embodiment of the disclosure;
FIG. 13 is a block diagram of an electronic device in an embodiment of the disclosure;
FIG. 14 is a block diagram of a computer-readable medium in an embodiment of the disclosure.
Detailed Description
To facilitate a better understanding of the technical aspects of the present disclosure, exemplary embodiments of the present disclosure are described below in conjunction with the accompanying drawings, wherein various details of the embodiments of the present disclosure are included to facilitate an understanding, and they should be considered as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
Embodiments of the present disclosure and features of embodiments may be combined with each other without conflict.
As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising … …, when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. The terms "connected" or "coupled" and the like are not restricted to physical or mechanical connections, but may include electrical connections, whether direct or indirect.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and the present disclosure, and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
The data flow driving mechanism refers to that a plurality of cores process data according to data dependency relations among the cores. Taking fig. 1 as an example, the core 1.1, the core 1.2, and the core 1.3 are data flow driving mechanisms, where the core 1.2 depends on the data obtained by the core 1.1, and the core 1.3 depends on the data obtained by the core 1.2. When the data received by the core 1.2 from the core 1.1 satisfies the operation condition (for example, 100 data received from the core 1.1), the core 1.2 switches to the operation state to perform the operation, and stops receiving the data from the core 1.1. The core 1.2 transmits the data obtained by operation to the core 1.3, and when the data received by the core 1.3 from the core 1.2 meets the operation condition, the core 1.3 is switched to the operation state.
The inventor of the present disclosure has found that a single data flow driving mechanism is not suitable for many-core systems. The use of a separate data flow driving mechanism for many-core system global has the following problems: (1) for a core comprising multiple inputs, it is necessary to count for the multiple inputs separately. As shown in fig. 2, the core 2.1, the core 2.2, the core 2.3, and the core 2.4 are data flow driving mechanisms, wherein the core 2.3 needs 100 data from the core 2.1 and 100 data from the core 2.2 to operate, and the core 2.3 needs to set a counter corresponding to the core 2.1 and the core 2.2 respectively to count data from the core 2.1 and the core 2.2 respectively. (2) Under the condition that the number of core data in the many-core system is large, the complexity of data interaction between cores is high. As shown in fig. 2, core 2.3 includes two branches from core 2.1 and core 2.2. There may be a case where one branch works at a time t +1 and another branch works at a time t +9, so that the many-core system does not work at the same time t, and the input-output relationship of each core in the many-core system is complex.
In view of this, in a first aspect, an embodiment of the present disclosure provides a control method for core cluster synchronization, and with reference to fig. 3, the control method includes:
in step S100, a synchronization signaling is sent to a starting core of at least one core cluster in a many-core system, so that the starting core of the core cluster is synchronized according to the synchronization signaling;
the many-core system comprises at least one core cluster, and the cores in the core cluster have an incidence relation driven by data flow.
In the embodiment of the present disclosure, to solve the above problem, a core cluster is dynamically built according to a computation task. FIG. 2 is a schematic diagram of a many-core system. As shown in fig. 2, the many-core system includes a plurality of core clusters, each including at least one core. Each core cluster comprises a starting core and an output core, and the cores in each core cluster have data flow driven association relationship from the starting core to the output cores. It should be noted that, in the embodiment of the present disclosure, the core in the core cluster has an association relationship driven by a data stream, which means that a data stream driving mechanism is inside the core cluster, and a plurality of cores inside the core cluster perform data processing according to a data dependency relationship between the cores.
In the embodiment of the present disclosure, the synchronization signaling may be a synchronization signaling established outside the many-core system; or after the device for synchronous signaling processing in the many-core system receives the synchronous information through the synchronous line, the received synchronous information is converted into the synchronous signaling; but also synchronization signaling generated by the means for synchronization signaling processing in a many-core system. The embodiment of the present disclosure is not particularly limited in this regard. In the embodiment of the disclosure, the apparatus for synchronous signaling processing in the many-core system may be a core in the many-core system, for example, synchronous signaling may be sent by a high-level core in the many-core system; or may be a dedicated device independent of the core. The embodiment of the present disclosure is not limited to this.
In the control method for core cluster synchronization provided by the embodiment of the disclosure, a synchronization signaling is sent to the start core of each core cluster in a many-core system, so that the start cores of each core cluster are synchronized, synchronization of each core cluster at a cluster level is realized, task processing is performed in each core cluster according to a data stream driving mechanism, the whole many-core system can be ensured to work at the same time, and the input-output relationship of each core is relatively simple; meanwhile, only the initial core of the core cluster is synchronized through the synchronous signaling, so that the many-core system does not need to perform global core synchronization, the flexibility of processing tasks of the many-core system can be improved, and the core utilization rate is improved.
In the disclosed embodiments, a mechanism is also provided to enforce cluster level synchronization. The forced cluster level synchronization means that when a certain core cluster in the many-core system cannot normally process data, the initial core of the core cluster is synchronized by sending a synchronization signaling, so that the problem that the many-core system cannot perform subsequent processing due to the fact that the certain core cluster in the many-core system cannot normally process data is avoided, and the stability of the many-core system can be improved.
Accordingly, in some embodiments, referring to fig. 4, before step S100, the control method further includes:
in step S200, it is determined whether a condition for enforcing cluster level synchronization is satisfied;
when the condition for enforcing cluster level synchronization is satisfied, step S100 is performed.
In the embodiment of the disclosure, forced cluster level synchronization may be initiated under the condition that at least one core cluster in the many-core system is locally overtime; forced cluster level synchronization may also be initiated in the event that at least one core cluster in the many-core system receives a high priority task. The embodiment of the present disclosure is not particularly limited in this regard.
Accordingly, in some embodiments, referring to fig. 5, step S200 comprises:
in step S210, it is determined whether a locally overtime core cluster exists;
in the presence of at least one core cluster that has a local timeout, it is determined that the condition for enforcing cluster-level synchronization is satisfied.
In the embodiment of the present disclosure, the local timeout of the core cluster may be a predetermined time length that the operation time of the core cluster is too long under the condition that data in the core cluster is lost. As an optional implementation manner, it is determined whether the operation duration of each core cluster exceeds a predetermined duration, and when the operation duration of at least one core cluster exceeds the predetermined duration, it indicates that a locally overtime core cluster exists.
Accordingly, in some embodiments, referring to fig. 6, step S200 comprises:
in step S220, it is determined whether there is a core cluster that receives a high-priority task;
and under the condition that at least one core cluster receives a high-priority task, judging that the condition of enforcing cluster-level synchronization is met.
In the embodiment of the disclosure, when each core cluster which needs to be synchronized in the many-core system is ready, a synchronization signaling is sent to the starting core of each core cluster to ensure that each core cluster works at the same time. Core cluster ready refers to the ready state of each core in the core cluster. In the embodiment of the present disclosure, how to ensure that each core cluster is ready when the synchronization signaling is sent to the starting core of each core cluster is not particularly limited. For example, a synchronization cycle not shorter than the operation time of each core cluster processing a phase calculation task may be set, and the synchronization signaling may be sent periodically. As an optional implementation manner, when sending the synchronization signaling, first sending an inquiry signaling to a starting core of each core cluster, inquiring whether each core cluster is ready, and sending the synchronization signaling when each core cluster is ready.
Accordingly, referring to fig. 7, before step S100, the control method further includes:
in step S310, sending an inquiry signaling to a starting core of each core cluster, so that the starting core determines whether a core cluster to which the starting core belongs is ready in response to the inquiry signaling;
in step S320, receiving a feedback message sent by a starting core of each core cluster;
when a feedback message indicating that the core cluster to which the initial core belongs is ready is received, which is sent by the initial core of each core cluster, step S100 is executed.
It should be noted that, in this embodiment of the present disclosure, after the initial core receives the inquiry signaling, if the core cluster to which the initial core belongs is not ready, a feedback message indicating that the core cluster is not ready may be sent, or the feedback message may not be sent. The embodiment of the present disclosure is not particularly limited in this regard.
In the embodiment of the present disclosure, when the received feedback messages are not all the feedback messages indicating that a core cluster is ready or the feedback messages of all the core clusters are not received, the method may keep waiting until receiving the feedback message indicating that the core cluster to which the starting core belongs is ready, which is sent by the starting core of each core cluster, and then send the synchronization signaling; or discarding the current data and executing the processing of the subsequent data. The embodiment of the present disclosure is not particularly limited in this regard.
In a second aspect, an embodiment of the present disclosure provides a method for synchronizing a core cluster, which is applied to a core of a many-core system, and with reference to fig. 8, the method includes:
in step S410, in response to the received synchronization signaling, performing synchronization according to the synchronization signaling;
the many-core system comprises at least one core cluster, the cores in the core cluster have an incidence relation driven by data flow, and the current core is the initial core of the core cluster to which the current core belongs.
As shown in fig. 2, the many-core system includes a plurality of core clusters, each including at least one core. Each core cluster comprises a starting core and an output core, and the cores in each core cluster have data flow driven association relationship from the starting core to the output cores. It should be noted that, in the embodiment of the present disclosure, a core in a core cluster has an association relationship driven by a data stream means that a data stream driving mechanism is inside the core cluster, and a plurality of cores inside the core cluster perform data processing according to a data dependency relationship between the cores. It should be noted that the method for synchronizing the core clusters provided by the embodiments of the present disclosure is applied to a starting core in the core cluster.
In the embodiment of the present disclosure, the synchronization signaling may be a synchronization signaling established outside the many-core system; or a device for processing the synchronization signaling in the many-core system receives the synchronization information through a synchronization line and then converts the received synchronization information into the synchronization signaling; but also synchronization signaling generated by the means for synchronization signaling processing in a many-core system. The embodiment of the present disclosure is not particularly limited in this regard.
In the method for synchronizing the core clusters provided by the embodiment of the disclosure, the initial cores of the core clusters are synchronized in response to the synchronization signaling, and the task processing is performed in the core clusters according to a data flow driving mechanism, so that the whole many-core system can work at the same time, and the input-output relationship of each core is relatively simple; meanwhile, the initial core of each core cluster only synchronizes the initial core in response to the synchronization signaling, so that the many-core system does not need to perform global core synchronization, the flexibility of processing tasks of the many-core system can be improved, and the core utilization rate is improved.
In the embodiment of the disclosure, when each core cluster that needs to be synchronized in the many-core system is ready, a synchronization signaling is sent to the starting core of each core cluster to ensure that each core cluster works at the same time. Core cluster ready refers to a ready state for each core in the core cluster. As an alternative embodiment, the originating core determines whether the core cluster to which the originating core belongs is ready in response to the query signaling.
Accordingly, in some embodiments, with reference to fig. 9, the method further comprises:
in step S420, in response to the inquiry signaling, it is determined whether the core cluster to which the current core belongs is ready;
in step S430, when the core cluster to which the current core belongs is ready, sending a feedback message indicating that the core cluster to which the current core cluster belongs is ready;
and judging that the core cluster to which the current core belongs is ready under the condition that all cores of the core cluster to which the current core cluster belongs are in ready states.
In the embodiment of the present disclosure, after receiving the query signaling, if the core cluster to which the starting core belongs is not ready, the starting core may send a feedback message indicating that the core cluster is not ready, or may not send the feedback message. The embodiment of the present disclosure is not particularly limited in this regard.
In a third aspect, an embodiment of the present disclosure provides a data processing method, which is applied to a core of a many-core system, and with reference to fig. 10, the data processing method includes:
in step S510, receiving data transmitted by the relay core;
in step S520, when the received data satisfies the operation condition, the operation state is switched to the operation state;
in step S530, the data obtained by the operation is transmitted to a core subsequent to the current core;
the many-core system comprises at least one core cluster, the cores in the core cluster have an incidence relation driven by data flow, and the preceding core, the succeeding core and the current core belong to the same core cluster.
The number of the preceding cores is at least one. The subsequent cores are cores which receive and operate the data transmitted by the current core, and the number of the subsequent cores is at least one.
As shown in fig. 2, the many-core system includes a plurality of core clusters, each including at least one core. Each core cluster comprises a starting core and an output core, and the cores in each core cluster have data flow driven association relationship from the starting core to the output cores. It should be noted that, in the embodiment of the present disclosure, the core in the core cluster has an association relationship driven by a data stream, which means that a data stream driving mechanism is inside the core cluster, and a plurality of cores inside the core cluster perform data processing according to a data dependency relationship between the cores. It should be noted that the data processing method provided by the embodiment of the present disclosure is applied to any one core after the initial core in the core cluster.
In the embodiment of the present disclosure, how to determine that the received data satisfies the operation condition is not particularly limited. For example, it may be determined whether the data amount of the received data reaches a preset value, and in the case that the data amount of the received data reaches the preset value, it indicates that the received data satisfies the operation condition. Further, a counter may be provided to count the received data.
In the embodiments of the present disclosure, the cores in the core cluster may be cores that process multiple tasks, where the tasks processed by the multiple cores having the data stream driven association relationship correspond one to one. As shown in fig. 11, the description will be made by taking core B as the current core and core a as the subsequent core as an example. Task a1, task a2, and task A3 processed by core a correspond one-to-one to task B1, task B2, and task B3 processed by core B. The core A finishes processing the task A1, transmits the data of the task A1 to the core B, and the core B performs processing of the task B1 according to the received data of the task A1; the core A finishes processing the task A2, transmits the data of the task A2 to the core B, and the core B performs processing of the task B2 according to the received data of the task A2; after the core a finishes processing the task A3, the data of the task A3 is transmitted to the core B, and the core B performs processing of the task B3 according to the received data of the task A3.
It should be noted that, in the case that a core in the core cluster is a core for processing multiple tasks, the previous core may transmit data of multiple processed tasks to the current core at the same time, and the current core transmits data of multiple processed tasks to the next core at the same time; the previous core can also transmit the data of the plurality of processed tasks to the current core separately, and the current core transmits the data of the plurality of processed tasks to the subsequent core separately. The embodiment of the present disclosure is not particularly limited in this regard.
In the method for synchronizing the core clusters provided by the embodiment of the disclosure, the cores in the core clusters perform task processing according to a data flow driving mechanism, so that the whole many-core system can work at the same time, and the input-output relationship of each core is relatively simple; meanwhile, the cores in the core cluster perform task processing according to a data flow driving mechanism, so that the many-core system does not need to perform global core synchronization, the flexibility of the many-core system in processing tasks can be improved, and the core utilization rate is improved.
In a fourth aspect, an embodiment of the present disclosure provides a core applied to a many-core system, and referring to fig. 12, the core includes:
one or more processing units 101;
a storage unit 102 having one or more programs stored thereon that, when executed by the one or more processing units, cause the one or more processing units to implement at least one of the following methods:
the control method for core cluster synchronization according to the first aspect of the embodiment of the present disclosure;
the core cluster synchronization method according to the second aspect of the embodiment of the present disclosure;
the data processing method according to the third aspect of the embodiments of the present disclosure.
The processing unit 101 is a device with data processing capability, including but not limited to an arithmetic unit; the memory unit 102 is a device with data storage capability, which includes, but is not limited to, Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), FLASH memory (FLASH).
In a fifth aspect, an embodiment of the present disclosure provides an electronic device, and with reference to fig. 13, the electronic device includes:
a plurality of cores 201; and
a network on chip 202 configured to interact data between the plurality of cores 201 and external data;
one or more of the cores 201 have stored therein one or more instructions that are executed by one or more of the cores 201 to enable one or more of the cores 201 to perform at least one of the following methods:
the control method for core cluster synchronization according to the first aspect of the embodiment of the present disclosure;
the core cluster synchronization method according to the second aspect of the embodiment of the present disclosure;
the data processing method according to the third aspect of the embodiments of the present disclosure.
In a sixth aspect, with reference to fig. 14, embodiments of the present disclosure provide a computer readable medium having stored thereon a computer program which, when executed by a processor, implements at least one of the following methods:
the control method for core cluster synchronization according to the first aspect of the embodiment of the present disclosure;
a method for synchronizing a core cluster according to a second aspect of the embodiment of the present disclosure;
the data processing method according to the third aspect of the embodiments of the present disclosure.
It will be understood by those of ordinary skill in the art that all or some of the steps of the methods, systems, functional modules/units in the devices disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. In a hardware implementation, the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be performed by several physical components in cooperation. Some or all of the physical components may be implemented as software executed by a processor, such as a central processing unit, digital signal processor, or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as is well known to those of ordinary skill in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by a computer. In addition, communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media as known to those skilled in the art.
Example embodiments have been disclosed herein, and although specific terms are employed, they are used and should be interpreted in a generic and descriptive sense only and not for purposes of limitation. In some instances, features, characteristics and/or elements described in connection with a particular embodiment may be used alone or in combination with features, characteristics and/or elements described in connection with other embodiments, unless expressly stated otherwise, as would be apparent to one skilled in the art. Accordingly, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the disclosure as set forth in the appended claims.

Claims (12)

1. A control method for core cluster synchronization comprises the following steps:
sending a synchronization signaling to a starting core of at least one core cluster in a many-core system so as to synchronize the starting core of the core cluster according to the synchronization signaling;
the many-core system comprises at least one core cluster, and the cores in the core cluster have an incidence relation driven by data flow.
2. The control method of claim 1, wherein prior to the step of sending synchronization signaling to a starting core of at least one core cluster in a many-core system, the control method further comprises:
judging whether the condition of enforcing cluster level synchronization is met;
when the condition for enforcing cluster-level synchronization is satisfied, performing a step of sending synchronization signaling to a starting core of at least one core cluster in the many-core system.
3. The control method according to claim 2, wherein the step of judging whether the condition for enforcing cluster level synchronization is satisfied comprises:
judging whether a local overtime core cluster exists or not;
in the presence of at least one core cluster that has a local timeout, it is determined that the condition for enforcing cluster-level synchronization is satisfied.
4. The control method according to claim 2, wherein the step of judging whether the condition for enforcing cluster level synchronization is satisfied comprises:
judging whether a core cluster receiving a high-priority task exists or not;
and under the condition that at least one core cluster receives a high-priority task, judging that the condition of enforcing cluster-level synchronization is met.
5. The control method according to any one of claims 1 to 4, wherein, prior to the step of sending synchronization signaling to a starting core of at least one core cluster in a many-core system, the control method further comprises:
sending an inquiry signaling to a starting core of each core cluster, so that the starting core responds to the inquiry signaling to judge whether the core cluster to which the starting core belongs is ready;
receiving feedback information sent by the initial core of each core cluster;
and under the condition of receiving a feedback message which is sent by the initial core of each core cluster and indicates that the core cluster to which the initial core belongs is ready, executing the step of sending synchronous signaling to the initial core of at least one core cluster in the many-core system.
6. A method for synchronizing a core cluster is applied to a core of a many-core system, and comprises the following steps:
responding to the received synchronous signaling, and synchronizing according to the synchronous signaling;
the many-core system comprises at least one core cluster, the cores in the core cluster have an incidence relation driven by data flow, and the current core is the initial core of the core cluster to which the current core belongs.
7. The method of claim 6, wherein the method further comprises:
responding to the inquiry signaling, and judging whether a core cluster to which the current core belongs is ready;
sending a feedback message indicating that a core cluster to which the current core belongs is ready under the condition that the core cluster to which the current core belongs is ready;
and judging that the core cluster to which the current core belongs is ready under the condition that the cores of the core cluster to which the current core cluster belongs are in the ready state.
8. A data processing method is applied to a core of a many-core system and comprises the following steps:
receiving data transmitted by a relay core;
switching to an operation state when the received data meets the operation condition;
transmitting the data obtained by operation to a subsequent core of the current core;
the many-core system comprises at least one core cluster, the cores in the core cluster have an incidence relation driven by data flow, and the preceding core, the succeeding core and the current core belong to the same core cluster.
9. The data processing method of claim 8, wherein the step of determining whether the operational condition is satisfied comprises:
and judging whether the data volume of the received data reaches a preset value.
10. A core for use in a many-core system, the core comprising:
one or more processing units;
a storage unit having one or more programs stored thereon that, when executed by the one or more processing units, cause the one or more processing units to implement at least one of the following methods:
the control method of core cluster synchronization according to any one of claims 1 to 5;
the method of core cluster synchronization according to claim 6 or 7;
a data processing method as claimed in claim 8 or 9.
11. An electronic device, comprising:
a plurality of cores; and
a network on chip configured to interact data among the plurality of cores and external data;
one or more of the cores have stored therein one or more instructions that are executed by one or more of the cores to enable one or more of the cores to perform at least one of the following methods:
the control method of core cluster synchronization according to any one of claims 1 to 5;
the method of core cluster synchronization according to claim 6 or 7;
a data processing method as claimed in claim 8 or 9.
12. A computer-readable medium, on which a computer program is stored which, when executed by a processor, implements at least one of the following methods:
the control method of core cluster synchronization according to any one of claims 1 to 5;
the method of core cluster synchronization according to claim 6 or 7;
a data processing method as claimed in claim 8 or 9.
CN202011330716.XA 2020-11-24 2020-11-24 Core cluster synchronization, control method, data processing method, core, device and medium Active CN114546926B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011330716.XA CN114546926B (en) 2020-11-24 2020-11-24 Core cluster synchronization, control method, data processing method, core, device and medium
PCT/CN2021/132363 WO2022111457A1 (en) 2020-11-24 2021-11-23 Core cluster synchronization method, core cluster synchronization control method, data processing method, and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011330716.XA CN114546926B (en) 2020-11-24 2020-11-24 Core cluster synchronization, control method, data processing method, core, device and medium

Publications (2)

Publication Number Publication Date
CN114546926A true CN114546926A (en) 2022-05-27
CN114546926B CN114546926B (en) 2023-08-08

Family

ID=81659789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011330716.XA Active CN114546926B (en) 2020-11-24 2020-11-24 Core cluster synchronization, control method, data processing method, core, device and medium

Country Status (2)

Country Link
CN (1) CN114546926B (en)
WO (1) WO2022111457A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086232B (en) * 2022-06-13 2023-07-21 清华大学 Task processing and data stream generating method and device

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100174886A1 (en) * 2008-08-29 2010-07-08 Texas Instruments Incorporated Multi-Core Processing Utilizing Prioritized Interrupts for Optimization
US20110231856A1 (en) * 2010-03-16 2011-09-22 Samsung Electronics Co., Ltd System and method for dynamically managing tasks for data parallel processing on multi-core system
JP2014063278A (en) * 2012-09-20 2014-04-10 Kyushu Univ Synchronous processing circuit and synchronous processing method
CN105528330A (en) * 2014-09-30 2016-04-27 杭州华为数字技术有限公司 Load balancing method and device, cluster and many-core processor
CN205725785U (en) * 2016-06-27 2016-11-23 哈尔滨明快机电科技有限公司 A kind of parallel data synchronous acquisition device
CN106453625A (en) * 2016-11-17 2017-02-22 东软集团股份有限公司 Information synchronization method and high-availability cluster system
CN109857562A (en) * 2019-02-13 2019-06-07 北京理工大学 A kind of method of memory access distance optimization on many-core processor
CN110262902A (en) * 2019-05-16 2019-09-20 杭州朗和科技有限公司 Information processing method and system, medium and calculating equipment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880585B (en) * 2012-09-28 2015-05-06 无锡江南计算技术研究所 Synchronizer for processor system with multiple processor cores
CN103744735B (en) * 2014-01-09 2017-07-25 福建星网锐捷网络有限公司 The dispatching method and device of a kind of multi-core resource
KR101797929B1 (en) * 2015-08-26 2017-11-15 서경대학교 산학협력단 Assigning processes to cores in many-core platform and communication method between core processes

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100174886A1 (en) * 2008-08-29 2010-07-08 Texas Instruments Incorporated Multi-Core Processing Utilizing Prioritized Interrupts for Optimization
US20110231856A1 (en) * 2010-03-16 2011-09-22 Samsung Electronics Co., Ltd System and method for dynamically managing tasks for data parallel processing on multi-core system
JP2014063278A (en) * 2012-09-20 2014-04-10 Kyushu Univ Synchronous processing circuit and synchronous processing method
CN105528330A (en) * 2014-09-30 2016-04-27 杭州华为数字技术有限公司 Load balancing method and device, cluster and many-core processor
CN205725785U (en) * 2016-06-27 2016-11-23 哈尔滨明快机电科技有限公司 A kind of parallel data synchronous acquisition device
CN106453625A (en) * 2016-11-17 2017-02-22 东软集团股份有限公司 Information synchronization method and high-availability cluster system
CN109857562A (en) * 2019-02-13 2019-06-07 北京理工大学 A kind of method of memory access distance optimization on many-core processor
CN110262902A (en) * 2019-05-16 2019-09-20 杭州朗和科技有限公司 Information processing method and system, medium and calculating equipment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱小东;吴俊敏;唐轶轩;陈国良;隋秀峰;: "两级同步:面向众核处理器的并行仿真机制", 系统仿真学报, no. 12 *

Also Published As

Publication number Publication date
WO2022111457A1 (en) 2022-06-02
CN114546926B (en) 2023-08-08

Similar Documents

Publication Publication Date Title
CN111506430B (en) Method and device for processing data under multitasking and electronic equipment
CN111970339B (en) Request control method and device and electronic equipment
CN112583931A (en) Message processing method, message middleware, electronic device and storage medium
CN112953757B (en) Data distribution method, system and computer equipment
CN113179227B (en) AT instruction control method based on queue
CN112346834A (en) Database request processing method and device, electronic equipment and medium
US20190303341A1 (en) Modular Ups System and Data Transmission Method for Power Device
US9753769B2 (en) Apparatus and method for sharing function logic between functional units, and reconfigurable processor thereof
CN114546926B (en) Core cluster synchronization, control method, data processing method, core, device and medium
CN113242149B (en) Long connection configuration method, apparatus, device, storage medium, and program product
JP2000259429A (en) Device and method for managing timer
CN109308219B (en) Task processing method and device and distributed computer system
CN111988345B (en) Information synchronization method and device
JP5372699B2 (en) In-vehicle network device
CN114518917B (en) Algorithm module scheduling method, algorithm module scheduling device and readable storage medium
CN105577310A (en) Synchronization method for task partitioning and communication scheduling in time trigger network
CN109213589A (en) A kind of method and device of Message Processing
CN116414534A (en) Task scheduling method, device, integrated circuit, network equipment and storage medium
CN110119111B (en) Communication method and device, storage medium, and electronic device
CN113347430A (en) Distributed scheduling device of hardware transcoding acceleration equipment and use method thereof
CN113722053A (en) Data access control circuit, method, electronic device, and computer-readable storage medium
CN114546928B (en) Method and device for synchronizing core cluster, control method and device, core and medium
CN211180818U (en) Video processing apparatus
CN111327499A (en) Method and device for sending message and automobile
CN103873386A (en) Method for managing network transmission sequence

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant