Web Worker Quality of Service
riju opened this issue · 1 comments
Session description
Web Worker Quality of Service
Web Workers enable multithreading in web browsers. By offloading compute-intensive workload to worker threads, we can achieve better UI smoothness and responsiveness. Till now, we have been using a cookie-cutter approach to offload such "background" jobs to Web Workers. Compute workloads have varied characteristics, some tasks are latency sensitive while some can function better in a consistent level of performance for prolonged periods of time. To satisfy tasks with different performance expectations, modern CPUs incorporate a hybrid architecture with high-performance and high-efficiency cores. Operating systems have APIs to control a thread's Quality of Service (QoS). Under the hood, hardware schedulering tools look at various performance monitoring units and give hints to the Operating System which makes the decision to deploy the task to a performance core or an efficiency core.
We propose introducing a quality of service attribute to the Web Workers so that applications and libraries have a way to explicitly label a worker’s preference of performance. User Agents can take this hint to configure platform thread and possibly affect the scheduling policy.
See the Explainer.
Session goal
Extend Web Workers to utilize little/E cores. Get Wider Stakeholder feedback.
Additional session chairs (Optional)
IRC channel (Optional)
#worker-quality
Who can attend
Anyone may attend (Default)
Session duration
30 minutes
Other sessions where we should avoid scheduling conflicts (Optional)
No response
Estimated number of in-person attendees
Fewer than 20 people
Instructions for meeting planners (Optional)
No response
Agenda, minutes, slides, etc. (Optional)
We’ve published the Zoom recording made for your session. We invite you to review the automatically generated captions and propose fixes.