Log file regular expression pattern matching and capture with GPUs
Title (trans.)
Captura de patrones en archivos de logs mediante el uso de expresiones regulares en GPUsAuthor
Pinto Silva, Antonio LuisEntity
UAM. Departamento de Tecnología Electrónica y de las ComunicacionesDate
2016-09Subjects
InformáticaNote
Máster Universitario en Investigación e Innovación en Tecnologías de la Información y las ComunicacionesEsta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional.
Abstract
The information contained in a system is normally stored into log files. Most of
the time, these files store the information in plain text with many not formatted information.
It is then necessary to extract parts of this information to be able to understand what is going
on such system. Currently, such information can be extracted using programs that make use
of extended regular expressions. The use of regular expressions allows the search of patterns
but it can be also used to extract data from the searched pattern. Most of the programs that
implement regular expressions are based on finite automatas, such as non-deterministic (NFA)
or deterministic (DFA). We aim to explore the use of finite automatas to extract data from log
files using a Graphic Processor Unit (GPU) device to speedup the process. Moreover, we will
also explore data parallelism over the lines present on the log file. Currently, the work done in
GPU with regular expressions is limited to matching tasks only, without any capture feature.
We present a solution that solves this lack of pattern capture in current implementations. Our
development uses as base the implementation of TNFA and converts it to a TDFA before running
the GPU task. We explore the new CUDA feature named unified memory, supported since CUDA
6, together with streams to achieve the best possible performance in our GPU implementation.
Using real log files and regular expressions made to extract specific data, our evaluation shows
that it can be up to 9 faster than the sequential implementation. La información contenida en un sistema normalmente se almacena en archivos
de registros, conocidos comúnmente como logs. La mayor parte de las veces, estos archivos
almacenan la información en texto plano, con mucha información sin formatear. Por ello es
necesario extraer partes de esta información, de forma que se pueda saber qué está ocurriendo en
dicho sistema. Actualmente, esta información se puede extraer usando programas que aprovechan
las expresiones regulares extendidas. Su uso permite la búsqueda de patrones, pero también
se pueden emplear para extraer datos del patrón buscado. La mayoría de los programas que
implementan expresiones regulares se basan en autómatas finitos, tales como los no deterministas
(NFA) y los deterministas (DFA). El objetivo de este Trabajo Fin de Máster es explorar el uso de
autómatas finitos para extraer datos de archivos de log usando una GPU para acelerar el proceso.
Es más, también exploramos el paralelismo que se puede aplicar sobre las líneas de un archivo
de log. En la actualidad, el trabajo realizado con GPUs y expresiones regulares se limita a tareas
de búsqueda de patrones, sin ninguna funcionalidad de captura. Presentamos una solución que
resuelve esta falta de funcionalidad en las implementaciones actuales. Nuestro desarrollo usa
como base una implementación de TNFA y la convierte a TDFA antes de ejecutar la tarea
en la GPU. Exploramos la nueva funcionalidad de CUDA denominada memoria unificada, que
se soporta desde la versión 6 de CUDA, así como el uso de flujos o streams para alcanzar
el mejor rendimiento posible en nuestra implementación en GPU. Al usar archivos de log
reales y expresiones regulares para extraer datos específicos, nuestra evaluación muestra que
la implementación paralela es hasta 9 veces más rápida que la implementación secuencial.
Files in this item
Google Scholar:Pinto Silva, Antonio Luis
This item appears in the following Collection(s)
Except where otherwise noted, this item's license is described as https://creativecommons.org/licenses/by-nc-nd/4.0/
Related items
Showing items related by title, author, creator and subject.
-
Matching regular expressions on uncertain data = Búsqueda de patrones sobre datos con incertidumbre
Gil Carvajal, Arturo
2018-06 -
A case study on grammatical-based representation for regular expression evolution
González-Pardo, Antonio; Barrero, David F.; Camacho, David; R-Moreno, María Dolores
2010