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

Ralloc multi instance #9

Merged
merged 15 commits into from
Nov 26, 2020
Merged

Ralloc multi instance #9

merged 15 commits into from
Nov 26, 2020

Conversation

qtcwt
Copy link
Member

@qtcwt qtcwt commented Nov 23, 2020

No description provided.

@qtcwt qtcwt requested a review from roghnin November 24, 2020 06:33
@qtcwt
Copy link
Member Author

qtcwt commented Nov 24, 2020

This PR is ready for review @roghnin . Please take a look when you have time. Thanks!

@roghnin
Copy link
Member

roghnin commented Nov 24, 2020

This PR is ready for review @roghnin . Please take a look when you have time. Thanks!

Thanks! Are you considering checking this into the Ralloc repo?

Copy link
Member

@roghnin roghnin left a comment

Choose a reason for hiding this comment

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

I'm good with your updates to Montage. Thanks again!

@@ -196,6 +221,22 @@ class EpochSys{

static void init_thread(int _tid){
EpochSys::tid = _tid;
Ralloc::set_tid(_tid);
Copy link
Member

Choose a reason for hiding this comment

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

This is only needed for threads that calls Ralloc methods, right? There are options in ToBePersistContainer that spawns n write-back threads for n worker threads, and I guess they don't need this.

Copy link
Member Author

Choose a reason for hiding this comment

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

No, those who don't call Ralloc methods don't have to call set_tid(). Do these threads call init_thread()? I thought this func is called only in worker threads (and also epoch advancer since it deallocates things)

Comment on lines 238 to 240
void delete_pblk(T* pblk){
_ral->deallocate(pblk);
}
Copy link
Member

Choose a reason for hiding this comment

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

We should explicitly call destructor of T in delete_pblk, right?

Copy link
Member Author

Choose a reason for hiding this comment

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

Nice catch. Will fix.

@qtcwt
Copy link
Member Author

qtcwt commented Nov 25, 2020

This PR is ready for review @roghnin . Please take a look when you have time. Thanks!

Thanks! Are you considering checking this into the Ralloc repo?

We can, but since the copy of Ralloc in this repo diverges much from the original one, it may be nontrivial to apply the patch to the original, so I would leave it in my TODO list and do it later.

@qtcwt qtcwt merged commit 88b023a into master Nov 26, 2020
@qtcwt qtcwt deleted the ralloc_multi_instance branch November 26, 2020 05:12
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

Successfully merging this pull request may close these issues.

2 participants