Algunos resultados estadísticos sobre el acceso a los datos

23
Algunos resultados estad´ ısticos sobre el acceso a los datos en dispositivos de almacenamiento inform´aticos F. Javier Gil Chica junio, 2010 Resumen En este peque˜ no art´ ıculo se re´ unen algunos resultados estad´ ısticos en relaci´ on con el acceso a datos inform´aticos. Unos dependen de la geometr´ ıa que subyace a los datos (ej. discos duros divididos en pistas y sectores) y otros son m´ as generales. 1. Par´ ametros din´ amicos de un disco duro En relaci´ on con los discos duros, introduciremos tres par´ ametros din´ amicos: tiempo de b´ usqueda, latencia rotacional y tiempo de trans- ferencia. Un disco duro es un medio de almacenamiento popular donde sobre la superficie de un disco de material pl´ astico, aluminio u otro ma- terial no magn´ etico, se deposita una capa de material ferromagn´ etico. Un cabezal se sit´ ua a una distancia variable del centro del disco. Cuan- do ´ este gira, el cabezal ✭✭dibuja✮✮ un c´ ırculo sobre el sustrato. Este ırculo se denomina ✭✭pista✮✮, a su vez dividida en un n´ umero de partes iguales llamadas ✭✭sectores✮✮. Cuando hay m´ as de una superficie ferro- magn´ etica (ej. un conjunto de discos montados coaxialmente) al con- junto de pistas situadas a la misma distancia del centro se le llama ✭✭cilindro✮✮. Nosotros supondremos que existe una sola superficie fer- romagn´ etica y un s´ olo cabezal. Nuestro an´ alisis es independiente del etodo f´ ısico usado para grabar o leer los datos. Se llama ✭✭tiempo de b´ usqueda✮✮, τ b , al tiempo empleado por el cabezal en desplazarse hasta la pista donde se encuentra el sector que quiere leerse o escribirse. ✭✭Tiempo de latencia rotacional✮✮, τ l , es el tiempo necesario para que, una vez colocado el cabezal sobre la 1

Transcript of Algunos resultados estadísticos sobre el acceso a los datos

Page 1: Algunos resultados estadísticos sobre el acceso a los datos

Algunos resultados estadısticos sobre el acceso

a los datos en dispositivos de almacenamiento

informaticos

F. Javier Gil Chica

junio, 2010

Resumen

En este pequeno artıculo se reunen algunos resultados estadısticosen relacion con el acceso a datos informaticos. Unos dependen de lageometrıa que subyace a los datos (ej. discos duros divididos en pistasy sectores) y otros son mas generales.

1. Parametros dinamicos de un disco

duro

En relacion con los discos duros, introduciremos tres parametrosdinamicos: tiempo de busqueda, latencia rotacional y tiempo de trans-ferencia. Un disco duro es un medio de almacenamiento popular dondesobre la superficie de un disco de material plastico, aluminio u otro ma-terial no magnetico, se deposita una capa de material ferromagnetico.Un cabezal se situa a una distancia variable del centro del disco. Cuan-do este gira, el cabezal ((dibuja)) un cırculo sobre el sustrato. Estecırculo se denomina ((pista)), a su vez dividida en un numero de partesiguales llamadas ((sectores)). Cuando hay mas de una superficie ferro-magnetica (ej. un conjunto de discos montados coaxialmente) al con-junto de pistas situadas a la misma distancia del centro se le llama((cilindro)). Nosotros supondremos que existe una sola superficie fer-romagnetica y un solo cabezal. Nuestro analisis es independiente delmetodo fısico usado para grabar o leer los datos.

Se llama ((tiempo de busqueda)), τb, al tiempo empleado por elcabezal en desplazarse hasta la pista donde se encuentra el sectorque quiere leerse o escribirse. ((Tiempo de latencia rotacional)), τl, esel tiempo necesario para que, una vez colocado el cabezal sobre la

1

Page 2: Algunos resultados estadísticos sobre el acceso a los datos

pista correcta, el sector buscado comience a pasar bajo el. Por terminomedio, el tiempo de latencia rotacional es igual al tiempo necesariopara que el disco complete media vuelta. Finalmente, el tiempo detransferencia, τt, es el tiempo que tarda el sector en pasar bajo elcabezal. Depende del numero de sectores por pista y de la velocidadangular de rotacion del disco.

2. Tiempos de transferencia y latencia

El tiempo de transferencia es el tiempo que invierte un sector enpasar bajo el cabezal de lectura, pues no tiene sentido que sea precisohacer mas de una pasada para leer un sector. Los datos contenidos enel sector han de ser leıdos ”al vuelo”. Si el disco gira a una velocidadde ω rad s−1, quiere decir que completa un numero de vueltas porsegundo igual a ω/2π, o lo que es igual, que invierte en cada vuelta untiempo de 2π/ω. Si una pista contiene n sectores, entonces el tiempoque se tarda en leer un sector es τt = 2π/(nω).

En los discos actuales, el numero de sectores por pista no es con-stante, luego la expresion para el tiempo de transferencia anteriorhemos de entenderla como funcion de n. Si el rango de sectores porpista se extiende desde na hasta nb, entonces el tiempo medio de trans-ferencia es

τt =1

nb − na

∫ nb

na

ω

dn

n=

ω

1

nb − naln

nb

na(1)

Respecto al tiempo de latencia, es el tiempo medio que ha de es-perar el cabezal hasta que el sector buscado pasa por debajo. Estetiempo sera de media, el tiempo que invierte el disco en girar mediavuelta, luego τl = π/ω. Hay medios de almacenamiento que no girana velocidad angular constante, sino de forma que la velocidad linealde los datos que pasan bajo el cabezal es constante. Consideremos 1

un disco cuyas pistas se extienden entre un radio interior a y un radioexterior b, de forma que la velocidad lineal es constante. La velocidadangular a una distancia r del centro del disco es entonces ω = v/r, yel tiempo de latencia a esa distancia es τl(r) = πr/v. El tiempo mediode latencia se calcula entonces como

τl =1

b− a

∫ b

aτl(r)dr =

π

2v(b+ a) (2)

1Este problema fue propuesto en un examen de la asignatura Perifericos

2

Page 3: Algunos resultados estadísticos sobre el acceso a los datos

3. Tiempo medio de busqueda. Caso

discreto

Supongamos un disco compuesto de un gran numero, N , de pistas.Calcularemos el tiempo medio de busqueda. Para ello introduciremosun nuevo parametro, τpp, que es el tiempo que tarda el cabezal endesplazarse de una pista a otra contigua. El tiempo necesario paraque el cabezal se mueva i pistas es t(i) = iτpp. El tiempo medio quebuscamos es entonces:

τ =N−1∑

i=0

t(i)p(i) (3)

donde p(i) es la probabilidad de que se produzca un salto de ipistas y el mayor salto posible es de N − 1 pistas. Supondremos quelos saltos del cabezal son aleatorios. No existe correlacion entre laposicion actual del cabezal y la posicion siguiente. El numero totalde saltos posibles del cabezal, incluyendo el salto ((nulo)), es N2, y elnumero de formas posibles de saltar i pistas es 2(N − i), donde elfactor 2 da cuenta de las dos direcciones en que pueden efectuarse lossaltos. Por otro lado, al ser t(0) = 0, la sumatoria se reduce a

τ =N−1∑

i=1

iτpp2(N − i)

N2=

2τppN2

N−1∑

i=1

(Ni− i2) (4)

Del hecho de que

N∑

i=1

i =1

2N(N + 1) (5)

y que

N∑

i=1

i2 =1

6N(N + 1)(2N + 1) (6)

se sigue que

τ =2τppN2

[

1

2(N − 1)N2 −

1

6(N − 1)N(2N − 1)

]

(7)

Cuando N2 >> N , la expresion anterior tiende a

τ =1

3Nτpp (8)

Es decir, el tiempo medio de busqueda es el tiempo preciso paraque el cabezal recorra un tercio del disco.

3

Page 4: Algunos resultados estadísticos sobre el acceso a los datos

4. Desplazamiento medio, caso conti-

nuo

Una forma distinta de llegar al mismo resultado consiste en cal-cular la distancia media que recorrera el cabezal. El calculo puedehacerse discreto pero, para no repetir razonamientos anteriores, ra-zonaremos sobre el continuo. En efecto, considerese un segmento derecta de longitud unidad y sea sobre ese segmento un punto situado auna distancia x del origen. La distancia media del resto de puntos dela recta a x viene dada por

η(x) =

∫ x

0(x− y)dy +

∫ 1

x(y − x)dy = x2 − x+

1

2(9)

Esta funcion no es monotona, sino que tiene un mınimo cuando

dη(x)

dx= 2x− 1 = 0 (10)

de donde, cuando x = 12 , la distancia media a x es mınima. Ası,

en un disco con ((poco trabajo)) es rentable despues de cada operaciondesplazar el cabezal al punto medio. El caso es similar al de un jugadorde tenis: entre resto y resto vuelve al centro de la pista, porque desdeallı la distancia media a recorrer para alcanzar el siguiente resto esmınima.

La distancia media que ha de moverse el cabezal se puede calcularentonces como la ((media de las medias)):

η =

∫ 1

0η(x)dx =

∫ 1

0(x2 − x+

1

2)dx =

1

3(11)

Como segundo ejemplo, consideremos el caso de un disco de doscabezales. Pongamonos en antecedentes. Los sistemas RAID son unconcepto que proviene de principios de los anos 80. En aquella epoca,los discos tenıan capacidades de unas pocas decenas de megabytes,y tiempos medios entre fallos de unas 40.000 horas. Tenıa sentidodisenar, sobre esta base, sistemas mas capaces y fiables. Treinta anosdespues los discos tienen capacidades del orden del Terabyte, con tiem-pos medios entre fallos superiores al millon de horas. De la misma for-ma, se han reducido los tiempos de latencia y de busqueda. En estascircunstancias, tiene sentido replantear la utilidad de los RAID, y bus-car algun tipo de paralelismo intra-disco. El caso mas sencillo consisteen dotar a un disco de dos o mas cabezales. Supongamos un disco condos cabezales. Los cabezales pueden actuar cada uno sobre porcionesdisjuntas del disco, o bien moverse por toda la extension del disco.Supondremos que la probabilidad de acceso a las distintas pistas es

4

Page 5: Algunos resultados estadísticos sobre el acceso a los datos

uniforme. En el caso en que los cabezales acceden a regiones disjuntasdel disco, pongamos cada uno de ellos a la mitad del disco, supuestocomo un segmento lineal en el intervalo [0, 1], el desplazamiento mediode cada cabezal es un tercio de un medio, es decir, un sexto. Compare-mos ahora con el caso en que los dos cabezales pueden moverse en elintervalo [0, 1]. Sea x la posicion del primer cabezal e y la posicion delsegundo. La unica restriccion es que x <= y. Cada lectura o escriturase realiza por el cabezal mas cercano. Ası, el primer cabezal abarcael intervalo [0, (x + y)/2) y el segundo el intervalo [(x + y)/2, 1]. Eldesplazamiento medio es entonces

∫ x=1

x=0dx

∫ y=1

y=x

dy

1− x

[

∫ z=(x+y)/2

z=0|x− z|dz +

∫ z=1

z=(x+y)/2|y − z|dz

]

(12)Aquı hemos tenido en cuenta de que las distribuciones de proba-

bilidad para x, y y z son uniformes, por tanto las correspondientesdensidades de probabilidad son constantes. Para x y z, que varıanen el intervalo [0, 1], la densidad de probabilidad es la unidad. Paray sin embargo, que varıa entre x y 1, la densidad de probabilidad es(1−x)−1. Cada una de las dos ultimas integrales se puede descomponeren dos, por ejemplo:

∫ z=(x+y)/2

z=0|x− z|dz =

∫ z=x

z=0(x− z)dz +

∫ z=(x+y)/2

z=x(z − x)dz (13)

el calcuo es directo y conduce a que el desplazamiento medio es de0,25, superior al valor 1/6 = 0,1667 que se obtendrıa restringiendo elmovimiento de cada cabezal a un semi-intervalo.

5. El disco duro del hombre pobre

Antes de generalizar el resultado de la seccion anterior para elcaso en que el numero de sectores por pista es variable de una pistaa otra, consideremos el problema llamado del ((disco duro del hombrepobre)) 2. Este es un disco que tiene solo dos pistas. Una pista A con xsectores y una pista B con y sectores. El tiempo que invierte el cabezalen moverse de una pista a otra es q, y la velocidad de rotacion del discoes ω. Calculemos el tiempo medio de acceso a los sectores, que incluyetanto el tiempo de busqueda como el tiempo de latencia rotacional.

2Propuesto en un examen de la asignatura Perifericos de la licenciatura en In-genierıa Informatica en la E.P.S. de la Universidad de Alicante

5

Page 6: Algunos resultados estadísticos sobre el acceso a los datos

Suponemos que no existe correlacion entre los sucesos ((encontrarse elcabezal sobre una pista)) y ((recibir una peticion para leer/escribir unsector en esa pista)). El tiempo medio que buscamos es

τ =∑

i

p(i)t(i) (14)

donde ahora i es solo un ındice que indica dos posibles sucesos. SiA → B indica que el cabezal se encuentra en A y recibe la orden dedirigirse a B, es claro que

τ = p(A → A)t(A → A)

+p(A → B)t(A → B)

+p(B → B)t(B → B)

+p(B → A)t(B → A) (15)

pero

t(A → A) = t(B → B) =π

ω(16)

y

t(A → B) = t(B → A) = q +π

ω(17)

mientras que

p(A → A) =x

x+ y

x

x+ y(18)

p(A → B) = p(B → A) =x

x+ y

y

x+ y(19)

y

p(B → B) =y

x+ y

y

x+ y(20)

de todo lo cual se sigue

τ =π

ω+

2xy

(x+ y)2q (21)

(Una variacion sobre este problema, propuesta un tiempo despues,pedıa calcular τ si ocurre que el cabezal, que sufre una averıa, semueve aleatoriamente entre una pista y la otra entre cada operaciony la siguiente. La respuesta no requiere calculo alguno, sino solo saberque esta pasando, y es obvia: τ = π

ω + q2)

6

Page 7: Algunos resultados estadísticos sobre el acceso a los datos

6. Numero variable de sectores por pista

Seguimos considerando que N es el numero de pistas (grande),y que no existe correlacion entre la posicion actual del cabezal y laposicion siguiente. Sea ni el numero de sectores en la pista i, de talmanera que el numero total de sectores es

ν =∑

i

ni (22)

La probabilidad de que el cabezal se encuentre sobre la pista i es

pi =ni

ν(23)

y la probabilidad de que reciba una peticion para la pista j es

pj =nj

ν(24)

La probabilidad de la transicion i → j es

pij =ninj

ν2(25)

operacion en la que se emplea un tiempo

tij = |j − i|τpp (26)

El tiempo medio que buscamos es entonces

τ =∑

ij

pijtij =∑

j

i<j

ninj

ν2(j − i)τpp +

i>j

ninj

ν2(i− j)τpp

(27)

El resultado analıtico que obtengamos dependera de la forma de lafuncion ni. Puesto que la longitud de las pistas (que enumeramos cor-relativamente desde el interior al exterior del disco) crece linealmentecon el radio, supondremos que

ni = a+ bi (28)

de donde

ninj = a2 + b2ij + ab(i+ j) (29)

el algebra es engorrosa, pero podemos usar algun programa decalculo simbolico para ayudarnos en los calculos. Obtenemos ası unaexpresion polinomica en N . Quedandonos con la potencia mas altatenemos finalmente:

7

Page 8: Algunos resultados estadísticos sobre el acceso a los datos

τ =τppν2

b2

4N3 (30)

7. Matriz bidimensional de datos

Desde hace anos se encuentran en desarrollo tecnologıas alterna-tivas a los discos duros. Una de ellas acude a un soporte bidimen-sional estatico para los datos (una matriz de bits) sobre los que unconjunto grande de micro-cabezales efectuan las operaciones de lec-tura y escritura. En 2005, IBM presento una version operativa de suproyecto Milpies y en la misma lınea Nanochip Inc. pretende mostrarsus primeros chips de 100 GB escalables a 1 TB a lo largo de 2009.Las dos ventajas principales son a) que el sustrato para los datos esestatico: no es preciso mantenerlo en rotacion y por tanto consumiendoenergıa, lo que, aparte de ahorrar esta, elimina el tiempo de latencia.Esto los hace adecuados para la informatica movil. b) que las opera-ciones de lectura/escritura se realizan en paralelo, con lo cual es masfacil incrementar el ancho de banda.

Si se dispone de una matriz de cabezales sobre el sustrato donde seencuentran almacenados los datos (polımero en el caso de IBM), cadacabezal individualmente accede a un area que supondremos rectangu-lar 3.

Consideremos un sustrato cuadrado de lado 1 sobre el que se de-splaza un cabezal. Si el desplazamiento del cabezal desde una posiciondada a una de coordenadas (x, y) se efectua en dos movimiento inde-pendientes, uno en el eje x y otro en el eje y, entonces es aplicablea cada uno de ellos el resultado encontrado anteriormente para el ca-so continuo monodimensional, del que sabemos que el desplazamientomedio es de 1/3. Por tanto, si p y q son las velocidades de desplaza-miento del cabezal a lo largo de cada eje, el tiempo medio de acceso alos datos sera

τ =1

3

(

1

p+

1

q

)

(31)

3El dispositivo de IBM es un sustrato cuadrado sobre el que se desplaza una matriz denanoagujas

8

Page 9: Algunos resultados estadísticos sobre el acceso a los datos

8. Almacenamiento jerarquico

8.1. Dos niveles

Es un hecho que la cantidad de datos que desean almacenarse essiempre mayor o igual que el espacio de almacenamiento disponible.Normalmente, se desea poder recuperar datos en el menor tiempoposible, pero, al mismo tiempo, mantener lo mas bajo posible el costedel sistema. Una solucion consiste en colocar en un medio de almace-namiento rapido los datos a los que se accede con mas frecuencia, yen un medio mas lento, pero menos costoso, aquellos datos que conmenor probabilidad necesitaran ser recuperados. La cuestion que seplantea en este apartado es la de encontrar la distribucion que asegu-ra el equilibrio optimo entre dos necesidades contrapuestas: velocidadde acceso y coste reducido.

Imaginemos que se producen datos a un ritmo medio constante, yque es preciso mantenerlos almacenados durante un periodo de tiempodado antes de desecharlos. De forma arbitraria, asignaremos el valor1 a este periodo de tiempo, y de la misma forma asignaremos el val-or de 1 al tiempo medio de acceso y coste del primer medio. En unprimer calculo, supondremos la existencia de dos medios distintos,estando caracterizado el segundo de ellos por un tiempo medio de ac-ceso t > 1 y un coste c < 1. Evidentemente, la distribucion optimade los datos dependera de la probabilidad de acceso a los datos segunsu antiguedad. Ası, si esta probabilidad decrece rapidamente con eltiempo tiene sentido mantener en el primer medio una pequena can-tidad de datos, y pasar el resto al segundo medio. A la inversa, siesta probabilidad decrece lentamente tiene sentido mantener mayorcantidad de datos en el primer medio, puesto que sera relativamenteprobable tener que acceder a los mismos. Un modelo plausible parala distribucion de probabilidad de acceso a los datos en funcion de suantiguedad es:

p(x) = p(0) [1− xn] (32)

para cada 0 ≤ x ≤ 1. Aquı, n es un entero mayor o igual que launidad, y p(0), la densidad de probabilidad para x = 0, que vienedada por la condicion de normalizacion:

∫ 1

0p(x)dx = 1 (33)

de donde se sigue:

p(0) = 1 +1

n(34)

9

Page 10: Algunos resultados estadísticos sobre el acceso a los datos

Nuestro objetivo es minimizar el tiempo medio de acceso sin pe-nalizar el precio del sistema. Sea T el tiempo medio de acceso, y C elcoste total. Asignemos arbitrariamente la unidad tanto para el tiempode acceso como el coste del primer medio, y sean c y t el coste y tiempomedio de acceso para el segundo medio. Finalmente, sea 0 ≤ z ≤ 1el intervalo de tiempo durante el cual los datos generados suponemosque a ritmo constante son almacenados en el primer medio, antes deser traspasados al segundo.

T =

∫ z

0p(x)dx+ t

∫ 1

zp(x)dx (35)

Se ve enseguida que, salvo terminos constantes:

T =n+ 1

n

[

(1− t)(z −zn+1

n+ 1)

]

(36)

Y de la misma forma:

C = z + c(1− z) (37)

Ahora, queremos minimizar la cantidad:

J = T + αC (38)

donde α es un factor de peso. Siguiendo el procedimiento habitual,de:

∂J

∂z= 0 (39)

encontramos:

z =

(

1−n

n+ 1

α(c− 1)

(1− t)

)

1

n

(40)

que conduce a la condicion adicional para α:

0 ≤ α ≤n+ 1

n

1− t

c− 1(41)

8.2. Multiples niveles

Supongamos la particion del intervalo (0, 1) mediante un conjuntode valores intermedios τi, supuesto que τi > τi−1. Mantenemos lassuposiciones previas respecto a la probabilidad de acceso a datos deantiguedad x. Cada uno de los intervalos de tiempo puede almacenaruna cierta cantidad de informacion, que es proporcional al tamano delintervalo. Sean ti y ci los tiempos de acceso y coste por megaocteto

10

Page 11: Algunos resultados estadísticos sobre el acceso a los datos

en el intervalo (τi−1, τi)4. La probabilidad total de acceso en este

intervalo viene dada por:

pi =

∫ τi

τi−1

p(0) (1− xn) dx (42)

El tiempo medio de acceso viene dado por:

T =∑

i

piti (43)

y el coste total del sistema por:

C =∑

i

γci(τi − τi−1) (44)

Donde γ es una constante de proporcionalidad que convierte deunidades de tiempo a megaoctetos, suponiendo un ritmo constante enla produccion de datos.

Queremos minimizar J = T + βC, y esto se consigue eligiendo unconjunto de τj para el cual:

∂J

∂τj= 0 (45)

β es una constante que abarca tanto γ como el factor de pesodeseado para C frente de T . Operando:

n+ 1

n(tj − tj+1)(1− τnj ) + β(cj − cj+1) = 0 (46)

Definiendo:

∆tj = tj+1 − tj (47)

∆cj = cj+1 − cj (48)

obtenemos finalmente:

τj =

(

1 + βn

n+ 1

∆cj∆tj

)1

n

(49)

Por supuesto, para cada j debe haber un τj > τj−1 que conduzcaa:

∆cj∆tj

>∆cj−1

∆tj−1(50)

4Se sobreentiende: en el medio de almacenamiento en que se almacenan los datos conantiguedad entre τi−1 y τi

11

Page 12: Algunos resultados estadísticos sobre el acceso a los datos

8.3. Dos ejemplos

Considerese un disco Ultra Wide SCSI con interfaz de fibra opticacomo un primer medio, y un disco ATA como el segundo medio. n seobtiene de forma experimental, y suponemos que vale n = 2. Aproxi-madamente, t = 2 y c = 0,5, que conduce al maximo permisible para

α de 3. Para estos valores, τ1 =√

23 .

Como un segundo ejemplo, considerese un disco ATA como elprimer medio y una cinta DAT como el segundo. Para la cinta, aprox-imadamente, c = 0,6 y t = 10, con un valor maximo de α = 33.Manteniendo el valor n = 2 se obtiene τ1 ≃ 0,15

La discusion anterior, si bien retiene su interes teorico, es precisoreconocer que en la practica queda obsoleta, debido al constante incre-mento de velocidad en las unidades de disco, al tiempo que aumentasu capacidad y disminuye el precio por MB.

9. Tamano optimo del bloque

Hemos dicho que la superficie de los discos se divide en pistas,y que cada pista se divide en un numero de partes iguales llamadas((sectores)). Nuestros calculos han supuesto que las operaciones de lec-tura/escritura no estan correlacionadas, de forma que la probabilidadque tiene el cabezal de ir a una pista j es independiente de la pistaactual i. Esto puede ser una buena aproximacion cuando se efectuanmuchas lecturas independientes de archivos pequenos. En otros casos,por ejemplo cuando se efectuan copias de seguridad, se accede a datosbien localizados en una zona del disco, ya que el propio sistema dearchivos se ocupa de mantener baja la fragmentacion. En ese caso, laslecturas/escrituras son esencialmente secuenciales. Ademas, los sec-tores tienen un tamano pequeno (durante decadas 512 bytes), por loque se agrupan en unidades de mayor tamano llamadas ((bloques)), contamanos tıpicos que varıan entre los 4k y los 64k.

Comparemos los dos tipos de operaciones: aleatoria y secuencial,en relacion con el tamano del bloque. Si el bloque es muy pequenoy las lecturas son secuenciales, este pequeno tamano no tiene im-pacto en la velocidad de acceso a los datos: una vez desplazado elcabezal, encontrara los datos de forma contigua, si bien repartidos enun numero grande de bloques. Por contra, si el tamano del bloquees grande (imaginemoslo muy grande), esto tiene un impacto negati-vo sobre el rendimiento en lecturas aleatorias, pues cada bloque con-tendra muchos sectores, pero sera preciso leer cada bloque completopara extraer una pequena parte de los datos que contiene, y en unasecuencia de lecturas aleatorias sera preciso volver varias veces, con el

12

Page 13: Algunos resultados estadísticos sobre el acceso a los datos

consiguiente desplazamiento del cabezal, a bloques que ya se leyeronantes, pero buscando ahora porciones de datos diferentes.

Puesto que en los sistemas reales se usan tanto accesos aleatorioscomo secuenciales, demostraremos que existe un tamano optimo parael bloque que depende de la fraccion de accesos aleatorios al sistemaen relacion al numero total de accesos.

Consideremos la lectura de n bloques secuenciales sobre una unidadde disco. El tiempo invertido es:

τs = τb + τl + nτt (51)

Sin embargo, si los bloques se encuentran distribuidos aleatoria-mente sobre el disco, el tiempo invertido en su lectura sera:

τa = n(τb + τl + τt) (52)

y vemos que, cuando n se hace muy grande, la relacion entre ambostiempos tiende a:

τsτa

=τt

τb + τl + τt(53)

Imaginemos una base de datos compuesta de P registros, de loscuales una fraccion de ellos es actualizada cada dıa. Supongamos que,al final del dıa, se hace una copia de seguridad, que supone una lec-tura secuencial de todos los registros. Si α es la fraccion de registrosmodificados, suponiendo que esos registros estan distribuidos aleato-riamente, el tiempo que se invierte en modificarlos es

αP (τb + τl + τt) (54)

Cuando se quiere hacer la lectura secuencial para la copia de se-guridad, el tiempo invertido es

PS

Qτb (55)

donde S es el numero de bytes por cada registro y Q es el tamanode cada bloque, de forma que PS/Q es el numero de bloques. Justi-fiquemos la ecuacion anterior. Cuando el tamano del registro es muypequeno en comparacion con el tamano del bloque, basta mover elcabezal al inicio del bloque para leer todos los registros contenidos enel. Ası, el cabezal debera invertir τb tantas veces como bloques ocupenlos datos. Aquı no presuponemos que todos los bloque son contiguos,sino que queremos leerlos secuencialmente, lo que es una cosa distin-ta. Si el tamano del registro es superior al tamano del bloque y losbloques no son contiguos, la formula anterior sigue siendo correcta.

13

Page 14: Algunos resultados estadísticos sobre el acceso a los datos

Finalmente, si el tamano del registro es superior al del bloque y losbloques ocupados por un registro son contiguos, la expresion anteri-or sobre-estima el tiempo. En cualquier caso, esto no es mas que unmodelo, y como tal discutible.

El tiempo total invertido entre las actualizaciones aleatorias y lacopia de seguridad es la suma de ambas. Ahora bien, el tiempo detransferencia es proporcional al tamano del bloque, de forma que τt =βQ, ası que el tiempo total invertido es una funcion de Q:

T (Q) =PS

Qτb + αP (τb + τl + τt) (56)

Esta funcion tiene un mınimo que se alcanza cuando

dT

dQ= αβP −

PS

Q2τb = 0 (57)

de donde se sigue que el tamano optimo para el bloque es

Q =

Sτbαβ

(58)

10. Efecto de la localidad de los datos

El efecto de ((localidad)) consiste en que, desde la posicion actualdel cabezal, la probabilidad de acceder a los datos que se encuentranmas cerca es mayor. Es la forma comun en que operan las unidadesde disco. Un sistema de archivos puede contener decenas de miles deellos, de los cuales en una sesion son usados una fraccion muy pequena,tıpicamente inferior al 1%. En estas condiciones, el cabezal trabajasobre zonas definidas del disco, y es de esperar que el tiempo mediode busqueda se reduzca.

Para modelar este comportamiento buscamos una funcion densi-dad de probabilidad p(z). Normalizando a 1 el tamano del disco, estadensidad ha de cumplir dos condiciones: a) que sea maxima cuandoz = 0 y la condicion de normalizacion

∫ 1

0p(z)dz = 1 (59)

Una funcion que cumple estas caracterısticas es una del tipo

p(z) = (n+ 1)(1− z)n (60)

con n >= 1. En estas condiciones, la distancia media que recorreel cabezal se expresa como:

14

Page 15: Algunos resultados estadísticos sobre el acceso a los datos

η =

∫ 1

0

[∫ x

0p(x− y)(x− y)dy +

∫ 1

xp(y − x)(y − x)dy

]

dx (61)

En nuestro modelo, esta es una funcion de n. El calculo es directo,y proporciona: η(n = 4) = 0,238, η(n = 6) = 0,194, η(n = 8) = 0,164.A medida que aumenta n, se incrementa la pendiente de p(z) en z = 0,es decir, disminuye mas rapidamente la probabilidad de acceder a losdatos colindantes a la posicion actual del cabezal. Por consiguiente, sereduce el desplazamiento medio del cabezal. Ası, para el caso n = 6el tiempo medio de busqueda es 0,194Nτpp, un 58% inferior al valorque obtuvimos sin tener en cuenta la localidad.

11. NOS y tiempo medio de espera

Imaginemos una situacion en que un disco recibe una gran cantidadde peticiones de lectura/escritura por unidad de tiempo. Si el ritmomedia de llegada de peticiones supera al ritmo medio al que el discopuede atenderlas, la teorıa elemental de colas preve que el buffer dondese almacenen las peticiones pendientes quedara rapidamente saturado.A partir de ese momento, las peticiones seran rechazadas. Para ver queesto es ası, consideremos un disco sometido a una carga moderada ycontinua de trabajo, de tal forma que la cola de peticiones pendientesalternativamente aumentara y disminuira. A lo largo de un periodo detiempo significativamente largo (en relacion con el tiempo medio entrepeticiones), es obvio que se produciran, por termino medio, tantosincrementos como disminuciones en el numero de peticiones en cola.Si no fuese ası, la cola tenderıa a crecer sin lımite, o tenderıa a estarvacıa. Podemos identificar el estado de la cola simplemente con elnumero de peticiones pendientes que contiene. Llamemos λ al numeromedio de peticiones por unidad de tiempo que llegan a la cola, y µal numero medio de peticiones por unidad de tiempo servidas por eldisco. Puesto que la cola, a largo plazo, se encuentra en equilibrio (esdecir, no tiende ni a quedar vacıa ni a crecer sin lımite) por terminomedio el numero de transiciones desde el estado n al n + 1 (habıa nelementos en la cola y llega una nueva peticion) sera igual al numero detransiciones entre el estado n+1 y el estado n (habıa n+1 peticionespendientes y el disco ha atendido a una de ellas). Llamemos pj a laprobabilidad de que la cola se encuentre en el estado j. Razonandosobre el numero de transiciones 0 → 1 y 1 → 0 podemos escribir que

λp(0) = µp(1) (62)

15

Page 16: Algunos resultados estadísticos sobre el acceso a los datos

y sucesivamente para los estados (1, 2), (2, 3), etc. lo que conduceal sistema de ecuaciones

λp(0) = µp(1)

λp(1) = µp(2)

λp(2) = µp(3)

... = ...

λp(j) = µp(j + 1)

... = ... (63)

De la primera:

p(1) =λ

µp(0) (64)

de la segunda:

p(2) =

(

λ

µ

)2

p(0) (65)

y en general

p(j) =

(

λ

µ

)j

p(0) (66)

La probabilidad p(0) se obtiene de la condicion de normalizacion

j

p(j) = 1 (67)

Si consideramos por simplicidad que la cola puede tener longitudinfinita, y llamando r = λ/µ:

p(0)∞∑

j=0

rj = p(0)1

1− r= 1 (68)

de donde

p(0) = (1− r) (69)

y finalmente

p(j) = (1− r)rj (70)

Esto permite calcular el tamano medio de la cola:

16

Page 17: Algunos resultados estadísticos sobre el acceso a los datos

N =∞∑

j=0

jp(j) = (1− r)∞∑

j=0

jrj =r

1− r(71)

Contra lo que pudiese parecer, cuando los ritmos medios de llegaday salida son iguales, r = 1, la longitud media de la cola tiende a ∞.

Pero precisamente cuando hay un gran numero de peticiones encola es cuando el disco esta sirviendolas a su velocidad maxima, puesno tiene intervalos de inactividad. Es por eso que distinguimos entreel ((numero de operaciones por segundo)) y el tiempo medio de espera.Pudiera parecer que si el numero medio de operaciones por segundo,NOS, es muy alto, sera muy bajo el tiempo de espera, y viceversa. Larelacion es justamente la contraria, como hemos demostrado.

Otra forma de ver el problema es centrandonos en uno de los algo-ritmos de movimiento del cabezal cuando el disco se encuentra cargadode trabajo. Si hay muchas peticiones, siempre habra alguna cercana ala posicion actual del cabezal. Si esto es ası, lo mas rapido sera atendera la peticion mas cercana. Entonces, el disco sirve peticiones a su may-or velocidad. Pero como el cabezal tiende a quedarse siempre cerca desu posicion inicial, las peticiones para las pistas alejadas tendran queesperar mucho, y ası se hara inaceptablemente grande el tiempo mediode espera. Trataremos este problema en la seccion siguiente, pero antesilustraremos los conceptos introducidos sobre colas en equilibrio conun par de casos particulares.

Sea el caso en que el ritmo de servicio crece con el numero declientes. Por ejemplo, esto puede modelar un sistema de discos quesirven peticiones en paralelo. Supongamos que el ritmo de servicioes (1 + k)µ0. Llamando r = λ/µ0 y planteando las ecuaciones delequilibrio de la cola, se encuentra enseguida que

p(k) =rk

(k + 1)!p(0) (72)

De

∞∑

k=0

p(k) = 1 (73)

se sigue que

p(0)∞∑

k=0

rk

(k + 1)!= 1 =

p(0)

r

∞∑

k=0

rk+1

(k + 1)!(74)

Pero la ultima sumatoria es er − 1, de donde

p(0) =r

er − 1(75)

17

Page 18: Algunos resultados estadísticos sobre el acceso a los datos

A partir de aquı podemos calcular el numero medio de clientes encola:

N =∞∑

k=0

kp(k) = p(0)∞∑

k=0

krk

(k + 1)!(76)

Sabiendo que

∞∑

k=0

rk

(k + 1)!=

er − 1

r(77)

derivando respecto a r ambos miembros de la ecuacion anterior ymultiplicando y dividiendo por r2 se encuentra la sumatoria buscadasin dificultad, y finalmente

N =rer

er − 1− 1 (78)

Tomemos un ejemplo adicional. Lo llamaremos ”cola con botonde panico”. Es una cola normal, con ritmo medio de llegada λ y rit-mo medio de servicio µ, pero con una particularidad: cuando la colaesta llena, y eso sucede cuando hay exactamente X clientes, la llegadade un nuevo cliente provoca el descarte de ese nuevo cliente y de todoslos demas, con lo que la cola queda vacıa. Las ecuaciones de equilibriopara una cola ası son

λp(0) = µp(1) + λp(X)

λp(1) = µp(2)

λp(2) = µp(3)

... = ...

λp(X − 1) = µp(X) (79)

Tomando desde la segunda en adelante, escribiendo las proba-bilidades sucesivas en funcion de p(1) tenemos que, en particular,p(X) = rX−1p(1), donde r = λ/µ. Sustituyendo esta expresion parap(X) en la primera, despejamos p(1) en funcion de p(0), e igualmentepara las siguientes, teniendo que, en general:

p(k) =rk

1 + rXp(0) (80)

que es valida para k > 0. Del hecho de que la suma de todas lasprobabilidades es la unidad:

p(0)

[

1 +X∑

k=1

rk

1 + rX

]

= 1 (81)

18

Page 19: Algunos resultados estadísticos sobre el acceso a los datos

De aquı se sigue

p(0) =

[

1 +r

1− r

1− rX

1 + rX

]

−1

(82)

y de aquı, simplificando:

p(k) =(1− r)rk

1 + rX − 2rX+1(83)

Vease que cuando X → ∞, p(k) → (1 − r)rk, de acuerdo con elresultado anterior para colas ilimitadas. Por otro lado, el denominadores una constante que depende solo del tamano de la cola, para r da-do, ası que el numero medio de elementos en la cola coincide con elobtenido anteriormente, dividido por 1 + rX − 2rX+1:

N =r

(1− r)(1 + rX − 2rX+1)(84)

Esta expresion no es valida para cualquier r, sino que lo es solo enel intervalo en que N < X.

12. Nueva visita a SCAN

En la busqueda de un equilibrio entre el NOS y el tiempo medio deespera, uno de los primeros algoritmos propuestos es SCAN. Consistesimplemente en recorrer el disco desde un extremo al otro, atendiendotodas las peticiones que se encuentren en el camino. Esto presuponeque despues de cada peticion atendida la cola es ordenada, de maneraque se atienda a la peticion dirigida a la posicion mas cercana a laactual del cabezal, en la direccion de su movimiento. Una variante deeste algoritmo tiene en cuenta que, una vez que el cabezal ha llegadoa un extremo del disco, no tiene sentido volver inmediatamente sobresus pasos, pues lo hara sobre una porcion de disco que acaba de ser((barrida)) y donde es poco probable que haya nuevas peticiones queatender. Entonces, esta variante, llamada C-SCAN, propone saltar denuevo al principio del disco, que fue la zona visitada hace mas tiempoy donde por tanto es mas probable que haya peticiones esperando.Otro refinamiento consiste en no mover el cabezal entre los bordesfısicos (interior y exterior) del disco, sino entre la peticion mas internay la mas externa.

Calcularemos del NOS y el tiempo medio de espera cuando un discocargado aplica SCAN. Conceptualmente, el problema es similar al deuna maquina quitanieves. La maquina se coloca en el km. 0 mientrasnieva uniformemente en todo el recorrido. La maquina comienza a

19

Page 20: Algunos resultados estadísticos sobre el acceso a los datos

moverse. Mientras llega al km. 1 se ha acumulado una cierta cantidadde nieve. Este extra de nieve ralentiza en cierta medida a la maquina,que de esta forma tarda un poco mas de tiempo en recorrer el segundokm. El tercer km. lo recorrera entonces a ritmo ligeramente mas lento,y ası sucesivamente.

De la misma forma el cabezal, cuando encuentra una peticion ensu recorrido ha de esperar τl para servirla. En ese intervalo se ha incre-mentado la cantidad de peticiones sobre la fraccion de disco restante,lo que le obligara a gastar mas tiempo en servirlas, durante el cual seacumularan mas peticiones en el tramo restante, y ası sucesivamente.

Haremos un razonamiento discreto que despues llevaremos al lımite.Dividimos el segmento de recta de longitud 1 en N intervalos de lon-gitud x = 1/N . Suponemos un ritmo constante de llegada de peti-ciones, de tal forma que la densidad de peticiones crece linealmentecon el tiempo: ρ = ρ0+λt. En el primer intervalo, el cabezal encuentrapor termino medio n1 = xρ0 peticiones, luego invierte en atenderlast1 = τln1. Al inicio del segundo intervalo, la densidad se ha incremen-tado a ρ2 = ρ0 + λt1, y en ese intervalo el cabezal encuentra n1 = xρ1peticiones que le llevan un tiempo t2 = τln2. Al inicio del tercer in-tervalo, la densidad es ρ3 = ρ0 + λ(t1 + t2), el numero de peticionespromedio en el es de n3 = xρ3 y el tiempo invertido en leerlas est3 = τln3. Si se desarrolla analıticamente el razonamiento, pronto sehace evidente que

λτlρ0

nk =k∑

j=1

(

λτlk

)j k!

j!(k − j)!(85)

La suma de esta serie es

λτlρ0

nk =

(

1 +λτlk

)k

− 1 (86)

Haciendo k → ∞ la suma tiende a

n =ρ0λτl

(

eλτl − 1)

(87)

siempre que sea ρ0 6= 0. En caso contrario, nuestro modelo no tienesentido, o tendrıamos que corregirlo admitiendo que aun cuando no seproduzca ninguna lectura en un intervalo, este se recorre en un tiempofinito. Podemos razonar de la misma forma con el tiempo transcurrido,y comprobar como, tras k intervalos, se ha consumido un tiempo queviene dado por

λ

ρ0tk =

(

1 +λτlk

)k

− 1 (88)

20

Page 21: Algunos resultados estadísticos sobre el acceso a los datos

Si tomamos el lımite aquı tambien vemos que el tiempo medio delectura es

t

n= τl (89)

lo cual es logico: el cabezal no puede leer mas rapido de lo que girael disco. El numero medio de operaciones por unidad de tiempo es1/τl. Sin embargo, una peticion que se encuentre al extremo del discoha de esperar un tiempo

n∑

i

ti (90)

Cuando n se hace muy grande, se pueden despreciar los primerosterminos de la sumatoria y empezar a contar a partir de uno tal queel y terminos sucesivos sean aproximadamente iguales a

t =ρ0λ

(

eλτl − 1)

(91)

El tiempo de espera es entonces aproximadamente nt, que crecesin lımite cuando lo hace n. Esto ilustra analıticamente la diferenciaentre el NOS y el tiempo medio de espera.

13. Distribuciones binomial y de Pois-

son

Desde el punto de vista del procesador, cuyo ciclo es del ordende un nanosegundo, los eventos hardware son muy raros. El estudioprobabilıstico de sucesos raros de los cuales sin embargo se conocesu ocurrencia media (es el caso del estudio de las colas hecho antes)nos lleva a la distribucion de Poisson, que nos dice la probabilidad deque, en un intervalo dado, se produzca un numero de sucesos (p. ej.llegada en un segundo de un numero de paquetes por la interfaz de red,siendo conocido el ritmo medio de llegada). A su vez, la distribucionde Poisson se obtiene como lımite de la distribucion binomial. Ası queexpondremos esta en primer lugar y despues haremos el paso al lımite.

La distribucion binomial da la probabilidad de que en una serie deexperimentos binarios (cuyo resultado solo ser uno entre dos posibil-idades) se produzca un numero determinado de exitos (entendiendopor exito que se produzca uno de los resultados, y no el otro). Supong-amos entonces una secuencia de 3 lanzamiento de moneda al aire. pes la probabilidad de que salga cruz, y lo consideramos ”exito” y qes la probabilidad de que salga cara. Representaremos por un 1 un

21

Page 22: Algunos resultados estadísticos sobre el acceso a los datos

exito (cruz) y por un 0 un fracaso (cara). En una secuencia El exitopuede alcanzar en las tres secuencias 100, 010 y 001. La probabilidadde la primera secuencia es pqq = pq2; la probabilidad de la segundasecuencia es qpq = pq2 y la probabilidad de la tercera es qqp = pq2.Por tanto, la probabilidad de tener un exito es 3pq2. En general, sitenemos una serie de n experimentos, el numero de formas en quepueden obtener r exitos es

n!

(n− r)!r!(92)

y la probabilidad de obtenerlos es entonces

P (r|n) =n!

(n− r)!r!pr(1− p)n−r (93)

ya que si el experimento solo admite dos resultados, entonces q =1− p.

Pasemos ahora a describir la distribucion de Poisson. Citando labibliografıa:

La distribucion de Poisson a menudo servira como una dis-tribucion de probabilidad apropiada para variables aleato-rias tales como el numero de llamadas telefonicas recibidaspor una central telefonica durante un periodo de tiempofijo, el numero de partıculas atomicas emitidas por unafuente radiactiva que golpean un cierto blanco durante unperiodo de tiempo fijo o el numero de defectos en una lon-gitud especıfica de una cinta magnetica de grabacion. 5

Y tambien, anadimos nosotros, la probabilidad de que un numerodeterminado de clientes ingresen en una cola en un intervalo de tiempoespecificado, conocido el numero medio de clientes que ingresan porunidad de tiempo.

Veamos como la distribucion de Poisson se obtiene como un casolımite de la distribucion binomial. Si llamamos λ al numero medio deexitos en la secuencia de n experimentos, entonces

p = λ/n (94)

o lo que es igual

λ = np (95)

de donde podemos poner

5morris de groot, Probabilidad y Estadıstica, p. 241; Addison-Wesley Iberoameri-

cana, segunda edicion, 1988

22

Page 23: Algunos resultados estadísticos sobre el acceso a los datos

P (r|n) =λr

nr

n(n− 1)(n− 2)...(n− r + 1)

r!

(

1−λ

n

)n (

1−λ

n

)

−r

(96)Ahora, hagamos el lımite cuando n → ∞, de tal forma que se

mantenga λ = np. Vemos que

lımn→∞

n(n− 1)(n− 2)...(n− r + 1)

nr= 1 (97)

y que

lımn→∞

(

1−λ

n

)

−r

= 1 (98)

mientras que

lımn→∞

(

1−λ

n

)n

= e−λ (99)

y queda entonces que

lımn→∞

P (r|n) =λr

r!e−λ (100)

Como aplicacion, consideremos el siguiente problema: una deter-minada clase de cinta magnetica contiene de media tres errores porcada 1000 metros. ¿Cual es la probabilidad de que una unidad de 1200metros este libre de errores?

El numero medio de errores por cada 1200 metros es 3∗1200/1000 =3,6, por tanto la probabilidad buscada es

3,60

0!e−3,6 = 0,027 (101)

Como segundo ejemplo, consideremos una cola con ritmo medio dellegada λ y ritmo medio de servicio µ. ¿Cual es la probabilidad de queen el intervalo 1/µ (que es el intervalo medio que emplea el servidoren atender a un cliente) se presenten dos clientes en la cola? En elintervalo 1/µ llegan de media σ = λ/µ clientes. La probabilidad deque lleguen dos clientes es entonces

σ2

2!e−σ (102)

23