Idea for minimizing cold start time for chains of functions.
- Dominant language
- Scala
- Stars
- 6.8k
- Forks
- 1.2k
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 2
Description
I have a feature request.
I read that you guys were open on suggestions about minimizing the time it takes a cold start for a chain of functions.
I thought of this idea:
- One could have a very fast "warm up" function to an action that would "warm up" sleeping containers. That function would do no actual work and have an execution time less than 100 milliseconds. (Usually the smallest billable unit of cloud functions providers such as IBM Cloud).
- All these functions would be called at the beginning of the chain of functions, for all containers involved in the chain.
- So when the containers are called for actual work, there will be a higher probability for them to be already up.
- One could configure this feature on or off depending on one's willingness to pay a little bit more to enhance the response times of chains of functions.
That "warm up" function might be provided automatically by OpenWhisk to all containers. For example, a small go function.
Thank you.
Contributor guide
Research direction
No files, tests, or entry points are named. The proposal needs the relevant chain-invocation and container-startup locations identified, along with a defined cold-start metric and tests, before implementation can begin.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- cloud, distributed-systems, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100