Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenido
Introduccin ............................................................................................................. 2
Marco terico........................................................................................................... 3
La criba de Eratstenes ....................................................................................... 3
Desarrollo ................................................................................................................ 5
Primer programa C1............................................................................................. 5
Datos Estadsticos: Pruebas y resultados......................................................... 6
Segundo Programa C2 ........................................................................................ 8
Datos Estadsticos: Pruebas y resultados......................................................... 9
Tercer programa C3 ........................................................................................... 11
Datos Estadsticos: Pruebas y resultados....................................................... 11
Conclusin............................................................................................................. 15
Equipo ................................................................................................................ 15
Balanzar Ascencio Karla Itzel ............................................................................ 15
Bustos Prez Luis Alfredo .................................................................................. 16
Campa Melendez Steban Alexander.................................................................. 16
Cortzar Ramrez Jazmn Paola ........................................................................ 16
Reyes Deaquino Rodrigo Edgar ........................................................................ 17
Fuentes ................................................................................................................. 17
1
Instituto Tecnolgico de Acapulco Cmputo Distribuido
Primera parte del artculo de Eratstenes
Introduccin
La prctica se desarroll con la intencin de conocer el desempeo de distintas
maquinas aprueba de poner en trabajo constante para as saber su lmite y su
velocidad a la que desempea los procesos. Entonces con esta prctica se busca
conocer el desempeo de cada una de las computadoras con las que el equipo
cuenta. Para realizarlo, usamos el mtodo ms sencillo, el cual es la criba de
Eratstenes, la cual es un algoritmo que determina los nmeros primos dentro de
una cantidad definida, es este caso, se verificara de 50,000,000 en 50,000,000
hasta llegar a 500,000,000. Dando un total de 10 iteraciones por equipo.
De esta forma sabremos cual es el equipo con mejor rendimiento y contrastar con
las de menor rendimiento, obteniendo estos datos y exponindolos de manera
estadstica para que exista una comparacin grafica entre los distintos equipos.
2
Instituto Tecnolgico de Acapulco Cmputo Distribuido
Primera parte del artculo de Eratstenes
Marco terico
La criba de Eratstenes
La criba de Eratstenes es un algoritmo que permite hallar todos los nmeros primos
menores que un nmero natural dado n. Se forma una tabla con todos los nmeros
naturales comprendidos entre 2 y n, y se van tachando los nmeros que no son
primos de la siguiente manera: Comenzando por el 2, se tachan todos sus mltiplos;
comenzando de nuevo, cuando se encuentra un nmero entero que no ha sido
tachado, ese nmero es declarado primo, y se procede a tachar todos sus mltiplos,
as sucesivamente. El proceso termina cuando el cuadrado del mayor nmero
confirmado como primo es mayor que n.
3
Instituto Tecnolgico de Acapulco Cmputo Distribuido
Primera parte del artculo de Eratstenes
3. Tercer paso: Se tachan todos los mltiplos del nmero que se acaba de
indicar como primo.
4
Instituto Tecnolgico de Acapulco Cmputo Distribuido
Primera parte del artculo de Eratstenes
Desarrollo
Se llev a cabo el desarrollo de un programa en lenguaje Java, para realizar la lgica
de la criba de Eratstenes. El cdigo del programa es el siguiente:
Primer programa C1
#include <stdio.h>
#include <stdlib.h>
#include <limits.h>
#define N 500000
int main()
{
int y,x;
int arr[N];
for(x=0;x<=N;x++)
arr[x]=1;
for(x=2;x<=N;x++)
{
if(arr[x]!=0)
{
for(y=(x+x);y<N;y+=x)
{
arr[y]=0;
} } }
for (x=2;x<N;x++)
{ if(arr[x]!=0)
{
printf("%i, ",x);
}
}
return 0;
}
5
Instituto Tecnolgico de Acapulco Cmputo Distribuido
Primera parte del artculo de Eratstenes
MAQUINA 1:
MAQUINA 2:
MAQUINA 3
6
Instituto Tecnolgico de Acapulco Cmputo Distribuido
Primera parte del artculo de Eratstenes
MAQUINA 4
MAQUINA 5
7
Instituto Tecnolgico de Acapulco Cmputo Distribuido
Primera parte del artculo de Eratstenes
Segundo Programa C2
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define tam 600000
int main()
{
int i, h, m[tam];
m[0] = 0;
m[1] = 0;
for(i = 2; i <= tam; ++i)
m[i] = 1;
8
Instituto Tecnolgico de Acapulco Cmputo Distribuido
Primera parte del artculo de Eratstenes
MAQUINA 1
MAQUINA 2
MAQUINA 3
9
Instituto Tecnolgico de Acapulco Cmputo Distribuido
Primera parte del artculo de Eratstenes
MAQUINA 4
MAQUINA 5
10
Instituto Tecnolgico de Acapulco Cmputo Distribuido
Primera parte del artculo de Eratstenes
Tercer programa C3
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
Int main()
{
Int B=2, C=2, D=0, I=0, E=10000000;
MAQUINA 1
11
Instituto Tecnolgico de Acapulco Cmputo Distribuido
Primera parte del artculo de Eratstenes
MAQUINA 2
MAQUINA 3
MAQUINA 4
12
Instituto Tecnolgico de Acapulco Cmputo Distribuido
Primera parte del artculo de Eratstenes
MAQUINA 5
En base a este desarrollo se llevaron las pruebas en los equipos de cmputo con
las siguientes caractersticas:
Maquina 1
Procesador: 3.20 GHz AMD BALANZAR ASCENCIO KARLA ITZEL
Memoria RAM: 12 GB
Disco Duro: 2 TB
Maquina 2
Procesador: 2.66 GHz, REYES DEAQUINO RODRIGO EDGAR
Intel Quad-Core 3540
Memoria RAM: 4 GB
Disco Duro: 1 TB
13
Instituto Tecnolgico de Acapulco Cmputo Distribuido
Primera parte del artculo de Eratstenes
Maquina 3
Procesador: 2.40 GHz, Intel Core i3 CORTAZAR RAMIREZ JAZMIN PAOLA
Memoria RAM: 4 GB
Disco Duro: 250 GB
Maquina 4
Procesador: 1.95 GHz, Intel Celeron BUSTOS PEREZ LUIS ALFREDO
Memoria RAM: 8 GB
Disco Duro: 500 GB
Maquina 5
Procesador: 1.6 GHz, CAMPA MELENDEZ STEBAN ALEXANDER
AMD E-450
Memoria RAM: 4 GB
Disco Duro: 120 GB
14
Instituto Tecnolgico de Acapulco Cmputo Distribuido
Primera parte del artculo de Eratstenes
Conclusin.
Equipo
El proceso se dilato menos de los 4 minutos que era el tiempo de referencia que el
proceso deba tardar. Por lo cual se cumpli la meta a la que se deba llegar. El
desempeo de la computadora con el procesador AMD10 fue el que mejor
desempeo tuvo con el algoritmo, puede ser debido a sus dos ncleos y a los 3.20
GHz a los que procesa, teniendo tambin 12Gbs de RAM, aqu podemos ver que la
RAM es un factor importante a la hora de ejecutar el algoritmo, ya que es la que
indica la cantidad de datos que un arreglo puede procesar. Podemos ver lo anterior
reflejado con la maquina 2, que teniendo un procesador Quad-Core con 2.66 GHz,
la atrasa en el proceso su memoria de 4Gbs de RAM ya que llega a un lmite de 400
millones, siendo que al intentar los 450 millones el programa no se ejecuta
correctamente. Entonces podemos ver que 3 de las 5 computadoras ocupadas para
efectuar el algoritmo cumplieron con los estndares de la prctica, teniendo un buen
desempeo en todas las iteraciones sin sufrir calentamiento en el proceso.
Mi maquina con 12Gb de RAM y un procesador AMD 10no tuvo problemas ejecutar
el algoritmo. Se encontr un problema en el cdigo que se dise, solo se puede
llegar a 400 millones, siendo este su lmite. Lo que limita a la computadora con
menos capacidad, por tanto se buscara la forma de poder mejorar el cdigo para
poder tener un mejor rendimiento con esta computadora.
En definitiva podemos decir que el desarrollo de esta prctica sin duda nos ha
enseado la manera de trabajar con nuestro sistema de manera eficiente ya sea
para acortar tiempos de ejecucin o para trabajar en la resolucin de problemas que
requieran de gran poder de computo utilizando un conocido algoritmo como es la
criba de Eratstenes.
15
Instituto Tecnolgico de Acapulco Cmputo Distribuido
Primera parte del artculo de Eratstenes
En esta primera prctica se tena que realizar un programa que mostrara los
nmeros primos, como sabemos un numero primo es un numero natural mayor que
1 que tiene nicamente dos divisores distintos y el 1.
En este primer avance del trabajo se plantea un algoritmo con muy poca eficiencia,
pues este desperdicia recursos, y esto se debe a que el algoritmo utiliza un arreglo
de tamao n lo cual es reservar espacio de memoria esttico, es decir, se crea un
arreglo donde cada localidad representa un nmero y si este es un numero primo
se escribir un cero en esa localidad, por lo que al final del proceso se obtiene un
arreglo de gran tamao y es por esa razn que la memoria se desperdicia, sin
embargo una vez terminados los ciclos para determinar los nmeros primos, es
posible mandar a llamar el arreglo.
Desde un punto de vista de diseo este cdigo contiene el error de que un arreglo
esttico puede tener basura de otras operaciones y si esta basura llega a ser el
valor cero, el algoritmo lo interpretara como un nmero primo.
16
Instituto Tecnolgico de Acapulco Cmputo Distribuido
Primera parte del artculo de Eratstenes
(maquina 3, 4 GB RAM Intel Core i3) fue muy evidente el desempeo por encima
de las dems en el proceso no optimizado, ya que cuando se gener un proceso de
respuesta optimizado la diferencia de respuesta entre cada mquina no fue mucha,
por lo que yo considero que no se puede marcar una gran diferencia de desempeo
entre cada mquina, sino una buena optimizacin de generacin de respuesta en el
cdigo que previamente estaba establecido.
Fuentes
Tratado elemental de Matemticas" - Impr. del Gobierno... sup, 1821, Pg.
68.
"Como programar en C/C+" - Pearson Educacin, 1995, Pg. 255.
17