Feb 22, 2010 11:15 PM
How does an SMP distributes a query to SPUs
-
Like (0)
Hi All,
I have a doubt.
When a query is fired. Does the query snippet goes to all the SPUs or it goes to only the necessary SPUs. If it goes to only the necessary SPUs, how will the SMP know which all SPUs to hit
The Netezza machine is an AMPP (asymmetric MPP) not an SMP, although it has an SMP host running Linux
When you submit a query, the query is sent to all SPUs and executed on all SPUs. Any SPU with data that answers the query will return that data.
But each query activates all SPUs, and this is why it is important to remember that Netezza is not a transactional machine. One-record inserts and one-record queries will still activate all SPUs, even if only one will ultimately do work. So you can insert one record in one second, or a million records in one second. It's a matter of how you will use the second.
Thanks a ton David, for the quick answer
Hi David,
I have one more doubt related to this
Being said that any SPU with data that answers the query will return that data, how long will the host wait for the SPUs to return data. If one particular SPU is not having any data to return, will it send some token to indicate that it is not having any data to return
Correct, all SPU's will respond, the ones with no data will respond as such (obviously very quickly), the ones with data will respond with their results, all of this happens in parallel and data starts streaming through the HOST to the calling application as soon as possible.

