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

¿Me prestas unos ciclos? Hacia el supercomputador sigiloso

Embed Size (px)

DESCRIPTION

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

Citation preview

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!