Implementaci - PowerPoint PPT Presentation

About This Presentation
Title:

Implementaci

Description:

Construir una implementaci n de la versi n 5 del benchmark de ... de la base de datos de unos ficheros intermedios a los registros de la base de datos. ... – PowerPoint PPT presentation

Number of Views:50
Avg rating:3.0/5.0
Slides: 28
Provided by: Ani555
Category:

less

Transcript and Presenter's Notes

Title: Implementaci


1
Implementación en C del benchmark de
transacciones distribuidas TPC-C.
  • Autores
  • Julio A. Hernández Gonzalo.
  • Eduardo Hernández Perdiguero.
  • Tutor
  • Diego R. Llanos Ferraris.
  • Departamento de Informática
  • Escuela Universitaria Politécnica
  • Universidad de Valladolid

2
Introducción
  • Benchmark programa que mide el rendimiento de un
    sistema.
  • Objetivo
  • Construir una implementación de la versión 5 del
    benchmark de transacciones distribuidas TPC-C
  • Multiplataforma. Comparación de máquinas
    UNIX/linux.
  • Libre distribución.
  • Medir el rendimiento de un cluster experimental
    en el Departamento de Informática.

El nombre adoptado para esta implementación ha
sido TPCC-UVA.
3
Introducción
  • TPC-C
  • Transaction Processing Performance Council (TPC).
  • No hay implementación de dominio público.
  • Simula un entrorno de aplicación OLTP (On-Line
    Transaction Processing).
  • Se compone de una serie de terminales que
    solicitan la ejecución de transacciones contra
    una base de datos.
  • La medida de rendimiento se expresa en tpmC
    transacciones por minuto.

4
Introducción
  • Por qué TPC-C?
  • Es un benchmark de base de datos.
  • Además de operaciones numéricas pone en juego
    otros recursos del sistema accesos a disco,
    entradas y salidas, comunicaciones...
  • La información resulta relevante en sectores
    comerciales.
  • TPC-C es uno de los benchmark de bases de datos
    más utilizados en la actualidad.

5
TPCC-UVA
  • Simula la actividad de una empresa de venta al
    por mayor con almacenes y distritos de ventas
    distribuidos geográficamente.

6
TPCC-UVA
  • Carga de trabajo un conjunto de terminales
    solicitan la ejecución de una mezcla de cinco
    tipos de transacciones.
  • Las transacciones son
  • New-Order Introduce una nueva orden.
  • Payment Pago de una orden.
  • Order-Status Consulta del estado de una orden.
  • Delivery Reparto de las órdenes de un almacén.
  • Stock-Level Consulta las existencias de los
    artículos.

7
TPCC-UVA
  • Las transacciones se ejecutan según una mezcla
    ponderada
  • New-Order
  • Payment
  • Order-Status
  • Delivery
  • Stock-Level
  • El número de New-Order ejecutadas por minuto
    determina la tasa de rendimiento tpmC.

N/D 40 4 4 4
43,47 43,47 4,35 4,35 4,35
8
TPCC-UVA
  • Base de datos
  • Se compone de nueve tablas con distintas
    características en cuanto a su esquema y
    cardinalidad.
  • El tamaño viene determinado por el número de
    almacenes.
  • Utilizamos SQL embebido en C para implementar las
    operaciones con la base de datos.
  • Utilizamos el motor postgreSQL-7.1.3 para
    gestionar el sistema de base de datos.

9
Esquema del TPCC-UVA
BD
Señales
Accesos a disco
Controlador de Limpiezas
Comunicación entre procesos
Bitácoras MT
Bitácora ETR
10
Esquema del TPCC-UVA
  • Controlador del benchmark.
  • Proporciona el interfaz con el usuario para el
    acceso a las operaciones del benchmark
  • Creación de una nueva base de datos.
  • Restauración de una base de datos existente.
  • Comprobación de las condiciones de consistencia
    de la base de datos.
  • Ejecución de un test de rendimiento.
  • Recuento de resultados del último test realizado.
  • Comprobación del estado de la base de datos.
  • Eliminación de la base de datos.

11
Esquema del TPCC-UVA
  • Emulador de Terminal Remoto -ETR-.
  • Emulación de Usuario
  • Selección de la siguiente transacción.
  • Generación de los datos de transacción.
  • Simulación de los tiempos de teclado y de pensar.
  • Emulación de terminal
  • Muestra los datos generados.
  • Muestra los datos resultantes de la ejecución de
    transacciones.

12
Esquema del TPCC-UVA
  • Emulador de Terminal Remoto -ETR-.
  • Envía las solicitudes de transacción y recibe los
    resultados.
  • Mide los tiempos de respuesta de las
    transacciones.
  • Registra en la bitácora los datos necesarios para
    el cálculo del rendimiento.

13
Esquema del TPCC-UVA
  • Monitor de Transacciones -MT-
  • Ejecuta las transacciones enviadas por los ETR
    según su orden de llegada.
  • Mide el tiempo de ejecución de la transacción
    Delivery.
  • Escribe en un fichero los resultados de la
    transacción Delivery.
  • Registra en una bitácora los posibles errores
    resultantes de la ejecución de las transacciones.

14
Esquema del TPCC-UVA
  • Controlador de Checkpoints.
  • Checkpoint operación en la que se trasladan las
    modificaciones de la base de datos de unos
    ficheros intermedios a los registros de la base
    de datos.
  • Realiza checkpoints periódicos.

15
Esquema del TPCC-UVA
  • Controlador de Limpiezas.
  • PostgreSQL mantiene información residual en la
    base de datos que relentiza las transacciones.
  • El Controlador de Limpiezas se encarga de
    realizar las limpiezas (vacuum) periódicamente
    sobre la base de datos.
  • El usuario decide realizar o no las limpiezas. De
    hacerlo determina el intervalo entre ellas.

16
Comunicaciones ETR - MT
  • Se utilizan los mecanismos IPC del estándar UNIX
    System V.

Memoria compartida
Semáforo de sincronismo
MT
Cola de mensajes
ETR
ETR
17
Ejecución del test de rendimiento
Periodo de rampa
Periodo de medida
Periodo de fin de test
Tiempo
18
Resultados obtenidos
  • Características del sistema
  • Procesador AMD Athlon XP 1900 (1,6GHz).
  • Disco duro 60 Gb a 7200 rpm.
  • Memoria Ram 512 Mb a 333 MHz.
  • Características del test
  • Cinco almacenes en la base de datos.
  • Periodo de rampa 20 minutos.
  • Periodo de medida 2 horas.
  • Sin limpiezas en la base de datos.
  • Rendimiento medido 61,375 tpmC.

19
Resultados obtenidos
Salida del programa
20
Resultados obtenidos
21
Resultados obtenidos
22
Resultados obtenidos
23
Resultados obtenidos.
24
Tests de larga duración
Test de 8 horas sin limpiezas
Test de 8 horas con limpiezas cada 60 minutos
Rendimiento medido 42,302 tpmC. Test fallido.
Rendimiento medido 55,956 tpmC. Test pasado.
25
Comentarios sobre la implementación
  • PostgreSQL no es capaz de mantener el rendimiento
    en tests de larga duración.
  • El Monitor de Transacciones utiliza una cola de
    mensajes para procurar el aislamiento de las
    transacciones.
  • Los resultados del TPCC-UVA no deben compararse
    con los obtenidos con otras implementaciones del
    TPC-C.

26
Conclusiones
  • Se ha construido una herramienta válida para
    medir el rendimiento de sistemas UNIX/Linux
    siguiendo las especificaciones del estándar
    TPC-C.
  • Se han comunicado los procesos mediante los
    mecanismos IPC del estándar UNIX System V.
  • Se ha utilizado como motor de base de datos
    postgreSQL. Gracias a ello TPCC-UVA puede
    distribuirse libremente.

www.infor.uva.es/diego/TPCC-UVA.htm
27
Conclusiones
  • Se ha realizado una traducción literal de las
    especificaciones de la versión 5 del benchmark
    TPC-C (130 páginas) para iniciar una línea de
    investigación en benchmarking.
  • Se ha escrito un artículo que ha sido aceptado y
    que será defendido en las Jornadas de Paralelismo
    de Lérida el próximo mes de Septiembre.

TPCC-UVA Implementación del TPC-C J. A.
Hernández, E. Hernández y D. R. Llanos. XIII
Jornadas de Paralelismo, Lérida, Septiembre 2002
Write a Comment
User Comments (0)
About PowerShow.com