CN114546926B - 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 PDFInfo
- Publication number
- CN114546926B CN114546926B CN202011330716.XA CN202011330716A CN114546926B CN 114546926 B CN114546926 B CN 114546926B CN 202011330716 A CN202011330716 A CN 202011330716A CN 114546926 B CN114546926 B CN 114546926B
- Authority
- CN
- China
- Prior art keywords
- core
- cluster
- cores
- synchronization
- many
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System 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/7825—Globally asynchronous, locally synchronous, e.g. network on chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Multi Processors (AREA)
Abstract
The disclosure provides a control method for core cluster synchronization, which comprises the following steps: sending a synchronization signaling to an initial core of at least one core cluster in a many-core system, so that the initial core of the core cluster is synchronized according to the synchronization signaling; the many-core system comprises a plurality of cores, at least one core forms a core cluster, the many-core system comprises at least one core cluster, and the cores in the core cluster have a data flow driven association relationship. A method of core cluster synchronization, a data processing method, a core, an electronic device, a computer readable medium.
Description
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
A many-core system may be made up of at least one chip, each chip having multiple compute units, the smallest compute unit in each chip that can be independently scheduled and that has full compute power being called a core. In many-core systems, multiple cores can work in combination, each core can independently run program instructions, the running speed of the program is increased by utilizing the parallel computing capability, and the multi-task processing capability is provided.
In some related technologies, cores in a many-core system have a uniform synchronization signal, and multiple cores are switched simultaneously according to the synchronization signal, so that the flexibility is poor for processing and calculating tasks in a single phase (phase) of the many-core system.
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 an initial core of at least one core cluster in a many-core system, so that the initial core of the core cluster is synchronized according to the synchronization signaling;
the many-core system comprises a plurality of cores, at least one core forms a core cluster, the many-core system comprises at least one core cluster, and the cores in the core cluster have a data flow driven association relationship.
In a second aspect, an embodiment of the present disclosure provides a method for synchronizing a core cluster, applied to a core of a many-core system, the method including:
responding to the received synchronous signaling, and synchronizing according to the synchronous signaling;
the many-core system comprises a plurality of cores, at least one core forms a core cluster, the many-core system comprises at least one core cluster, the cores in the core cluster have a data flow driven association relationship, 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 a plurality of cores, at least one core forms a core cluster, the many-core system comprises at least one core cluster, the cores in the core cluster have a data flow driven association relationship, and the successor core, the successor core and the current core belong to the same core cluster.
In a fourth aspect, embodiments of the present disclosure provide 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, which 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 embodiment of the disclosure provides a control method for core cluster synchronization;
a method for synchronizing a core cluster according to a second aspect of the embodiments of the present disclosure;
a data processing method according to a third aspect of an embodiment of the present disclosure.
In a fifth aspect, embodiments of the present disclosure provide 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 one or more instructions stored therein 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 embodiment of the disclosure provides a control method for core cluster synchronization;
a method for synchronizing a core cluster according to a second aspect of the embodiments of the present disclosure;
a data processing method according to a third aspect of an embodiment of the present disclosure.
In a sixth aspect, the disclosed embodiments provide a computer readable medium having stored thereon a computer program which when executed by a processor performs at least one of the following methods:
the embodiment of the disclosure provides a control method for core cluster synchronization;
a method for synchronizing a core cluster according to a second aspect of the embodiments of the present disclosure;
a data processing method according to a third aspect of an embodiment 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, 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 be ensured to work at the same time, and the input-output relationship of each core is simpler; meanwhile, only the initial cores of the core clusters are synchronized through 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.
It should be understood that the description in this section is not intended to identify key or critical features of the embodiments of the disclosure, nor is it intended to be used to limit the scope of the disclosure. Other features of the present disclosure will become apparent from the following specification.
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 disclosure, without limitation to the disclosure. The above and other features and advantages will become more readily apparent to those skilled in the art by describing in detail exemplary embodiments with reference to the attached drawings, in which:
FIG. 1 is a schematic diagram of a data stream driving mechanism;
FIG. 2 is a schematic diagram of a data stream driving mechanism;
FIG. 3 is a flow chart of a control method in an embodiment of the present disclosure;
FIG. 4 is a flow chart of some steps of another control method in 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 of yet another control method in an embodiment of the present disclosure;
FIG. 7 is a flow chart of some steps of 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 flow chart of some steps in another method of core cluster synchronization in 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 stream driving mechanism in an embodiment of the present disclosure;
FIG. 12 is a block diagram of one of the cores in an embodiment of the present disclosure;
FIG. 13 is a block diagram of one component of an electronic device in an embodiment of the present disclosure;
fig. 14 is a block diagram of one type of computer-readable medium in an embodiment of the present disclosure.
Detailed Description
For a better understanding of the technical solutions of the present disclosure, exemplary embodiments of the present disclosure will be described below with reference to the accompanying drawings, in which various details of the embodiments of the present disclosure are included to facilitate understanding, and they should be considered as merely exemplary. Accordingly, one 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 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 "connected," and the like, are not limited 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 perform data processing according to the data dependency relationship between the cores. Taking fig. 1 as an example, the cores 1.1, 1.2 and 1.3 are data stream driving mechanisms, wherein the operation performed by the core 1.2 depends on the data obtained by the operation performed by the core 1.1, and the operation performed by the core 1.3 depends on the data obtained by the operation performed 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 the 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 inventors of the present disclosure have studied and found that a separate data stream driven mechanism is not suitable for many-core systems. The following problems exist with separate data stream driven mechanisms for many-core system global: (1) For a core comprising multiple inputs, it is necessary to count separately for the multiple inputs. As shown in fig. 2, the cores 2.1, 2.2, 2.3, and 2.4 are data stream 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 counters corresponding to the cores 2.1 and 2.2 respectively to count the data from the cores 2.1 and 2.2 respectively. (2) Under the condition that the core data is more in the many-core system, the complexity of data interaction between cores is higher. As shown in fig. 2, the core 2.3 comprises two branches from the core 2.1 and the core 2.2. There may be a case where one branch works at time t+1 and the other branch works at time t+9, so that the many-core system does not work at the same time t, and the input-input 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 referring to fig. 3, the control method includes:
in step S100, a synchronization signaling is sent to an initial core of at least one core cluster in a many-core system, so that the initial core of the core cluster is synchronized according to the synchronization signaling;
the many-core system comprises a plurality of cores, at least one core forms a core cluster, the many-core system comprises at least one core cluster, and the cores in the core cluster have a data flow driven association relationship.
In an embodiment of the present disclosure, in order to solve the above-mentioned problem, a core cluster is dynamically built according to a computing 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 core cluster including at least one core. Each core cluster comprises a starting core and an output core, and each core in each core cluster has a data flow driven association relationship from the starting core to the output core. It should be noted that, in the embodiment of the present disclosure, the association relationship that the cores in the core cluster have data flow driving means that the core cluster is internally provided with a data flow driving mechanism, and the plurality of cores in the core cluster perform data processing according to the data dependency relationship between the cores.
In the embodiment of the disclosure, the synchronization signaling may be a synchronization signaling externally established by the many-core system; or the device for processing the synchronous signaling in the many-core system receives the synchronous information through the synchronous line and then converts the received synchronous information into the generated synchronous signaling; but also synchronization signaling generated by the means for synchronization signaling processing in a many-core system. The embodiments of the present disclosure are not particularly limited thereto. In an embodiment of the disclosure, the means 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 embodiments of the present disclosure are not particularly limited thereto.
In the control method for core cluster synchronization provided by 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, 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 be ensured to work at the same moment, and the input-output relationship of each core is simpler; meanwhile, only the initial cores of the core clusters are synchronized through 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 disclosed embodiments, a mechanism to force cluster level synchronization is also provided. The forced cluster level synchronization refers to that when a certain core cluster in the many-core system cannot normally process data, a synchronization signaling is sent to enable an initial core of the core cluster to synchronize, so that the situation that the many-core system cannot process follow-up processing due to the fact that the certain core cluster in the many-core system cannot normally process data is avoided, and therefore 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 the condition for forcing cluster level synchronization is satisfied;
when the condition for forcing cluster level synchronization is satisfied, step S100 is performed.
In the embodiment of the disclosure, forced cluster level synchronization can be initiated under the condition that at least one core cluster in the many-core system is locally overtime; the forced cluster level synchronization may also be initiated in the case where at least one core cluster in the many-core system receives a high priority task. The embodiments of the present disclosure are not particularly limited thereto.
Accordingly, in some embodiments, referring to fig. 5, step S200 includes:
in step S210, it is determined whether there is a core cluster with local timeout;
in the case that there is at least one core cluster that is locally timeout, it is determined that the condition of forced cluster level synchronization is satisfied.
In the embodiment of the present disclosure, the local timeout of the core cluster may be caused by an excessive operation time of the core cluster for a predetermined period of time in the case of data loss in the core cluster, or the like. As an alternative implementation manner, whether the operation duration of each core cluster exceeds a preset duration is judged, and when the operation duration of at least one core cluster exceeds the preset duration, the core cluster with local timeout is indicated.
Accordingly, in some embodiments, referring to fig. 6, step S200 includes:
in step S220, it is determined whether there is a core cluster that receives the high-priority task;
and under the condition that at least one core cluster receives the high-priority task, judging that the condition of forced cluster level synchronization is met.
In the embodiment of the disclosure, when each core cluster needed 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, there is no particular limitation on how to ensure that each core cluster is ready when sending synchronization signaling to the starting core of each core cluster. For example, a synchronization period that is not shorter than the running time of the computing task of each core cluster processing one phase may be set, and synchronization signaling is periodically transmitted. As an alternative implementation, when sending the synchronization signaling, firstly, sending an inquiry signaling to the initial 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, an inquiry signaling is sent to the initial core of each core cluster, so that the initial core responds to the inquiry signaling to determine whether the core cluster to which the initial core belongs is ready;
in step S320, receiving a feedback message sent by a starting core of each core cluster;
step S100 is performed when a feedback message indicating readiness of a core cluster to which the starting core belongs is received, which is sent by the starting core of each core cluster.
It should be noted that, in the embodiment of the present disclosure, after receiving the query signaling, if the core cluster to which the initial core belongs is not ready, the initial core may send a feedback message indicating that the core cluster is not ready, or may not send the feedback message. The embodiments of the present disclosure are not particularly limited thereto.
In the embodiment of the present disclosure, when the received feedback message is not all feedback messages indicating that the core cluster is ready or feedback messages of all the core clusters are not received, waiting may be maintained until feedback messages indicating that the core cluster to which the initial core belongs is ready, which are sent by the initial core of each core cluster, are received, and then synchronous signaling is sent; the current data may also be discarded and the processing of subsequent data performed. The embodiments of the present disclosure are not particularly limited thereto.
In a second aspect, an embodiment of the present disclosure provides a method for synchronizing a core cluster, applied to a core of a many-core system, and referring to fig. 8, the method includes:
in step S410, in response to the received synchronization signaling, synchronizing according to the synchronization signaling;
the many-core system comprises a plurality of cores, at least one core forms a core cluster, the many-core system comprises at least one core cluster, the cores in the core cluster have a data flow driven association relationship, 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 core cluster including at least one core. Each core cluster comprises a starting core and an output core, and each core in each core cluster has a data flow driven association relationship from the starting core to the output core. It should be noted that, in the embodiment of the present disclosure, the association relationship that the cores in the core cluster have data flow driving means that the core cluster is internally provided with a data flow driving mechanism, and the plurality of cores in the core cluster perform data processing according to the data dependency relationship between the cores. It should be noted that, the method for synchronizing a core cluster provided by the embodiments of the present disclosure is applied to an initial core in a core cluster.
In the embodiment of the disclosure, the synchronization signaling may be a synchronization signaling externally established by the many-core system; or the device for processing the synchronous signaling in the many-core system receives the synchronous information through the synchronous line and then converts the received synchronous information into the generated synchronous signaling; but also synchronization signaling generated by the means for synchronization signaling processing in a many-core system. The embodiments of the present disclosure are not particularly limited thereto.
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, task processing is performed in the core clusters according to the 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 simpler; meanwhile, the initial cores of the core clusters only synchronize the initial cores 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 needed 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. As an alternative embodiment, the originating core determines, in response to the interrogation signaling, whether the core cluster to which the originating core belongs is ready.
Accordingly, in some embodiments, referring to fig. 9, the method further comprises:
in step S420, in response to the query signaling, it is determined whether the core cluster to which the current core belongs is ready;
in step S430, in the case that the core cluster to which the current core belongs is ready, a feedback message indicating that the core cluster to which the current core cluster belongs is ready is sent;
and under the condition that the cores of the core clusters to which the current core cluster belongs are in a ready state, judging that the core clusters to which the current core belongs are ready.
In the embodiment of the present disclosure, after receiving the query signaling, if the core cluster to which the initial core belongs is not ready, the initial core may send a feedback message indicating that the core cluster is not ready, or may not send the feedback message. The embodiments of the present disclosure are not particularly limited thereto.
In a third aspect, an embodiment of the present disclosure provides a data processing method applied to a core of a many-core system, and referring to fig. 10, the data processing method includes:
in step S510, data transmitted by a preceding core is received;
in step S520, when the received data satisfies the operation condition, the operation state is switched to;
in step S530, the data obtained by the operation is transmitted to the subsequent core of the current core;
the many-core system comprises a plurality of cores, at least one core forms a core cluster, the many-core system comprises at least one core cluster, the cores in the core cluster have a data flow driven association relationship, and the successor core, the successor 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 the data transmitted by the current core and operate, 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 core cluster including at least one core. Each core cluster comprises a starting core and an output core, and each core in each core cluster has a data flow driven association relationship from the starting core to the output core. It should be noted that, in the embodiment of the present disclosure, the association relationship that the cores in the core cluster have data flow driving means that the core cluster is internally provided with a data flow driving mechanism, and the plurality of cores in the core cluster perform data processing according to the 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, there is no particular limitation on how to determine that the received data satisfies the operation condition. For example, it may be determined whether or not the data amount of the received data reaches a preset value, and in the case where 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 set to count the received data.
In the embodiment of the present disclosure, cores in the core cluster may be cores for processing multiple tasks, where tasks processed by multiple cores with a data flow driven association relationship are in one-to-one correspondence. As shown in fig. 11, the description will be given taking the core B as the current core and the core a as the previous core. Tasks A1, A2 and A3 processed by the core A correspond to tasks B1, B2 and B3 processed by the core B one by one. The core A processes the task A1, transmits the data of the task A1 to the core B, and the core B processes the task B1 according to the received data of the task A1; the core A processes the task A2, transmits the data of the task A2 to the core B, and the core B processes the task B2 according to the received data of the task A2; and the core A processes the task A3, transmits the data of the task A3 to the core B, and the core B processes the task B3 according to the received data of the task A3.
It should be noted that, in the case that the core in the core cluster is a core for processing multiple tasks, the successor core may transmit the processed data of multiple tasks to the current core at the same time, and the current core may transmit the processed data of multiple tasks to the successor core at the same time; the successor cores can also transmit the processed data of the plurality of tasks to the current cores separately, and the current cores conduct the processed data of the plurality of tasks to the successor cores separately. The embodiments of the present disclosure are not particularly limited thereto.
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 stream driving mechanism, so that the whole many-core system can be ensured to work at the same time, and the input-output relationship of each core is simpler; 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 global core synchronization, the flexibility of processing tasks of the many-core system can be improved, and the core utilization rate is improved.
In a fourth aspect, embodiments of the present disclosure provide a core for use in a many-core system, referring to fig. 12, the core comprising:
one or more processing units 101;
a storage unit 102 having one or more programs stored thereon, which 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 embodiment of the disclosure provides a control method for core cluster synchronization;
a method for synchronizing a core cluster according to a second aspect of the embodiments of the present disclosure;
a data processing method according to a third aspect of an embodiment of the present disclosure.
The processing unit 101 is a device with data processing capability, which includes, but is not limited to, an arithmetic unit and the like; the memory unit 102 is a device with data storage capability including, but not limited to, random Access Memory (RAM), read Only Memory (ROM), electrically charged erasable programmable read only memory (EEPROM), FLASH memory (FLASH).
In a fifth aspect, embodiments of the present disclosure provide an electronic device, referring to fig. 13, the electronic device including:
a plurality of cores 201; and
a network on chip 202 configured to interact data among the plurality of cores 201 and external data;
one or more of the cores 201 have one or more instructions stored therein 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 embodiment of the disclosure provides a control method for core cluster synchronization;
a method for synchronizing a core cluster according to a second aspect of the embodiments of the present disclosure;
a data processing method according to a third aspect of an embodiment of the present disclosure.
In a sixth aspect, referring to fig. 14, the presently disclosed embodiments 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 embodiment of the disclosure provides a control method for core cluster synchronization;
a method for synchronizing a core cluster according to a second aspect of the embodiments of the present disclosure;
a data processing method according to a third aspect of an embodiment of the present disclosure.
Those of ordinary skill in the art will appreciate that all or some of the steps, systems, functional modules/units in the apparatus, and methods disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. In a hardware implementation, the division between the 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 cooperatively by several physical components. 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 both 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 known to those skilled 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 be accessed by a computer. Furthermore, as is well known to those of ordinary skill in the art, 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.
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 purpose of limitation. In some instances, it will be apparent to one skilled in the art that features, characteristics, and/or elements described in connection with a particular embodiment may be used alone or in combination with other embodiments unless explicitly stated otherwise. 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, comprising:
sending a synchronization signaling to an initial core of at least one core cluster in a many-core system, so that the initial cores of the core clusters are synchronized according to the synchronization signaling, and each core cluster of the many-core system works at the same time;
the many-core system comprises a plurality of cores, at least one core forms a core cluster, the many-core system comprises at least one core cluster, the cores in the core cluster have a data flow driven association relationship, and the cores in the core cluster have the data flow driven association relationship to perform data processing according to the data dependency relationship among the cores.
2. The control method of claim 1, wherein prior to the step of sending synchronization signaling to the originating core of at least one core cluster in the many-core system, the control method further comprises:
judging whether the condition of forced cluster level synchronization is met;
and when the condition of forced cluster level synchronization is met, executing the step of sending a synchronization signaling to the initial core of at least one core cluster in the many-core system.
3. The control method of claim 2, wherein the step of determining whether the condition for forcing cluster-level synchronization is satisfied comprises:
judging whether a core cluster with local timeout exists or not;
in the case that there is at least one core cluster that is locally timeout, it is determined that the condition of forced cluster level synchronization is satisfied.
4. The control method of claim 2, wherein the step of determining whether the condition for forcing cluster-level synchronization is satisfied comprises:
judging whether a core cluster for receiving the high-priority task exists or not;
and under the condition that at least one core cluster receives the high-priority task, judging that the condition of forced cluster level synchronization is met.
5. The control method according to any one of claims 1 to 4, wherein before 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 inquiry signaling to an initial core of each core cluster, so that the initial core responds to the inquiry signaling to judge whether the core cluster to which the initial core belongs is ready or not;
receiving feedback messages sent by the initial cores of the core clusters;
and executing the step of sending synchronous signaling to the initial core of at least one core cluster in the many-core system under the condition that 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 is received.
6. A method of core cluster synchronization, applied to cores of a many-core system, the method comprising:
responding to the received synchronization signaling, and synchronizing according to the synchronization signaling so as to enable all core clusters of the many-core system to work at the same time;
the many-core system comprises a plurality of cores, at least one core forms a core cluster, the many-core system comprises at least one core cluster, the cores in the core cluster have a data flow driven association relationship, the cores in the core cluster have the data flow driven association relationship, the plurality of cores perform data processing according to the data dependency relationship among the cores, and the current core is the initial core of the core cluster to which the cores belong.
7. The method of claim 6, wherein the method further comprises:
responding to the inquiry signaling, judging whether a core cluster to which the current core belongs is ready;
sending a feedback message indicating readiness of a core cluster to which the current core cluster belongs under the condition that the core cluster to which the current core belongs is ready;
and under the condition that the cores of the core clusters to which the current core cluster belongs are in a ready state, judging that the core clusters to which the current core belongs are ready.
8. A data processing method is applied to the 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 a plurality of cores, at least one core forms a core cluster, the many-core system comprises at least one core cluster, the cores in the core cluster have a data flow driven association relationship, the cores in the core cluster have the data flow driven association relationship, the plurality of cores perform data processing according to the data dependency relationship among the cores, and the successor core, the successor core and the current core belong to the same core cluster.
9. The data processing method according to claim 8, wherein the step of judging whether the operation condition is satisfied comprises:
and judging whether the data quantity 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, which 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 according to 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 one or more instructions stored therein 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 according to claim 8 or 9.
12. 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 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 according to claim 8 or 9.
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 CN114546926A (en) | 2022-05-27 |
CN114546926B true 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)
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 (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8607035B2 (en) * | 2008-08-29 | 2013-12-10 | Texas Instruments Incorporated | Multi-core processing utilizing prioritized interrupts for optimization |
KR101653204B1 (en) * | 2010-03-16 | 2016-09-01 | 삼성전자주식회사 | System and method of dynamically task managing for data parallel processing on multi-core system |
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 |
-
2020
- 2020-11-24 CN CN202011330716.XA patent/CN114546926B/en active Active
-
2021
- 2021-11-23 WO PCT/CN2021/132363 patent/WO2022111457A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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)
Title |
---|
两级同步:面向众核处理器的并行仿真机制;朱小东;吴俊敏;唐轶轩;陈国良;隋秀峰;;系统仿真学报(第12期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114546926A (en) | 2022-05-27 |
WO2022111457A1 (en) | 2022-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391320B (en) | Consensus method and device | |
CN108540568B (en) | Computing capacity sharing method and intelligent equipment | |
CN109766172B (en) | Asynchronous task scheduling method and device | |
CN111970339B (en) | Request control method and device and electronic equipment | |
CN110955523B (en) | Service processing method and device | |
CN111045810A (en) | Task scheduling processing method and device | |
CN113138812B (en) | Spacecraft task scheduling method and device | |
CN110275680A (en) | A kind of dual control dual-active storage system | |
CN114546926B (en) | Core cluster synchronization, control method, data processing method, core, device and medium | |
CN112650575A (en) | Resource scheduling method and device and cloud service system | |
CN113190427A (en) | Caton monitoring method and device, electronic equipment and storage medium | |
CN114860512A (en) | Method, device, equipment and system for detecting working state of SOC (system on chip) chip of vehicle | |
CN110912949A (en) | Method and device for submitting sites | |
CN113242149B (en) | Long connection configuration method, apparatus, device, storage medium, and program product | |
CN111538572A (en) | Task processing method, device, scheduling server and medium | |
CN114064217A (en) | Node virtual machine migration method and device based on OpenStack | |
CN115408173A (en) | Event processing method and device, electronic equipment and storage medium | |
CN111327499A (en) | Method and device for sending message and automobile | |
CN115914375A (en) | Disaster tolerance processing method and device for distributed message platform | |
CN115033927A (en) | Method, device, equipment and medium for detecting data integrity | |
CN110119111B (en) | Communication method and device, storage medium, and electronic device | |
CN114422569A (en) | Message pushing method and device of cloud desktop | |
CN116340011A (en) | Event subscription method, device and system based on blockchain | |
EP2908277A1 (en) | Device, method and non-transitory computer readable storage medium for performing instant message communication | |
CN114546928B (en) | Method and device for synchronizing core cluster, control method and device, core and medium |
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 |