From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,LOTS_OF_MONEY autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,885dab3998d28a4 X-Google-Attributes: gid103376,public From: Ken Garlington Subject: Re: Ariane 5 failure Date: 1996/10/02 Message-ID: <3252B46C.5E9D@lmtas.lmco.com> X-Deja-AN: 186802299 references: <96100112290401@psavax.pwfl.com> <32531A6F.6EDB@dynamite.com.au> to: aebrain@dynamite.com.au content-type: text/plain; charset=us-ascii organization: Lockheed Martin Tactical Aircraft Systems mime-version: 1.0 newsgroups: comp.lang.ada x-mailer: Mozilla 2.02 (Macintosh; I; 68K) Date: 1996-10-02T00:00:00+00:00 List-Id: Alan Brain wrote: > > Marin David Condic, 407.796.8997, M/S 731-93 wrote: > > > > Ken Garlington writes: > > > >I really need to change jobs. It sounds so much simpler to build > > >software for ground-based PCs, where you don't have to worry about the > > >weight, power requirements, heat dissipation, physical size, > > >vulnerability to EMI/radiation/salt fog/temperature/etc. of your system. > > > > > The particular system I was talking about was for a Submarine. Very > tight > constraints indeed, on power (it was a diesel sub), physical size (had > to > fit in a torpedo hatch), heat dissipation (a bit), vulnerability to 100% > humidity, salt, chlorine etc etc. Been there, Done that, Got the > T-shirt. So what did you do when you needed to build a system that was bigger than the torpedo hatch? Re-design the submarine? You have physical limits that you just can't exceed. On a rocket, or an airplane, you have even stricter limits. Oh for the luxury of a diesel generator! We have to be able to operate on basic battery power (and we share that bus with emergency lighting, etc.) > I'm a Software Engineer who works mainly in Systems. Or maybe a Systems > Engineer with a hardware bias. Regardless, in the initial Systems > Engineering > phase, when one gets all the HWCIs and CSCIs defined, it is only good > professional practice to build in plenty of slack. If the requirement is > to fit > in a 21" hatch, you DON'T design something that's 20.99999" wide. If you > can, > make it 16", 18 at max. It'll probably grow. Exactly. You build a system that has slack. Say, 15% slack. Which is exactly why the INU design team didn't want to add checks unless they had to. Because they were starting to eat into that slack. > Similarly, if you require a > minimum > of 25 MFlops, make sure there's a growth path to at least 100. It may > well be less > expensive and less risky to build a chip factory to make a faster CPU > than to > lose a rocket, or a sub due to software failure that could have been > prevented. What if your brand new CPU requires more power than your diesel generator can generate? What if your brand new CPU requires a technology that doesn't let you meet your heat dissipation? Doesn't sound like you had to make a lot of tradeoffs in your system. Unfortunately, airborne systems, particular those that have to operate in lower-power, zero-cooling situations (amazing how hot the air gets around Mach 1!), don't have such luxuries. > Usually such ridiculously extreme measures are not neccessary. The > Hardware guys > bitch about the cost-per-CPU going through the roof. Heck, it could cost > $10 million. > But if it saves 2 years of Software effort, that's a net saving of $90 > million. What does maintenance costs have to do with this discussion? > In this case, "theoretical expectations" for a really tight 5 MuSec loop > should be less than 1 MuSec. Yes, I'm dreaming. OK, 3 MuSec, that's my > final offer. For the vast majority of cases, if your engineering is > closer to > the edge than that, it'll cost big bucks to fix the over-runs you always > get. I've never had a project yet where we didn't routinely cut it that fine, and we've yet to spend the big bucks. If you're used to developing systems with those kind of constraints, you know how to make those decisions. Occasionally, you make the wrong decision, as the Ariane designers discovered. Welcome to engineering. > Typical example: I had a big bun-fight with project management about a > hefty > data transfer rate required for a broadband sonar. They wanted to > hand-code > the lot in assembler, as the requirements were really, really tight. No > time > for any of this range-check crap, the data was always good. > I eventually threw enough of a professional tantrum to wear down even a > group > of German Herr Professor Doktors, and we did it in Ada-83. If only as a > first > pass, to see what the rate really would be. > The spec called for 160 MB/Sec. First attempt was 192 MB/Sec, and after > some optimisation, we got over 250. After the hardware flaws were fixed > (the ones > the "un-neccessary" range-bound checking detected ) this was above 300. And, if you had only got 20MB per second after all that, you would have done...? Certainly, if you just throw out range checking without knowing its cost, you're an idiot. However, no one has shown that the Ariane team did this. I guarantee you (and am willing to post object code to prove it) that range checking is not always zero cost, and in the right circumstances can cause you to bust your budget. > Note also > that by paying big $ for more capable hardware than strictly neccessary, > you > can save bigger $ on the project. Unfortunately, cost is not the only controlling variable. Interesting that a $100K difference in per-unit cost in your systems is negligible. No wonder people think military systems are too expensive! -- LMTAS - "Our Brand Means Quality" For more info, see http://www.lmtas.com or http://www.lmco.com