Vector computing oriented Array OLAP query processing technique
Y Zhang · Computer Engineering and Applications Journal · 2015
Multi-core and many-core processors come to be main stream configuration on new computing platform with powerful parallel computing and large in-memory storage. Multi-core processor commonly follows cache centric optimizations with LLC size awareness while many-core processors such as Phi and GPU co-processors are designed with less cache size but more hardware threads to overlap main memory access latency. As core amount increases, the computing framework prefers a code efficient and scalable design for massive processing cores. This paper presents an in-memory analytical computing framework Array OLAP with array store and vector processing to simplify storage model and processing model. In Array OLAP, dimensions are normalized as vector based dimension filter. The fact table is normalized as measure attributes with multidimensional index. With multidimensional index computing, a multidimensional query is simplified as vector index scan on fact table and the measure expressions are aggregated. The normalized vector lookup and vector index scan are efficient in code execution, and the staged processing model is adaptive for different computing platforms by assigning processing stages to the most suitable platform. Moreover, Array OLAP is data warehouse schema aware design. The vector processing model is simple but efficient enough for the small and slow incremental dimensions. It illustrates the Array OLAP framework in various platforms and evaluates the benchmark performance with state-of-the-art in-memory analytical databases. The experimental results show that Array OLAP outperforms other in-memory analytical engines and can be smoothly migrated to new hardware platform.