Interesting anecdotes about prime numbers search

Distributed computing and sbc

I started this managing activity 23 years ago, and collected a number of anecdotes related to distributed computing.


The first question people ask about our searches: “Why are you doing it? What is the rationale behind the search of a new titanic prime or a factor if a gigantic number? Is this wasting of time, resources, energy worth it?”

The answers may be quite different, and still all worth being heard. On the technical side, we have to remember that financial and economic transactions are based on a criterion of authenticity, authoring and non repudiation protocols; such protocols are all rooted in cryptography and complexity algorithms, and the algorithms are studied by Number Theory, the cornerstone of our mathematical distributed search.

Another very good answer involves the example of the mountaineer: why should a man risk his life trying to climb a very high mountain? Sure, because “it’s there, and I love challenges!”. We know that prime numbers hide among the Naturals, but still don’t know how they are distributed: the higher the number tested, the higher the difficulty, the higher the challenge. And the emotional reward when a new prime is found grows as well with the difficulty.

A third answer is just “because big primes are beautiful”. People love to collect beautiful objects like jewels, watches, cars. Mathematicians, love to “collect”, or discover, prime numbers for the same reason: being only divisible by one ant themselves, prime numbers appear less frequently as the tested number grows, but still Euclid, in 300 B.C. showed that “there are infinitely many primes”: that apparent paradox is what challenges the researcher and pushes his curiosity.

Finally, the search brings towards a burst of both hardware and software technology: in fact, the actual multi-threading and multicore technologies is literally pushed to the limit with highly optimized algorithms. Consider that the infamous Pentium FDIV bug (here is my analysis in Italian language), a hardware glitch on the Pentium processor that compelled Intel to retire millions of processors from the market around the world, was originally discovered by Prof Thomas R. Nicely of Lynchburg College (Virginia, USA) while searching for sequence of prime numbers.

It is worth adding one consideration about technology: while most people think that math research can only be done using very big irons, clusters with hundreds or thousands of CPUs, the truth is that with distributed computing literally every “bit” of work helps. This is why people like me decided to use odd hardware for research.

Computational research and GPUs

Everybody knows what a graphic card is: it is a piece of hardware devoted to display colorful pixels around the screen of a computer monitor. When you ask “What does it take to display a pixel?” the answer is “not much: a small processor, shared access to a buffer of memory locations (the map of the screen pixels) and some simple applications that execute easy operations to change the status of each pixel”. We then parallelize the pixel handling routines dedicating thousands of small processors to thousands of small pixels: that’s how a modern GPU (Graphic Processing Unit) works.

The paradigm of us researchers is “if it has a processor, it may come handy for the cause”. That’s why one day we collect ideas and projects and came across to a way to access the processing swarm of a GPU, using it for our purposes. That was awesome! The somewhat “easy” architecture of the simple processing units of the GPU mapped nicely into our math needs, and now we can take advantage of math programs running in parallel on the GPU’s simple processors being 100 times faster than old-fashioned CPUs.

SIngle board computers

The IoT (Internet of Things) paradigm ask us to “do it cheap”.

Nvidia Jetson Nano

Under this requirement, single board computers like Jetson-Nano, Raspberry PI, Odroids and Pine64 have developed. A single board computer is a full fledged computer that stays on a PCB less than 6x4cm (< 3”x4”) using even less then 7 W of energy under stress while running a complete operating system like Linux.

While one “PI” with its 4 cores has the same running power of 70% of a thread of a modern Intel processor, both the cost per Watt and the cost per CPU cycle are quite favourable to the Single Board Computers: with less than $250 you can buy 5 boards and achieve a 20 cores “minicluster”(or even a PicoCluster) with the power of a 4-core Intel PC, but much less electrical consumption and setup costs.

That’s why such miniclusters are conquering their spaces among the fandom of distributed computing.

Some useful links:

The GIMPS project homesite.

MersenneForum, the meetingpoint for developers, programmers and mathematicians with the hoppy of computational mathematics.

The home page of Team_Italia It’s where Italian math amateurs and computer researchers gather and share their computational resources.

FermatSearch The world coordination site for the search of Fermat numbers factors. A project doing early primality testing and factorization of Double Mersennes, numbers with billions of digits.

Definire ciò che si è non risulta mai semplice o intuitivo, in specie quando nella vita si cerca costantemente di migliorarsi, di crescere tanto professionalmente quanto emotivamente. Lavoro per contribuire al mutamento dei settori cardine della computer science e per offrire sintesi ragionate e consulenza ad aziende e pubblicazioni ICT, ma anche perche’ ciò che riesco a portare a termine mi dà soddisfazione, piacere. Così come mi piace suonare (sax, tastiere, chitarra), cantare, scrivere (ho pubblicato 350 articoli scientfici e 3 libri sinora, ma non ho concluso ciò che ho da dire), leggere, Adoro la matematica, la logica, la filosofia, la scienza e la tecnologia, ed inseguo quel concetto di homo novus rinascimentale, cercando di completare quelle sezioni della mia vita che ancora appaiono poco ricche.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.