×

Using message-passing with procedural code in a database kernel

  • US 9,684,685 B2
  • Filed: 10/24/2013
  • Issued: 06/20/2017
  • Est. Priority Date: 10/24/2013
  • Status: Active Grant
First Claim
Patent Images

1. A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor that comprises at least one physical core and a plurality of logical cores, cause the at least one programmable processor to perform operations comprising:

  • designating a first logical core from the plurality of logical cores for use by a first message-passing worker of a plurality of message-passing workers;

    designating a second logical core from the plurality of logical cores for use by a first job worker of a plurality of job workers, the first and second logical cores sharing one or more resources of the at least one physical core;

    designating an additional logical core from the plurality of logical cores for use by a second message-passing worker of the plurality of message-passing workers;

    assigning a first set of database objects from a plurality of database objects in a database management system to the first message-passing worker such that the first message-passing worker has exclusive write access to the first set of database objects;

    assigning a second set of database objects from the plurality of database objects in the database management system to the second message-passing worker such that the second message-passing worker has exclusive write access to the second set of database objects, the first set of database objects and the second set of database objects having at least one database object in common;

    providing read-only access to the plurality of database objects via the first job worker;

    executing operations by the first message-passing worker in an order in which request messages are received in a message queue of the first message-passing worker;

    running a rebalancing operation to reassign the plurality of database objects to equalize a load across the plurality of message-passing workers;

    receiving, by a rebalanced message-passing worker of the plurality of message-passing workers after the running of the rebalancing operation, a new request message pertaining to a reassigned database object of the plurality of database objects, the reassigned database object formerly being assigned to the rebalanced message-passing worker but currently being assigned to a new message-passing worker of the plurality of message-passing workers; and

    posting, by the rebalanced message-passing worker, the new request message into a message queue of the new message-passing worker.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×