Hello all,
I came into this point the first time I had the chance to see our application running on a "pro" virtual machine, Windows Server 2012 hosted by VMWare VSphere virtual server platform.
Our application is a post-processing data tool that relies on the parallel library to spawn several tasks according to the system capabilities. Since this tool needs to parse a big amount of data, the whole thing is developed to support multi instances. In other words, if you need to parse more data or you need to parse your data faster, you can activate more instances of the same tool.
Of course when there are too many instances activated on the same machine, the CPU resources available for each process reaches almost 0%. A solution in this case can be either activating a new server instance, i.e. a new virtual machine, with new tools instances on that one or adding new VCPUs (Virtual CPU) to an existing server instance.
Some virtualization platforms supports hot add VCPU/RAM (but not removal of course), which means that you can add a VCPU to a running system without the need to reboot. And here comes the point. Since the parallel library detects the number of CPUs available at process start up, there is no way to update these info other than restarting each process.
Process reboot is a a simple solution of course when you run on a normal workstation with a desktop, but servers are there to "do their job" without an active desktop so the whole thing gets a bit complicated.
And, why not, we would like to tell our customers that our application is hot-add compliant..
Is there a way to achieve this?
Thanks in advance.
Alex B.