Saturday, December 1, 2018

The Danger of Going Up

Every year people climb up Mount Everest.  Generally the number keeps growing.  Not everybody makes it up.  Some people turn back.  Other people die on the mountain.  Generally around 1 in 100 of the people who attempt to climb it.  K2 is another mountain nearby.  For a little bit people thought it might be taller than Everest.  It isn't taller, but it is deadlier and about 1 in 10 of the people who try to climb it die.

Why do people climb dangerous mountains?  To test themselves.  For the sense of achievement.  And despite the danger nobody is seriously proposing that we stop people from attempting these summits.  If they want to risk their lives they can.  They know the risks.  We should stop people who don't know what they're doing but you'll never even get to base camp without serious dedication and preparation.

If we allow mountain climbers to face severe dangers for the sake of achieving something few others have why don't we allow this with astronauts?  We did once, it was almost amazing that none of the Mercury 7 were killed in accidents.  Gus Grissom nearly was and the Apollo 1 astronauts were killed in a fire during spaceflight tests.  When we were locking in competition with the Soviets these risks seemed bearable but they don't any more.

Certainly astronauts are as aware of the dangers present as any mountaineer contemplating K2.  NASA requires them to toe the safety first line to remain in the program but it's clear to everyone watching that if riskier missions were offered there would be no shortage of volunteers.

Perhaps the difference is that astronauts are doing something for us.  They're exploring the cosmos on our behalf in a way that people looking to climb some mountain aren't.  And that instills in us a sense of obligation to shield them from risk even if they would bear that risk willingly.

Tuesday, November 27, 2018

What do all those transistors do?

The CPU in your laptop or desktop has a lot of transistors in it.  The Core i7-6700HQ that I'm typing this on has 1.35 billion of the little guys.  Buck back in the day on of the earliest computers, ENIAC, had only 20 thousand vacuum tubes which more or less fufilled the same role as transistors do now.  So what do all those extra transistors we've added accomplish, if we were able to do useful mathematical operations with just 20,000?  Most of the increase in the speed at which we run computers, the clock rate, has come from replacing large and slow transistors with smaller and faster transistors after all.

Well first, what was ENIAC doing with it's transistors?  A single transistor isn't very useful.  If you're willing to use a resistor too you can perform an operation like making an output the logical and of one input and the inverse of a second input, call it AND(A, NOT(B)).  But that circuit is a very jury rigged thing which will be slow, unreliable, and fairly power hunger.  You can make much more solid and-ish circuit, NOT(AND(A,B)) or NAND, from a couple of transistors and a resistor if you don't mind being power hungry.  But given that Moore's Law has made transistors cheaper and cheaper relative to resistors anybody these days would use a four transistor NAND circuit which is faster and more power efficient than the resistor and transistor equivalent.

What if you want to add two numbers together?  Digital circuits output zeros and ones so first you have to decide how many base 2 digits you want to be able to represent since you need enough output wires for the largest number the machine can handle.  In a modern all-transistor design you'll be using 16 transistor for every bit of the addition.  On a 32 bit adder which many processors used around 2000 and which is roughly equivalent to what ENIAC used this'll be 512 total.

But you don't want a computer that only adds numbers. You want a wide variety of instructions you can execute, you want some way of choosing what instruction you execute next, and you want to interact with memory. At this point you're up to 10,000s of transistors. That will give you a CPU that can do all the things ENIAC could do.

Now lets say you don't want your entire operating system to crash when there is a bug in any program that you run. This involves more transistors. And you probably want to be able to start one multi-cycle instruction before that last one finishes (pipelining). This might get you up to executing one instruction every other clock cycle on average. That'll cost transistors as well. This will grow your chip up to 100,000s of transistors and will give you performance like the Intel 386 form the mid 80s.

But this will still seem very slow compared to the computers we use nowadays. You want to be able to execute more than one instruction at a time. Doing that isn't very hard but figuring out which instructions can be executed in parallel and still give you the right result is actually very hard and takes a lot of transistors to do well. This is what we call out of order execution like what the first Intel Pentium Pro had in the mid 90s and it will take about 10 million transistors in total.

But now the size of the pool of memory that we're working with is getting bigger and bigger. Most people these days have gigabytes of memory in their computers. The bigger the pool is the longer it takes to grab any arbitrary byte from it. So what we do is have a series of pools, a very fast 10kB one, a slightly slower 100kB, a big 10MB one on the chip, and then finally your 8GB of main memory. And we have the chip figure out what data to put where so that the most of the time when we go to look for some data it's in the nearby small pool and doesn't take very long to get and we're only waiting to hear back from main memory occasionally. This and growing the structures that look forward for more instruction to execute are how computers changed until the mid 2000s. Also going from 32 to 64 bits so that they could refer to more than 4GB of memory, the biggest number you can say in only 32 bits is 4294967296 so any memory location over that number couldn't be used by a 32 bit computer. This'll get us up to 100 million transistors.

And from the mid 2000s to the mid 2010s we've made the structures that figure out which instructions to execute next even bigger and more complicated letting us execute even more instructions at once. As we grow performance this way the number of transistors we needs grows as the square of the performance, on average. And we've added more cores on the same chips letting us grow performance linearly with transistors as long as software people can figure out ways to actually use all the cores. And now we're up to billions of transistors.

All this raises the question of whether you could just take a design 10,000 transistor cores you would have used back in the day and put 100 of those cores in a CPU instead of the 4 you'd normally buy.  To some extent you can do that.  If you want to have them all talk to each other and with a good amount of memory you have to increase their width to 64 bits but that doesn't take so very many transistors if the rest of the design stays simple.  And they'll be slower individually but each of the 10x transistor steps causes something like a doubling of performance rather than a 10x increase in performance.  The problem is that it's hard to write software in such a way the work can be broken up neatly into 100 different threads of execution.  And some operating systems, such as Windows, tend to problems dividing up work efficiently between more than 30 or so threads.

In theory you could have 2 large cores for cases where the software doesn't support a lot of division of work and another 30 tiny cores to handle cases where the work can be divided easily.  The operating system would have to be aware of this, though, and prefer running tasks on the fast cores first before less tasks trickle down to the slower cores.  Something of the sort has been done on mobile phones where you might have 2 fast cores and 4 slow cores.  But on your laptop you mostly see this sort of thing with a few large cores running your applications and a gaggle of small cores in the GPU doing the graphics processing.

Sunday, November 18, 2018

Book Review: Radical Abundance

Eric Drexler is the person who came up with the name "nanotechnology" and is probably the one most responsible for public awareness of the idea.  After a pretty long haitus he's published a new book and I thought I'd take a look but before I get to the new book I think I should provide some history.

Way back in 1986 Drexler published Engines of Creation.  In it he outlined a vision of a world remade by the ability to engineer chemicals the way we engineer widgets today, assembling them precisely using mechanical arms placing bits in position rather than waiting for the random thermal motion of molecules to bring parts into contact where they can stick.  In the book he envisioned tiny robots called assemblers constructed with atomic precision using tiny arms to assemble other devices - and also replicate themselves.  That ability to replicate could potentially be a big danger if an error in programming caused them to replicated without bound like a cancer.  The cells that make up our bodies are contained by having to have had a clear evolutionary path from point to point.  It took a billion years for mitochondria to evolve since that required multiple things adjusting in a cell at once.  There are quite plausibly ways to drastically increase the efficiency of self-replicating organisms that could be designed by engineers which evolution wouldn't find before the Sun consumes the Earth.  Specifically, you could have these nanobots made out of much stronger molecules and life could use and also, thanks to placing things deliberately rather than wait for random motion to put things into place, they could potentially replicate much more quickly.  So it's possible that, if you can make good enough self-replicating nanobots and they have a fault you might see them end up consuming Earth's biosphere and turning it into grey goo.

After this publication Drexler went off to do some doctorate work which he later published at Nanosystems in 1992.  Rather than conceptualizing molecular manufacturing in terms of tiny robots he wrote about it in terms of molecular factories and assembly lines.  There are a lot of advantages to this approach.  Encasing a molecule in a tube as some operation is done to it limits its range of thermal motion much more effectively than trying to hold it it at the end of an arm.  By having the structure of a conveyor line encode a sequence of operations you don't need a nano-scale general purpose computer which made up the bulk of the atoms in the back-of-the-envelope design for a nanobot in Engines of Creation.  And you don't have to worry about a factory replicating itself in the same way you do with a tiny robot.

And that brings us to Radical Abundance published in 2013.  The book is a policy book like Engines of Creation was but the engineering in it is very much all post Nanosystems; looking at construction in terms of assembly lines rather than craftsman nanobots.  There's also a large segment on the public perception of nanotechnology and how it has changed over time.  Because of excitement about nanotechnology in the late 90s and early 00s a lot of chemistry tried to re-brand itself as nanotechnology to absorb nanotechnology research dollars.  This would involve molecules smaller than 100nm created by normal thermal motion chemistry rather than through forcing molecules together with external guidance.

Additionally, a lot of the public thinks of nanotechnology in terms of tiny nanobots instead of in terms of factories made out of atomically precise parts.  This is, of course, because that's how Engines of Creation conceptualized it and because Engines is a much easier to read book than Nanosystems is.  I was expecting some sort of mea culpa from Drexler on the matter and maybe an explanation on what he'd gotten wrong in his first book.  But Radical Abundance never seems to let slip that the ideas Drexler now finds so annoying were spread by his younger self.  I think a section going into a bit of detail on why nanobots aren't workable would have been a useful addition to this book but Drexler just dismisses them here with eye rolling.

But because of these two ways in which the word "nanotechnology" no longer means what he intended it to back in '86 he is now promoting "Atomic Precision Manufacturing" or APM as a term for the technologies he's interested in.  I wish him good luck with that but I'm doubtful he'll succeed.

What seems more likely to succeed are attempts to build these "APM" capabilities, at least eventually.  Our science of the nanoscale is currently imperfect but engineering practice can let us proceed anyways.  It's very hard to look at a protien and figure out how it will fold when placed in water.  I currently have my desktop give some spare cycles to figuring out some medically important proteins.  But that doesn't mean we can't just design proteins to fold understandably if we're willing to be a bit less efficient than evolution is.  We don't understand how every molecular surface interacts but we can restrict ourselves to the surfaces we do understand.  We can't predict the exact strength of every structure but we can design in sufficient safety factors to cover our uncertainty.  There's a lot of scientific work being done pointing towards APM and Drexler gives a good high level over view of it.

I'm going to say that I don't have any firm idea of what sort of time scale progress on APM/nanotechnology will happen on.  But I think I'm persuaded that it will happen eventually.

And just because I saw it recently, here's A Capella Science's song about current research in nanobots.

Tuesday, October 23, 2018

The old anarchists of Iceland

A while ago I made a post on Anarchy in History, on how most traditional societies didn't have governments as we'd understand them as some group with a monopoly on the use of force.  But just because a country exists as an anarchy doesn't mean that the people in it are anarchists.  They just have their traditions and laws and accommodations and don't hold their opinions on government as an ideology.  In the same way most people who have lived under monarchies haven't considered the alternatives in a way that would make them monarchists, you mostly find those in places like the 19th century or ancient Greece where monarchies and republics lived side by side.

There is one society, though, that I think you could reasonably claim was actually anarchist.  That would be medieval Iceland.  Iceland was settled by mostly Norwegians around 900 AD.  This was around the time the famous Harald Fairhair was unifying Norway under a kingdom.  We know most of what we do about Icelandic history and the way viking societies saw themselves from the sagas preserved in Iceland telling the tails of what happened back in the olden days.  In them many of the settlers were portrayed as fleeing from Harald's imposition of centralized rule and taxes and such.

Once on Iceland they rejected Harald's centralization.  There were laws but they were derived from custom instead of being set by a person.  There were courts but there was no executive apparatus to enforce them with violence.  If the courts declared someone outlaw, or in other words free game, it was mostly up to the friends and family of whoever had been aggrieved to extract punishment.  Just the same as in most traditional societies.  But the settlers of Iceland knew that there were other ways of doing things and decided not to.

Now, there's good evidence that Harald wasn't actually ever a historical person.  But what matters here is that Icelandic self conception was that they were a free people who weren't oppressed by a king.

There's things to quibble with.  For instance slave owners had a monopoly on violence over their slaves.  But I still think it's fair to say that Iceland was the one and only anarchist society I'm aware of, while it lasted.

Tuesday, September 18, 2018

Fusion optimism

Fusion is famously the technology that's always 20 years in the future.  And because of that I hadn't really seriously considered it as a realistic solution to climate change, sustainable energy, etc.  But recently I've become more optimistic about the prospects of fusion so I thought maybe I'd explain why I've changed my views.

What is fusion?  Well, it's a process that releases energy by combining elements together.  Atoms tend to resist this, so they have to be smashed together very hard in order for it to work.  In a thermonuclear bomb the fusion is triggered by a standard fission bomb going off to provide the needed energy.  Atomic weapons are rather hard to contain, though, and impractical to use as part of a power plant.  So for fusion we'd need to heat up some hydrogen very hot and keep it all together rather than expanding and escaping as very, very hot things like to do.

In the Sun our star's gravity is enough to keep everything together.  That works very nicely but sadly masses as large as the Sun play together with power plants every worse than atomic explosions do.  But gravity is widely regarded as the weakest of the fundamental forces for good reason and if it takes a impractical amount of gravity to keep some hot hydrogen contained it only huge but doable amount of electromagnetism to do the same thing.

Because the super hot hydrogen you want to use for fusion is constantly knock electrons off it's no longer a gas but an electrically active plasma and you can use a magnetic field to pin it in place.  For the temperatures needed not the sort of magnetic field that will fit on your desk but more one the size of a house.  Still, a lot more practical than atomic explosions or Sun sized masses.

It would be much easier if a reactor could be made smaller so that they could be build and modified quickly and cheaply.  But you need the magnetic field strength combined with its size to be enough to keep the super hot particles in place.  To be practical you need superconductors to make the magnetic field and those stop working if the magnetic field gets too strong.  Hence, with the maximum magnetic field our materials can sustain there's a minimum size.  Which has been expensively large.

Back in the mid 1970s the people running our fusion research program looked at the problems involved and figured that they'd need a lot of funding to iterate on building huge building sized reactors until all the bugs got worked out.  The came up with a set of set of plans for how quickly they thought they could get fusion working reliably depending on how big their budget for building trial house sized magnetic reactors was.  Here it is.

As you can see the level of funding eventually selected corresponds with enough money to pay a few scientists to think about the problem but with no giant house-sized magnets built to see if their ideas work, somewhat below what people in 1976 thought would never successfully create fusion.

Put in this perspective the people saying that we could have fusion in 20 years way back in the 1970s seem a lot more reasonable.  It wasn't that we would have fusion but that we could with a large enough investment.  An investment that never materialized.

Well, now in the 2000s the Europeans have gotten around to building a house sized magnet facility called ITER that, if funding keeps being poured in, should eventually get the kinks worked out.

But something really cool had happened since the 1970s.  This technology called Magnetic Resonance Imaging, MRI, has taken off the field of medicine letting us look into human bodies for diseases.  This is a huge business and a very practical and immediate one.  MRI machines want superconducting magnets handling intense fields and so lots of people have had very practical and immediate incentives to figure out how to create superconductors that can handle higher field strengths.  And so, they have.

A group at MIT came up with something they call the ARC reactor (groan) that uses a sort of superconductor that can handle fields almost twice strong as the superconductor used at ITER.  "Almost twice" might not sound like much but apparently the energy you can get out of a fusion reactor scales as the fourth power of the field strength and so there was scope to make the reactor as powerful as ITER in a tenth the volume.  And now they've formed a commercial company around this.

Just building the reactors isn't the end of the story.  There's a lot of engineering effort that has to go into dealing with issues like plasma instability, having the reactor materials deal with neutron damage, and so on.  But having reactors lets engineers and scientists try out solutions.  It's possible that one of these challenges might be insurmountable.  But there's no reason to believe that and if they aren't then we should expect to see practical fusion power, finally and actually, within 20 years. 

Tuesday, July 3, 2018

Book Review: The White Man's Burder

I recently finished reading William Easterly's The White Man's Burden: Why the West's Efforts to Aid the Rest Have Done So Much Ill and So Little Good.  Reading some reviews online before starting it I was expecting it to be much more of a screed than it actually was.  Easterly criticizes the efforts of the World Bank and International Monetary Fund to further the development of poorer countries but his nuanced criticisms are in sharp contrast to most of their critics.  There's a lot of discussion about all the complicated moving parts that go into a modern commercial society, all the problems with both causing trust and causing trust to be justified between commercial actors and how people have found ad hoc solutions in the absence of regular institutions, and how it's very hard to know in advance which interventions will actually make things better rather than just funnel money into someone's pocket.  He provides some fairly compelling statistics showing that development aid of this type doesn't help on average and explains a bit why there can be occasional negative consequences to match the occasional positive consequences.  I think in my earlier review of Dancing in the Glory of Monsters I gave an illustration of the damage that ill-considered aid can cause.

He talks a bit about programs that actually help.  Initiatives lead by residents of the countries being aided get a lot of praise.  But he also talks about accountability.  Having one organization do one thing and having their impact on that thing measured.  So if this had been written later I think he might have specifically praised Effective Altruism institutions like Givewell.

There's also a chapter on peacekeeping, which I found less convincing.  Steven Pinker had some pretty convincing statistical arguments in Better Angels of Our Nature that blue helmeted peacekeepers are a substantial net benefit.  Easterly, though, uses anecdotes like what happened in Somalia to argue that peacekeepers are useless, in sharp contrast to his statistics and scorning of anecdote in the aid chapters.

Overall I'd recommend this book, particularly for the dives into the nitty-gritty details of institutions in the third world.

Saturday, June 9, 2018

Waymo is getting serious

First of all, in case you aren't following this sort of thing, the Uber crash I mentioned in my last post on self driving cars is actually a lot worse than it looked at first.  According to the NTSB report the victim of the crash had been detected but
emergency braking maneuvers are not enabled while the vehicle is under computer control, to reduce the potential for erratic vehicle behavior. The vehicle operator is relied on to intervene and take action. The system is not designed to alert the operator.
 which makes me wonder if this rises to the level of criminal negligence.  Certainly there are currently no localities that are allowing Uber to test on their roads which might be the end of Uber's program.

Tesla has also been in the news with some crashes involving its cars running on autopilot.  But autopilot of the sort you normally have in a boat or plane or one of Tesla's cars isn't full self driving.  The pilot or driver is supposed to remain on alert and react if the vehicle starts to do something unsafe.  In a plane or boat normally this involves noticing and reacting in the space of a couple of minute or so.  But in a car you might need to react in seconds which makes this whole approach much more dangerous.

The NHTSA defines a number of levels of autonomy.

Levels 0 and 1 aren't a problem because the user is always going to have to be paying attention.  Well, no more of a problem than we're already dealing with.  Levels 4 or 5 are fine because the user doesn't need to pay attention.  The car may get stuck but it can be trusted to pull over to the side of the road while the driver prepares to drive.  But levels 2 and 3 where the driver has to remain alert while not doing anything which I don't think is very realistic.

In contrast to all of this, it looks like Google's self driving car spinoff Waymo is doing everything right.  They're going straight for level 4 or 5.  They're testing carefully and not taking shortcuts like Uber.  And they've been working on the problem since 2009 having just accumulated 7 million miles of driving which is pretty impressive.  Going by some stats off Wikipedia a fatal accident happens around once every 2 million miles and Google hasn't had one yet.  There have been some accidents, even serious ones like this one recently, but that was a vehicle swerving into an oncoming lane and hitting the Waymo car.  In every incident I've heard of the Waymo car was not at fault so I think we can say at this point that Waymo cars are safer than human drivers, on average.

But now Waymo has just ordered 62,000 minivans from Crysler.  They'd been giving rides for free to people around Phoenix but only with a human driver monitoring things.  But with tens of thousands of cars they're going to be looking to be going fully autonomous.  It looks like fully autonomous self driving cars are about to actually be a practical thing, at least in Phoenix or whatever city those 60,000 cars will be serving.

The Danger of Going Up

Every year people climb up Mount Everest.  Generally the number keeps growing.  Not everybody makes it up.  Some people turn back.  Other pe...