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 multiple instances of CrashMonkey run in a single machine #120

Open
vijay03 opened this issue Oct 7, 2018 · 1 comment
Open

Make multiple instances of CrashMonkey run in a single machine #120

vijay03 opened this issue Oct 7, 2018 · 1 comment

Comments

@vijay03
Copy link
Member

vijay03 commented Oct 7, 2018

Currently, for each VM, only one Crashmonkey instance is running. This wastes a lot of computational power. It would much more efficient to run X instances of Crashmonkey if there are X cores on the machine.

This would require running X wrapper devices per virtual machine. Not sure what kernel problems we will run into when doing this.

@ashmrtn
Copy link
Member

ashmrtn commented Oct 7, 2018

You would have to make a couple of changes to the current system to get this working. First, you'd have to go through and remove the hard-coding of the disk to use as the wrapper device and the snapshot device(s).

The more difficult problem would be going through and making sure that each instance of CM used a different set of snapshot devices. Right now, we don't know how many checkpoints a test has, but we assume it is less than 20 (I think), and just mount that many snapshot devices. If you wanted to change CM to run multiple instances on a single machine, you may want to change it so that you can pass in a range of devices for the snapshot disks and make sure you pass in a unique wrapper device.

Finally, the current version of CM assumes that it has complete control over the kernel modules. In this case I can think of 2 options: 1) build something on top of CM that coordinates the kernel modules across all CM instances running, or 2) modify the kernel modules to dynamically add nodes after they are inserted (just like brd can do now).

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