w3c/tpac2023-breakouts

Web Worker Quality of Service

riju opened this issue · 1 comments

riju commented

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)

@yoavweiss

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.