By: rwessel (robertwessel.delete@this.yahoo.com), September 28, 2007 1:00 pm
Room: Moderated Discussions
Jonathan Kang (johnbk@gmail.com) on 9/28/07 wrote:
---------------------------
>The problem is knowing which links to shut down. The non-deterministic nature
>of cache-coherency means that you will almost always get times when a link has to
>go from idle (one link on) to active (all links on) in order to transmit data.
>If it doesn't, a CPU stalls for hundreds or thousands of its own clock cycles waiting.
There's no reason you can't transmit data over the single link, just because it transmitted more or less in parallel when all the links are up. Yes it will be a factor slower, but certainly less than the assumed hundreds of cycles. Obviously if you suddenly need to flush the whole cache, you'll be eating that startup time, but for a few lines here and there, you'll get a few extra cycles each, not hundreds.
---------------------------
>The problem is knowing which links to shut down. The non-deterministic nature
>of cache-coherency means that you will almost always get times when a link has to
>go from idle (one link on) to active (all links on) in order to transmit data.
>If it doesn't, a CPU stalls for hundreds or thousands of its own clock cycles waiting.
There's no reason you can't transmit data over the single link, just because it transmitted more or less in parallel when all the links are up. Yes it will be a factor slower, but certainly less than the assumed hundreds of cycles. Obviously if you suddenly need to flush the whole cache, you'll be eating that startup time, but for a few lines here and there, you'll get a few extra cycles each, not hundreds.