Distributed.net
Développé par | Distributed Computing Technologies, Inc. |
---|---|
Première version | |
Dernière version | 2.9112[1] () |
Écrit en | C++ |
Environnement | Multiplate-forme |
Langues | Anglais |
Type | Calcul réparti |
Licence | Propriétaire |
Site web | www.distributed.net |
Distributed.net (officiellement Distributed Computing Technologies, Inc. ou DCTI) est un projet mondial de calcul distribué qui tente de résoudre des problèmes mathématiques en utilisant les processeurs CPU ou GPU inactifs. Ce projet fut créé en avril 1997 par Jeff Lawson. Le projet est officiellement reconnu comme une organisation à but non lucratif selon le code des impôts américain 501(c)(3).
Histoire
[modifier | modifier le code]Un effort commun fut démarré par Earle Ady et Christopher G. Stach II, de Hotjobs.com et New Media Labs fame, pour casser la partie restante du « RC5-56 challenge », un algorithme 56-bit de chiffrement avec un prix de 10 000 $ pour le premier qui trouvera la clé de chiffrement correcte. Malheureusement, cet effort initial fut suspendu par des attaques SYN flood de participants sur le serveur[2].
Un autre effort, nommé distributed.net, fut coordonné par Jeffrey A. Lawson, Adam L. Beberg, et David C. McNett, avec l'aide d'autres personnes qui s'occupèrent de l'administration et de l'infrastructure. Fin , de nouveaux proxies furent lancés pour continuer le « challenge RC5-56 » et le travail continua sur ces nouveaux clients. Le « challenge RC5-56 » fut finalement résolu le après 250 jours[3].
À cette occasion, une tête de vache fut sélectionnée comme icône de l'application et mascotte du projet[4].
Le projet suivant fut le « RC5-64 challenge », qui fait partie de la compétition de clé secrète RSA. La clef correcte (0x63DE7DC154F4D039) fut trouvée en à peu près cinq ans, le , permettant de décoder le message suivant : « some things are better left unread » (« certaines choses valent mieux ne pas être lues[5] »).
Le logiciel client
[modifier | modifier le code]Le logiciel client utilisé pour participer au projet a pour nom « dnetc ». Ce logiciel récupère des clés sur un serveur, les traite, puis les renvoie sur le serveur.
Depuis , le logiciel client le plus utilisé est la version 32 bits pour Windows sur Intel x86, vient ensuite la version Linux sur Intel x86, et la troisième place est tenue par le client Mac OS X sur PowerPC[6].
Des portions du code source du logiciel client sont disponibles pour le grand public[7].
Développement de clients pour les processeurs graphiques
[modifier | modifier le code]- NVIDIA
- À la fin de l'année 2007, les développeurs ont commencé le travail pour l'implémentation de nouveaux cœurs de calculs RC5-72 afin de les faire fonctionner sur le matériel NVIDIA CUDA. Le calcul distribué sur architecture CUDA permet des calculs rapides des unités de calcul RC5-72. Sur des cartes NVIDIA haut de gamme, plus de 300 millions de clés calculées par seconde ont été reportées[8]. Sachant qu'un processeur haut de gamme permet de calculer environ 50 millions de clés par seconde, l'introduction du calcul avec l'aide de CUDA a permis une augmentation des performances de 500 %.
- ATI
- Similairement, à la fin de l'année 2008, les développeurs ont commencé le travail pour l'implémentation de nouveaux cœurs de calculs RC5-72 afin de les faire fonctionner sur le matériel ATI STREAM. Le calcul distribué sur architecture STREAM permet des calculs rapides des unités de calcul RC5-72 de manière comparable à CUDA. À l'automne 2009, ATI a lancé l'Evergreen GPU family, fournissant à Distributed.net le moteur de calcul le plus puissant à ce jour. Certains des produits de cette famille atteignent 1,8 milliard de clés par seconde[9].
Projets en cours
[modifier | modifier le code]- Chiffrement
- RSA Lab's 72-bit RC5 Encryption Challenge (RC5-72)
En cours, 7,371 % complété au [10]
- Règles de Golomb
- Règles de Golomb optimales (OGR-28)
En cours, 80 % complété au [11]
Projets terminés
[modifier | modifier le code]- Chiffrement
- RSA Lab's 56-bit RC5 Encryption Challenge : Terminé le (après 250 jours et 47 % des clés testées)
- RSA Lab's 56-bit DES II-1 Encryption Challenge : Terminé le (après 39 jours)
- RSA Lab's 56-bit DES II-2 Encryption Challenge : Terminé le (clé trouvée par EFF's Deep Crack custom DES cracké après 2,5 jours)
- RSA Lab's 56-bit DES-III Encryption Challenge : Terminé le (après 22,5 heures avec l'aide de EFF's Deep Crack custom DES cracker)
- CS-Cipher Challenge (CSC) : Terminé le (après 60 jours et 98 % des clés testées)
- RSA Lab's 64-bit RC5 Encryption Challenge (RC5-64) : Terminé le (après 1757 jours et 83 % des clés testées)
- Règles de Golomb
- Règles de Golomb optimales (OGR-24) : Terminé le (après 1572 jours de calculs)
- Règles de Golomb optimales (OGR-25) : Terminé le (après 3006 jours de calculs)
- Règles de Golomb optimales (OGR-26) : Terminé le (après 24 jours de calculs)
- Règles de Golomb optimales (OGR-27) : Terminé le (après 1822 jours de calculs)
Historique des projets
[modifier | modifier le code]Historique des projets distributed.net |
---|
Projets futurs
[modifier | modifier le code]- Règles de Golomb optimales (OGR-29)
Articles connexes
[modifier | modifier le code]- Compétition de clé secrète RSA
- Calcul réparti
- Mathématiques expérimentales
- Yoyo@home : implémentation de OGR-27 pour BOINC
Notes et références
[modifier | modifier le code]- ftp:https://ftp.distributed.net/pub/dcti/
- (en) James Glave, « Macho Computing at Root of RSA Contest Flap », Wired, (lire en ligne).
- (en) « History & Timeline », distributed.net.
- (en) « What's with all the cows? », distributed.net.
- [txt] (en) « distributed.net completes rc5-64 project list announcement », distributed.net, .
- (en) « CPU Participation », distributed.net.
- (en) « Public source code », sur distributed.net via Wikiwix (consulté le ).
- (en) « 4201 – CUDA clients compiled with SDK < 2.2 produce incorrect results », sur distributed.net (consulté le ).
- (en) « Benchmark results for Radeon HD 5870 », MrJackson2000, .
- « Stats.distributed.net - RC5-72 Overall Project Stats », sur distributed.net (consulté le ).
- https://stats.distributed.net/projects.php?project_id=28