• No results found

Chapter 2: Literature review

2.3. Facilitating decision-making

2.3.1. Information

El modelo de simulación asume que no se producen fallos, por ende si una transacción alcanza el punto de cometido (todas sus operaciones son ejecutadas y reconocidas (ack)), debe cometer. Esto lleva a que el protocolo 2PC y PA tengan igual comportamiento, por lo tanto solo se presentan los resultados de este último.

Dado el tamaño de la BD simulada, las transacciones ejecutadas: de tamaño largo (en promedio 6 operaciones por sitio) y de tamaño corto (en promedio 2 operaciones por sitio), el primer experimento trata sobre el impacto sobre la performance de los protocolos con transacciones cortas y largas que modifican la BD. El segundo experimento tiene que ver con el impacto de los protocolos ante transacciones que solo leen datos, en tanto que la última experiencia de simulación tiene que ver con las optimizaciones que se pueden llevar a cabo ante transacciones de solo lectura. A continuación se presenta un resumen de los resultados y conclusiones arribadas. [Chrysanthis et al., 1998]

4.4.1. Performance de ACP con Transacciones que

modifican la BD

La experiencia realizada busca medir el rendimiento (throughput) del sistema, considerando al mismo como el número total de transacciones cometidas por segundo con niveles de multiprogramación variantes. Estos niveles de multi programación representan el total de transacciones ejecutándose en un sitio dado y en un momento de tiempo.

El gráfico 4.1. representa, en el eje de las x el nivel de multiprogramación y en el eje de las y en rendimiento del sistema (número total de transacciones cometidas por segundo2). Las curvas de performance de todos los protocolos

comienzan una fase de crecimiento con un nivel de multiprogramación que va desde 4 a 8, desde ese punto comienzan a declinar. Este comportamiento del modelo de simulación se debe a la relación entre las transacciones ejecutadas vs. los recursos del sistema (CPU, disco, buffer de bitácora, el tiempo de transferencia desde y hacia disco), además este comportamiento se observa en todas las experiencias evaluadas. Como primer análisis, se puede asumir que a mayor número de transacciones en ejecución por sitio tienden a aparecer mayores conflictos, los que terminan aumentando el número de transacciones abortadas.

En el gráfico 4.1. se observan cinco curvas, correspondientes a los protocolos IYV, CL, PA y PC, descriptos en el apartado anterior y al protocolo denominado DECC. Este DECC representa la simulación del protocolo de ejecución distribuida y cometido centralizado; no se utiliza ninguna de las características de protocolos de cometido.

Analizando el gráfico 4.1. y en particular el pico de rendimiento obtenido (8 transacciones por sitio) las diferencias en la performance del sistema entre la mejor opción (DECC) y la peor (CL) es de aproximadamente 2.5 transacciones por segundo, 15% de diferencia en el rendimiento. En el caso del protocolo IYV, la performance es del orden de un 5% inferior a DECC, pero IYV sea mantiene superior al resto de las variantes analizadas. Se observa en el gráfico, además, que IYV se mantiene superior a PC y PA en un rango que va entre un 2.5 y 5%, si se tienen en cuenta todos los niveles de multiprogramación. Si se analiza IYV contra CL este rango de diferencia a favor de IYV oscila entre un 9 y un 10% a lo largo de los niveles de multiprogramación.

Es interesante, también, observar el comportamiento de PC y PA. Las líneas de performance entre ambos se entrecruzan, manteniéndose PA sobre PC para el rango de multiprogramación 4-7, se equiparan en 8, luego tiende a ser mejor PC, pero por una escasa diferencia. Se debe notar que para este estudio todas las transacciones alcanzan, en definitiva, el punto de cometido. Basándose en evaluaciones tradicionales de performance, este comportamiento no debería darse dado que PC tiene un menor número de mensajes para coordinar y escrituras en bitácora forzadas. Se puede notar que bajo cargas bajas de trabajo del sistema, el registro de iniciación que utiliza PC afecta su performance y lo hace inferior en performance a PA.

El gráfico 4.2. presenta los resultados obtenidos de la evaluación del modelo ante transacciones cortas que modifican la BD. Comparando los

diferentes protocolos contra DECC, presenta un resultado del orden del 12% mejor que IYV, y del orden del 15% mejor que CL. Con respecto a PC y PA, los resultados son entre el 25 y 80 % de diferencia.

Gráfico 4.1. 0 5 10 15 20 25 4 5 6 7 8 9 10 11 12 13 14 Multiprogramación Re nd im ie nto (T h r ou gh p u t) DECC IYV CL PA PC

Sobre la experiencia realizada y el gráfico presentado se pueden realizar algunas observaciones. CL presenta resultados superiores a los obtenidos con PA y PC, en contraste con los resultados obtenidos con la experiencia anterior (transacciones largas). Este resultado se condice con las motivaciones propias que dieron como resultado CL, donde se asume que las transacciones cortas con alta probabilidad de ser cometidas alcanzan dicho estado [Stamos et al., 1993].

Grafico 4.2.

40

60

80

100

120

140

5

10

15

20

25

30

35

40

45

50

Multiprogramación

Re

nd

im

ie

nt

o

(T

h

r

ou

gh

p

u

t)

DECC

IYV

CL

PA

PC

Sin embargo, la performance de CL comienza a decaer más rápidamente luego de 25 transacciones (Multiprogramación) acercando sus resultados a PC. Por otro lado, IYV mejora la performance de PC consiguiendo un mayor margen en el rango entre 5 y 20 transacciones, luego comienza a decaer acercando el comportamiento a PC. En todo el rango de la simulación se comporta mejor que CL. La degradación rápida que sufre la performance de CL es producto a que cada participante que aborta una transacción debe esperar hasta que recibe los registros para hacer el retroceso (undo) desde el coordinador, dado que no guarda información para tal fin. Recién después de retroceder puede liberar todos los bloqueos que mantiene sobre los datos. Los otros protocolos contienen suficiente información para retroceder una transacción abortada y, por consiguiente, son menos perjudicados.

Otra conclusión que permite obtener el estudio realizado es la relación existente entre PC y PA, al estudiar la performance de ambos protocolos es posible observar como se incrementan notablemente la brecha entre ambos. Esta situación observada es debido al tipo de experimento realizado, donde se estudia por un lado transacción de longitud mayor y luego, por otro lado, transacciones de longitud “corta”. Este estudio muestra la diferencia de comportamiento entre ambos protocolos.

4.4.2. Performance de ACP con Transacciones de solo

lectura

Los resultados siguientes representan el estudio realizado utilizando mayormente transacciones de solo lectura (70% del total de transacciones). Este tipo de transacciones son, en general, la mayoría de las transacciones ejecutadas sobre una BD. El gráfico 4.3. presenta la performance de los protocolos de compromiso teniendo mayoría de transacciones de este estilo.

Si se comparan los gráficos 4.3. y 4.1. se ve que las “curvas” de performance de los protocolos se encuentra, en todos los casos, más arriba (en general en un 10%).

En este experimento, con transacciones de largo contenido, IYV sigue mostrando mejor performance sobre el resto de los casos, para todos los niveles de multiprogramación.

Si se analiza el gráfico 4.4, con transacciones cortas, también es posible observar una mejora de performance si se comparan los resultados con el gráfico 4.2. En este caso, CL se comporta por sobre el protocolo IYV. Este comportamiento se debe a que cuando las transacciones son de solo lectura no es necesario deshacer el trabajo en caso de producirse un aborto de la transacción, por lo tanto no es necesario que el coordinador envíe información al participante en ese caso. Se observa, además, que el protocolo PA alcanza un estado de continuo. Esto se debe a que el 70% de las transacciones son de lectura y no generan conflictos de lectura entre ellas, y porque una transacción de este estilo no aborta salvo que entre en conflicto. Lo anterior resulta en un número muy bajo de transacciones abortadas y en la estabilidad del protocolo.

Dentro de los estudios analizados, [Chrysanthis et al., 1998], se evaluaron los protocolos de compromiso utilizando un 70% de transacciones de lectura ante

optimizaciones como UV o la denominada optimización tradicional3. Se pueden

mencionar las siguientes características observadas: (1) IYV y CL no presentan mejoras significativas con transacciones de larga duración, (2) PA y PC presentan, ante las mismas transacciones, mejoras acercando sus resultados un 3% (en promedio) a IYV y CL.

Gráfico 4.3. 0 5 10 15 20 25 4 5 6 7 8 9 10 11 12 13 14 Multiprogramación Re nd im ie nt o (Th r o u g h p u t) DECC IYV CL PA PC

En el caso de las denominadas transacciones cortas se pudo observar un marcado repunte de los métodos PC y PA, siendo este último el que presenta mejoras notables de performance. Estas mejoras permiten acercar los resultados de PA y PC a los obtenidos con CL e IYV; debiendo esta situación a la reducción de los mensajes de para coordinación o las escrituras forzadas en bitácora que presentan los métodos de optimización. Las mejoras obtenidas con el protocolo de presunción de aborto están en el orden de un 60 % si se compara los resultados sin utilizar optimización.

4.4.3. Resumen de resultados

Los resultados de las experiencias realizadas, y que se presentaron someramente en los apartados anteriores, muestran que IYV es mejor (o a lo sumo igual) que los otros protocolos evaluados en la mayoría de los estudios realizados (tanto para transacciones largas como cortas, de modificación o mayoritariamente de lectura). El estudio presentado no admitió la presencia de fallos en la ejecución del protocolo.

En general, el protocolo CL no obtuvo resultados superiores a IYV debido a los mensajes que son necesarios en caso de producirse un aborto de la

3 En este caso el coordinador envía un mensaje de solo lectura a cada participante que solo

debe leer, sin esperar a que en la bitácora del mismo aparezca un cometido. Además, los recursos son liberados en los participantes de solo lectura antes que las contrapartes de modificación finalicen.

transacción. Como la bitácora de cada participante no tiene información para retroceder la transacción, es necesario trasladar estos datos desde la bitácora del coordinador, con la consiguiente pérdida de performance del sistema. Como análisis final de CL se puede decir que: (1) es altamente influenciado, en cuanto a performance, por el tamaño de la transacción, y (2) la performance se degrada notoriamente cuando aumenta el número de transacciones simultáneas atendidas por un sitio o localidad participante (lo que se denominó nivel de multiprogramación).

Gráfico 4.4.

40 60 80 100 120 140 5 10 15 20 25 30 35 40 45 50 Multiprogramación R e n d im ien to (Th r o u g h p u t) DECC IYV CL PA PC

Con respecto a las variantes de 2PC (PA y PC), la elección del protocolo tiene un impacto muy bajo sobre la performance para los casos de transacciones largas, si bien esto no ocurre en el caso de transacciones cortas. PC mostró mejores resultados que los obtenidos por PA, especialmente en transacciones cortas.

Como evaluación final, [Chrysanthis et al., 1998], el protocolo IYV debería ser el elegido para DBMS que manejen Gbytes de información distribuida a lo largo de una red y que el mismo debería ser reemplazado por PC en caso que las suposiciones que obliga IYV a aplicar no pudieran llevarse a cabo.

Posteriormente, en el capítulo 5, se presenta el modelo de simulación y los resultados obtenidos por el autor respecto de la evaluación de los protocolos. En este caso, los estudios comprendieron los protocolos 2PC y 3PC (en su forma pura), PA, PC y el protocolo optimista (PO) definido oportunamente.