• No se han encontrado resultados

ATRIBUTO DE CALIDAD: DESEMPEÑO

N/A
N/A
Protected

Academic year: 2021

Share "ATRIBUTO DE CALIDAD: DESEMPEÑO"

Copied!
25
0
0

Texto completo

(1)

ATRIBUTO DE CALIDAD:

DESEMPEÑO

(2)

Introducción

 

Desempeño: Rapidez con que el sistema realiza su

actual carga de trabajo

 

Escalabilidad: Se enfoca en la previsibilidad del

desempeño del sistema a medida que la caga de

trabajo aumenta

(3)

Preocupaciones

 

Tiempo de Respuesta

 Grado de reacción: La rapidez del sistema en responder a la carga de trabajo de rutina, p.e. solicitudes interactivas de usuarios  Segundos  Ejemplo: Bajo una carga de 350 transacciones de

actualización por minuto, el 98% de las transacciones debe retornar el control al usuario dentro de los

siguientes 3 segundos siguientes al envío de la solicitud vía Web

(4)

Preocupaciones (2)

 

Tiempo de Respuesta

 Tiempos de entrega: Tiempo tomado para completar tareas largas  Minutos u horas

 Ejemplo: Debe ser posible sincronizar el sistema con todas las estaciones de monitoreo de la línea de

producción y resetear la base de datos para reflejar el estado actual de dicha línea en no más de 5 minutos. Ninguna transacción de actualización será procesada durante dicho período de sincronización.

(5)

Preocupaciones (3)

 

Rendimiento

 Cantidad de carga de trabajo que el sistema es capaz de manejar en un periodo de tiempo

 Entre más corto sea el procesamiento de una

transacción, más alto es el rendimiento del sistema  A medida que el la carga del sistema aumenta, el

tiempo de respuesta de las transacciones individuales tiende a aumentar también

 Debido a esto es muy posible que las metas de rendimiento sean logradas sólo a expensas de las metas de tiempo de respuesta o viceversa

(6)

Preocupaciones (4)

 

Previsibilidad

 Transacciones similares deben ser completadas en cantidades muy similares de tiempo,

independientemente de cuando son ejecutadas  A menudo es una cualidad más deseable que el

rendimiento absoluto

 Ejemplo: Un sistema de servicio al cliente utilizado por agentes comerciales para obtener información de

clientes que efectúan solicitudes telefónicamente,

necesita ofrecer un tiempo predecible por transacción de 1 a 5 segundos

(7)

Aplicabilidad a Puntos de Vista

 

Funcional

 El análisis de desempeño puede revelar la necesidad de cambios y compromisos para lograr una estructura funcional adecuada

 Los modelos de esta vista pueden proporcionar entradas para la construcción de modelos de desempeño

(8)

Aplicabilidad a Puntos de Vista (2)

 

Información

 El análisis de desempeño puede identificar aspectos de la vista de información como obstáculos para el

cumplimiento de requisitos de desempeño  Este punto de vista permite:

 Identificar recursos compartidos y los requerimientos de

transaccionalidad para cada uno de ellos

 Sugerir elementos de esta vista que pueden ser

(9)

Aplicabilidad a Puntos de Vista (3)

 

Concurrencia

 El análisis de desempeño puede:

 Identificar problemas como el uso excesivo de un recurso

clave en un momento determinado

 Resultar en que la concurrencia se convierta en el

elemento de diseño más importante

 Los elementos de esta vista (i.e. Mecanismos de

comunicación entre componentes - Conectores) pueden proporcionar métricas de calibración para los modelos de desempeño

(10)

Aplicabilidad a Puntos de Vista (4)

 

Despliegue

 El análisis de desempeño normalmente sugiere cambios y refinamientos en el ambiente de despliegue del

sistema

 A su vez, muchas partes de los modelos de desempeño son derivados de los contenidos de esta vista, ya que proporcionan un número de métricas críticas de

(11)

Actividades

(12)

Actividades (2)

1. 

Capturar los requerimientos de desempeño

  Especificar requisitos de tiempo de respuesta   Especificar requisitos de rendimiento

  Especificar requisitos de escalabilidad

2. 

Crear modelos de desempeño

  Identificar la estructura crítica de desempeño   Identificar las métricas claves de desempeño   Estimar las métricas de desempeño

(13)

Actividades (3)

3. 

Analizar los modelos de desempeño

  Caracterizar la carga de trabajo: Priorizar y estimar el volumen de cada tipo de requisitos que el sistema debe manejar

  Estimar el desempeño

4. 

Ejecutar pruebas prácticas

  Medir las métricas de desempeño

5. 

Evaluar contra los requerimientos

6. 

Rehacer la arquitectura

(14)

Pensando acerca de Desempeño

 

La meta de las tácticas de desempeño es generar

una respuesta a un evento que llega al sistema

dentro de alguna restricción de tiempo

 

Dos aspectos básicos a tener en cuenta son:

 Consumo de recursos

 Tiempo de bloqueo de recursos

 

Luego de que un evento llega, el sistema está

procesando dicho evento o el procesamiento está

bloqueado por alguna razón

(15)

Pensando acerca de Desempeño (2)

 

Consumo de Recursos

 Unidad Central de Procesamiento (CPU)  Unidades de almacenamiento de datos  Ancho de banda

 Memoria

 

Tiempo de Bloqueo

 Un cálculo puede ser bloqueado porque:

 El recurso está en uso

 El recurso no está disponible

 El cálculo depende del resultado de otros cálculos que no

(16)

Ejemplo de Modelo de Desempeño

  Latencia (tiempo para ejecutar un evento)

Puede sólo ser afectada por el cambio en uno de los parámetros

  Parameters:   Arrival rate   Scheduling algorithm   Service time   Topology   Network bandwidth   Routing algorithm

(17)

Administrando Desempeño

  Las decisiones de arquitectura deben controlar los

parámetros de un modelo de desempeño:

  Arrival rate  Restringir acceso a recursos   Service time

  Incrementar la eficiencia computacional (algoritmos)

  Reducir la sobrecarga (reducir comunicación entre procesos, usar pools de threads, utilizar pool de conexiones a bases de datos, etc.)   Utilizar procesadores rápidos

  Scheduling algorithm  First-Come First Served (FCFS),

priridades dinámicas, etc.

  Topology  Adicionar/eliminar procesadores

  Network bandwidth  Redes rápidas

(18)

Architectural Tactics

 

Performance tactic categories and their goals:

  Control Resource demand: Reduce or manage the demand

for resources

  Manage Resources: Manage resources even though the

demand for resources is not controllable

  Arbitrate Resources: Control contention for resources

(19)

Architectural Tactics (2)

 

Resource demand:

 Increase computational efficiency: Improving

algorithms used in critical areas will have the effect of decreasing latency

 Reduce computational overhead: reducing the need for and use of resources, thereby reducing processing  Manage event rate: Reducing the arrival rate of

variables to which the system monitors or responds

 Control frequency of sampling: Queuing the arrival of events and sample at a lower frequency

(20)

Architectural Tactics (3)

 

Resource management:

 Introduce concurrency: Processing requests in parallel thereby reducing blocked time

 Maintain multiple copies: Reducing the contention that would occur if all data were accessed at a single location or computations were performed on a single resource

  Increase available resources: using more and/or faster processors, more and/or faster memory, more and/or faster networks, and so forth

(21)

Architectural Tactics (4)

 

Resource arbitration:

 Scheduling policy: Analyzing the usage characteristics of each resource and choose compatible scheduling strategies

 First in first out: Treats all requests as equals

 Fixed priorities: Assigns resources in fixed order of priority

  Dynamic priorities: Re-orders priorities (round robin) or schedule those resources with the earliest deadlines   Static scheduling: Preemption and the sequence of

priority assignments are determine offline (compile time)

(22)
(23)

Algunos problemas

 

Metas imprecisas de desempeño

 

Construcción de modelos poco realistas

 

Partición de procesamiento inapropiado

 

Supuestos inválidos con respecto al ambiente y la

plataforma

 

Poca importancia a la ubicación física de los

recursos

(24)

Material preparado por

(25)

Referencias

1.  Rozanski Nick, Woods Eoin. Presentation on Software

Architecture with Viewpoints and Perspectives. BCS SPA

Specialist Group, 6th July 2005

2.  Len Bass et Al. Software Architecture in Practice.

Second Edition, Addison Wesley, 2007

3.  Len Bass, Paul Clements, Rick Kazman. Aspectos

Avanzados en Arquitectura de Software. Universidad de

Referencias

Documento similar

Comput. Determining Biophysical Parameters for Olive Trees Using CASI-Airborne and Quickbird-Satellite Imagery.. Mapping Soil Properties and Delineating Management Zones Based

Three tuning algorithms, a classic optimization algorithm, genetic algorithm (GA), a metaheuristic optimization algorithm, Bacterial Foraging Technique based Particle

considered as a crucial challenge in WSNs and there is a trade-off between energy-efficiency and QoS parameters [1, 3-5]. On the other hand, non- uniform energy consumption and

The optimization problem of a pseudo-Boolean function is NP-hard, even when the objective function is quadratic; this is due to the fact that the problem encompasses several

The exact matching algorithm (BS algorithm) is typically query latency bound, since many cycles are lost waiting for data (idle time in Fig. 4), wasting part of the available mem-

Specifically, given a fixed obser- vation time interval there exists a tradeoff between accuracy and false alarm probability in our algorithm: the lower the additional service

(3) Objectives of the proposed mapping-scheduling algorithm: The algorithm proposed in this paper aims at mapping and scheduling the tasks of a given TCDFD on the hardware

Results show that the algorithms can provide an estimation of the performance required by each service, and that the throughput computation algorithm and the graph-based time