-
Notifications
You must be signed in to change notification settings - Fork 454
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
Add StopSuggestion service in Katib API #413
Comments
API name is confusing. StopSuggestion term gives idea of stopping algorithm service In general, are we moving to a stateful API design? Can this be solved in a different way? |
@johnugeorge We can name it EndSuggestion or something else. The problem is, right now, Controller doesn't run GetSuggestion method after last Trial finished. It is not possible to make some changes in suggestion service after creating last Trial. |
@hougangliu @YujiOshima @richardsliu |
is EndSuggestionLifecycle better and more unambiguous? |
I am good with this name. |
I would also like to know if NAS requires us to move toward more stateful APIs. Also in the new API design, we avoided the term What is the broader problem that we are solving here? As I understand from reading the above, the real objective is to modify the suggestion service after the last trial - is this correct? |
@richardsliu correct. |
@richardsliu @hougangliu We can name it like |
I prefer |
IMO, APIs should not overloaded and must be simple. AFAIK, it is meant for the system users. Adding stateful apis in this case is not the ideal solution and doesn't go well with k8s philosophy too. eg: what happens if suggestion service missed this api call because of some temporary issue, how to scale suggestion pods in this case etc I feel, each suggestion algorithm should handle its requirements by itself(eg: Does it need extra metadata storage, where to store it, how to access it ) and should be independent. If we need any Suggestion API modifications, we can discuss in #423 |
@johnugeorge I agree with you, but right now we have only two functions to run Suggestion service from Controller. There are GetSuggestion and ValidateSuggestionParameters. I don't think that 2 functions can handle all problems. |
@richardsliu @YujiOshima @hougangliu @johnugeorge |
Algorithms can set custom key-value parameters in AlgorithmSetting based on its implementation. See this field in v1alpha2 https://github.com/kubeflow/katib/blob/master/pkg/api/operators/apis/experiment/v1alpha2/types.go#L174 |
@johnugeorge What should we do in v1alpha1 ? |
In the new design, we will have one suggestion for one experiment, thus we do not need the API now. /close |
@gaocegege: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Right now, we don't have service to stop Suggestion. We should create new API, called
StopSuggestion
. For example, if after complete one StudyJob session we have to clear something inside Suggestion service. In NAS RL service we have to clear dictionary after StudyJob is finished.See commentary: #404 (comment).
What do you think? @YujiOshima @richardsliu @hougangliu @johnugeorge
/area nas
The text was updated successfully, but these errors were encountered: