B-2 Stealth Bomber Gets Upgrade, Joins the '90s
WmHBlair writes "Flightglobal has a report about the upgrades being made to the B-2A Stealth Bomber, which include Pentium class processors, JOVIAL code rewritten in C, and fibre channel hard drives. The Register, as usual, makes light of this event with a tongue-in-cheek news item noting that the upgrade drags Stealth Bomber IT systems into the '90s."
but microprocessors that are designed to handle a nuclear EMP aren't blazing fast. But they are definitely not 90s technology.
I think the B-2 bomber will be fine unless its pilots require the extra computing power to play "punch the monkey" or the South Park Lemmiwinks game.
Can't wait to see it fire up and have the screen print out: It is pitch black. You are likely to be eaten by a grue.
89.999997612?
No folly is more costly than the folly of intolerant idealism. - Winston Churchill
While the headline might be good for a light giggle, there's a good reason why it's 10 years behind. Airplane avionics systems must be free of bugs, or people die. That especially goes for a plane that uses a flying wing design (which are historically hard to stabilize without computer control), and potentially carries nuclear warheads.
Not a typewriter
As was recently discussed about the current Mars lander mission, it's really just fine if something built to do a very specific job doesn't have support for this week's gamer-friendly video board, a hacked Wii controller, bluetooth, and a dozen USB ports. Hardened, reliable hardware and bug-free seems better than, say, some of the misadventures that some IT-intensive commercial aircraft have suffered over the last few years. It's OK to be one notch less cool when you're flying around with large weapons.
Don't disappoint your bird dog. Go to the range.
Having worked for a defense contractor (non-weapons, mind you) for 6 years, it doesn't surprise me at all that the technology for such things are at least 10 years behind state of the art. It takes so long to fully satisfy the requirements of a military contract, then it takes at least as long to fix all the little bugs that inevitably pop up after delivery; then there's the military amending their requirements halfway through the project, sometimes resulting in having to go almost all the way back to square one in the design cycle. Oh, and don't even get me started on requirements that belong in cartoons and comic books, not the real world of engineering.
This is an interesting approach to security, use machines so old that no one can crack. Maybe that's why the Russians still use vacuum tubes in MiGs.
Naturally the stealth bomber's software has to be rewritten for the new platform, in particular the operational flight program (OFP) - the app which lets the ungainly plane fly, rather than lurching out of control as it would without constant computer assistance. (A recent B-2 crash shortly after takeoff at the Pacific island of Guam was caused by a false sensor data feed into the OFP, resulting from an airspeed measuring device being affected by tropical moisture. The duff data fooled the OFP app into wrecking the $2bn bomber - while the pilots were unable to do anything to stop it.)
Brilliant!
The Mothership
imagine that in the future the enemy (whoever thinks they are the enemy and the others, who are not even aware that they maybe the enemy) will never know when they will get their shit kicked out of them due to a possible Pentium FDIV error or a buffer overflow of some sort. Let's just hope that any security bugs will be dealt with promptly, cause if they can hack into a computer because of some CPU errors by using java or javascript through a browser, the will certainly be looking for a way to control some more exciting equipment.
You can't handle the truth.
I'm not sure that replacing JOVIAL code with C code is actually progress. If JOVIAL is anything like ALGOL 60, it's arguably a better programming language than C.
What this article seems to overlook is that they DONT WANT new computers and new operating systems, new languages. They want older, stable, rpedictable, thoroughly vetted technologies.
They dont need a super computer to fly these, but what they do need os to know every quirk, every instability, and already have dealt with it so that NOTHING even remotely suprises them.
Thats why moving to C is a big step.
it may seem silly to us because we run all sorts of new stuff on our computers designed to run many things we may never use; These are VERY purpose built, need very little flexibility outside its designated purpose, and doesnt need to be overdone.
I may buy a PC system anticipating programs down the road that might be expanded, but for an aircraft, missiles, sattelites, even the space shuttle which runs EVRY old code, they just need it to do exactly what it needs too, and if that works fine with 256k, then thats what it will get, as long as its stable as all hell.
There's nothing Intelligent about Intelligent Design.
That just means their development & testing cycle runs about 15 years. That doesn't seem terribly unreasonable given that reliability is paramount for a billion dollar piece of equipment.
I work on brand new industrial controls that are still using Z80 processors.
"Prefiero morir de pie que vivir siempre arrodillado!"
Pentium 4 chips and Athlons just get shot out of the sky by heat seeking missiles.
With one MEGABYTE of ferris-core memory. Five redundant computers. The shuttle prgram was late getting started and they didnt want to changes the software.
"And they made fun of vacuum tube computers in MIGs."
It's "Pentium class", not "Pentium". I would bet my money on this comptuer being PowerPC based, probably PowerPC 74xx based, also known as "G4" of Macintosh fame. There are _a_lot_ of PowerPC based avionics, and cutting edge airplanes like Eurofighter, Gripen and F-22 have multiple PowerPC based systems doing all kinds of stuff. When doing embedded electronics for the military you are not going far pitching Intel stuff. You are going to use hardware from manufacturers that can guarantee parts that'll keep being manufactured over many years and are harndened to endure rapid heat, cold, moist and preassure fluctuations. Intel are doing commodity products for low end table environments. Look to manufacturers like Freescale for the stable and durable stuff.
- Henrik
- when the Shadows descend -
They should have written all the flight control in Ruby & made it an AJAX web application that runs on Firefox on an iPhone. That would make it zillions of times faster than that old C code & Pentiums, right?
Those of you who have read some about Intel's coming Larrabee GPU know that it consists of many Pentium cores. The thing is, these cores aren't as old as one may think.
When the Pentium core became obsolete, Intel gave the technology to the U.S. military, which in turn developed it further and added bug fixes. So it's not really technology from the 90's only, because it has been in development for quite some time.
Additionally, old technology has the advantage of being used so much that virtually everything is known about the chip, including bugs. Therefore, it is much safer to work with such a chip rather than going for the latest Core 2 Duo.
Full Tilt
How are you expecting to Martians to communicate with it, if it doesn't have Bluetooth support, eh? Hadn't thought of that, had you?
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
Are you sure? Software tends to be written by developers, and its the quality of them, their ability to work to quality standards and basically take their time to get it done right that matters. All that C code you've seen crash - it'll be because someone hacked it together, no-one tested it thoroughly enough, and no-one took the time to do it right. C is even easy to code reliably if you impose some restrictions on yourself (or use some libraries/routines that you can't easily take shortcuts with - eg if you can pass a pointer to a routine, you're going to pass a bad one one day, do some wrong arithmentic on it, etc. If you pass a strict fixed-size buffer, then you're much less likely to get an error. Just a simple example).
The point is you can write bad software in any language, the new C# stuff at work crashes all over the place and is slow. The old C code from 1984 is still working fine. Its not these languages that had anything to do with their relative quality.
eg. Spacecraft are written in C, and they've worked better than anyone expected:
The only reason I brought that up is because one of my editors said, Oh look, they have Java on this thing.
Oh, Java. Well, we have Java in the ground system not onboard the spacecraft.
Right. That's what it's starting to sound like.
That's right. Yeah. The spacecraft software is entirely in C.
C? Really? That surprises me a little bit.
Yes. It's entirely in C.
I thought Lockheed Martin was a big ADA shop for this sort of thing.
ADA is used largely in military applications, but JPL at any rate has moved away from ADA. Cassini, I believe, would be the last JPL mission that used ADA. And that was largely due to the success of the Mars Pathfinder in the mid-nineties. And as I said, these missions are to a large extent all derived from Mars Pathfinder.
After that successful mission, you say, Hey, we could do it in C now. That's not as scary as everybody thought?
Yeah. Right.
You wish to drop the bomb: Cancel or Allow?
Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
Well if it's running on an iphone, at least it'll know which way up it is !
Anyone have an over/under on how many Pentium FPU jokes there will be?
Exactly 24.9999998999997...
:-P
Sorry, but you walked into that one
"Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
Frankly, the actual language you use on a project is almost (not quite, but almost) an afterthought compared to the other factors of toolsets and talent pool.
"Prepare for the worst - hope for the best."
"The Stealth Bomber's mission is to deliver nuke bombs inside Soviet territory. It's not really that good at anything else. Though it does get used for other missions, since the US needs to justify spending $2.2 BILLION on each one."
It's quite good at dropping large bombloads on places, other than Soviet Union, that are defended by SAMs and radar-guided AAA, and avoid getting shot down.
No other aircraft in the world can do this. F-117 can do the "avoid getting shot down" part, but not the large bombload part.
The quote from Patton was also in a film: Patton (1970)
"Nobody ever won a war by dying for his country. He won it by making the other poor dumb bastard die for his country." -- General George S. Patton (George C. Scott)
As the article mentions, if there is a malfunction of the B2 Spirit's computer system (either in sensors or the system itself) the pilots must eject or be killed. There was a video, not available any more, explaining that the computer is the reason why the airplane doesn't spin out of control and crash. If it goes offline it takes just a few seconds before you're toast. This apparently happened once or twice during early development while they worked out the kinks in the software (sorry, can't find any current proof of this). The only B2 that has crashed (that we know of) crashed due to bad sensor input to the computer (if that is really the truth):
http://en.wikipedia.org/wiki/B-2_Spirit#Incidents_and_accidents
When you've got a billion dollars flying around at very high speeds, with some nuclear weapons on-board, and a couple of highly-trained pilots... you need to be 100% sure the system doesn't go off-line resulting in a near instant vehicle loss. It is also well known that spacecraft and aircraft use technologies that are actually very advanced, but might appear on the surface as old. The amount of materials research that goes in to these things costs in the multitudes of billions. It is very important the H-bombs drop where they are supposed to, and when. It is very scary, and the only way to test all the moving parts together is to start a nuclear war. As the SysAdmins say: "Not if, but when."
Here are some more details (may be a bit redundant):
http://www.spacewar.com/reports/Preliminary_Design_Review_Of_New_B_2_Bomber_Computer_Architecture_Completed_999.html
The military isn't "behind" in development - the rest of us are behind in testing and quality.
Yeah, you laugh that they use CPUs an order of magnitude slower than your notebook. But they can't afford a BSOD, a floating-point error or any of the other nonsense that you put up with every day. Their processors might be slower, but I wouldn't bet that - taking all things into account - their total productivity is.
Software quality on the "bleeding edge", where most of us live, is abysmal, and that's putting it very nicely. Regular users are beta-testers, and that's if they're lucky. There is software being sold today that shouldn't qualify as an alpha version. When's the last time you bought a game, just for an extreme example, that did not already have a patch available before the box was on sale the first day?
That's nonsense you can't afford in a billion-dollar plane with nuclear weapons on board.
Assorted stuff I do sometimes: Lemuria.org
I worked on a Navy jet upgrade about 10 years ago. It was a project to replace an antiquated (read that as "wire-wrap technology") autopilot computer with a brand-new, spiffy, fully digital autopilot computer. Of course, just like the B-2, it had to be a form/fit replacement.
I was shocked when, at the first design review, the contractor said they would be using an 80286 as the CPU. Remember, this is 1995. The 80286 was introduced in 1984. By 1995, the Pentium was the standard. So of course I asked "Why use such an older processor, when a newer one would be much much faster?"
Their answer was essentially one word.
HEAT.
The 286 had perfectly adequate processing power to run the fairly simple algorithms needed for autopilot and related functions, including all the error detection and fault logging, as well as the required 2x of government-mandated growth allowance (you MUST use less than 50% of clock times in your design). Using anything more high-powered would generate more heat (which must be dissipated somewhere in the closed environment), and use more current. On a 1960's era airplane, with Kapton wiring and its risk of insulation fires, and its limited power generation ability, you don't toss in higher heat and power requirements without VERY good reasons.
The result turned out to be perfectly adequate, and a vast improvement over the original design.
Let me toss out another interesting statistic. From what I remember from a recent brief, Boeing is right now delivering upgrades to its commercial airline fleet autopilot/navigation computers with 32Mb of data storage installed for the navigation database. Just 32Mb. That's what you're sitting behind in every Southwest or United or American flight you enjoy. With memory so cheap, why not put more in? Same logic, same ideas: for commericial and military programs, you don't overbuild a device just because you can. You'd better have a REALLY good reason to make a change.
We geeks tend to forget that overclocking and water-cooling and 8Gb RAM and 2-TB hard drives are thousands of times overkill for very many purposes.
--Brandon / Split Infinity Music