¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

35
¿Me prestas unos ciclos? Hacia el supercomputador sigiloso Juan Lupi´ on (TheCocktail) JJ Merelo (Universidad de Granada) Fernando Tricas (Universidad de Zaragoza) Dpto. de Inform´ atica e Ingenier´ ıa de Sistemas del Centro Polit´ ecnico Superior. Universidad de Zaragoza, Espa˜ na http://www.cps.unizar.es/ ftricas/ 20 de abril de 2007

description

Presentación sobre DCoR (Distributed Computation on Rails). Dentro del ciclor relacionado don el proyecto Zivis (http://zivis.zaragoza.es/ )

Transcript of ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Page 1: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

¿Me prestas unos ciclos? Hacia elsupercomputador sigiloso

Juan Lupion (TheCocktail)JJ Merelo (Universidad de Granada)

Fernando Tricas (Universidad de Zaragoza)

Dpto. de Informatica e Ingenierıa de Sistemas del Centro Politecnico Superior.Universidad de Zaragoza, Espana

http://www.cps.unizar.es/∼ftricas/

20 de abril de 2007

Page 2: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Contenidos

I Motivacion

I Antecedentes

I Resultados

I Futuro?

Page 3: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Primeros intentos

The “RSA challenge” published in the August 1977 issueof Scientific American (in Martin Gardner’s column) isstill open, and the $100 prize offer still stands. This prizecan be won by factoring the RSA modulus publishedthere, which is:

RSA-129 =1143816257578888676692357799761466120102182967212423625

http://www.interesting-people.org/archives/interesting-people/199311/msg00077.html

Noviembre 1993

Page 4: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Primeros intentos

I Rivest estimaba 4× 1016 anos de computacion para lograrloI RSA-129, se factorizo el 2 de abril de 1994 (criba cuadratica)I Calculo distribuido (e–mail y ftp)I Codigo fuenteI ‘That said, it runs happily on any Unix box with at least 8Mb

of physical memory.’I Unos 600 computadores

Page 5: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Por si alguien quiere comprobarlo

114381625757888867669235779976146612010218296721242362562561842935706935245733897830597123563958705058989075147599290026879543541

=3490529510847650949147849619903898133417764638493387843990820577

×32769132993266709549961988190834461413177642967992942539798288533————————————————

http://www.revistasic.com/revista40/agorarevista 40.htm

http://en.wikipedia.org/wiki/RSA-129

Page 6: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Supercomputadores

I 1942 Atanasoff-Berry Computer (ABC). 30 OPS Iowa StateUniversity, Ames, Iowa, USA

I 1944 Flowers Colossus 5 kOPS Post Office Research Station,Dollis Hill

I 1946 UPenn ENIAC 100 kOPS Aberdeen Proving Ground,Maryland, USA

I 1961 IBM 7030 “Stretch” 1.2 MFLOPS Los Alamos NationalLaboratory, New Mexico, USA

I 1964 CDC 6600 3 MFLOPS Lawrence Livermore NationalLaboratory, California, USA

I 1969 CDC 7600 36 MFLOPS

FLOPS: Floating Point Operations Per Second

Page 7: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

(Mas) Supercomputadores

I 1976 Cray-1 250 MFLOPS Los Alamos National Laboratory,New Mexico, USA (80+ sold worldwide)

I 1984 M-13 2.4 GFLOPS Scientific Research Institute ofComputer Complexes, Moscow, USSR

I 1985 Cray-2/8 3.9 GFLOPS Lawrence Livermore NationalLaboratory, California, USA

I 1997 Intel ASCI Red/9152 1.338 TFLOPS Sandia NationalLaboratories, New Mexico, USA

I 2005, IBM Blue Gene/L, 280.6 TFLOPS. Lawrence LivermoreNational Laboratory, California, USA (Actual Primero en eltop500) 131072 procesadores.

Page 8: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

¿Y nosotros?

I En Espana: quinto supercomputador del mundo en elBarcelona Supercomputing Center Spain MareNostrum -BladeCenter JS21 Cluster, PPC 970, 2.3 GHz, Myrinet IBM.10240 procesadores. 62.63 TFlops.

I Tambien: 34 CeSViMa - BSC Spain BladeCenter JS20 Cluster,PPC 970, 2.2 GHz, Myrinet IBM. 2408 procesadores. 14TFlops

Page 9: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Visto de otra forma . . .

I Al principio eran computadores con procesadores escalaresrapidos

I En los 70: computadores con procesadores vectoriales

I En los 80: unos cuantos procesdores vectoriales (4–16)

I Fin 80–90: Sistemas masivamente paralelos (miles de CPUs‘normales’)

I Hoy: procesadores normales en configuraciones ‘especiales’

El ultimo del top500 tiene 800 procesadores y 2736.9 TFlops(500 Telecommunication Company United States Blade ClusterBL-20P, Pentium4 Xeon 3.06 GHz, Gig-Ethernet Hewlett-Packard)

Page 10: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

¿Y en mi casa?

http://www.codinghorror.com/blog/archives/000823.html

Page 11: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Resolver los problemas ‘a trozos’

¿Puede tener sentido resolver algunos problemas usandoprocesadores de la gente?

I SETI@homeI Publico el 17 de mayo de 1999I Analisis de senales recibidas en el radiotelecopio de Arecibo

I Berkeley Open Infrastructure for Network ComputingI Supercomputador voluntario de proposito ‘general’I 435,000 computadores, 521 TFlops (12 marzo de 2007)I Un monton de proyectos . . .

Page 12: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Y claro . . .

I Supercomputador ciudadanoI Confinamiento de partıculas en un campo magnetico

Page 13: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Ademas . . .

Page 14: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

De hecho, los ‘malos’ tambien

I CIH (1998) de 20 a 80 millones de dolares.

I Melissa (1999) 300 a 600 millones de dolares

I ILOVEYOU (2000) de 10 a 15 billones de dolares

I Code Red (2001) 2.6 billones de dolares.

I SQL Slammer (2003), 500000 servidores. Poco dano porqueera sabado.

I Blaster (2003)

I SoBig (agosto 03) de e 5 a 10 billones de dolares y mas de unmillon de ordenadores infectados.1 millon de copias de el mismo en las primeras 24 horas.

I Bagle (2004) Muchas variantes

I Sasser (2004) suficientemente destructivo como para colgaralgunas comunicaciones satelites de agencia francesas.Tambien consiguio cancelar vuelos de numeros companiasaereas.No necesitaba acciones por parte del usuario para propagarse.

Page 15: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

¿Que paso con ellos?

I ComercializacionI Botnets, ‘llaves mano’ para

I MolestarI PhisingI RobarI . . .

Page 16: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

La gente esta dispuesta . . .

I Bitacoras (blogs), wikis, fotos, vıdeos . . . web 2.0 . . . compartir

I Incluso hay iniciativas que tratan de sacar partido de ello

http://www.mturk.com/mturk/welcome

http://answers.yahoo.com/

Page 17: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Y otras mas voluntariosas

I Por unos motivos . . .

I O por otros:

Page 18: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Sin embargo . . .

Algunos problemas:

I Hay que instalar un programa

¿Se podrıa hacer de otra forma?

Page 19: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Antecedentes

I Parasitic computing, Albert-Laszlo Barabasi

I Construıan paquetes ‘especiales’ y utilizaban el checksum parahacer calculos

Computacion parasita, computacion sigilosa: el usuario ni siquierase entera.

Page 20: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

¿Como?

¡El navegador!

I Instalado de manera universal

I Programable:

I JavaScript(95%), Java (94 %) (thecounter.com)

I Flash (98.3 %) Segun Adobe. Otros hablan de 70-90 %

Hasta en los telefonos

Page 21: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

AJAX

Asynchronous JavaScript And XML

I XHTML y CSS para la presentacion

I Document Object Model (DOM) al que se accede medianteJavascript (dinamismo)

I XMLHttpRequest (permite intercambio asıncrono deinformacion)

I XML es el formato de intercambio de informacion (aunque sepueden usar otros)

Page 22: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Ajax

XMLHttpRequest

I Desarrollado por Microsoft para Oulook Web Access 2000(Internet Explorer 5.0)

I Mozilla lo incorporo en la 1.0 en 2002

I Los demas poco despues

Page 23: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Ajax

http:

//www.adaptivepath.com/publications/essays/archives/000385.php

Ajax: A New Approach to Web Applications, Jesse James Garrett

Page 24: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Javascript

I Lenguaje de programacion interpretado

I Netscape Communications (2.0)

I 1997 estandar ECMA (ECMAScript). Luego ISO.

Page 25: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Ruby on Rails

I Entorno de desarrollo agil

I Ruby, AJAX y base de datosI Paradigma Modelo/Vista/Controlador

I Controlador: procesa y responde a los eventos (el usuario hacealgo)

I Modelo: representacion (almacenamiento) de los datos (elcontrolador accede al modelo, manipula los datos)

I Vista: representacion de los datos (se obtienen los datos delmodelo y se muestran)

Page 26: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

DCoR

Distributed Computation on Rails

I RoR para computacion distribuida (con AJAX)

I Calculos en el cliente y en el servidor

I Probar si es factible (y razonable)

http://rubyforge.org/projects/dconrails/

Page 27: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Se busca: un problema

I Algoritmos geneticos

1. Una poblacion de individuos2. Se les asigna una aptitud (‘fitness’)3. Se eligen unos cuantos de ellos4. Se cruzan (combinando las caracterısticas de los ‘padres’)

Tambien mutaciones5. Volvemos a empezar . . .

I Acabara cuando . . . (tantas veces, o la solucion parece buena)

Page 28: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

¿Y por que?

I La evaluacion de la poblacion es un proceso desacoplado (ydesacoplable)

Page 29: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

¿Como

I El ‘voluntario’ visita la pagina

I Empieza a solicitar individuos para evaluar

I Envıa los resultados y pide mas

El servidor:

I Realiza el torneo entre los individuos disponibles, eligiendo losmejores

I Envıa individuos a los que lo solicitan

Page 30: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Algunas medidas. Maquina virtual

Page 31: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Algunas medidas. Navegadores

Page 32: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Algunas medidas. ¿Como escala?

Page 33: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Algunas conclusiones

I La idea es posible

I Hay muchos parametros variables (y no podemos elegir)

I Convendrıa mejorar la parte del servidor

Page 34: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Trabajo futuro

Probar . . .

I Java, Flash, . . . (ponga su tecnologıa del lado del clientefavorita sobre la lınea de puntos

I El servidor: RoR nos ha ayudado en la prueba de concepto¿seremos fieles?

I Si: hay que mejorar la concurrenciaI No: ¿ideas?

I Los calculos. Ahora, solo se evaluan el fitness de los individuosen el cliente, lo demas lo hace el servidor. ¿Ideas?

Page 35: ¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

¡Buscamos gigantes!