82 research outputs found

    Intersection caching techniques in search engines

    Get PDF
    Los motores de búsqueda procesan enormes cantidades de datos (páginas web) paraconstruir estructuras sofisticadas que soportan la búsqueda. La cantidad cada vez mayorde usuarios e información disponible en la web impone retos de rendimiento y el procesamientode las consultas (queries) consume una cantidad significativa de recursos computacionales. En este contexto, se requieren muchas técnicas de optimización para manejaruna alta carga de consultas. Uno de los mecanismos más importantes para abordareste tipo de problemas es el uso de cachés (caching), que básicamente consiste en manteneren memoria items utilizados previamente, en base a sus patrones de frecuencia, tiempode aparición o costo. La arquitectura típica de un motor de búsqueda está compuesta por un nodo front-end (broker) que proporciona la interfaz de usuario y un conjunto (grande) de nodosde búsqueda que almacenan los datos y soportan las búsquedas. En este contexto, elalmacenamiento en caché se puede implementar en varios niveles. A nivel del broker semantiene generalmente un caché de resultados (results caché). Éste almacena la lista finalde los resultados correspondientes a las consultas más frecuentes o recientes. Además, uncaché de listas de posteo (posting list caché) se implementa en cada nodo de búsqueda. Este caché almacena en memoria las listas de posteo de términos populares o valiosos,para evitar el acceso al disco. Complementariamente, se puede implementar un caché deinterscciones (intersection caché) para obtener mejoras de rendimiento adicionales. Eneste caso, se intenta explotar aquellos pares de términos que ocurren con mayor frecuenciaguardando en la memoria del nodo de búsqueda el resultado de la intersección de lascorrespondientes listas invertidas de los términos (ahorrando no sólo tiempo de acceso adisco, sino también tiempo de CPU). Todos los tipos de caché se gestionan mediante una "política de reemplazo", la cualdecide si va a desalojar algunas entradas del caché en el caso de que un elemento requieraser insertado o no. Esta política desaloja idealmente entradas que son poco probablesde que vayan a ser utilizadas nuevamente o aquellas que se espera que proporcionen unbeneficio menor. Esta tesis se enfoca en el nivel del Intersection caché utilizando políticas de reemplazoque consideran el costo de los items para desalojar un elemento (cost-aware policies). Se diseñan, analizan y evalúan políticas de reemplazo estáticas, dinámicas e híbridas,adaptando algunos algoritmos utilizados en otros dominios a éste. Estas políticas secombinan con diferentes estrategias de resolución de las consultas y se diseñan algunasque aprovechan la existencia del caché de intersecciones, reordenando los términos de laconsulta de una manera particular. También se explora la posibilidad de reservar todo el espacio de memoria asignadaal almacenamiento en caché en los nodos de búsqueda para un nuevo caché integrado (Integrated caché) y se propone una versión estática que sustituye tanto al caché de listasde posting como al de intersecciones. Se diseña una estrategia de gestión específica paraeste caché que evita la duplicación de términos almacenados y, además, se tienen en cuentadiferentes estrategias para inicializar este nuevo Integrated caché. Por último, se propone, diseña y evalúa una política de admisión para el caché deintersecciones basada en principios del Aprendizaje Automático (Machine Learning) quereduce al mínimo el almacenamiento de pares de términos que no proporcionan suficientebeneficio. Se lo modela como un problema de clasificación con el objetivo de identificarlos pares de términos que aparecen con poca frecuencia en el flujo de consultas. Los resultados experimentales de la aplicación de todos los métodos propuestos utilizandoconjuntos de datos reales y un entorno de simulación muestran que se obtienenmejoras interesantes, incluso en este hiper-optimizado campo.Search Engines process huge amounts of data (i.e. web pages) to build sophisticated structuresthat support search. The ever growing amount of users and information availableon the web impose performance challenges and query processing consumes a significantamount of computational resources. In this context, many optimization techniques arerequired to cope with heavy query trafic. One of the most important mechanisms toaddress this kind of problems is caching, that basically consists of keeping in memorypreviously used items, based on its frequency, recency or cost patterns. A typical architecture of a search engine is composed of a front-end node (broker)that provides the user interface and a cluster of a large number of search nodes that storethe data and support search. In this context, caching can be implemented at severallevels. At broker level, a results cache is generally maintained. This stores the finallist of results corresponding to the most frequent or recent queries. A posting list cacheis implemented at each node that simply stores in a memory buffer the posting lists ofpopular or valuable terms, to avoid accessing disk. Complementarily, an intersectioncache may be implemented to obtain additional performance gains. This cache attemptsto exploit frequently occurring pairs of terms by keeping the results of intersecting thecorresponding inverted lists in the memory of the search node (saving not only disk accesstime but CPU time as well). All cache types are managed using a so-called "replacement policy" that decideswhether to evict some entry from the cache in the case of a cache miss or not. This policyideally evicts entries that are unlikely to be a hit or those that are expected to provideless benefit. In this thesis we focus on the Intersection Cache level using cost-aware caching policies,that is, those policies that take into account the cost of the queries to evict an itemfrom cache. We carefully design, analyze and evaluate static, dynamic and hybrid costawareeviction policies adapting some cost-aware policies from other domains to ours. These policies are combined with different query-evaluation strategies, some of them originallydesigned to take benefit of the existence of an intersection cache by reordering thequery terms in a particular way. We also explore the possibility of reserving the whole memory space allocated tocaching at search nodes to a new integrated cache and propose a static cache (namely Integrated Cache) that replaces both list and intersection caches. We design a specificcache management strategy that avoids the duplication of cached terms and we alsoconsider different strategies to populate the integrated cache. Finally, we design and evaluate an admission policy for the Intersection Cache basedin Machine Learning principles that minimize caching pair of terms that do not provideenough advantage. We model this as a classification problem with the aim of identifyingthose pairs of terms that appear infrequently in the query stream. The experimental results from applying all the proposed approaches using real datasetson a simulation framework show that we obtain useful improvements over the baselineeven in this already hyper-optimized field.Fil: Tolosa, Gabriel Hernán. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina

    Using Big Data Analysis to Improve Cache Performance in Search Engines

    Get PDF
    Web Search Engines process huge amounts of data to support search but must run under strong performance requirements (to answer a query in a fraction of a second). To meet that performance they implement different optimization techniques such as caching, that may be implemented at several levels. One of these caching levels is the intersection cache, that attempts to exploit frequently occurring pairs of terms by keeping in the memory of the search node the results of intersecting the corresponding inverted lists. In this work we propose an optimization step to decide which items should be cached and which not by introducing the usage of data mining techniques. Our preliminary results show that it is possible to achieve extra cost savings in this already hyper-optimized field.Sociedad Argentina de Informática e Investigación Operativa (SADIO

    Arquitectura compañero a compañero (P2P) para un servicio de búsqueda distribuida en el espacio web

    Get PDF
    El presente trabajo define una arquitectura para soportar un servicio de búsquedas distribuidas en el espacio web, como alternativa a los motores de búsqueda tradicionales. Dicha arquitectura se basa en el modelo de comunicaciones denominado compañero a compañero (P2P), en el cual todos los nodos participantes de una red son capaces de generar y contestar consultas de otros nodos. En los últimos años han surgido aplicaciones en Internet basados en el modelo P2P que permiten que computadoras de usuario final se conecten directamente para formar comunidades, cuya finalidad sea el compartir recursos y servicios computacionales. Bajo este esquema, se toma ventaja de recursos existentes en los extremos de la red, tales como tiempo de CPU y espacio de almacenamiento. Por otro lado, se han planteado algunos inconvenientes directamente relacionados con las búsquedas en el espacio web utilizando los motores de búsqueda tradicionales, basados –en general– en arquitecturas centralizadas. El tamaño actual del espacio web, su constante crecimiento y la frecuencia de actualización de contenidos generan una serie de importantes problemas, entre los cuales se encuentran el mantenimiento de los índices, su limitada cobertura y el aumento de la proporción de respuestas irrelevantes. Se desarrolla un modelo de consulta distribuida entre sitios de una red que cooperan, tratando de potenciar sus capacidades. La arquitectura propuesta, denominada IndiSE, tratar de minimizar estos problemas a partir de cambiar la naturaleza centralizada de los motores de búsqueda tradicionales y plantear un modelo distribuido. En este sentido, quien posee la información es capaz de contestar a una consulta determinada, es decir, los proveedores de información se convierten –además– en proveedores del servicio de búsqueda, operando sobre su propio dominio. La contribución principal del trabajo se encuentra básicamente en los desarrollos de un middleware –denominado gnutWare– que permite a las aplicaciones acceder a una red de propagación de mensajes inespecíficos y el sistema de búsquedas distribuidas IndiSE. En el primer caso, el prototipo de middleware aporta: - Un modelo operativo de utilización de una red basada en el protocolo Gnutella como infraestructura de intercambio de mensajes inespecíficos. - Un modelo de comunicación entre aplicaciones de usuario final, a través de una red P2P de mensajes. - Una arquitectura sencilla y robusta para implementar servicios distribuidos sobre redes compañero a compañero. - Una interfaz normalizada para aplicaciones que requieren acceder a la red de transporte de mensajes, para operar en un ambiente distribuido. En el segundo caso, la arquitectura IndiSE aporta: - Un diseño modular de un sistema que permite soportar búsquedas distribuidas en el espacio web. - Una interface sencilla para usuarios finales que les permite acceder a búsquedas en paralelo sobre un repositorio de información distribuido. - Una arquitectura simple que utiliza los motores de búsqueda internos de cada proveedor de información, lo que brinda a los mismos mayor control sobre las tareas de indexación y consulta.Facultad de Informátic

    Inverted Index Entry Invalidation Strategy for Real Time Search

    Get PDF
    The impressive rise of user-generated content on the web in the hands of sites like Twitter imposes new challenges to search systems. The concept of real-time search emerges, increasing the role that efficient indexing and retrieval algorithms play in this scenario. Thousands of new updates need to be processed in the very moment they are generated and users expect content to be “searchable” within seconds. This lead to the develop of efficient data structures and algorithms that may face this challenge efficiently. In this work, we introduce the concept of index entry invalidator, a strategy responsible for keeping track of the evolu- tion of the underlying vocabulary and selectively invalidóte and evict those inverted index entries that do not considerably degrade retrieval effectiveness. Consequently, the index becomes smaller and may increase overall efficiency. We study the dynamics of the vocabulary using a real dataset and also provide an evaluation of the proposed strategy using a search engine specifically designed for real-time indexing and search.XII Workshop Bases de Datos y Minería de Datos (WBDDM)Red de Universidades con Carreras en Informática (RedUNCI

    Improving Real Time Search Performance using Inverted Index Entries Invalidation Strategies

    Get PDF
    The impressive rise of user-generated content on the web in the hands of sites like Twitter imposes new challenges to search systems. The concept of real-time search emerges, increasing the role that efficient indexing and retrieval algorithms play in this scenario. Thousands of new updates need to be processed in the very moment they are generated and users expect content to be “searchable” within seconds. This lead to the develop of efficient data structures and algorithms that may face this challenge efficiently. In this work, we introduce the concept of index entry invalidator, a strategy responsible for keeping track of the evolution of the underlying vocabulary and selectively invalidate and evict those inverted index entries that do not considerably degrade retrieval effectiveness. Consequently, the index becomes smaller and may increase overall efficiency. We introduce and evaluate two approaches based on Time-to-Live and Sliding Windows criteria. We also study the dynamics of the vocabulary using a real dataset while the evaluation is carry out using a search engine specifically designed for real-time indexing and search.Facultad de Informátic

    Efecto de los <i>trending topics</i> en el volumen de consultas a los motores de búsqueda

    Get PDF
    Las redes sociales se han convertido en aplicaciones muy populares en Internet, principalmente para publicar información y comunicarse en grupos. Una caso bien conocido es Twitter, considerado un servicio de microblogging. Aquí se generan temas que se vuelven muy populares en la red social en un determinado momento, denominados trending topics (TT). En este trabajo se intenta determinar el efecto de estos temas en cuanto al volumen de consultas enviadas a un motor de búsqueda web. Para ello, se utiliza información de Twitter y tendencias de búsqueda. Los resultados iniciales muestran indicios de que los trending topics se utilizan luego para consultas al buscador: aproximadamente el 65% de las consultas muestran un aumento del interés cuando son TT e - inclusive - entre el 44% y 59% obtienen su pico de inter és. Estos resultados se consideran indicios positivos respecto de la hipótesis planteada abriendo oportunidades de aprovechamiento de esta información para optimizar procesos internos de un motor de búsqueda.X Workshop bases de datos y minería de datosRed de Universidades con Carreras en Informática (RedUNCI

    Algoritmos Eficientes y Datos Masivos en Búsquedas a Gran Escala

    Get PDF
    La cantidad, diversidad y dinamismo de la información distribuida por diferentes servicios en Internet presenta múltiples desafíos a los sistemas de búsquedas. Por un lado, los usuarios requieren de herramientas que les ayuden a resolver problemas en tiempo y forma. Por otro, el escenario cada vez más grande y complejo y exige el diseño de algoritmos y estructuras de datos que permitan mantener (y mejorar) la eficiencia, tanto en calidad de las respuestas como en tiempo. Si bien las búsquedas sobre conjuntos masivos de información pueden adquirir formas diversas, una de las aplicaciones más utilizadas son los motores de búsqueda. Éstos son sistemas distribuidos de altas prestaciones que se basan en estructuras de datos y algoritmos altamente eficientes. Esta problemática tiene aún muchas preguntas abiertas y – mientras se intentan resolver cuestiones – aparecen nuevos desafíos. En este proyecto se propone el diseño y evaluación de estructuras de datos y algoritmos eficientes junto con análisis de datos masivos (big data) para mejoras procesos internos de un motor de búsqueda. Para ello, exploran y explotan tanto el contenido y la estructura de la web como el comportamiento de los usuarios.Eje: Bases de Datos y Minería de DatosRed de Universidades con Carreras en Informática (RedUNCI

    Efecto de los <i>trending topics</i> en el volumen de consultas a los motores de búsqueda

    Get PDF
    Las redes sociales se han convertido en aplicaciones muy populares en Internet, principalmente para publicar información y comunicarse en grupos. Una caso bien conocido es Twitter, considerado un servicio de microblogging. Aquí se generan temas que se vuelven muy populares en la red social en un determinado momento, denominados trending topics (TT). En este trabajo se intenta determinar el efecto de estos temas en cuanto al volumen de consultas enviadas a un motor de búsqueda web. Para ello, se utiliza información de Twitter y tendencias de búsqueda. Los resultados iniciales muestran indicios de que los trending topics se utilizan luego para consultas al buscador: aproximadamente el 65% de las consultas muestran un aumento del interés cuando son TT e - inclusive - entre el 44% y 59% obtienen su pico de inter és. Estos resultados se consideran indicios positivos respecto de la hipótesis planteada abriendo oportunidades de aprovechamiento de esta información para optimizar procesos internos de un motor de búsqueda.X Workshop bases de datos y minería de datosRed de Universidades con Carreras en Informática (RedUNCI

    Multicompresión de grandes listas de enteros para sistemas de búsquedas

    Get PDF
    La búsqueda en grandes repositorios de documentos (como la web) exige que los sistemas se ejecuten bajo estrictas restricciones de performance. En la actualidad, dada la cantidad de documentos que un sistema gestiona, resulta indispensable aplicar técnicas tales como la compresión de las estructuras de datos. Particularmente, aquí se aborda el problema de la compresión de un índice invertido mediante un esquema “multicompresión” que procesa diferentes porciones de una lista utilizando diversos codees. Los resultados preliminares muestran que es posible compensar el overhead requerido para mantener este esquema, mientras que se mejora el tiempo de descompresión.Sociedad Argentina de Informátic

    Indexación distribuida con restricción de recursos

    Get PDF
    En la actualidad, las organizaciones de todo tipo y tamaño tienen a su disposición grandes volúmenes de información a muy bajo costo. Aún más, aumentan su capacidad de generar datos y, por consiguiente, una necesidad intrínseca de almacenarlos y procesarlos. El paradigma actual para el gestión de datos masivos, conocido como Big Data, ofrece técnicas, algoritmos y plataformas desarrollados específicamente en este contexto. Una de las plataformas más utilizadas es Hadoop y su implementación del paradigma de programación MapReduce. En este trabajo se aborda el problema de la indexación distribuida con restricción de recursos. Se cuenta con un número máximo de nodos de computo con características de equipo de escritorio. Los experimentos variando el tamaño de la entrada muestran que se escala linealmente en las configuraciones estudiadas aunque el speedup resultante es bajo.Sociedad Argentina de Informática e Investigación Operativa (SADIO
    corecore