-
Notifications
You must be signed in to change notification settings - Fork 29k
[SPARK-10984] Simplify *MemoryManager class structure #9127
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
Closed
Closed
Changes from 1 commit
Commits
Show all changes
46 commits
Select commit
Hold shift + click to select a range
b7c9c23
Move Unsafe mem. mgrs. to spark-core subproject.
JoshRosen 25ba4b5
Merge ExecutorMemoryManager into MemoryManager.
JoshRosen 3d997ce
Naming and formatting fixes.
JoshRosen d9e6b84
Move Tungsten-related methods to end of MemoryManager file.
JoshRosen 98ef86b
Add taskAttemptId to TaskMemoryManager constructor.
JoshRosen 8f93e94
Move ShuffleMemoryManager into memory package.
JoshRosen 3bbc54d
Merge remote-tracking branch 'origin/master' into SPARK-10984
JoshRosen 88a7970
Fix bug in AbstractBytesToBytesMapSuite.
JoshRosen ec48ff9
Refactor the existing Tungsten TaskMemoryManager interactions so Tung…
JoshRosen 6f98bc4
Move TaskMemoryManager from unsafe to memory.
JoshRosen 6459397
Further minimization of ShuffleMemoryManager usage.
JoshRosen 60c66b2
Merge ShuffleMemoryManager into MemoryManager.
JoshRosen 7d6a37f
Clean up interaction between TaskMemoryManager and MemoryManager.
JoshRosen 0dc21dc
Merge remote-tracking branch 'origin/master' into SPARK-10984
JoshRosen f21b767
Fix compilation.
JoshRosen 46ad693
Fix Scalastyle
JoshRosen c33e330
Fix import ordering in Executor.scala
JoshRosen ef45d91
Fix import ordering in Task.scala
JoshRosen c7eac69
Fix import ordering in TaskContextImpl
JoshRosen d86f435
Fix spillable collection tests
JoshRosen bba5550
Integrate TaskMemoryManager acquire/releasePage with MemoryManager bo…
JoshRosen 66ae259
Move pooling logic into allocators themselves.
JoshRosen b1d5151
Scaladoc updates.
JoshRosen d0c0dd9
Update Spillable to properly integrate with TaskMemoryManager.
JoshRosen 48149fc
Move pageSizeBytes to Tungsten section
JoshRosen c8ba196
Cleanup after merging of ShuffleMemoryManager into MemoryManager.
JoshRosen 63a6cbc
Rename getMemoryConsumptionForThisTask to getExecutionMemoryUsageForTask
JoshRosen 6ec9c30
Properly thread numCores to memory manager.
JoshRosen 1593fad
Explain why MemoryBlock.pageNumber is public
JoshRosen 64bec0b
Fix TaskMemoryManagerSuite tests.
JoshRosen f9240e9
Fix compilation
JoshRosen a95bc08
Fix a memory leak in UnsafeShuffleWriter's sorter
JoshRosen b3ad761
Remove println
JoshRosen a7e8320
Fix Scalastyle.
JoshRosen e874a45
Fix remaining TODOs in UnsafeShuffleWriterSuite.
JoshRosen 2ba6e51
Fix DeveloperAPI change
JoshRosen 0c13723
Address comments in MemoryManager
JoshRosen 04ec429
Release memory acquired after unsuccessful allocatePage() call
JoshRosen e56d039
Fix EAOM compilation.
JoshRosen aa14113
Port tests from ShuffleMemoryManagerSuite
JoshRosen 7addf8b
Remove unused non-page-memory allocation methods.
JoshRosen 5af0b17
Update Tungsten tests
JoshRosen a264703
Fix execution memory leaks in Spillable collections
JoshRosen f2ab708
Fix NPE in UnsafeRowSerializerSuite
JoshRosen 0b5c72f
Update EAOM tests to reflect fact that iterator() is destructive.
JoshRosen f68fdb1
Fix streaming test compilation
JoshRosen File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Move pooling logic into allocators themselves.
- Loading branch information
commit 66ae259cf123e3744e436eece7a222bf2c36e24c
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can these just be
memoryManager.free(memory)? i.e. We still keep the actual allocation code in a separate class, but just provide a helper method to call the internal memory allocator. Then you don't need to saytungstenMemoryAllocatoreverywhere.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Everywhere" is only five places, all in TaskMemoryManager. To address your comment, I think I'd have to add two methods,
allocateTungstenMemory()andfreeTungstenMemory(), which only forwarded to that field. Given that, I'm not sure that I want to fix this; it's a net increase in code and I don't feel that it necessarily buys us any increase in clarity or correctness.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok