Closed briandrawert closed 2 years ago
Original code: https://github.com/jdreeve/remote-solver
TODO:
Ongoing development of stochss-remote can be found here: https://github.com/ethangreen-dev/stochss-remote.
Now known as StochSS-Compute https://github.com/StochSS/stochss-compute/
-a Python remote_solver.py client in gillespy2/solvers. This can be a fork/exec-style call to the C client until the Python client is written.
-rewrite content from CSCI 335 curriculum files csapp.c and csapp.h (maybe Ethan or Matthew have done some of this already, if they didn't use those files for the proxy lab?)
-The lines in server.c commented out with // need to be restored-- these were disabled for the code review. // is only used in server.c to denote this disabled code and all disabled code are disabled with //.
-The function fork_exec_gillespy2 in server.c needs to be implemented. This invokes the Python script in the next bullet point.
-a Python script for the server to fork-exec in the fork_exec_gillespy2 function in server.c. This script needs to locate the Model pickle file with a given filename (e.g. md5.model.pkl), run it, pickle the Results, and save the Results pickle in md5.results.pkl
-there needs to be some consistent scheme for passing parameters through the pipeline from the Python remote_solver, to the C client, to the C server, to the Python script. Those parameters include at minimum the solver requested and the arguments to Model.run(). There are many more possible solver parameters (e.g. cache_only, force_run) that correspond to additional features.