title: Multi-threading in a VMWare  virtual machine environment
body: <p>We scale our single-threaded app by running it in separate vm's - each instance is configured to work on a particular partition of the overall workload. An idea has been circulating that we can get better performance by adding threads to some parts of the app, though we would not be eliminating the current vm dependence.</p>
  
  <p>Is architecting threading for an app that has been designed for a vm environment different than for an app designed for a non-vm environment? My primary concern is that for every thread designed into the app the actual number of threads that may be spun up per machine is a function of the number of vm instances running on the machine and may actually lead to performance degradation.</p>
  
  <p>Thanks in advance.</p>
  
  <p><strong>Edit:</strong> By vm above I mean a virtual machine as provided by VMWare. </p>