Postby JohnP » Thu Nov 27, 2014 8:48 am
Actually, each Windows process can use multiple cpu's, depending on the number of threads (JADE applications in this case) active. It is possible for a SingleUser jade.exe to use several cpu's, if there are multiple applications running. The idea that an executable cannot use more than one cpu is one of the common misconceptions in this area. In my experience, for example, it is not uncommon for a jadrap.exe to use 3 or 4 cpu's during peak times. There can be hundreds of threads executing in the jadrap.
The idea that creating objects tends to be IO bound is another common misconception. With JADE's caching, many writes to a database block are accumulated into a single IO. Coupling that with the database's "lazy write" algorithm (blocks don't have to be written to the database for the transaction to be resiliently committed), and a data load scenario is frequently cpu bound. It can become IO bound if there are a lot of inserts into large collections, but otherwise a data load is usually cpu bound.
So Jason, the key in your situation is this: if you are not multi-threading the data import, it is not likely to use more than one cpu.