Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: objective function as a service #112

Open
3 of 5 tasks
jdreo opened this issue Dec 18, 2021 · 1 comment
Open
3 of 5 tasks

Feature: objective function as a service #112

jdreo opened this issue Dec 18, 2021 · 1 comment
Assignees
Labels

Comments

@jdreo
Copy link
Contributor

jdreo commented Dec 18, 2021

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.
@jdreo
Copy link
Contributor Author

jdreo commented Feb 1, 2022

First PoC in PR #116

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants