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

How to launch a memory thread in memory node? I mean which executable file should I use? benchmark? #9

Closed
dxlog0 opened this issue Aug 31, 2022 · 2 comments

Comments

@dxlog0
Copy link

dxlog0 commented Aug 31, 2022

No description provided.

@dxlog0
Copy link
Author

dxlog0 commented Aug 31, 2022

May I misunderstand " Due to the limited size of our cluster, we emulate each server as one MS and one CS. Each MS owns 64GB DRAM and 2 CPU cores, and each CS owns 1GB DRAM and 22 CPU cores."

So,shoud I just run bencnmark on each node, and these nodes are memory nodes too? emm, then how to limits the CPU cores in MS and the DRAM size in CS?

@Transpeptidase
Copy link
Collaborator

Yes, when you run benchmark, each process will launch a memory thread to serve memory chunk allocation:

dirTh = new std::thread(&Directory::dirThread, this);

We limit the CPU cores by creating the fixed number of threads, limit the MS memory by setting the conf.dsmSize in DSM class, and limit the CS memory by setting the cache_size in IndexCache class:

baseAddr = (uint64_t)hugePageAlloc(conf.dsmSize * define::GB);

uint64_t memory_size = define::MB * cache_size;

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

2 participants