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

Make an asm implementation of the TR3200 to reach 10k VMs with one thread #28

Open
catageek opened this issue Oct 23, 2014 · 1 comment

Comments

@catageek
Copy link
Contributor

This ticket is just to document what I am currently coding.

First step is to transpose the current core code to asm. Currently the decode stage is done.Execution stage will follow. This version will be the scalar version where all optimizations are done, especially the removal of all branches, replaced by logical computation.

Second step will be to create an hypervisor in C++ that can manage several hundreds of CPU and mutualise the different stages. The output of the decode stage will be stored and used as input of the execution stage. Each operation will have N queues ,with N being the numbers of cycles that take this operation. At each step, we fill the Nth queue and we execute the first queue, then we rotate the queues for all operations. The constraint is that all CPU's have the same clock.

Third step will be to transpose the C++ loops used by the hypervisor to asm, keeping the hypervisor management in C++.

Last step will be to vectorize the loops of the decode stage, and later of the execution stage if it's worth the pain.

The challenge is to reach 10k VM running at ease on my PC that can currently run about 1200 VMs.

The asm implementation will support 32 bit or 64 bit platforms, but the 32 bit implementation must be statically linked.

Help will be appreciated on the hypervisor in C++, since I am not yet ready to start it.

@catageek catageek self-assigned this Oct 23, 2014
@milesrout
Copy link
Member

hey @catageek are you saying this should be written in ASM or are you saying the TR3200 asm should be JIT'd to ASM?

@catageek catageek removed their assignment Apr 1, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants