Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Web Worker Quality of Service #47

Open
riju opened this issue Aug 24, 2023 · 1 comment
Open

Web Worker Quality of Service #47

riju opened this issue Aug 24, 2023 · 1 comment
Labels
session Breakout session proposal track: performance

Comments

@riju
Copy link

riju commented Aug 24, 2023

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)

@riju riju added the session Breakout session proposal label Aug 24, 2023
@ianbjacobs ianbjacobs changed the title Web Worker Quality of Service. Web Worker Quality of Service Sep 1, 2023
@ianbjacobs
Copy link
Contributor

We’ve published the Zoom recording made for your session. We invite you to review the automatically generated captions and propose fixes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
session Breakout session proposal track: performance
Projects
Status: No status
Development

No branches or pull requests

3 participants