kubedl-io/morphling

[ASoC 2022] Implement version-control function for tracing serial morphling experiments.

Opened this issue · 0 comments

Background:

Microservices evaluated under Morphling are routinely updated to new versions, e.g., the ML model refinement for online ML model inference services and daily version maintain for regular online services. This iterative version updates ask for version-aware and version-control features in Morphling. That is, to trace and associate sequential Morphling experiments which are launched for the same microservice with different versions. Having such a version tracing and controlling functions enables a point of view for Morphling users to compare their services under different versions, providing unified information for service version iterations. Besides, being aware of the relationship between sequential experiments enables knowledge reuse in intelligent sampling: the sampling results in former experiments provides hints of the service, which will be used to avoid useless sampling for its successive experiments.

Goals to be achieved:

Design and implement version control functions via git ops tools, providing APIs in Morphling CRD definitions.
Providing version controlling and tracing views, based on current Morphling UI board.
[Advanced] For online ML model inference services, combining the version control function with KubeDL training/model version features, providing a complete model training-model version-model serving workflow for AI services.

Additional context:

This issue is part of our Alibaba Summer of Code (ASOC) 2022 program.

Difficulty: Normal
Mentor: Luping Wang (@lwangbm )