Вы находитесь здесь: distributed.ru » Проекты распределённых вычислений » Seventeen or Bust
Seventeen or Bust
Цель этого проекта — с помощью технологии распределённых вычислений, решить задачу Серпинского.
Эта задача связана с так называемыми числами Прота(Proth), т.е. числами вида N = k * 2n + 1, где k и n — нечётны и больше единицы.
Если для какого-то значения k любое из возможных значений n приводит к получению составного(не простого) числа N, то это значение k считается числом Серпинского. Задача Серпинского состоит в нахождении самого маленького такого числа из всех существующих.
40 лет назад Джон Селфридж доказал, что k = 78,557 — число Серпинского. Большинство учёных, занимающихся теорией чисел считают, что это число и есть самое маленькое, однако, это до сих пор не доказано. Чтобы доказать это, нужно доказать, что все значения k меньшие 78,557 не являются числами Серпинского. Для этого, необходимо найти какое-то значение n, которое делает результат выражения k * 2n + 1 простым. Когда проект стартовал, это уже было сделано для всех значений k кроме семнадцати — отсюда и название проекта. В процессе работы, проект сумел вычислить ещё 11 значений — осталось 6.
Высокая производительность расчётов (и, можно сказать, сама возможность существования такого проекта) достигнута благодаря ручной оптимизации кода клиентской программы. Расчётные функции клиента написаны на ассемблере, c использованием расширенных наборов инструкций — prefetch, MMX, 3Dnow!, SSE и SSE2. Однако клиент будет работать и на процессорах, которые эти инструкции не поддерживают.
