Monday, January 19, 2015

Identificar de forma instantánea irregular Batería Problemas Strain energía en los teléfonos móviles (3)

3 fases de ejecución de aplicaciones para teléfonos inteligentes

Para identificar la aplicación o sistema problemático para un problema ABD, es fundamental diferenciar anormal del uso normal de la batería. Es natural centrarse inmediatamente en la aplicación que es el mayor consumidor de la batería como se informa por teléfono DG800 una energía pro fi ler. Desafortunadamente, como se muestra en la Figura 2 de un caso real, tal enfoque no siempre funciona porque el rango de una aplicación en el informe de consumo de la batería puede fluctuar en el tiempo. El reto es que no hay ninguna diferencia clara entre períodos normales y anormales. Así, la energía per fi les y rango no son indicadores confiables para problemas ABD solución de problemas. Además, la Figura 2 muestra que los cambios en el consumo de batería o rango de una aplicación también no son indicadores precisos para las conductas anormales por razones similares.

Para identificar los comportamientos anormales de aplicaciones, eDoctor pide prestado un concepto llamado "fases" de un trabajo previo para reducir el tiempo de simulación de hardware [16, 19, 23, 28, 38, 44, 45]. El trabajo previo ha demostrado que los programas se ejecutan como un XIAOMI MI4http://es.pandawill.com/xiaomi-mi4-smartphone-3gb-16gb-snapdragon-801-25ghz-50-inch-fhd-screen-glonass-black-p91633.html serie de teléfonos de fases, donde cada fase es muy diferente de los demás sin dejar de tener un comportamiento bastante homogéneo entre los diferentes intervalos de ejecución dentro de la misma fase. Hardware investigadores simulan las fases representativas para evaluar su diseño en lugar de toda la ejecución [45].

Fase Identi fi cación. Inspirado por el trabajo anterior, eDoctor utiliza fases para capturar el comportamiento de una aplicación en términos de uso de recursos. La ejecución de una aplicación se divide en intervalos de ejecución, que luego se agrupan en fases. Intervalos en los teléfonos comparten similares patrones de uso de recursos misma fase DG800. Cuando una aplicación empieza a consumir la energía de una manera anormal, su comportamiento por lo general se manifiesta como nuevas fases importantes que no aparecen durante la ejecución normal. Combinando la información de fase junto con eventos relevantes, tales como un cambio con fi guración, eDoctor puede identificar tanto la aplicación culpable y desencadenar eventos con gran precisión.

Antes comportamientos trabajo de simulación de hardware de arquitectura estudiado relacionados (por ejemplo, la relación de error de caché), por lo capturaron fases basadas en la información a nivel de instrucción, como vector de bloque básico (BBV). Sin embargo, dicha información ne de grano fi no es adecuado para la identificación de las fases de uso de recursos, ya que no se correlaciona directamente a los recursos de uso. XIAOMI MI4 aplicaciones de teléfonos son diferentes de la mayoría de las aplicaciones de escritorio o servidor - por lo general son relativamente simples y no computacionalmente intensivas, sino más bien de E / S intensiva, interactuando con múltiples recursos (dispositivos), tales como la pantalla, GPS, varios sensores, Wi-Fi , etc. estos recursos son consumo de energía, por lo que mis-uso o el uso excesivo de estos recursos conduce a problemas de ABD. Por lo tanto, podemos identificar las fases mediante la observación de cómo estos recursos son utilizados por una aplicación durante diferentes intervalos de ejecución.

Nuestro primer enfoque se inicia desde un nivel de grano grueso bastante registrando únicos tipos de recursos utilizados durante cada intervalo de ejecución. Nos referimos a este método como tipo de recurso vectorial (RTV). Se basa en un teléfono sencilla razón de DG800 que las diferentes fases de ejecución utilizan diferentes recursos. Por ejemplo, una aplicación cliente de correo electrónico utiliza la red cuando recibe o envía mensajes de correo electrónico. Pero cuando el usuario está redactando un correo electrónico, que utiliza el procesador y la pantalla. El esquema de RTV utiliza un vector de bits para capturar lo que los recursos se utilizan en un intervalo de ejecución. Cada bit indica si un cierto tipo de recurso se utiliza en este intervalo. Si dos intervalos tienen el mismo RTV, pertenecen a la misma fase.

Como se muestra en la Figura 3 (a) con los datos obtenidos de la aplicación de Facebook se utiliza en teléfonos XIAOMI MI4 de un usuario real, RTV muestra claramente algunos patrones y comportamientos de fase: durante las diferentes fases, se utilizan diferentes tipos de recursos, y las fases aparece varias veces durante diferentes intervalos. Como muestra la figura, la fase más frecuente es que sólo la CPU está en ejecución. En esta fase, la mayor parte de las veces la aplicación está inactivo. La segunda fase más frecuente tiene tanto la CPU y la red activa, que indica las transferencias de aplicaciones y procesa los datos.

Aunque el esquema de RTV es simple, resulta ser demasiado grano grueso. Una aplicación puede utilizar los mismos tipos de recursos en dos fases diferentes, pero sus tasas de uso de recursos diferentes. Por ejemplo, para una aplicación de correo electrónico, mientras que tanto la fase de actualización de correo electrónico y fase de lectura de correo electrónico utilizar la pantalla, CPU y de la red, las tasas de uso de recursos son diferentes. El primero tiene típicamente más trá fi co de red. Por lo tanto, hemos explorado un teléfono DG800http://es.pandawill.com/doogee-valencia-dg800-smartphone-creative-back-touch-android-44-mtk6582-45-inch-otg-p89143.html segundo scheme- Uso de recursos vectorial (RUV). Cada elemento en un RUV es la cantidad de uso del recurso correspondiente.

Calculamos el uso de un recurso por la cantidad del recurso normalizado por el tiempo de CPU. El intervalo de ejecución no puede ser demasiado pequeña para controlar la sobrecarga de medición, por lo que una aplicación puede funcionar por sólo una fracción de un intervalo de ejecución. En ese caso, los números absolutos de uso no pueden representar con precisión el comportamiento de uso. Tiempo de CPU es una buena aproximación de la cantidad de tiempo que una aplicación se ejecuta en realidad. La normalización de tiempo de CPU nos permite correlacionar dos intervalos que pertenecen a la misma fase, incluso si la aplicación se ejecuta durante diferentes cantidades de tiempo en cada intervalo.

Si dos intervalos de ejecución tienen RUV similares, pertenecen a la misma fase. Al igual que en trabajos anteriores [45], se utiliza el algoritmo de k-medias a intervalos de racimo en fases. Para hallar la k más adecuado (es decir, el número de grupos para generar), eDoctor trata diferente k comprendido entre el 1 al 10 en tiempo de ejecución. Para cada k, se evalúa la calidad de los racimos mediante el cálculo de la distancia media entre los grupos sectoriales dividido por la distancia media intra-cluster como una puntuación teléfono XIAOMI MI4. A mayor puntuación, mejor los grupos fi cio de los datos. Desde la mejor k es probable que sea el más grande k intenta, recogemos la k más pequeño cuya puntuación es tan alta como el 90% de la mejor puntuación.

La Figura 3 (b) muestra el comportamiento de fase RUV utilizando los mismos datos. Como muestra, RUV capta una fase más en comparación con las fases divididas por teléfono DG800 RTV, permitiendo eDoctor para diferenciar aún más entre el uso de baja y alta de la red. Más especí fi camente, fase # 3 y # 4 fase ambos tienen el uso de CPU, wakelock y de la red, pero la fase # 4 tiene un mayor uso de la red. Se providesmore información-ne fi grano con respecto al comportamiento de fase de una aplicación.

No comments:

Post a Comment