“The Mill” – It just might Work
It's really exciting, but here are a few worries I have about their ability to meet their performance claims:<p>1)  I don't see that they'll be able to save much power on their cache hierarchy relative to conventional machines.  Sure, backless memory will save them some traffic but on the other hand they won't e able to take advantage of the sorts of immense optimization resources that Intel has, so that fraction of chip power to performance isn't going away.<p>2) The bypass network on a conventional out of order chip takes up an amount of power similar to the execution units, and I expect that the Mill's belt will be roughly equivalent.<p>3) I'm worried on the software front.  The differences between how they and LLVM handle pointer is causing them trouble, and porting an OS to the Mill looks to be a pretty complicated business compared to most other architectures.  It's certainly not impossible, but it's still a big problem if they're worried about adoption.<p>All of which is to say, I think the 10x they're talking about is unrealistic.  The Mill is full of horribly clever ideas which I'm really excited about and I do think their approach seems workable and advantageous, but I'd expect 3x at most when they've had time to optimize.  The structures in a modern CPU that provide out of order execution and the top-level TLB are big and power hungry, but they're not 90% of power use.<p>If they're going to hit it big they'll probably start out in high-end embedded.  Anything where you have a RTOS running on a fast processor, and your set of software is small enough that porting it all isn't a big problem.<p>Also, the metadata isn't like a None in Python, it's like a Maybe in Haskell!  You can string them together and only throw an exception on side effects in a way that makes speculation (and vector operation) in this machine much nicer.<p>EDIT:  Whatever the result of the Mill itself, it contains a large number of astoundingly clever ideas some of which would be useful even without all the other ideas.  Like you could drop in Mill load semantics to most in-order processors and you'd have to do something different with how they interact with function calls but it would still be pretty useful.<p>EDIT2:  I may sound pessimistic above, but I would still totally give them money if I were a registered investor.  The outside view just says that new processors that try to change lots of things at once is pretty bad even if, on the inside view, they have a good story for how their going to overcome the challenges they'll face.