Skip to content

Conversation

@kingcrimsontianyu
Copy link
Contributor

@kingcrimsontianyu kingcrimsontianyu commented Nov 21, 2025

This PR implements a thread pool with per-thread task queues, to which the tasks are submitted in a round-robin fashion. This thread pool will be used to investigate cuDF pipelining issue in the parquet reader.

@kingcrimsontianyu kingcrimsontianyu added breaking Introduces a breaking change improvement Improves an existing functionality c++ Affects the C++ API of KvikIO labels Nov 21, 2025
@copy-pr-bot
Copy link

copy-pr-bot bot commented Nov 21, 2025

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@kingcrimsontianyu
Copy link
Contributor Author

/ok to test 8f99bf6

@kingcrimsontianyu
Copy link
Contributor Author

/ok to test 3b553f0

@kingcrimsontianyu kingcrimsontianyu changed the title Implement round-robin thread pool [experimental] Implement round-robin thread pool Nov 23, 2025
@kingcrimsontianyu
Copy link
Contributor Author

Performance

The following tests have been run, and the execution time is the same with the main branch that uses the BS thread pool.

  • KvikIO pread microbenchmark on two files.
  • cuDF PARQUET_MULTITHREAD_READER_NVBENCH parquet_multithreaded_read_decode_mixed
  • cudf-polars SF-1K

@copy-pr-bot
Copy link

copy-pr-bot bot commented Nov 25, 2025

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Introduces a breaking change c++ Affects the C++ API of KvikIO improvement Improves an existing functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant