Agile Videos

Programming in the Extreme – Finding a New Largest Known Prime

About this video

More than just a mathematical curiosity, the quest to discover a new largest known prime requires the development of advanced computational techniques and the development of fault resilient software. These computational techniques benefit a wide variety of applications from seismic analysis to large scale fluid dynamics. The fault resilient methodologies benefit a wide range of application such as cryptography and deep space probe design.

The search for a new largest known prime has been ongoing for centuries. In 1952, primality testing entered the realm of digital computers. Computers have been used construct proofs of primality for these enormous primes. We have come a long way since the 1970s when the speaker, Landon Noll, as a high school student discovered a 6533-digit prime. Today’s largest known prime is almost 25 million digits long! Those seeking to break the record for the largest known prime have pushed the bounds of computing. The development of these extreme primality testing programs offers important lessons today for those who must write code which must work correctly, even in the face of hardware errors, from the very first implementation.

The search for the largest known prime requires writing and running code that must run to completion, without any errors, throughout the entire proof of primality! A significant quality effort is required to write 100% error-free code. The calculations required to test extremely large numbers for primality must be fault resilient. One must overcome compiler and assembler errors, errors introduced by the kernel, and hardware errors such as memory errors and CPU calculation errors. The world record goes neither to the fastest coder nor to the person with the fastest hardware but rather to the first result that is proven to be correct. The reason for such extreme programming is that the length of the calculations exceeds the mean time to error of the calculating system. The motivation for such extreme care lies in the fact that a slow and correct answer is infinitely preferable to a fast but incorrect answer.

Knowledge of advanced mathematics is NOT required for this talk.

More than just a mathematical curiosity, the quest to discover a new largest known prime requires the development of advanced computational techniques and the development of fault resilient software. These computational techniques benefit a wide variety of applications from seismic analysis to large scale fluid dynamics. The fault resilient methodologies benefit a wide range of application such as cryptography and deep space probe design.

The search for a new largest known prime has been ongoing for centuries. In 1952, primality testing entered the realm of digital computers. Computers have been used construct proofs of primality for these enormous primes. We have come a long way since the 1970s when the speaker, Landon Noll, as a high school student discovered a 6533-digit prime. Today’s largest known prime is almost 25 million digits long! Those seeking to break the record for the largest known prime have pushed the bounds of computing. The development of these extreme primality testing programs offers important lessons today for those who must write code which must work correctly, even in the face of hardware errors, from the very first implementation.

The search for the largest known prime requires writing and running code that must run to completion, without any errors, throughout the entire proof of primality! A significant quality effort is required to write 100% error-free code. The calculations required to test extremely large numbers for primality must be fault resilient. One must overcome compiler and assembler errors, errors introduced by the kernel, and hardware errors such as memory errors and CPU calculation errors. The world record goes neither to the fastest coder nor to the person with the fastest hardware but rather to the first result that is proven to be correct. The reason for such extreme programming is that the length of the calculations exceeds the mean time to error of the calculating system. The motivation for such extreme care lies in the fact that a slow and correct answer is infinitely preferable to a fast but incorrect answer.

Knowledge of advanced mathematics is NOT required for this talk.

Add to Bookmarks Remove Bookmark
Add to Bookmarks Remove from Bookmarks
Add to Bookmarks Remove from Bookmarks

Speaker(s) may be willing to present this session at local group meetings and other events.

Discover the many benefits of membership

Your membership enables Agile Alliance to offer a wealth of first-rate resources, present renowned international events, support global community groups, and more — all geared toward helping Agile practitioners reach their full potential and deliver innovative, Agile solutions.

Not yet a member? Sign up now