Summary: | Multicore processors are common in server systems sold today. Writingapplication software that takes advantage of such systems, not to mentionadopting existing software to the parallel domain, is complex. Workloads such asweb servers, database servers and search engines are easy to parallelize,because each incoming client may be handled in a separate thread of execution.However, as as cache coherence schemes on multicore processors do not scale withthe number of cores, new ways of scaling existing applications may be needed tomake better use of the cache hierarchy.This study evalutes an alternative method of running search engine queries in asearch engine core developed by Yahoo! Technologies Norway. The method seeks tolower query latencies and average memory access times of the search core bymaking better use of multicore processor caches. Through the study of Vespa, thesearch engine platform used at Yahoo!, and techniques for using processor cachesas good as possible, an alternative design based on parallel query evaluation isproposed. The design is evaluated in a simulator of the search engine core andtested in different configurations. The performance of the alternative designdepends highly on the workload. However, the alternative design can beconfigured to act as the existing design, which makes it possible to get thebest of both worlds.
|