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

runtime: NUMA optimization for channels #12298

Closed
shawnl opened this Issue Aug 24, 2015 · 4 comments

Comments

Projects
None yet
5 participants
@shawnl

shawnl commented Aug 24, 2015

This is a big job. This is an optimization of the sharing memory by communicating method.[1]

When a struct (not a pointer) above a GO_NUMA_MIGRATE size (determined at compile time) is sent across a channel the slice should be relocated to run on a local NUMA node.

[1] http://blog.golang.org/share-memory-by-communicating

@bradfitz

This comment has been minimized.

Show comment
Hide comment
@bradfitz

bradfitz Aug 24, 2015

Member

A slice is just a pointer, basically. See http://blog.golang.org/go-slices-usage-and-internals

The scheduler continues to improve, and data locality is definitely a part of that.

I don't think there's anything specifically actionable here.

Member

bradfitz commented Aug 24, 2015

A slice is just a pointer, basically. See http://blog.golang.org/go-slices-usage-and-internals

The scheduler continues to improve, and data locality is definitely a part of that.

I don't think there's anything specifically actionable here.

@bradfitz bradfitz closed this Aug 24, 2015

@shawnl

This comment has been minimized.

Show comment
Hide comment
@shawnl

shawnl Aug 24, 2015

I edited it to a struct after I opened the bug.

shawnl commented Aug 24, 2015

I edited it to a struct after I opened the bug.

@randall77

This comment has been minimized.

Show comment
Hide comment
@randall77

randall77 Aug 24, 2015

Contributor

Structs are relocated to the target NUMA node, in particular they are copied to the target's stack frame.

Contributor

randall77 commented Aug 24, 2015

Structs are relocated to the target NUMA node, in particular they are copied to the target's stack frame.

@minux

This comment has been minimized.

Show comment
Hide comment
@minux

minux Aug 24, 2015

Member
Member

minux commented Aug 24, 2015

@mikioh mikioh changed the title from NUMA optimization for channels to runtime: NUMA optimization for channels Aug 24, 2015

@golang golang locked and limited conversation to collaborators Aug 24, 2016

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