Miscellany

How to adjust your existing client/server for these changes:

1. DesignPointRunner.__init__() is now called with an additional parameter, the metrics for that particular design point, so they do not have to be hard-coded or assumed in DesignPointRunner.

2. You can remove the design point factory code from the client. It seems to be unnecessary, so I removed it.

3. Client parameter feature, explained in detail below.

Client parameter feature:

You can define a dictionary in the server and pass it to ExperimentManager as an optional parameter. This dictionary can then be received on the client side when the client starts up.

To receive the dictionary, you need to write a function that accepts one param and stores it (probably as a global, so it can later be accessed from DesignPointRunner). You need to pass that function to SchedulabilityClient.

If and only if you have done so, SchedulabilityClient will ask the server to send the dictionary. When it does so, the function will be called with the dictionary specified in the server as the parameter.