If all you need is a single big virtual machine, you are better off not using Openstack. Just create the VM directly using Virtual Box. The "cloud resources" you get with DevStack are actually physical resources on your current machine inside the VirtualBox VM. You don't get more resources by using OpenStack this way. Rather you are taking the existing resources, "wasting" some of them on OpenStack services and using the rest of them to run VMs inside VMs ... spread thinly.
I thought about for example 32 vcpus 32 Gb ram and 300 gb of disk. I can’t generate that much "power" on my laptop.
That is not going to work on a virtual machine running on a platform with 9 GB of physical RAM.
It is theoretically possible to overcommit RAM, but if you do that and the instance tries to use all of its 32GB of overcommitted RAM, the performance of the instance ... and probably your laptop ... will be terrible. It will thrash.
I wanted to create one big instance and see how much time it would take to run Freesurfer to analyse MRI image. If the time wouldn’t be suitable I would create another instance(s) on the same subnet and try to run it simultaneously. I thought that OpenStack can provide the resources to do that.
OpenStack does not provide cloud resources per se. What it does is to allow you to manage existing physical resources (i.e. compute hardware) as virtual machines. So if you had a number of physical computers connected to your network, then you could ... in theory ... set up a cloud that uses them.
But there are some important restrictions:
- When you over-commit any resource, you are not actually getting more of it.
- Over-committing RAM is a really bad idea. Even 2-fold over-commit will push you into terrible performance.
- OpenStack cannot stitch together resources on multiple computers into a single instance. (To do that you need something like VSMP ... which is expensive proprietary software that needs ultra-fast networks, and only works for some use-cases.)
If not Devstack then what should I use? Could you please guide me on that topic?
Your options would be:
- Buy a machine with 32 GB of RAM, or get your supervisor to buy one for you.
- Talk to the people who run the IT systems for your Department / School.
- Talk to the people who provide Research Computing resources in your University; for example the people who run your University's local HPC or HTC systems, or private cloud.
- Get an AWS account and pay for a large instance on AWS. This will probably be cheaper than 1 ... if you are careful. (You might be able to wrangle some free AWS credits from someone.)
- Look for other application software that can (hypothetically!) do the analysis within the RAM constraints of your laptop.