Electronic devices with delay-based distributed computing
A primary device may run a software application requiring a compute task. The primary device may receive statistics from a set of secondary devices over wireless communication links. The primary device may process the statistics to determine whether the compute task will be offloaded to the secondary devices or performed locally. The primary device may generate a distribution scheme for the secondary devices based on the statistics. This may involve modeling first delays associated with transmission of signals from the primary device to the secondary devices, second delays associated with transmission of compute results from the secondary devices to the primary device, and third delays associated with processing resources of the secondary devices. The optimized distribution scheme may minimize overall runtime of the compute task given the modeled delays, scheduling grants for the secondary devices, and a radio resource allocation for the secondary devices.
1 . A wireless communication device comprising:
one or more antennas configured to receive signals from a set of electronic devices that are remote from the wireless communication device; and
one or more processors configured to use the one or more antennas to distribute respective shares of a compute task between the electronic devices in the set of electronic devices according to a distribution scheme, wherein
the distribution scheme is based on wireless delays and compute delays identified by the signals received from the set of electronic devices,
the distribution scheme assigns a first share of the compute task to a first electronic device from the set and a second share of the compute task that is less than the first share to a second electronic device from the set,
the first electronic device has a first combined delay that includes a first compute delay, a first transmission delay, and a first bandwidth identified by the signals, and
the second electronic device has a second combined delay that is greater than the first combined delay and that includes a second compute delay, a second transmission delay, and a second bandwidth identified by the signals.
2 . The wireless communication device of claim 1 , the one or more antennas being configured to transmit additional signals to the set of electronic devices that identify the respective shares of the compute task and the one or more antennas being configured to receive, from the set of electronic devices, compute results associated with the respective shares of the compute task.
3 . The wireless communication device of claim 2 , wherein the wireless delays comprise first wireless delays associated with transmission of the additional signals to the set of electronic devices and second wireless delays associated with reception of the compute results from the set of electronic devices.
4 . The wireless communication device of claim 1 , wherein the distribution scheme is based on a radio resource allocation of the set of electronic devices.
5 . The wireless communication device of claim 1 , wherein the distribution scheme is based on one or more scheduling grants for the set of electronic devices.
6 . The wireless communication device of claim 1 , wherein the signals comprise statistical parameters that identify, for each electronic device in the set of electronic devices, a respective wireless delay of the wireless delays and a respective compute delay of the compute delays.
7 . The wireless communication device of claim 6 , wherein the statistical parameters comprise shifted exponential distributions, Weibull distributions, or Gaussian distributions.
8 . A method of operating a first electronic device, the method comprising:
receiving, using one or more antennas, a first signal from a second electronic device;
transmitting, using the one or more antennas, a first control signal to the second electronic device that instructs the second electronic device to perform a first share of a compute task, wherein
the first share of the compute task is based on a first wireless delay, a second wireless delay, and a first compute delay identified from the first signal,
the first wireless delay is associated with wireless transmission from the first electronic device to the second electronic device,
the second wireless delay is associated with wireless transmission from the second electronic device to the first electronic device, and
the first compute delay is associated with processing resources on the second electronic device;
receiving, using the one or more antennas, a first compute result for the first share of the compute task from the second electronic device;
receiving, using the one or more antennas, a second signal from a third electronic device;
transmitting, using the one or more antennas, a second control signal to the second electronic device that instructs the second electronic device to perform a second share of the compute task, wherein
the second share of the compute task is based on a third wireless delay and a second compute delay identified from the second signal,
the third wireless delay is associated with wireless transmission from the first electronic device to the third electronic device, and
the second compute delay is associated with processing resources on the third electronic device; and
receiving, using the one or more antennas, a second compute result for the second share of the compute task from the third electronic device.
9 . The method of claim 8 , wherein the second share of the compute task is based on a fourth wireless delay identified by the second signal, and the fourth wireless delay is associated with wireless transmission from the third electronic device to the first electronic device.
10 . The method of claim 9 , wherein transmitting the first control signal comprises transmitting the first control signal with a first bandwidth and transmitting the second control signal comprises transmitting the second control signal with a second bandwidth that is different from the first bandwidth.
11 . The method of claim 9 , wherein the first share of the compute task is based on a radio resource allocation of the second electronic device and the third electronic device.
12 . The method of claim 9 , wherein a sum of the first wireless delay, the first compute delay, and the second wireless delay is greater than a sum of the third wireless delay, the second compute delay, and the fourth wireless delay, the sum of the first wireless delay, the first compute delay, and the second wireless delay being less than a time required by the first electronic device to perform the compute task.
13 . The method of claim 8 , wherein there is at least some redundancy between the first share and the second share of the compute task.
14 . A method of operating a wireless communication device comprising:
receiving, using one or more radio-frequency receivers, signals from a set of electronic devices that are remote from the wireless communication device; and
distributing, using one or more processors and one or more radio-frequency transmitters, respective shares of a compute task between the electronic devices in the set of electronic devices according to a distribution scheme, wherein
the distribution scheme is based on wireless delays and compute delays identified by the signals received from the set of electronic devices,
the distribution scheme assigns a first share of the compute task to a first electronic device from the set and a second share of the compute task that is less than the first share to a second electronic device from the set,
the first electronic device has a first combined delay that includes a first compute delay, a first transmission delay, and a first bandwidth identified by the signals, and
the second electronic device has a second combined delay that is greater than the first combined delay and that includes a second compute delay, a second transmission delay, and a second bandwidth identified by the signals.
15 . The method of claim 14 , further comprising:
transmitting, using the one or more transmitters, additional signals to the set of electronic devices that identify the respective shares of the compute task and the one or more antennas being configured to receive, from the set of electronic devices, compute results associated with the respective shares of the compute task.
16 . The method of claim 15 , wherein the wireless delays comprise first wireless delays associated with transmission of the additional signals to the set of electronic devices and second wireless delays associated with reception of the compute results from the set of electronic devices.
17 . The method of claim 14 , wherein the distribution scheme is based on a radio resource allocation of the set of electronic devices.
18 . The method of claim 14 , wherein the distribution scheme is based on one or more scheduling grants for the set of electronic devices.
19 . The method of claim 14 , wherein the signals comprise statistical parameters that identify, for each electronic device in the set of electronic devices, a respective wireless delay of the wireless delays and a respective compute delay of the compute delays.
20 . The method of claim 19 , wherein the statistical parameters comprise shifted exponential distributions, Weibull distributions, or Gaussian distributions.