Jade 7 on HyperV - Only Using 1 CPU (Processor)

For questions and postings not covered by the other forums
JasonBolton
Posts: 2
Joined: Mon Nov 24, 2014 5:41 pm

Jade 7 on HyperV - Only Using 1 CPU (Processor)

Postby JasonBolton » Mon Nov 24, 2014 6:05 pm

After installing Jade on HyperV we noticed that the performance was poor and found that it is not making use of all of the virtual processors. It is only using one. I cannot find where I can force it to use more. Any advice will be appreciated.

Thanks

JohnP
Posts: 73
Joined: Mon Sep 28, 2009 8:41 am
Location: Christchurch

Re: Jade 7 on HyperV - Only Using 1 CPU (Processor)

Postby JohnP » Tue Nov 25, 2014 9:00 am

Is this a Hyper-V question?

Does the same workload on a physical server use more than one cpu?

JasonBolton
Posts: 2
Joined: Mon Nov 24, 2014 5:41 pm

Re: Jade 7 on HyperV - Only Using 1 CPU (Processor)

Postby JasonBolton » Tue Nov 25, 2014 11:11 pm

John
Thanks for your response.
I haven't tried it on a physical server.
The process that is was going through was a data import. Last night I ran it again and instead of using "only" CPU 1 it ran and used "only" CPU 6. (8 Virtual Processors).

Imagine that this is a Physical server - Does Jade have certain tasks that it only uses 1 CPU for, or should all processes make use of all resources?

User avatar
ghosttie
Posts: 181
Joined: Sat Aug 15, 2009 1:25 am
Location: Atlanta, GA, USA
Contact:

Re: Jade 7 on HyperV - Only Using 1 CPU (Processor)

Postby ghosttie » Wed Nov 26, 2014 5:27 am

If your import is running single user then you only have one JADE process, so it will only use one processor.

If your import is running multi user then you'd have a DB server process, an app server process (if you're running thin client) and a client process, so it could theoretically use up to three processors. However in the case of an import the only work being done is the logic to read the import files and do business logic (fat client or app server process) and update the database (DB server process).

In any case I would expect an import to be IO bound on updating the database, so the speed of your IO subsystem will dictate the speed of the import - the CPU will be spending so much time waiting for the HDD that it probably won't even be using 100% of one CPU, let alone eight of them.

You get the benefit of multiple processors when you have multiple processes (users or server apps).
I have a catapult. Give me all the money or I will fling an enormous rock at your head.

JohnP
Posts: 73
Joined: Mon Sep 28, 2009 8:41 am
Location: Christchurch

Re: Jade 7 on HyperV - Only Using 1 CPU (Processor)

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.


Return to “General Discussion”

Who is online

Users browsing this forum: No registered users and 24 guests

cron