IP Library Granted Patent US 9,250,973
Granted Patent B2
US 9,250,973 · App. 12/403,144 · Granted Feb 2, 2016

Apparatus and associated methodology of generating a multi-core communications topology

Inventors: Sven Brehmer (Foster City, CA); Tamer Abuelata (Cupertino, CA); Iulian Stoica (Rotselaar, BE)
Assignee: POLYCORE SOFTWARE, INC.
G06F9/5066
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,250,973
App. No.
12/403,144
Granted
Feb 2, 2016
Kind
B2
Abstract

An apparatus and associated method of generating a multi-core communication topology. The topology corresponding to a predetermined number of cores of a multi-core computer, is generated with an application programming device. A number of nodes are described for mapping to the predetermined number of available cores of the multi-core communication topology. Properties of each of the number of nodes are specified. Communication between each of the nodes of the multi-core communication topology is specified using a dedicated multi-core communication library of an electronic memory of the application programming device. A validated output file is generated for the multi-core topology at the application programming device. The output file to is processed to generate a multi-core communication capable executable application program interface (API) for the multi-core computer.

Claims (33)

1. A computer-implemented method for generating a multi-core communication topology corresponding to a predetermined number of cores of a multi-core computer with an application programming device, comprising:

receiving, at a time of creating a multi-core communication topology map, via a graphical user interface (GUI), a description of a number of nodes for mapping to the predetermined number of cores of the multi-core communication topology, each node included in the number of nodes corresponding to one or more functions of a specific application;

specifying, via the GUI, properties of each of the number of nodes;

specifying, via the GUI, communication links between each of the nodes of the multi-core communication topology using a dedicated multi-core communication library of an electronic memory of the application programming device; and

processing the multi-core communication topology map to generate a multi-core communication capable executable application program interface (API) that enables the execution of the specific application on the multi-core computer, wherein

the multi-core communication topology map is separate from run-time communication in the specific application to make the multi-core communication topology map modifiable, at configuration time, to change at least one communication path between at least two nodes in the multi-core communication topology map independent of a corresponding modification of application source code associated with the specific application.

2. The computer-implemented method according to claim 1 , wherein the API is validated and generated using an extensible markup language code.

3. The computer-implemented method according to claim 2 , wherein the extensible markup language code is generated in coordination with entries provided to the GUI.

4. The computer-implemented method according to claim 1 , wherein the communication library supports a Multi-core Communications API as a means to access the multicore communication topology.

5. The computer-implemented method according to claim 3 , wherein the GUI for the configuration time includes different view modes selectable in any sequence.

6. The computer-implemented method according to claim 1 , wherein the API is generated continuously and modified, or created separately and inserted as an intermediate step of a configuration sequence at the time of creating the multi-core communication topology map.

7. The computer-implemented method according to claim 1 , wherein the generated API utilizes a topology having a shortest path between each node in the topology.

8. The computer-implemented method according to claim 1 , wherein communication between nodes is synchronous, asynchronous, connected, connectionless, buffered, scalar, packets, or a stream communication.

9. The computer-implemented method according to claim 1 , where a validated output file for the multi-core topology is generated at the application programming device.

10. The computer-implemented method according to claim 1 , wherein modifying the multi-core communication topology results in a new mapping to the predetermined number of available cores.

11. The computer-implemented method according to claim 1 , wherein the configuration time is before run-time and after developing source code corresponding to the specific application.

12. A non-transitory computer readable storage medium encoded with computer program instructions executable by a cooperatively functioning application development computer to cause the computer to execute a method in accordance with the computer program instructions to generate a multi-core communication topology corresponding to a predetermined number of cores of a multi-core computer, the method comprising:

identifying, at a time of creating a multi-core communication topology map, via a graphical user interface (GUI), a number of nodes for mapping to the predetermined number of cores of the multi-core communication topology, each node included in the number of nodes corresponding to one or more functions of a specific application;

specifying, via the GUI, properties of each of the number of nodes;

specifying, via the GUI, communication links between each of the nodes of the multi-core communication topology using a dedicated multi-core communication library; and

processing the multi-core topology to generate a multi-core communication capable executable application program interface (API) that enables the execution of the specific application on the multi-core computer, wherein

the multi-core communication topology map is separate from run-time communication in the specific application to make the multi-core communication topology map modifiable, at configuration time, to change at least one communication path between at least two nodes in the multi-core communication topology map independent of a corresponding modification of application source code associated with the specific application.

13. The non-transitory computer readable storage medium according to claim 12 , wherein the API is validated and generated using an extensible markup language code.

14. The non-transitory computer readable storage medium according to claim 13 , wherein the extensible markup language code is generated in coordination with entries provided to the GUI entry of the application development computer.

15. The non-transitory computer readable storage medium method according to claim 12 , wherein the communication library supports a Multi-core Communications API as a means to access the underlying multicore communications topology.

16. The non-transitory computer readable storage medium according to claim 14 , wherein the GUI for the configuration time includes different view modes selectable in any sequence.

17. The non-transitory computer readable storage medium according to claim 12 , wherein the API is generated continuously and modified, or created separately and inserted as an intermediate step of a configuration sequence at the time of creating the multi-core communication topology map.

18. The non-transitory computer readable storage medium according to claim 12 , wherein the generated API utilizes a topology having a shortest path between each node in the topology.

19. The non-transitory computer readable storage medium according to claim 12 , wherein communication between nodes is synchronous, asynchronous, connected, connectionless, buffered, scalar, packets, or a stream communication.

20. The non-transitory computer readable storage medium according to claim 12 , includes instructions further comprising:

generating a validated output file for the multi-core topology.

21. The non-transitory computer readable storage medium according to claim 12 , wherein modifying the multi-core communication topology results in a new mapping to the predetermined number of available cores.

22. The non-transitory computer readable storage medium according to claim 12 , wherein the configuration time is before run-time and after developing source code corresponding to the specific application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 1, 2009
From: BREHMER, SVEN; ABUELATA, TAMER; STOICA, IULIAN
To: POLYCORE SOFTWARE, INC.
Reel/Frame 022761/0763 →
Continuity (1)
Related Publication 20100235847A1 · Sep 16, 2010