Calculo de Estimacion de
Rendimiento en Linux
Consigna

Se quiere estimar el incremento de rendimiento
que supone utilizar el disco duro frente al disco
extraible en operaciones de escritura. Para ello
debera diseñar un programa que se limite a
escribir un fichero con un tamaño igual al 25%
del tamaño del disco extraible. Repetir el
proceso al menos diez veces y calcule la media
aritmetica del tiempo de ejecucion en cada
caso.
¿Porque linux?

Gracias a una investigación que resultó exitosa,
encontramos una función simple del sistema
Linux que nos permite ir "rellenando" tanto
espacio del dispositivo de almacenamiento
como se requiera,
Simplemente blanqueando (dejando los bytes de
almacenamiento en 0) a tanto espacio en disco
como se quisiera.

De esta manera, encaramos con la mejor
precisión posible el problema planteado, y
realizamos un modelo que nos devuelve
fielmente el valor de tiempo que le lleva al
sistema escribir en el dispositivo de
almacenamiento extraíble.
Paso 1

En Linux es necesario montar las particiones y
dispositivos, el comando utilizado es:
Mount/ dev / sda1 / mnt

Mount: comando utilizado para montar

Dev: contiene los dispositivos

Sd: son los dispositivos de almacenamiento.
Por ejemplo:
- sda: dispositivo fisico
- sdb: dispositivo externo (pen drive)


Los numeros que acompañan a sd varian de
acuerdo a la cantidad de dispositivos
disponibles o conectados.
Mnt es una carpeta estandar en donde se
ubican los dispositivos montados
Paso 2

Una vez montado los dispositivos utilizamos un
segundo comando df que nos muestra:
- El nombre de los dispositivos montados
- junto con el tamaño total (2da col),
- usado (3ra col),
- disponible (4ta col),
- Porcentaje usado (5ta col),
- etiqueta (6ta col)
Zenity

Es un software que nos permite tomar la
informacion brindada por el comando df y
colocarlo en una ventana ordenada.

El comando utilizado para hacer la copia se
llama “dd” el cual realiza una copia del archivo
que elijas y lo manda en un dispositivo elegido
también.
dd if=/dev/zero of=$DIRDISP
- if : contiene el parametro desde donde vas a
copiar
- of: contiene el parametro del lugar a donde vas
a copiar
-/dev/zero: indica que va a copiar ceros binarios
en la salida elegida.
Como copia continuamente ceros, hay que
pasarle un parametro a “dd” para decirle
cuantos bytes de ceros binarios va a copiar.
Ejecución del Programa

EJECUTADO DESDE DISCO DURO:

---------------------------

Comenzando la iteración 1

El tiempo usado en la iteración 1 fue de 202.60 segundos

Comenzando la iteración 2

El tiempo usado en la iteración 2 fue de 55.87 segundos

Comenzando la iteración 3

El tiempo usado en la iteración 3 fue de 93.77 segundos

Comenzando la iteración 4

El tiempo usado en la iteración 4 fue de 94.04 segundos

Comenzando la iteración 5

El tiempo usado en la iteración 5 fue de 93.89 segundos

Comenzando la iteración 6

El tiempo usado en la iteración 6 fue de 93.91 segundos

Comenzando la iteración 7

El tiempo usado en la iteración 7 fue de 93.79 segundos

Comenzando la iteración 8

El tiempo usado en la iteración 8 fue de 93.81 segundos

Comenzando la iteración 9

El tiempo usado en la iteración 9 fue de 93.77 segundos

Comenzando la iteración 10

El tiempo usado en la iteración 10 fue de 93.72 segundos

Fin. El tiempo promedio(segundos) fue de 100.91700000000000000000

EJECUTADO DESDE PEN DRIVE:

---------------------------

Comenzando la iteración 1

El tiempo usado en la iteración 1 fue de 1.08 segundos

Comenzando la iteración 2

El tiempo usado en la iteración 2 fue de 93.57 segundos

Comenzando la iteración 3

El tiempo usado en la iteración 3 fue de 93.67 segundos

Comenzando la iteración 4

El tiempo usado en la iteración 4 fue de 93.72 segundos

Comenzando la iteración 5

El tiempo usado en la iteración 5 fue de 93.65 segundos

Comenzando la iteración 6

El tiempo usado en la iteración 6 fue de 93.63 segundos

Comenzando la iteración 7

El tiempo usado en la iteración 7 fue de 93.68 segundos

Comenzando la iteración 8

El tiempo usado en la iteración 8 fue de 93.64 segundos

Comenzando la iteración 9

El tiempo usado en la iteración 9 fue de 93.61 segundos

Comenzando la iteración 10

El tiempo usado en la iteración 10 fue de 93.66 segundos

Fin. El tiempo promedio(segundos) fue de 84.39100000000000000000
Conclusión




Se puede apreciar que la primer iteración de la escritura
desde el disco duro tardó mucho más tiempo que las
sucesivas iteraciones.
Esto se debe simplemente a que, luego de realizar la
primer iteración de escritura, el sistema guarda en
memoria caché las ubicaciones de los sectores en donde
se realizará la escritura, ordenados por bloque.
En el caso de nuestro script en particular, se utilizó un
bloque de escritura de 1000 bytes. Debido a esto las
sucesivas iteraciones salen más rápido.
La primera iteración ejecutada desde el USB puede
haberse parado bruscamente por un error de
entrada/salida.


Ademas cabe destacar que es importante encontrar el
tamaño de bloque ideal a la hora de lograr la mejor
velocidad de escritura.
La escritura de ceros en el algoritmo está dada de forma
que grabe ceros binarios en los ÚLTIMOS sectores del
dispositivo. De esta forma, se evitan que los datos que
estén en el pen drive sean borrados cada vez que se corre
el script.
Descargar

presentacion - Blog de Evaluación de Sistemas de Procesamiento