-
Notifications
You must be signed in to change notification settings - Fork 25
Open
Labels
Description
IOHexperimenter should have a high-level binary implementing an "objective function as a service".
This would take the form of an executable that takes the problem configuration (suite, problem id, instance) as parameters and then watch I/O named pipes (cf. mkfifo in POSIX systems) as objective function calls.
For reference, I've implemented a generic proof of concept for Linux in nojhan/named-pipes-services. Thanks to the blocking nature of named pipes, the code is utterly simple and basically consists of a loop: reading an input file, calling the function, then writing to a file.
Such a service can then be very easily exposed on a network with the help of classical tools like socat.
Necessary steps:
- I/O data structures (plain CSV? JSON?),
- command-line arguments management library (boost? single-header? sub-module?),
- implement,
- implement tests,
- write tutorial.