Hi Marc,

A single query runs on single thread (plus I/O in separate thread) in Virtuoso.
Without waiting for disk, it's faster to run it in a single thread than
to parallelize and get synchronization overheads (and bug-prone
complications). With waiting for disk, CPU times does not matter -- idle
CPU waits for disk reads.

The key requirement to an RDBMS database is its ability to serve hundreds clients in parallel. Having 4 or more queries from 4 or more clients, all cores of the box will have something to run.

When we complete the Virtuoso cluster version you will be able to parallelize a query
between boxes,  in that case many boxes may simultaneously run many
threads per query; but any given box of the cluster will run no more
than one thread per query at time. The cluster wins in speed because
the total RAM is bigger, not because multi-threading per query is so useful.

Best Regards
Hugh Williams
OpenLink Software

On 10 Jun 2008, at 21:48, Marc-Alexandre Nolin wrote:

Hello,

How can I compile or fine tune a Virtuoso installation to take
advantage of all the core I have in the server. I currently have a 4
core server and when I query it, in the top utility on Linux, only 1
core is having a load on him. I'm about to try Virtuoso on a 16 core
and a 32 core in the next months, but if its only about to use one of
them, I won't gain much with the added core. Do you have any
suggestion or a link to a web page about optimizing Virtuoso for
multiple core?

Thanks,

Marc-Alexandre

---------------------------------------------------------------------- ---
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Virtuoso-users mailing list
Virtuoso-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtuoso-users


Reply via email to