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

Make some stores go on threads other than just 0 through 3. #1446

Closed
srh opened this issue Sep 16, 2013 · 9 comments
Closed

Make some stores go on threads other than just 0 through 3. #1446

srh opened this issue Sep 16, 2013 · 9 comments
Assignees
Milestone

Comments

@srh
Copy link
Contributor

srh commented Sep 16, 2013

Right now all stores use four hash shards that are put on threads 0 through 3. Doing better than that is very low-hanging fruit.

@srh
Copy link
Contributor Author

srh commented Sep 16, 2013

Oh, and this is really the problem behind #1043. There might be some "clustering overhead" and we certainly don't just make there be 16 hash shards on a 32-thread machine, but mostly we have most work on cores 0 through 3 because that's where all the stores are.

The serializers are possibly all on the same thread too.

@srh
Copy link
Contributor Author

srh commented Sep 16, 2013

Oh and you can see the code for this at file_based_svs_by_namespace.cc.

@ghost ghost assigned mlucy Sep 17, 2013
@mlucy
Copy link
Member

mlucy commented Sep 17, 2013

Assigning to myself.

@mlucy
Copy link
Member

mlucy commented Sep 17, 2013

In review 943 by @srh.

Also, get_svs doesn't seem to be called when you reshard a table. We have 4 hash shards per range shard even when there are multiple range shards on the same machine, right? I think I'm missing something here.

With the changes in review 943, the insert benchmark I mentioned in #1369 still doesn't perform any better with 4 shards than with 1.

@srh
Copy link
Contributor Author

srh commented Sep 17, 2013

Regarding the get_svs question, shards share the same btrees. This is because when you want to reshard, at least the way things work right now, you need to be able to have multiple shards on the same btree before combining them.

@mlucy
Copy link
Member

mlucy commented Sep 17, 2013

If I understand correctly, this means that oversharding doesn't actually help with CPU utilization, right?

@srh
Copy link
Contributor Author

srh commented Sep 17, 2013

That's right.

@jdoliner
Copy link
Contributor

It's not supposed to help with CPU utilization either.

On Tue, Sep 17, 2013 at 3:23 AM, srh notifications@github.com wrote:

That's right.


Reply to this email directly or view it on GitHubhttps://github.com//issues/1446#issuecomment-24577624
.

@mlucy
Copy link
Member

mlucy commented Sep 20, 2013

This is in next.

@mlucy mlucy closed this as completed Sep 20, 2013
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

3 participants