Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Design

Is Lee Harvey Oswald Writing NASA's Software?



How Long Does It Take?

Assuming hand calculations using the same 16-decimal digit precision available in the IEEE-754 double-precision floating-point numbers used in most scientific calculations, it takes me more than a minute to write down two numbers, 16 digits long, and add them together. Since I don't practice that operation often, I will estimate that I could eventually do the same function in approximately 20 seconds. I estimate multiplication (16-digit precision) at a practical rate of five minutes, and division of an eventual six minutes. For an average hand-calculation time, I assume an even mix of operations for an average of approximately 225 seconds per operation or 0.004... FLOPS. For an average lifetime, I assume 60 years of work (starting workers at age 15 and retiring them at age 75) and 10 hours a day for six days a week (they got to choose the day to rest), or 11,262,857 seconds of work per year (I used the fractional part of the extra 0.14... week per year) or 675,771,428 work seconds in a lifetime. Converting that to floating-point operations yields 3,003,428 16-decimal digit operations in the average lifetime. This is the number of calculations carried out by many desk-top computer in a second.

Earlier numerical models were designed to solve problems involving simplified idealized, linear, or mildly nonlinear systems. These systems were not expected to reflect reality. Modern, large-scale models attempt to realistically simulate complicated real-world situations. One large-scale software project presently under development is a virtual wind tunnel. The virtual wind tunnel would dramatically limit the amount of prototype construction and testing necessary to design new aircraft and spacecraft.

Unfortunately, many unanswered questions remain in the realm of fluid dynamics, including the fundamentals of turbulence. More FLOPS will not help solve these problems, and it is not clear how accurate the virtual wind tunnel will be. Hardware companies are even touting faster computers as the answer to drug testing -- proposing that the virtual drug could be tested in simulated organisms. The fact that we haven't had any success in simulating the simplest of living organisms doesn't keep the computer manufacturers from suggesting we can test drugs for human consumption with more FLOPS. It's easy to see how we can absorb more power. It's less clear how that power will change the limitation of our fundamental knowledge.

Now, let's look at the demands of a large-scale problem. A given weather simulation that requires four hours on a 10^12 FLOPS system will perform 1.44X10^17 floating-point operations. Using the hand rate we calculated or 0.004... FLOPS, it would take 3.24X10^19 seconds to perform that calculation by hand. How long is 3.24X10^19 seconds? It's 9X10^15 hours, 3.75x10^14 days, or 1.027X10^12 years. This is considerably longer than the 4.5X10^9 year estimate of the age of the earth. Even if every human (4X10^9 people) on the planet were employed on this problem, it would still take more than 700 work years to complete. The next question is accuracy. In these problems, how many human errors would be made? Probably at least trillions of significant errors, making these large-scale problems not even theoretically possible to solve by hand.



Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.