-
Notifications
You must be signed in to change notification settings - Fork 4
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
Support for interactive tasks via IO #233
Conversation
Maybe some support for two or more execution interactive tasks? |
Could you explain a bit more what you mean by that? |
Currently I'm aware of 2 implementation of what I call multi-phase (or Encoder-decoder) interactive tasks : sio2project/oioioi#191 and Stowarzyszenie-Talent/sioworkers@b9948b8 . I don't know anything about the implementation for OI, but sometimes I create tasks using the second implementation. It would be nice if sinol-make have some support for those type of tasks. Either by formalizing the format of those tasks and implementing it into sinol-make, or for ex. allowing to create custom bash script that simulate the execution on the sio and are run by sinol-make instead of binary. |
And I said something without looking into the code. And there is the the task_type interface you just implemented, that could support what I just said... |
We are currently working on a new task type (sio2project/oioioi#287). It's similar to current interactive tasks with a library - the solution and checker(/interactor) have connected stdins and stdouts via pipes |
file_no_ext = paths.get_executions_path(name, package_util.extract_test_id(test, self.ID)) | ||
output_file = file_no_ext + ".out" | ||
result_file = file_no_ext + ".res" | ||
hard_time_limit_in_s = math.ceil(2 * time_limit / 1000.0) | ||
hard_time_limit = math.ceil(2 * time_limit / 1000.0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this 2 times time limit in any way tested to be enough? I have an example, where sio2jail runs 1.5 times longer than time measured by the jail. If not, given "worse" program or slower machine, this hard time limit may be exceeded, without exceeding time_limit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems to work well in real sioworkers. But I guess on some systems it may fail
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay, I didn't know about this. On sio2.mimuw we also have 16x time limit for sio2jail
TODO: