dwavesystems / dwave-cloud-client

A minimal implementation of the REST interface used to communicate with D-Wave Solver API (SAPI) servers.
https://docs.ocean.dwavesys.com/projects/cloud-client/en/stable/
Apache License 2.0
59 stars 40 forks source link

Add `poll_backoff_base` and make polling backoff less aggressive #519

Closed randomir closed 2 years ago

randomir commented 2 years ago

By lowering the exponential base of the backoff schedule from 2 to 1.3 we are making sampling more responsive (particularly for short response times).

randomir commented 2 years ago

@JoelPasvolsky, 1.3 is just a SWAG to get better coverage for faster SAPI response times.

Compare poll times (seconds after start) for base=2, for first 2 minutes:

0.05
0.15
0.35
0.75
1.55
3.15
6.35
12.75
25.55
51.15
102.35

with poll times for base=1.3:

0.05
0.115
0.1995
0.3094
0.4522
0.6378
0.8791
1.1929
1.6007
2.131
2.8203
3.7163
4.8813
6.3956
8.3643
10.9236
14.2507
18.5759
24.1987
31.5083
41.0108
53.364
69.4232
90.3001
117.4402
JoelPasvolsky commented 2 years ago

thanks! So you resisted 1.414 or 1.259 in favor of the practical.

randomir commented 2 years ago

That's why I exposed it as a parameter, so you can use sqrt(2) or math.pi/2 if you fancy. :wink:

codecov-commenter commented 2 years ago

Codecov Report

Merging #519 (9ddae37) into master (d0ce807) will increase coverage by 0.00%. The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #519   +/-   ##
=======================================
  Coverage   86.64%   86.64%           
=======================================
  Files          24       24           
  Lines        3316     3317    +1     
=======================================
+ Hits         2873     2874    +1     
  Misses        443      443           
Impacted Files Coverage Δ
dwave/cloud/client/base.py 90.27% <100.00%> (+0.01%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update d0ce807...9ddae37. Read the comment docs.