IP Library Granted Patent US 9,600,551
Granted Patent B2
US 9,600,551 · App. 14/062,749 · Granted Mar 21, 2017

Coexistence of message-passing-like algorithms and procedural coding

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,600,551
App. No.
14/062,749
Granted
Mar 21, 2017
Kind
B2
Abstract

First logical cores supported on physical processor cores in a computing system can be designated for execution of message-passing workers of a plurality of message workers while at least second logical cores supported on the physical processor cores can be designated for execution of procedural code such that resources of a physical processor core supporting the first logical core and the second logical core are shared between a first logical core and a second logical core. A database object in a repository can be assigned to one message-passing worker, which can execute operations on the database object while procedurally coded operations are processed using the second logical core on one or more of the plurality of physical processor cores while the first logical core executes the message-passing worker.

Claims (35)

1. A computer program product comprising a machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:

designating a first logical core of a plurality of logical cores supported on each of a plurality of physical processor cores in a computing system for execution of a message-passing worker of a plurality of message-passing workers;

designating a second logical core of the plurality of logical cores supported on each of the plurality of physical processor cores for execution of procedural code such that resources of a respective physical processor core supporting the first logical core and the second logical core are shared between the first logical core and the second logical core, the plurality of logical cores divided between the execution of the plurality of message passing workers and the execution of the procedural code;

assigning a database object in a repository to one message-passing worker of the plurality of message-passing workers;

delivering an operation for execution on the database object to the one message-passing worker; and

processing procedurally coded operations using the second logical core on one or more of the plurality of physical processor cores while the first logical core executes the message-passing worker.

2. A computer program product as in claim 1 , wherein the operations further comprise: assigning a plurality of database objects that comprises the database object to the one message-passing worker supported by the first logical core.

3. A computer program product as in claim 2 , wherein each of the plurality of database objects has its own register maintained by the message-passing worker.

4. A computer program product as in claim 1 , wherein the procedurally coded operations comprise loading data from main system memory so that a processing stream can be built from it.

5. A computer program product as in claim 1 , wherein the operation for execution on the database object comprises a table operation performed using a data manipulation language.

6. A computer program product as in claim 1 , wherein the operation for execution on the database object assigned to the message-passing worker comprises a random access operation that, when data is missing from a processor cache, causes the data to be loaded from a main memory.

7. A system comprising:

at least one programmable processor; and

a machine-readable medium storing instructions that, when executed by the at least one programmable processor, cause the at least one programmable processor to perform operations comprising:

designating a first logical core of a plurality of logical cores supported on each of a plurality of physical processor cores in a computing system for execution of a message-passing worker of a plurality of message-passing workers;

designating a second logical core of the plurality of logical cores supported on each of the plurality of physical processor cores for execution of procedural code such that resources of a respective physical processor core supporting the first logical core and the second logical core are shared between the first logical core and the second logical core;

assigning a database object in a repository of a plurality of database objects that comprise the database object to one message-passing worker of the plurality of message-passing workers, the assigned message-passing worker supported by the first logical core;

delivering an operation for execution on the database object to the one message-passing worker; and

processing procedurally coded operations using the second logical core on one or more of the plurality of physical processor cores while the first logical core executes the message-passing worker.

8. A system as in claim 7 , wherein each of the plurality of database objects has its own register maintained by the message-passing worker.

9. A system as in claim 7 , wherein the procedurally coded operations comprise loading data from main system memory so that a processing stream can be built from it.

10. A system as in claim 7 , wherein the operation for execution on the database object comprises a table operation performed using a data manipulation language.

11. A system as in claim 7 , wherein the operation for execution on the database object assigned to the message-passing worker comprises a random access operation that, when data is missing from a processor cache, causes the data to be loaded from a main memory.

12. A computer-implemented method comprising:

designating a first logical core of a plurality of logical cores supported on each of a plurality of physical processor cores in a computing system for execution of a message-passing worker of a plurality of message-passing workers;

designating a second logical core of the plurality of logical cores supported on each of the plurality of physical processor cores for execution of procedural code such that resources of a respective physical processor core supporting the first logical core and the second logical core are shared between the first logical core and the second logical core, the plurality of logical cores divided between the execution of the plurality of message passing workers and the execution of the procedural code;

assigning a database object in a repository to one message-passing worker of the plurality of message-passing workers;

delivering an operation for execution on the database object to the one message-passing worker; and

processing procedurally coded operations using the second logical core on one or more of the plurality of physical processor cores while the first logical core executes the message-passing worker.

13. A computer-implemented method as in claim 12 , wherein the operations further comprise: assigning a plurality of database objects that comprises the database object to the one message-passing worker supported by the first logical core.

14. A computer-implemented method as in claim 13 , wherein each of the plurality of database objects has its own register maintained by the message-passing worker.

15. A computer-implemented method as in claim 12 , wherein the procedurally coded operations comprise loading data from main system memory so that a processing stream can be built from it.

16. A computer-implemented method as in claim 12 , wherein the operation for execution on the database object comprises a table operation performed using a data manipulation language.

17. A computer-implemented method as in claim 12 , wherein the operation for execution on the database object assigned to the message-passing worker comprises a random access operation that, when data is missing from a processor cache, causes the data to be loaded from a main memory.

18. A computer-implemented method as in claim 12 , wherein the designating of the first logical core and the second logical core, the assigning, the delivering, and the processing are performed by at least one system comprising at least one programmable processor.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2013
From: SCHRETER, IVAN
To: SAP AG
Reel/Frame 031490/0560 →