calculo de estimacion de rendimiento en linux. consigna se quiere estimar el incremento de...

Post on 24-Jan-2016

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

top related