Skip to content
This repository has been archived by the owner on Sep 18, 2023. It is now read-only.

[NSE-569] CPU overhead on fine grain / concurrent off-heap acquire operations #590

Merged
merged 3 commits into from
Dec 1, 2021

Conversation

zhztheplayer
Copy link
Collaborator

What changes were proposed in this pull request?

To fix #569

How was this patch tested?

TPC-H benchmark on Jenkins

@github-actions
Copy link

#569

@@ -20,24 +20,55 @@
import org.apache.arrow.memory.AllocationListener;

public class SparkManagedAllocationListener implements AllocationListener {
public static long BLOCK_SIZE = 8L * 1024 * 1024; // 8MB per block
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how about make this configurable?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a good idea.

Although at this time I think a fixed size is enough for most cases: say 8M can already reduce Spark acquire calls by 99%, in my own measurement.

Also the similar logic was applied to C++ Arrow code so it might require further thinking to unify them somehow. On the whole I think we can open a individual topic for the suggestion. :)

@zhztheplayer
Copy link
Collaborator Author

zhztheplayer commented Nov 30, 2021

Benchmarked: Able to speed up TPC-DS SF1000 by ~5%

@zhztheplayer
Copy link
Collaborator Author

CI UTs were failing and should be fixed by this PR also cc @rui-mo

@zhouyuan zhouyuan merged commit f2fe8eb into oap-project:master Dec 1, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CPU overhead on fine grain / concurrent off-heap acquire operations
3 participants