On 10/8/07, Charles Forsyth <[EMAIL PROTECTED]> wrote: > > It may be the case that we have cut our > > abstractions too high to take advantage of some architectural features > > present in modern microprocessors -- it may be that we want to allow > > I might draw a different conclusion. As with some peculiar memory subsystems, > botched device interfaces, or 80 core processors, I'd say that perhaps the > architectural features are there to meet the needs of hardware designers and > are > not actually designed to run the programs people are actually writing. > Perhaps > someone told them the software people wanted some of this stuff, but I've got > my doubts! >
I would be tempted to draw the same conclusion if other implementations didn't seem to do a better job. Granted, our existing points of comparison are highly specialized, but I still believe we can accommodate both specialized and generalized cases as well as find middle ground which may make the most sense for applications. Further, I wonder if some of our locking interfaces may be better built using some of the experiences of the past 20 years -- in particular for larger SMP. Also, I wonder if we have the right set of abstractions for our locking and queueing primitives for all architectures. In particular -- if massive multi-core architectures evolve to support IPC more natively, we'll want to take advantage of those primitives. Another examples is whether or not we could make better use of the reservation based schemes on modern PPC versus the TAS model. It just seems like given the architectural differences between the various platforms we support, we might be able to do better native versions of higher level primitives rather than just providing uniform support for lower level primitives and always basing the higher level primitives on that. > Perhaps someone told them the software people wanted > some of this stuff, but I've got my doubts! Well, we can put ourselves in the position of requesting that stuff. Designs for next generation Blue Genes and Power processors are still in flux. One of the downsides of focusing on the available generation is that we are losing out on the ability to try and affect the next generation(s). -eric