Contributor
Tzu-Chiao Yeh

OpenWhisk performance improvement - work stealing, priority-based scheduling on load balancer and direct connection for streaming capabilities.


Mentors
Carlos Santana, rr
Organization
Apache Software Foundation

The emergence of serverless computing moves cloud/edge to the next generation of resource sharing: function as a service. The innovation makes developer released from provisioning, updating, and managing servers under flexible scalability and fault tolerance. Also, the most influential outcome is no computing cost when idle, which is also known as pay as you go model.

However, the performance is under critical to be improved, i.e., more servers required in existed serverless platform, high and not predictable round-trip latency, especially under high concurrency and keeping dependable.

Here come some places to improvement, including shortened path, performance improvement on invoker, serialization elimination, and scheduling. In the first step, the picked-up topic: work-stealing and priority-based scheduling and direct connection for streaming capabilities will be a great and valuable choice.

Goal on this project

  1. Work-stealing scheduling on load balancer.
  2. Direct connection for stream support.
  3. Priority-based work-stealing scheduling.
  4. Comprehensive tests to avoid bugs on concurrency and distributed failure.
  5. Performance tests and optimization.