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

Parallelize iterators #6585

Merged
merged 1 commit into from
May 10, 2016
Merged

Conversation

benbjohnson
Copy link
Contributor

@benbjohnson benbjohnson commented May 9, 2016

Overview

This pull request adds parallel execution of aggregate SELECT statements. Iterators within each shard are split using the NewParallelMergeIterator() function which processes iterator batches based on the number of logical cores on the system.

/cc @jwilder @toddboom

Results

On an AWS c4.8xlarge machine, performance of a simple COUNT() query over 1B points and 100K series drops from 1m57s to 16.8s. The execution of the count itself is significantly improved, however, the bottleneck on the query is now in the single-threaded planning phase for the 100K series. Parallelizing the planning phase should improve performance significantly for large numbers of series.

TODO

  • Rebased/mergable
  • Tests pass
  • CHANGELOG.md updated
  • Sign CLA (if not already signed)

@benbjohnson benbjohnson added this to the 1.0.0 milestone May 9, 2016
@jwilder
Copy link
Contributor

jwilder commented May 10, 2016

👍

@benbjohnson benbjohnson merged commit 514c98c into influxdata:master May 10, 2016
timhallinflux added a commit that referenced this pull request Dec 20, 2016
Features reported in v0.13.0:
- [#6593](#6593): Add ability to create snapshots of shards.
- [#6585](#6585): Parallelize iterators

were not released until v1.0.0.  Moved these into the v1.0.0 release notes.
@timhallinflux timhallinflux modified the milestones: 1.0.0, 1.0.0 beta Dec 20, 2016
@benbjohnson benbjohnson deleted the parallelize branch April 10, 2017 15:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants