Vous êtes sur la page 1sur 18

TECNOLGICO NACIONAL DE MXICO

INSTITUTO TECNOLGICO DE ACAPULCO

Ingeniera en Sistemas Computacionales.

Materia: Computo Distribuido

Profesor: Dagoberto Urza Osorio

Prctica 4.1.- Primera parte del artculo de


Eratstenes
Integrantes del equipo 2:
Nombre Nmero de control
Balanzar Ascencio Karla Itzel 12320675
Bustos Prez Luis Alfredo 12320682
Campa Melendez Steban 12320683
Alexander
Cortzar Ramrez Jazmn Paola 12320698
Reyes Deaquino Rodrigo Edgar 12320820

Acapulco, Guerrero, 7 de Mayo del 2017.


Instituto Tecnolgico de Acapulco Cmputo Distribuido
Primera parte del artculo de Eratstenes

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.

Nos demostrar que el desempeo se ve afectado por las propiedades y


caractersticas de los diferentes equipos al obligarlos a mostrar la capacidad de
desempeo.

Cabe mencionar que generaremos 2 procesos un proceso para calcular los


resultados con el cdigo simple y otro en donde el cdigo estar optimizado y
tambin contrastar las medidas de tiempo de clculo de cada mquina.

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.

Un ejemplo sencillo seria el siguiente:


Determinemos, mediante el siguiente ejemplo, el proceso para determinar la lista de
los nmeros primos menores de 20.
1. Primer paso: listar los nmeros naturales comprendidos entre 2 y 20.

2. Segundo paso: Se toma el primer nmero no rayado ni marcado, como


nmero primo.

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. Cuarto paso: Si el cuadrado del primer nmero que no ha sido rayado ni


marcado es inferior a 20, entonces se repite el segundo pas. Si no, el algoritmo
termina, y todos los enteros no tachados son declarados primos.
Como 3 = 9 < 20, se vuelve al segundo paso:

En el cuarto paso, el primer nmero que no ha sido tachado ni marcado es 5. Como


su cuadrado es mayor que 20, el algoritmo termina y se consideran primos todos
los nmeros que no han sido tachados.
Como resultado se obtienen los nmeros primos comprendidos entre 2 y 20, y estos
son: 2, 3, 5, 7, 11, 13, 17, 19.

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

Datos Estadsticos: Pruebas y resultados

MAQUINA 1:

MAQUINA 2:

MAQUINA 3

6
Instituto Tecnolgico de Acapulco Cmputo Distribuido
Primera parte del artculo de Eratstenes

MAQUINA 4

MAQUINA 5

COMPARACIN ENTRE TODAS LAS MAQUINAS

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;

for(i = 2; i*i <= tam; ++i)


{
if(m[i])
{
for(h = 2; i*h <= tam; ++h)
m[i*h] = 0;
}
}
for(i=2;i<=tam;i++)
if(m[i]!=0)
printf("%d,",i);
return 0;
}

8
Instituto Tecnolgico de Acapulco Cmputo Distribuido
Primera parte del artculo de Eratstenes

Datos Estadsticos: Pruebas y resultados

MAQUINA 1

MAQUINA 2

MAQUINA 3

9
Instituto Tecnolgico de Acapulco Cmputo Distribuido
Primera parte del artculo de Eratstenes

MAQUINA 4

MAQUINA 5

COMPARACIN ENTRE TODAS LAS MAQUINAS

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;

For (B=2; B<=E; B++)


{
C=2;
While(C*C <=B && B % C !=0)
C++;
If(C*C > B)
Printf(%6d , B);
}
D++;
I++;
If(D == 10)
{
Printf( , D=0);
}
Return 0;
}

Datos Estadsticos: Pruebas y resultados

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

COMPARACIN ENTRE TODAS LAS MAQUINAS

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.

Balanzar Ascencio Karla Itzel

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

Bustos Prez Luis Alfredo

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.

Estos nmeros primos se generaron desde 50,000,000 hasta los nmeros de


500,000,000, con esto se tena que verificar el rendimiento de cada mquina, ver el
tiempo en que dilataban en terminar en ejecutar y comparar el tiempo entre todas
las maquinas del equipo, en mi caso mi maquina cuenta con un procesador Intel
Celeron 1.95 GHz y con 8 GB de memoria ram, se observ la diferencia entre las
mquinas de mi equipo y ver cual tena mejor desempeo, todo esto se debe tomar
en cuenta el tipo de procesador y tambin la memoria ram.

Campa Melendez Steban Alexander

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.

Cortzar Ramrez Jazmn Paola

El desempeo de cada mquina marco la diferencia en generar los procesos y


resultados, es decir en cada mquina con caractersticas diferentes se vio evidente
la diferencia entre velocidad de respuesta de la cantidad que se le exiga. Por
ejemplo, en mi mquina, una de las con mayores propiedades de velocidad

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.

Reyes Deaquino Rodrigo Edgar

La realizacin de esta primera practica fue un poco laboriosa ya que primero


probamos algunos algoritmos para la criba de Eratstenes din embargo no
obtenamos los nmeros primos. Otro problema fue el consumo de recursos ya que
el clculo era bastante grande lo que provoc que tardara bastante.

Despus de haber realizado esta prctica exitosamente podemos apreciar que el


equipo que obtuvo un mejor desempeo es el que tiene mejor procesador ya que
es lo que de este depende ms la velocidad del procesamiento que de tener mucha
memoria ram, que aunque tener bastante ram ayuda no sirve de nada sin un buen
procesador.

Fuentes
Tratado elemental de Matemticas" - Impr. del Gobierno... sup, 1821, Pg.
68.
"Como programar en C/C+" - Pearson Educacin, 1995, Pg. 255.

17

Vous aimerez peut-être aussi