Patent attributes
A method and system for distributing a compute model and data to process to heterogeneous and distributed compute devices. The compute model and a portion of the data is processed on a benchmark system and the timing used to make a job execution speed estimate for each compute device. Compute devices are selected and assigned data chunks based on the estimate so distributed processing is completed within a predefined time period. The compute model and data chunks can be sent to the respective compute devices using separate processes, such as a payload manager configured to transfer compute jobs to remote devices and a messaging engine configured to transfer data messages, and where the payload manager and messaging engine communicate with corresponding software engines on the compute devices.