1. A method of managing workload of a data stream, the method comprising: receiving the data stream from a plurality of mobile devices; translating a logical plan for processing the data stream into a physical plan that enables deployment of a plurality of workers in a cloud-computing system to process the data stream; assigning the data stream to the plurality of workers for processing based at least in part on the physical plan; reallocating work between the plurality of workers to maintain a utilization of each worker between a minimum threshold and a maximum threshold; and performing a garbage collection process after incoming data logs for the data stream are determined to be stable in response to a computation performed by the plurality of workers.