Article Preview
Top1. Introduction
Online analytical processing (OLAP Council, 2001) is a category of software technology that enables analysts, managers and executives to gain insight into data through fast, consistent, interactive access to a wide variety of possible views of information that has been transformed from raw data to reflect the real dimensionality of the enterprise as understood by the user. OLAP functionality is characterized by dynamic multidimensional analysis of consolidated enterprise data supporting end user analytical and navigational activities including calculations and modeling applied across dimensions, through hierarchies and/or across members, trend analysis over sequential time periods, slicing subsets for on-screen viewing, drill-down to deeper levels of consolidation, rotation to new dimensional comparisons in the viewing area. Practically, OLAP works as an integrated system into data warehouses with data size of gigabytes to petabytes in certain instances. Hence, reading and analyzing such an enormous size mandates potent processing capacity. In addition, usually, response time in OLAP applications is a critical factor (medical and financial applications). That is, processors are expected to read, analyze and deliver answers for the queries in a very short time. Many enhancements have been introduced in order to improve the performance. The enhancements, which have stemmed from different diagnoses, can be divided mainly into two major streams: Software-based solutions and hardware-based solutions. Materialization has been extensively studied throughout the last decade that it has become an iconic software-based solution. However, such a solution had been early eliminated in the authors’ study as a direct result of meeting the real-time requirement failure (Alzeini, Hameed, & Habaebi, 2014). Thus, in this research, only the hardware-based solutions have been taken into consideration. This article argues that all OLAP Hardware-based solutions that have been discussed in the literature can be categorized into three main approaches: multi-core CPUs, GPU and heterogeneous approach. The latter, has shown very positive results – under certain circumstances and with meeting particular conditions – for achieving Real-Time OLAP answers.
In heterogeneous computing systems, GPU works in harmony with the CPU in order to bring about a valuable improvement in terms of the response time in addition to reducing the monetary costs (Govindaraju, Lloyd, Wang, Lin, & Manocha, 2004). Yet, several practical limitations and barriers must be considered when one designs or optimizes an algorithm for heterogeneous system. Most of the difficulties arise as a result of the fact that the physical structures of the GPU in addition to the purpose of GPU’s design are much different than the CPU’s structure and purposes. That is, the GPU is mainly designed to process integers more than any other data type (e.g. strings), in addition to the everlasting constrained data transfer issue between the two components.