CPC G06F 16/211 (2019.01) [G06F 9/5061 (2013.01); G06F 16/283 (2019.01)] | 18 Claims |
1. A system for providing parallel calculation within a multidimensional database environment, comprising:
one or more computing devices operating as a multidimensional database server, and providing access to a multidimensional database for storage of data associated with a plurality of data dimensions associated with dimension members;
wherein the database server includes a calculation engine that performs commands or operations upon the data in response to requests and according to a calculation script, including wherein:
the calculation script includes a member list and a plurality of operations to be performed on a portion of the multidimensional database indicated by the member list, and
the calculation engine generates, for a particular operation of the plurality of operations, a plurality of tasks to fulfil the operation on the portion of the multidimensional database indicated by the member list and queues the tasks to a task list;
wherein the calculation engine uses a thread to process the calculation script, generate the task list, and create a plurality of child threads to execute the tasks of the task list, wherein the calculation engine thread then proceeds to perform additional operations in the calculation script; and
wherein the child threads search for available tasks from the task list, execute the tasks, and notify the calculation engine thread when no more tasks are available.
|