* Posts by Mechanic

2 publicly visible posts • joined 16 Jun 2011

Record-breaking laser pulse boosts fusion power hopes


Re: Getting the energy out

Actually this is solved at the same time as the tritium breeding problem. The fusion reaction currently envisaged is deutrium-tritium fusion. Tritium is not a naturally occurring element so it has to be bred by neutron bombardment of lithium. This reaction has a reasonably high cross section so it can absorb a fair number of neutrons and produces tritium and helium which then stop fairly rapidly in solid materials depositing all the original neutron energy. The net result is that the lithium blanket heats as it generates the needed tritium, and the heat can be recovered in fairly conventional ways.

Designing these blanket systems is a fairly big engineering problem, but it's almost certainly solvable once we've got a self-sustaining fusion reaction to go in the middle.

Microsoft juices C++ for massively parallel computing


The problem with compiler level parallelism ...

is always speed. I come from a background in high performance scientific computing, and I'm just about old enough to remember HPF and how poor it could often be when running on distributed memory machines. We nowadays use MPI which requires significantly more programmer effort then either HPF or the more modern openMP but is almost always significantly more scalable. For our main fluid code we could only scale a given problem realistically to about 32 processors in HPF, about 64 in openMP and to the entire machine (600 processors) using MPI. The same code has more recently been scaled to 10s of thousands of processors in it's MPI format. Even the best compilers are no substitute for good human design, and if you're talking about hundreds of thousands of cores then I just don't see any scheme like openMP or a rejuvenated HPF ever being useful unless your workload is embarrassingly parallel.

I don't really know that much about non-scientific parallel workloads, but for the type of things that I work with better algorithm design to improve data locality will always help more than more sophisticated compiler design.