CN114546927B - Data transmission method, core, computer readable medium, and electronic device - Google Patents

Data transmission method, core, computer readable medium, and electronic device Download PDF

Info

Publication number
CN114546927B
CN114546927B CN202011333155.9A CN202011333155A CN114546927B CN 114546927 B CN114546927 B CN 114546927B CN 202011333155 A CN202011333155 A CN 202011333155A CN 114546927 B CN114546927 B CN 114546927B
Authority
CN
China
Prior art keywords
core
data
request
transmission method
data transmission
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
Application number
CN202011333155.9A
Other languages
Chinese (zh)
Other versions
CN114546927A (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 CN202011333155.9A priority Critical patent/CN114546927B/en
Priority to PCT/CN2021/132381 priority patent/WO2022111462A1/en
Publication of CN114546927A publication Critical patent/CN114546927A/en
Application granted granted Critical
Publication of CN114546927B publication Critical patent/CN114546927B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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 data transmission method applied to a core in a many-core system, the data transmission method including: responding to a first request signaling, and acquiring data pointed by the first request signaling; transmitting the data pointed by the first request signaling to a request core for transmitting the first request signaling, wherein the request core and the current core belong to different core clusters, and a plurality of cores in the many-core system form a core cluster. The disclosure also provides a core, a computer readable medium, and an electronic device.

Description

Data transmission method, core, computer readable medium, and electronic device
Technical Field
The present disclosure relates to the field of computer technology, and in particular, to a data transmission method, a core, a computer readable medium, and an electronic device.
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 art, cores in many-core systems are less flexible in performing computing tasks.
Disclosure of Invention
Embodiments of the present disclosure provide a data transmission method, a core, a computer-readable medium, and an electronic device.
In a first aspect, an embodiment of the present disclosure provides a data transmission method, applied to a core in a many-core system, where the data transmission method includes:
responding to a first request signaling, and acquiring data pointed by the first request signaling;
transmitting the data pointed by the first request signaling to a request core for transmitting the first request signaling, wherein the request core and a current core belong to different core clusters, a plurality of cores in the many-core system form a core cluster, and the current core is a main core of the core cluster to which the current core belongs.
In some embodiments, the first request signaling includes signaling requesting acquisition of configuration information; the step of obtaining the data pointed by the first request signaling comprises the following steps:
and reading configuration information pointed by the first request signaling, wherein the configuration information comprises at least one of operators, parameters and authority range information required by the request core to complete an operation task.
In some embodiments, the first request signaling includes signaling requesting to read data of a target core; the step of obtaining the data pointed by the first request signaling comprises the following steps:
and generating a token according to the first request signaling so that the target core verifies the request core according to the token, wherein the target core and the current core belong to the same core cluster.
In some embodiments, the token carries at least one of an identity of the requesting core, read rights information of the requesting core, data address information, token encoding.
In some embodiments, before the step of obtaining the data pointed to by the first request signaling, the data transmission method further includes:
judging whether the request core is a friend core or not;
and executing the step of acquiring the data pointed by the first request signaling under the condition that the request core is a friend core.
In some embodiments, the data transmission method further comprises:
and sending an instruction for setting the friend list to the slave core in the core cluster to which the current core belongs.
In a second aspect, an embodiment of the present disclosure provides a data transmission method, applied to a core in a many-core system, where the data transmission method includes:
Responding to a second request signaling, and acquiring data pointed by the second request signaling;
transmitting the data pointed by the second request signaling to a request core for transmitting the second request signaling, wherein the request core and a current core belong to different core clusters, a plurality of cores in the many-core system form a core cluster, and the current core is a slave core of the core cluster to which the current core belongs.
In some embodiments, the second request signaling includes signaling requesting acquisition of configuration information; the step of obtaining the data pointed by the second request signaling comprises the following steps:
and reading configuration information pointed by the second request signaling, wherein the configuration information comprises at least one of operators, parameters and authority range information required by the request core to complete an operation task.
In some embodiments, before the step of obtaining the data pointed to by the second request signaling, the data transmission method further includes:
obtaining a token sent by the request core;
judging whether the token is valid or not;
and executing the step of acquiring the data pointed by the second request signaling under the condition that the token is valid.
In some embodiments, the token carries at least one of an identity of the requesting core, read rights information of the requesting core, data address information, token encoding.
In some embodiments, before the step of obtaining the data pointed to by the second request signaling, the data transmission method further includes:
judging whether the request core is a friend core or not;
and executing the step of acquiring the data pointed by the second request signaling under the condition that the request core is a friend core.
In some embodiments, the data transmission method further comprises:
setting a friend list according to an instruction of a main core of a core cluster to which a current core belongs, wherein the friend list comprises identification information of at least one friend core cluster, and cores in the friend core cluster are friend cores;
the step of determining whether the request core is a friend core includes:
judging whether the friend list comprises the identification information of the core cluster to which the request core belongs;
and under the condition that the friend list comprises the identification information of the core cluster to which the request core belongs, judging the request core as the friend core.
In a third aspect, an embodiment of the present disclosure provides a data transmission method, applied to a core in a many-core system, where the data transmission method includes:
and acquiring data from a first target core, wherein the first target core and the current core belong to different core clusters, a plurality of cores in the many-core system form a core cluster, and the first target core is a main core of the core cluster to which the first target core belongs.
In some embodiments, the step of obtaining data from the first target core comprises:
sending a first request signaling to the first target core so that the first target core responds to the first request signaling to acquire and transmit data pointed by the first request signaling;
and receiving data pointed by the first request signaling transmitted by the first target core.
In some embodiments, the first request signaling includes signaling requesting acquisition of configuration information including at least one of operators, parameters, scope of authority information required by the current core to complete an operational task.
In some embodiments, the first request signaling includes signaling requesting reading of data of a second target core to cause the first target core to generate a token according to the first request signaling; the data to which the first request signal points is the token, and the second target core and the first target core belong to the same core cluster.
In a fourth aspect, an embodiment of the present disclosure provides a data transmission method, applied to a core in a many-core system, where the data transmission method includes:
and acquiring data from a third target core, wherein the third target core and the current core belong to different core clusters, a plurality of cores in the many-core system form a core cluster, and the third target core is a slave core of the core cluster to which the third target core belongs.
In some embodiments, the step of obtaining data from the third target core comprises:
sending a second request signaling to the third target core, so that the third target core responds to the second request signaling to acquire and transmit data pointed by the second request signaling;
and receiving data pointed by the second request signaling transmitted by the third target core.
In some embodiments, the second request signaling includes signaling requesting acquisition of configuration information including at least one of operators, parameters, scope of authority information required by the current core to complete the operational task.
In some embodiments, the step of obtaining data from the third target core further comprises:
sending a token to the third target core so that the third target core verifies the current core according to the token; the token is obtained by the current core from the main core of the core cluster to which the third target core belongs.
In a fifth 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 data transmission method of the first aspect of the embodiment of the disclosure;
a data transmission method according to a second aspect of the embodiments of the present disclosure;
a data transmission method according to a third aspect of an embodiment of the present disclosure;
the fourth aspect of the embodiments of the present disclosure provides a data transmission method.
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 data transmission method of the first aspect of the embodiment of the disclosure;
a data transmission method according to a second aspect of the embodiments of the present disclosure;
a data transmission method according to a third aspect of an embodiment of the present disclosure;
the fourth aspect of the embodiments of the present disclosure provides a data transmission method.
In a seventh 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 data transmission method of the first aspect of the embodiment of the disclosure;
a data transmission method according to a second aspect of the embodiments of the present disclosure;
a data transmission method according to a third aspect of an embodiment of the present disclosure;
the fourth aspect of the embodiments of the present disclosure provides a data transmission method.
In the embodiment of the disclosure, a core in a many-core system can transmit data pointed by a request signaling to a request core according to the request signaling sent by a core belonging to a different core cluster from a current core; and the method can acquire data from cores belonging to different core clusters with the current core, and realize data interaction among different core clusters, thereby improving the flexibility of the cores in processing calculation tasks and improving the computing capability of a many-core system.
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 flow chart of a data transmission method in an embodiment of the present disclosure;
FIG. 2 is a schematic diagram of a many-core system in an embodiment of the present disclosure;
FIG. 3 is a flow chart of some steps of another data transmission method in an embodiment of the present disclosure;
FIG. 4 is a flow chart of some steps in yet another data transmission method in an embodiment of the present disclosure;
FIG. 5 is a flow chart of a method of data transmission in an embodiment of the present disclosure;
FIG. 6 is a flow chart of some steps of another data transmission method in an embodiment of the present disclosure;
FIG. 7 is a flow chart of some steps in yet another data transmission method in an embodiment of the present disclosure;
FIG. 8 is a flow chart of some steps in yet another data transmission method in an embodiment of the present disclosure;
FIG. 9 is a flow chart of a method of data transmission in an embodiment of the present disclosure;
FIG. 10 is a flow chart of some steps of another data transmission method in an embodiment of the present disclosure;
FIG. 11 is a flow chart of a method of data transmission in an embodiment of the present disclosure;
FIG. 12 is a flow chart of some steps of another data transmission method in an embodiment of the present disclosure;
FIG. 13 is a flow chart of some steps in yet another data transmission method in an embodiment of the present disclosure;
FIG. 14 is a block diagram of one of the cores in an embodiment of the present disclosure;
FIG. 15 is a block diagram of one component of a computer-readable medium in an embodiment of the present disclosure;
fig. 16 is a block diagram of an electronic device 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 inventor of the present disclosure has found that, in some related technologies, the main functions of each core in a many-core system are: the input data of the input device is stored, an arithmetic unit in the core carries out operation according to the input data, the operation result is stored in the memory, and the output device is informed to receive the output result. However, each core is passive and executes operation energy according to an operation program instruction, and the control capability of the core is weak and the flexibility is poor.
In order to solve the above problems, in the embodiments of the present disclosure, a core cluster is dynamically configured according to a computing task, where the core cluster includes a plurality of cores, and a many-core system may have a plurality of core clusters, where each core cluster executes a corresponding computing task, so as to enhance control over each core and improve flexibility of executing the computing task. However, the core clusters are independent of each other, so that data interaction cannot be performed, and the flexibility of the cores in the many-core system in executing the computing task is still limited.
In view of this, in a first aspect, referring to fig. 1, an embodiment of the present disclosure provides a data transmission method, applied to a core in a many-core system, the data transmission method including:
in step S110, in response to a first request signaling, acquiring data pointed by the first request signaling;
in step S120, the data pointed by the first request signaling is transmitted to a request core that sends the first request signaling, where the request core and a current core belong to different core clusters, and multiple cores in the many-core system form a core cluster, and the current core is a main core of the core cluster to which the current core belongs.
Fig. 2 is a schematic diagram of a many-core system. As shown in fig. 2, the many-core system includes a first core and a second core, where a plurality of second cores are configured as core clusters (as shown by a dashed box in fig. 2), and in the plurality of second cores of each core cluster, one second core is included as a master core of the core cluster, and at least one second core is included as a slave core of the core cluster.
In the embodiment of the present disclosure, the core cluster to which the current core belongs is referred to as a current core cluster, the core that sends the first request signaling is referred to as a request core, and the core cluster to which the request core belongs is referred to as a request core cluster. The request core may be a master core in the request core cluster or a slave core in the request core cluster. The embodiments of the present disclosure are not particularly limited thereto.
In the disclosed embodiment, the data in the core includes private data, public data, friend metadata. The private data is data which is only read by the current core and/or the core in the core cluster to which the current core belongs; the public data is data with read authority of any core in the many-core system; the friend metadata refers to data that only the friend core of the current core has read authority.
In the embodiment of the disclosure, the data pointed by the first request instruction may be private data, friend metadata, or public data; in addition, the data pointed by the request instruction can be other information required for completing the data interaction between the core clusters. The embodiments of the present disclosure are not particularly limited thereto.
As an alternative embodiment, in step S120, the current core transmits data to the requesting core through a Network On Chip (NOC).
According to the data transmission method provided by the embodiment of the disclosure, the core in the many-core system can transmit the data pointed by the request signaling to the request core according to the request signaling sent by the request core, wherein the request core and the current core belong to different core clusters, so that the data interaction among the different core clusters is realized, the flexibility of the core in processing the calculation task is improved, and the operation capability of the many-core system is improved.
In the embodiment of the disclosure, the request core can perform data interaction with the main cores of different core clusters, and configuration information required for completing the computing task is acquired from the main cores.
Accordingly, in some embodiments, the first request signaling includes signaling requesting acquisition of configuration information. The data pointed by the first request signaling is configuration information.
The embodiment of the present disclosure does not particularly limit the specific form of the configuration information. For example, the configuration information includes at least one of operators, parameters, scope of authority information necessary to request and complete the computing task. It should be noted that the permission scope information includes, but is not limited to, data scope information that can be read by the requesting core.
In the disclosed embodiments, the requesting core may also access private data in cores in the current core cluster. As an alternative embodiment, unified scheduling and control is performed by the master core in the current core cluster when the requesting core requests access to private data in the cores in the current core cluster. Specifically, the main core in the current core cluster generates a token according to the request signaling of the request core, and the core in the current core cluster only allows the request core with the valid token to access the private data, so that the data security can be ensured.
Accordingly, in some embodiments, the first request signaling includes signaling for requesting to read data of the target core, referring to fig. 3, step S110 includes:
in step S111, a token is generated according to the first request signaling, so that the target core verifies the request core according to the token, and the target core and the current core belong to the same core cluster.
The specific form of the token is not particularly limited by the embodiments of the present disclosure. For example, the token carries at least one of an identity of the requesting core, read rights information of the requesting core, data address information, token encoding.
In some embodiments, referring to fig. 4, before step S110, the data transmission method further includes:
in step S130, determining whether the request core is a friendly core;
and executing the step of acquiring the data pointed by the first request signaling under the condition that the request core is a friend core.
The embodiments of the present disclosure do not specifically limit the friendly core. For example, the friend core may be a core in a core cluster with trusted identity, or may be a core in a core cluster with frequent interaction with current core cluster data.
It should be noted that, step S130 is performed when the request core requests access to the friend metadata. As an optional implementation manner, step S130 may also be performed when the request core requests non-friendly metadata, and when the request core is a friendly core, the request core is allowed to directly read corresponding data, so that data interaction efficiency can be improved.
In the embodiment of the disclosure, the request core can perform data interaction with the slave core in the current core cluster, and the slave core in the current core cluster obtains the friend metadata. The slave core in the current core cluster judges whether the request core is a friend core according to the friend list. As an alternative embodiment, the list of friends of the slave core in the current core cluster is set according to an instruction of the master core in the current core cluster.
Accordingly, in some embodiments, referring to fig. 4, the data transmission method further includes:
in step S140, an instruction to set a list of friends is sent to the slave core in the core cluster to which the current core belongs.
In a second aspect, referring to fig. 5, an embodiment of the present disclosure provides a data transmission method, applied to a core in a many-core system, the data transmission method including:
In step S210, in response to the second request signaling, acquiring data pointed by the second request signaling;
in step S220, the data pointed by the second request signaling is transmitted to a request core that sends the second request signaling, where the request core and a current core belong to different core clusters, multiple cores in the many-core system form a core cluster, and the current core is a slave core of the core cluster to which the current core belongs.
Fig. 2 is a schematic diagram of a many-core system. As shown in fig. 2, the many-core system includes a first core and a second core, where a plurality of second cores are configured as core clusters (as shown by a dashed box in fig. 2), and in the plurality of second cores of each core cluster, one second core is included as a master core of the core cluster, and at least one second core is included as a slave core of the core cluster.
In the embodiment of the present disclosure, the core cluster to which the current core belongs is referred to as a current core cluster, the core that sends the first request signaling is referred to as a request core, and the core cluster to which the request core belongs is referred to as a request core cluster. The request core may be a master core in the request core cluster or a slave core in the request core cluster. The embodiments of the present disclosure are not particularly limited thereto.
In the disclosed embodiment, the data in the core includes private data, public data, friend metadata. The private data is data which is only read by the current core and/or the core in the core cluster to which the current core belongs; the public data is data with read authority of any core in the many-core system; the friend metadata refers to data that only the friend core of the current core has read authority.
In the embodiment of the disclosure, the data pointed by the first request instruction may be private data, friend metadata, or public data; in addition, the data pointed by the request instruction can be other information required for completing the data interaction between the core clusters. The embodiments of the present disclosure are not particularly limited thereto.
As an alternative embodiment, in step S220, the current core transmits data to the requesting core through a Network On Chip (NOC).
According to the data transmission method provided by the embodiment of the disclosure, the core in the many-core system can transmit the data pointed by the request signaling to the request core according to the request signaling sent by the request core, wherein the request core and the current core belong to different core clusters, so that the data interaction among the different core clusters is realized, the flexibility of the core in processing the calculation task is improved, and the operation capability of the many-core system is improved.
In the embodiment of the disclosure, the request core can perform data interaction with the slave cores of different core clusters, and configuration information required for completing the computing task is acquired from the slave cores.
Accordingly, in some embodiments, the second request signaling includes signaling requesting acquisition of configuration information. The data pointed by the second request signaling is configuration information.
The embodiment of the present disclosure does not particularly limit the specific form of the configuration information. For example, the configuration information includes at least one of operators, parameters, scope of authority information necessary to request and complete the computing task. It should be noted that the permission scope information includes, but is not limited to, data scope information that can be read by the requesting core.
In the disclosed embodiments, the requesting core may also access private data in the current core. As an alternative embodiment, when the requesting core requests access to private data in the current core, unified scheduling and control is performed by the master core in the current core cluster. Specifically, the main core in the current core cluster generates a token according to the request signaling of the request core, and the current core only allows the request core with the valid token to access the private data, so that the data security can be ensured.
Accordingly, in some embodiments, referring to fig. 6, before step S210, the data transmission method further includes:
in step S231, a token sent by the request core is acquired;
in step S232, determining whether the token is valid;
in case the token is valid, step S210 is performed.
The specific form of the token is not particularly limited by the embodiments of the present disclosure. For example, the token carries at least one of an identity of the requesting core, read rights information of the requesting core, data address information, token encoding.
The embodiment of the present disclosure is not particularly limited as to how to perform step S232 to verify the validity of the token. For example, the identity of the request core may be verified according to the identity of the request core carried in the token; verifying the authenticity of the token according to the token code carried in the second token; and verifying whether the request core has the access right of the data pointed by the request signaling or not according to the read right information and the data address information carried in the second token.
As an alternative embodiment, the requesting core sends the second request signalling together with the token to the current core, i.e. the current core receives the second request signalling and the token synchronously.
As another alternative embodiment, the requesting core generates a second request signaling from the second token, and the current core obtains the token by parsing the second request signaling.
In some embodiments, referring to fig. 7, before step S210, the data transmission method further includes:
in step S240, it is determined whether the request core is a friendly core;
in the case that the request core is a friend core, step S210 is performed.
The embodiments of the present disclosure do not specifically limit the friendly core. For example, the friend core may be a core in a core cluster with trusted identity, or may be a core in a core cluster with frequent interaction with current core cluster data.
It should be noted that, step S240 is performed when the request core requests access to the friend metadata. As an optional implementation manner, step S240 may also be performed when the request core requests non-friendly metadata, and when the request core is a friendly core, the request core is allowed to directly read corresponding data, so that data interaction efficiency can be improved.
In the embodiment of the disclosure, the request core can perform data interaction with the slave core in the current core cluster, and the slave core in the current core cluster obtains the friend metadata. The slave core in the current core cluster judges whether the request core is a friend core according to the friend list. As an optional implementation manner, the current core sets a friend list according to an instruction of the master core in the current core cluster, and judges whether the request core is a friend core according to the friend list.
Accordingly, in some embodiments, referring to fig. 8, the data transmission method further includes:
in step S251, a friend list is set according to an instruction of a main core of a core cluster to which a current core belongs, where the friend list includes identification information of at least one friend core cluster, and a core in the friend core cluster is a friend core;
step S240 includes:
in step S241, it is determined whether the identifier information of the core cluster to which the request core belongs is included in the friend list; and under the condition that the friend list comprises the identification information of the core cluster to which the request core belongs, judging the request core as the friend core.
In a third aspect, referring to fig. 9, an embodiment of the present disclosure provides a data transmission method, applied to a core in a many-core system, including:
in step S300, data is acquired from a first target core, where the first target core and a current core belong to different core clusters, and multiple cores in the many-core system form a core cluster, and the first target core is a main core of the core cluster to which the first target core belongs.
In the embodiment of the present disclosure, the current core performing step S300 may be a master core in a core cluster or a slave core in a core cluster. The embodiments of the present disclosure are not particularly limited thereto.
The data obtained from the first target core may be at least one of private data, public data, friend metadata; in addition, other information needed to complete the inter-core cluster data interactions may be possible. The embodiments of the present disclosure are not particularly limited thereto.
As an alternative embodiment, for public data, the current core may read directly from the first target core; for private data or friend metadata, the embodiment of the disclosure configures a private interface through which the corresponding private data or friend metadata is read.
In the data transmission method provided by the embodiment of the disclosure, the cores in the many-core system can acquire data from the cores belonging to different core clusters with the current cores, so that data interaction among different core clusters is realized, flexibility of the cores in processing computing tasks is improved, and computing capability of the many-core system is improved.
In some embodiments, referring to fig. 10, step S300 includes:
in step S310, a first request signaling is sent to the first target core, so that the first target core responds to the first request signaling to acquire and transmit data pointed by the first request signaling;
In step S320, data pointed to by the first request signaling transmitted by the first target core is received.
The embodiment of the present disclosure does not particularly limit the specific form of the first request signaling. In some embodiments, the first request signaling includes request signaling to obtain configuration information including at least one of operators, parameters, scope of authority information required by the current core to complete an operational task.
In the embodiment of the disclosure, the current core may also access private data of the cores in the target core cluster. As an alternative implementation, when accessing private data of a core in the target core cluster, a token needs to be applied to a master core in the target core cluster, and then the private data of the core in the target core cluster is accessed by using the token.
Accordingly, in some embodiments, the first request signaling includes signaling requesting to read data of a second target core, such that the first target core generates a token according to the first request signaling; the data to which the first request signal points is the token, and the second target core and the first target core belong to the same core cluster.
In a fourth aspect, referring to fig. 11, an embodiment of the present disclosure provides a data transmission method applied to a core in a many-core system, the data transmission method including:
in step S400, data is acquired from a third target core, where the third target core and the current core belong to different core clusters, and multiple cores in the many-core system form a core cluster, and the third target core is a slave core of the core cluster to which the third target core belongs.
In the embodiment of the present disclosure, the current core performing step S400 may be a master core in a core cluster or a slave core in a core cluster. The embodiments of the present disclosure are not particularly limited thereto.
The data obtained from the third target core may be at least one of private data, public data, friend metadata; in addition, other information needed to complete the inter-core cluster data interactions may be possible. The embodiments of the present disclosure are not particularly limited thereto.
As an alternative embodiment, for public data, the current core may read directly from the third target core; for private data or friend metadata, the embodiment of the disclosure configures a private interface through which the corresponding private data or friend metadata is read.
In the data transmission method provided by the embodiment of the disclosure, the cores in the many-core system can acquire data from the cores belonging to different core clusters with the current cores, so that data interaction among different core clusters is realized, flexibility of the cores in processing computing tasks is improved, and computing capability of the many-core system is improved.
In some embodiments, referring to fig. 12, step S400 includes:
in step S410, a second request signaling is sent to the third target core, so that the third target core responds to the second request signaling to acquire and transmit data pointed by the second request signaling;
in step S420, data pointed to by the second request signaling transmitted by the third target core is received.
The embodiment of the present disclosure does not particularly limit the specific form of the second request signaling. In some embodiments, the second request signaling includes request signaling to obtain configuration information including at least one of operators, parameters, scope of authority information required by the current core to complete the operational task.
In the embodiment of the disclosure, the current core may also access private data of the cores in the target core cluster. As an alternative embodiment, when accessing private data of a core in the target core cluster, the current core sends the acquired token to the core in the target core cluster to access the private data of the core in the target core cluster.
Accordingly, in some embodiments, referring to fig. 13, step S400 further includes:
in step S430, a token is sent to the third target core, so that the third target core verifies the current core according to the token; the token is obtained by the current core from the main core of the core cluster to which the third target core belongs.
In a fifth aspect, referring to fig. 14, embodiments of the present disclosure provide a core, applied to a many-core system, 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 data transmission method of the first aspect of the embodiment of the disclosure;
a data transmission method according to a second aspect of the embodiments of the present disclosure;
a data transmission method according to a third aspect of an embodiment of the present disclosure;
the fourth aspect of the embodiments of the present disclosure provides a data transmission method.
Wherein the processor 101 is a device having data processing capabilities, including but not limited to an operator or the like; memory 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 sixth aspect, referring to fig. 15, the presently disclosed embodiments provide a computer readable medium having a computer program stored thereon, which when executed by a processor, implements at least one of the following methods:
the data transmission method of the first aspect of the embodiment of the disclosure;
a data transmission method according to a second aspect of the embodiments of the present disclosure;
a data transmission method according to a third aspect of an embodiment of the present disclosure;
the fourth aspect of the embodiments of the present disclosure provides a data transmission method.
In a seventh aspect, referring to fig. 16, an embodiment of the present disclosure provides an 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 data transmission method of the first aspect of the embodiment of the disclosure;
a data transmission method according to a second aspect of the embodiments of the present disclosure;
a data transmission method according to a third aspect of an embodiment of the present disclosure;
the fourth aspect of the embodiments of the present disclosure provides a data transmission method.
In order to enable those skilled in the art to more clearly understand the technical solutions provided by the embodiments of the present disclosure, the following details of the technical solutions provided by the embodiments of the present disclosure are described by specific embodiments:
example 1
The request core initiates a request signaling to a target core in a target core cluster to request for acquiring configuration information, wherein the target core is a main core of the target core cluster;
the target core responds to the request signaling and reads configuration information pointed by the request signaling;
the target core transmits configuration information to the requesting core.
Example two
The request core initiates a request signaling to a target core in a target core cluster to request for acquiring configuration information, wherein the target core is any core except a main core in the target core cluster;
the target core responds to the request signaling and reads configuration information pointed by the request signaling;
the target core transmits configuration information to the requesting core.
Example III
The request core initiates a request signaling to a main core of the target core cluster to request for obtaining a token for reading data of the target core, wherein the target core is any core except the main core in the target core cluster;
the main core of the target core cluster responds to the request signaling and returns a token to the request core;
The request core initiates a request signaling to the target core and simultaneously sends the token to the target core;
the target core responds to the request signaling to interpret the token and judge whether the token is valid or not; if the data is valid, the data pointed by the request signaling is sent to the request core through the network-on-chip; if not, rejecting.
Example IV
When receiving a request signaling for requesting the core to acquire data, the target core acquires a friend list, wherein the friend list is preset according to an instruction of a main core of a core cluster where the target core is positioned, and the target core is any core except the main core in the target core cluster;
judging whether the friend list comprises identification information of a core cluster where a request core is located; if so, sending the data pointed by the request signaling to the request core; if not, rejecting.
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 (17)

1. A data transmission method applied to a core in a many-core system, the data transmission method comprising:
responding to a first request signaling, and acquiring data pointed by the first request signaling from a storage unit of a current core, wherein the data pointed by the first request signaling is data obtained by completing an operation task for the current core and stored in the storage unit of the current core;
transmitting the data pointed by the first request signaling to a request core for transmitting the first request signaling through an on-chip network, wherein the request core and a current core belong to different core clusters, a plurality of cores in the many-core system form a core cluster, the current core is a main core of the core cluster to which the current core belongs, the core cluster is dynamically built according to a calculation task, and each core cluster executes a corresponding calculation task;
Wherein the first request signaling includes signaling for requesting to acquire configuration information; the step of obtaining the data pointed by the first request signaling comprises the following steps:
and reading configuration information pointed by the first request signaling, wherein the configuration information comprises at least one of operators, parameters and authority range information required by the request core to complete an operation task.
2. The data transmission method of claim 1, wherein the first request signaling includes signaling requesting reading of data of a target core; the step of obtaining the data pointed by the first request signaling comprises the following steps:
and generating a token according to the first request signaling so that the target core verifies the request core according to the token, wherein the target core and the current core belong to the same core cluster.
3. The data transmission method according to claim 2, wherein the token carries at least one of an identity of the requesting core, read authority information of the requesting core, data address information, token code.
4. A data transmission method according to any one of claims 1 to 3, wherein prior to the step of obtaining the data to which the first request signalling is directed, the data transmission method further comprises:
Judging whether the request core is a friend core or not;
and executing the step of acquiring the data pointed by the first request signaling under the condition that the request core is a friend core.
5. A data transmission method according to any one of claims 1 to 3, wherein the data transmission method further comprises:
and sending an instruction for setting the friend list to the slave core in the core cluster to which the current core belongs.
6. A data transmission method applied to a core in a many-core system, the data transmission method comprising:
responding to a second request signaling, and acquiring data pointed by the second request signaling from a storage unit of the current core, wherein the data pointed by the second request signaling is data obtained by completing an operation task for the current core and stored in the storage unit of the current core;
transmitting the data pointed by the second request signaling to a request core for transmitting the second request signaling through an on-chip network, wherein the request core and a current core belong to different core clusters, a plurality of cores in the many-core system form a core cluster, the current core is a slave core of the core cluster to which the current core belongs, the core cluster is dynamically built according to a calculation task, and each core cluster executes a corresponding calculation task;
Wherein the second request signaling includes signaling for requesting to acquire configuration information; the step of obtaining the data pointed by the second request signaling comprises the following steps:
and reading configuration information pointed by the second request signaling, wherein the configuration information comprises at least one of operators, parameters and authority range information required by the request core to complete an operation task.
7. The data transmission method according to claim 6, wherein before the step of acquiring the data to which the second request signaling is directed, the data transmission method further comprises:
obtaining a token sent by the request core;
judging whether the token is valid or not;
and executing the step of acquiring the data pointed by the second request signaling under the condition that the token is valid.
8. The data transmission method of claim 7, wherein the token carries at least one of an identity of the requesting core, read authority information of the requesting core, data address information, token encoding.
9. The data transmission method according to claim 6, wherein before the step of acquiring the data to which the second request signaling is directed, the data transmission method further comprises:
Judging whether the request core is a friend core or not;
and executing the step of acquiring the data pointed by the second request signaling under the condition that the request core is a friend core.
10. The data transmission method according to claim 9, wherein the data transmission method further comprises:
setting a friend list according to an instruction of a main core of a core cluster to which a current core belongs, wherein the friend list comprises identification information of at least one friend core cluster, and cores in the friend core cluster are friend cores;
the step of determining whether the request core is a friend core includes:
judging whether the friend list comprises the identification information of the core cluster to which the request core belongs;
and under the condition that the friend list comprises the identification information of the core cluster to which the request core belongs, judging the request core as the friend core.
11. A data transmission method applied to a core in a many-core system, the data transmission method comprising:
acquiring data from a first target core, wherein the first target core and a current core belong to different core clusters, a plurality of cores in the many-core system form a core cluster, the core cluster is dynamically built according to a calculation task, each core cluster executes a corresponding calculation task, and the first target core is a main core of the core cluster to which the first target core belongs;
Wherein the step of obtaining data from the first target core comprises:
sending a first request signaling to the first target core so that the first target core responds to the first request signaling to acquire and transmit data pointed by the first request signaling, wherein the data pointed by the first request signaling is the data obtained by the first target core after completing an operation task and stored in a storage unit of the first target core;
receiving data pointed by the first request signaling transmitted by the first target core;
the first request signaling includes signaling requesting to obtain configuration information, where the configuration information includes at least one of operator, parameter, and authority range information required by the current core to complete the operation task.
12. The data transmission method of claim 11, wherein the first request signaling includes signaling requesting reading of data of a second target core, such that the first target core generates a token according to the first request signaling; the data pointed by the first request signaling is the token, and the second target core and the first target core belong to the same core cluster.
13. A data transmission method applied to a core in a many-core system, the data transmission method comprising:
Acquiring data from a third target core, wherein the third target core and a current core belong to different core clusters, a plurality of cores in the many-core system form a core cluster, the core cluster is dynamically built according to a calculation task, each core cluster executes a corresponding calculation task, and the third target core is a slave core of the core cluster to which the third target core belongs;
wherein the step of obtaining data from the third target core comprises:
sending a second request signaling to the third target core, so that the third target core responds to the second request signaling to acquire and transmit data pointed by the second request signaling, wherein the data pointed by the second request signaling is the data obtained by the third target core after completing an operation task and stored in a storage unit of the third target core;
receiving data pointed by the second request signaling transmitted by the third target core;
the second request signaling includes signaling requesting to obtain configuration information, where the configuration information includes at least one of operator, parameter, and authority range information required by the current core to complete the operation task.
14. The data transmission method of claim 13, wherein the step of acquiring data from the third target core further comprises:
Sending a token to the third target core so that the third target core verifies the current core according to the token; the token is obtained by the current core from the main core of the core cluster to which the third target core belongs.
15. 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 data transmission method according to any one of claims 1 to 5;
a data transmission method according to any one of claims 6 to 10;
a data transmission method according to claim 11 or 12;
a data transmission method according to claim 13 or 14.
16. 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 data transmission method according to any one of claims 1 to 5;
a data transmission method according to any one of claims 6 to 10;
A data transmission method according to claim 11 or 12;
a data transmission method according to claim 13 or 14.
17. 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 data transmission method according to any one of claims 1 to 5;
a data transmission method according to any one of claims 6 to 10;
a data transmission method according to claim 11 or 12;
a data transmission method according to claim 13 or 14.
CN202011333155.9A 2020-11-24 2020-11-24 Data transmission method, core, computer readable medium, and electronic device Active CN114546927B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011333155.9A CN114546927B (en) 2020-11-24 2020-11-24 Data transmission method, core, computer readable medium, and electronic device
PCT/CN2021/132381 WO2022111462A1 (en) 2020-11-24 2021-11-23 Data transmission method, core, computer-readable medium, and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011333155.9A CN114546927B (en) 2020-11-24 2020-11-24 Data transmission method, core, computer readable medium, and electronic device

Publications (2)

Publication Number Publication Date
CN114546927A CN114546927A (en) 2022-05-27
CN114546927B true CN114546927B (en) 2023-08-08

Family

ID=81659837

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011333155.9A Active CN114546927B (en) 2020-11-24 2020-11-24 Data transmission method, core, computer readable medium, and electronic device

Country Status (2)

Country Link
CN (1) CN114546927B (en)
WO (1) WO2022111462A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105988970A (en) * 2015-02-12 2016-10-05 华为技术有限公司 Processor of shared storage data, and chip
US9569634B1 (en) * 2013-12-16 2017-02-14 Amazon Technologies, Inc. Fine-grained structured data store access using federated identity management
CN108132834A (en) * 2017-12-08 2018-06-08 西安交通大学 Method for allocating tasks and system under multi-level sharing cache memory framework
CN108322366A (en) * 2017-01-17 2018-07-24 阿里巴巴集团控股有限公司 Access the methods, devices and systems of network
US10515049B1 (en) * 2017-07-01 2019-12-24 Intel Corporation Memory circuits and methods for distributed memory hazard detection and error recovery
CN111052095A (en) * 2017-08-30 2020-04-21 甲骨文国际公司 Multi-line data prefetching using dynamic prefetch depth

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8131941B2 (en) * 2007-09-21 2012-03-06 Mips Technologies, Inc. Support for multiple coherence domains
CN111381885B (en) * 2018-12-29 2024-04-09 畅想芯科有限公司 Asymmetric multi-core heterogeneous parallel processing system
US20200356485A1 (en) * 2019-05-09 2020-11-12 International Business Machines Corporation Executing multiple data requests of multiple-core processors

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569634B1 (en) * 2013-12-16 2017-02-14 Amazon Technologies, Inc. Fine-grained structured data store access using federated identity management
CN105988970A (en) * 2015-02-12 2016-10-05 华为技术有限公司 Processor of shared storage data, and chip
CN108322366A (en) * 2017-01-17 2018-07-24 阿里巴巴集团控股有限公司 Access the methods, devices and systems of network
US10515049B1 (en) * 2017-07-01 2019-12-24 Intel Corporation Memory circuits and methods for distributed memory hazard detection and error recovery
CN111052095A (en) * 2017-08-30 2020-04-21 甲骨文国际公司 Multi-line data prefetching using dynamic prefetch depth
CN108132834A (en) * 2017-12-08 2018-06-08 西安交通大学 Method for allocating tasks and system under multi-level sharing cache memory framework

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种面向高性能计算的自主众核处理器结构;郑方;许勇;李宏亮;谢向辉;陈左宁;;中国科学:信息科学(第04期);全文 *

Also Published As

Publication number Publication date
CN114546927A (en) 2022-05-27
WO2022111462A1 (en) 2022-06-02

Similar Documents

Publication Publication Date Title
US11916730B2 (en) Service provision to IoT devices
CN108881228B (en) Cloud registration activation method, device, equipment and storage medium
US20190068433A1 (en) Management method and management apparatus of internet of things and internet of things system
CN113098861B (en) Active identification carrier, authentication method thereof and service platform
US11206534B2 (en) Method and apparatus for managing bundles of smart secure platform
CN110650216B (en) Cloud service request method and device
CN111880919B (en) Data scheduling method, system and computer equipment
CN111526111B (en) Control method, device and equipment for logging in light application and computer storage medium
CN109729063B (en) Information processing method and information processing system applied to encryption machine
KR20190061060A (en) Profile-based content and services
CN114254336A (en) Method, apparatus and system for enforcing data boundaries by using boundary tags
CN106358246B (en) Access token issuing method and related equipment
CN112887199B (en) Gateway, cloud platform, configuration method and device thereof, and computer-readable storage medium
CN114546927B (en) Data transmission method, core, computer readable medium, and electronic device
CN109699030B (en) Unmanned aerial vehicle authentication method, device, equipment and computer readable storage medium
CN112953986A (en) Management method and device for edge application
CN115378581A (en) Authentication method, equipment and system
CN112600744A (en) Authority control method and device, storage medium and electronic device
CN113422796A (en) Information processing method and device and storage medium
CN112311716A (en) Data access control method and device based on openstack and server
US10936532B2 (en) Electronic device and data transmitting/receiving method
WO2023197259A1 (en) Devices and methods for providing a federated learning model
CN112055005B (en) Identity authentication method, device, system, electronic equipment and medium
CN111767524B (en) Authority management method, device, system, server and medium
WO2021104289A1 (en) Access control method, apparatus and device, and storage 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