Web Worker Quality of Service
  • Past
  • Confirmed
  • Breakout Sessions

Meeting

Event details

Date:
Central European Summer Time
Status:
Confirmed
Location:
Nervion I - Level -1
Participants:
Paul Adenot, Harald Alvestrand, Rijubrata Bhaumik, Sudeep Divakaran, Anssi Kostiainen, Jonathan Kuperman, Michael McCool, Barry Pollard, Jianlin Qiu, Steven Rostedt, Shunya Shishido, Guido Urdaneta, Zhibo Wang, Yoav Weiss, Song XU, Lei Zhao
Big meeting:
TPAC 2023 (Calendar)

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.

Agenda

Chairs:
Rijubrata Bhaumik, Yoav Weiss

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.

Goal(s):
Extend Web Workers to utilize little/E cores. Get Wider Stakeholder feedback.

Materials:

Track(s):

  • performance

Export options

Personal Links

Please log in to export this event with all the information you have access to.

Public Links

The following links do not contain any sensitive information and can be shared publicly.

Feedback

Report feedback and issues on GitHub.