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

Evaluate multithreading for even distribution #1195

Open
ledwards2225 opened this issue Jan 10, 2025 · 0 comments
Open

Evaluate multithreading for even distribution #1195

ledwards2225 opened this issue Jan 10, 2025 · 0 comments

Comments

@ledwards2225
Copy link
Collaborator

This is a general purpose issue for evaluating the effectiveness of our multithreading strategy in key areas of the protocol. In particular, in some cases it may be possible to achieve a substantial speedup by simply ensuring that work is more evenly distributed across threads. For example, when performing relation algebra (either in sumcheck or PG) we generally divide the work across threads by evenly distributing the rows. But because the gate types are ordered within the polynomials, the work for expensive relations (e.g. aux) can be isolated to a small number of threads while others receive relatively trivial work.

Note: in a similar vain, we saw large improvements in performance in the structured trace setting once we accounted for "inactive rows" in our multithreading strategy. When possible, we generally distribute work such that each thread receives an equal number of active rows, rather than naively dividing the domain evenly. This avoids the realistic scenario where some threads receive a set of entirely inactive rows, while others perform exclusively expensive relations.

A first step might be to evaluate just how unevenly the work is being distributed in performance critical areas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant