Exploiting parallelism in exponential smoothing of large-scale discrete datasets
First Claim
1. A system comprising:
- one or more processors corresponding to a plurality of processing entities, wherein the plurality of processing entities comprises at least one master entity and at least a first and second worker entities;
one or more memory segments being concurrently accessible by at least some of the plurality of processing entities, wherein a series of data values is received into the one or more memory segments and divided into a plurality of portions of data values, wherein a portion size for the plurality of portions of data values corresponds to a size of memory available to the first and second worker entities;
the plurality of processing entities processing the plurality of portions of data values such that the first worker entity calculates a first state value for a first data portion and the second worker entity calculates a second state value for a second data portion,the first worker entity is operable in parallel with the second worker entity, the first worker entity calculating a first state value corresponding to a first state at a first position of the first data portion, the second worker entity calculating a second state value corresponding to a first state at a first position of the second data portion, the first worker entity sending the first state value to the master entity, and the second worker entity sending the second state value to the master entity;
a processing entity corresponding to the master entity assigning respective values from among the first state value and the second state value back to the first and second worker entities to calculate, in parallel using a smoothing function, computational results for remaining states of the first and second data portions; and
the processing entity corresponding to the master entity receiving the computational results from the first and second worker entities and generating a predictive model based at least in part on the computational results.
1 Assignment
0 Petitions
Accused Products
Abstract
A system, and computer program product for large-scale data transformations. Embodiments include a smoothing engine within an R environment to configure at least one master task and at least two worker tasks. A chunk calculator receives a series of data values and divides the series of data values into portions of data values which are in turn assigned as workloads to at least two worker tasks. The worker tasks serve to calculate a first state value of a first one of the portions of data values, and calculate a second state value of a second one of the portions of data values. The workloads are selected such that calculating a second state value does not depend on the first state value. The results of the workload calculations are used to calculate a smoothing factor used to predict a trend.
7 Citations
20 Claims
-
1. A system comprising:
-
one or more processors corresponding to a plurality of processing entities, wherein the plurality of processing entities comprises at least one master entity and at least a first and second worker entities; one or more memory segments being concurrently accessible by at least some of the plurality of processing entities, wherein a series of data values is received into the one or more memory segments and divided into a plurality of portions of data values, wherein a portion size for the plurality of portions of data values corresponds to a size of memory available to the first and second worker entities; the plurality of processing entities processing the plurality of portions of data values such that the first worker entity calculates a first state value for a first data portion and the second worker entity calculates a second state value for a second data portion, the first worker entity is operable in parallel with the second worker entity, the first worker entity calculating a first state value corresponding to a first state at a first position of the first data portion, the second worker entity calculating a second state value corresponding to a first state at a first position of the second data portion, the first worker entity sending the first state value to the master entity, and the second worker entity sending the second state value to the master entity; a processing entity corresponding to the master entity assigning respective values from among the first state value and the second state value back to the first and second worker entities to calculate, in parallel using a smoothing function, computational results for remaining states of the first and second data portions; and the processing entity corresponding to the master entity receiving the computational results from the first and second worker entities and generating a predictive model based at least in part on the computational results. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method comprising:
-
configuring one or more processors corresponding to a plurality of processing entities, wherein the plurality of processing entities comprises at least one master entity and at least a first and second worker entities; populating one or more memory segments being concurrently accessible by at least some of the plurality of processing entities, wherein a series of data values is received into the one or more memory segments and divided into a plurality of portions of data values, wherein a portion size for the plurality of portions of data values corresponds to a size of memory available to the first and second worker entities; and invoking at least some of the plurality of processing entities to process the plurality of portions of data values such that the first worker entity calculates a first state value for a first data portion and the second worker entity calculates a second state value for a second data portion, the first worker entity is operable in parallel with the second worker entity, the first worker entity calculating a first state value corresponding to a first state at a first position of the first data portion, the second worker entity calculating a second state value corresponding to a first state at a first position of the second data portion, the first worker entity sending the first state value to the master entity, and the second worker entity sending the second state value to the master entity; a processing entity corresponding to the master entity assigning respective values from among the first state value and the second state value back to the first and second worker entities to calculate, in parallel using a smoothing function, computational results for remaining states of the first and second data portions; and the processing entity corresponding to the master entity receiving the computational results from the first and second worker entities and generating a predictive model based at least in part on the computational results. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer program product, embodied in a non-transitory computer readable medium, the non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes the processor to execute a process, the computer program product comprising:
-
program code for configuring one or more processors corresponding to a plurality of processing entities, wherein the plurality of processing entities comprises at least one master entity and at least a first and second worker entities; program code for populating one or more memory segments being concurrently accessible by at least some of the plurality of processing entities, wherein a series of data values is received into the one or more memory segments and divided into a plurality of portions of data values, wherein a portion size for the plurality of portions of data values corresponds to a size of memory available to the first and second worker entities; and program code for invoking at least some of the plurality of processing entities to process the plurality of portions of data values such that the first worker entity calculates a first state value for a first data portion and the second worker entity calculates a second state value for a second data portion, the first worker entity is operable in parallel with the second worker entity, the first worker entity calculating a first state value corresponding to a first state at a first position of the first data portion, the second worker entity calculating a second state value corresponding to a first state at a first position of the second data portion, the first worker entity sending the first state value to the master entity, and the second worker entity sending the second value to the master entity; a processing entity corresponding to the master entity assigning respective values from among the first state value and the second state value back to the first and second worker entities to calculate, in parallel using a smoothing function, computational results for remaining states of the first and second data portions; and the processing entity corresponding to the master entity receiving the computational results from the first and second worker entities and generating a predictive model based at least in part on the computational results. - View Dependent Claims (20)
-
Specification