Big Data Analytics on Modern Hardware Architectures: A Technology Survey

Big Data Analytics has the goal to analyze massive datasets, which increasingly occur in web-scale business intelligence problems. The common strategy to handle these workloads is to distribute the processing utilizing massive parallel analysis systems or to use big machines able to handle the workload. We discuss massively parallel analysis systems and their programming models. Furthermore, we discuss the application of modern hardware architectures for database processing. Today, many different hardware architectures apart from traditional CPUs can be used to process data. GPUs or FPGAs, among other new hardware, are usually employed as co-processors to accelerate query execution. The common point of these architectures is their massive inherent parallelism as well as a different programming model compared to the classical von Neumann CPUs. Such hardware architectures offer the processing capability to distribute the workload among the CPU and other processors, and enable systems to process bigger workloads.

[1]  Dominic Battré,et al.  Nephele/PACTs: a programming model and execution framework for web-scale analytical processing , 2010, SoCC '10.

[2]  Satnam Singh,et al.  Kiwi: Synthesis of FPGA Circuits from Parallel Programs , 2008, 2008 16th International Symposium on Field-Programmable Custom Computing Machines.

[3]  Kenneth A. Ross,et al.  Cache Conscious Indexing for Decision-Support in Main Memory , 1999, VLDB.

[4]  Torben Bach Pedersen,et al.  The ETLMR MapReduce-Based ETL Framework , 2011, SSDBM.

[5]  Petko Bakalov,et al.  Boosting XML Filtering with a Scalable FPGA-based Architecture , 2009, CIDR 2009.

[6]  Dinesh Manocha,et al.  GPUTeraSort: high performance graphics co-processor sorting for large database management , 2006, SIGMOD Conference.

[7]  Peter Sanders,et al.  Faster Radix Sort via Virtual Memory and Write-Combining , 2010, ArXiv.

[8]  Martin L. Kersten,et al.  Database Architecture Optimized for the New Bottleneck: Memory Access , 1999, VLDB.

[9]  Andrew S. Grimshaw,et al.  Revisiting sorting for GPGPU stream architectures , 2010, 2010 19th International Conference on Parallel Architectures and Compilation Techniques (PACT).

[10]  Tom R. Halfhill NVIDIA's Next-Generation CUDA Compute and Graphics Architecture, Code-Named Fermi, Adds Muscle for Parallel Processing , 2009 .

[11]  Jens Teubner,et al.  Data Processing on FPGAs , 2013, Proc. VLDB Endow..

[12]  Michael Garland,et al.  Designing efficient sorting algorithms for manycore GPUs , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[13]  Robert Morris,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM 2001.

[14]  Andrey Balmin,et al.  Jaql , 2011, Proc. VLDB Endow..

[15]  Vitaly Osipov,et al.  GPU sample sort , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS).

[16]  Volker Markl,et al.  MapReduce and PACT - Comparing Data Parallel Programming Models , 2011, BTW.

[17]  Alin Deutsch,et al.  ASTERIX: towards a scalable, semistructured data platform for evolving-world models , 2011, Distributed and Parallel Databases.

[18]  Wolfgang Lehner,et al.  GPU-Based Speculative Query Processing for Database Operations , 2010, ADMS@VLDB.

[19]  E. F. Codd,et al.  A relational model of data for large shared data banks , 1970, CACM.

[20]  Brian Hayes,et al.  What Is Cloud Computing? , 2019, Cloud Technologies.

[21]  Jingren Zhou,et al.  SCOPE: easy and efficient parallel processing of massive data sets , 2008, Proc. VLDB Endow..

[22]  Christos Faloutsos,et al.  PEGASUS: mining peta-scale graphs , 2011, Knowledge and Information Systems.

[23]  Jonathan Rose,et al.  CALL FOR ARTICLES IEEE Design & Test of Computers Special Issue on Microprocessors , 1996 .

[24]  David J. DeWitt,et al.  GAMMA - A High Performance Dataflow Database Machine , 1986, VLDB.

[25]  Martin L. Kersten,et al.  Breaking the memory wall in MonetDB , 2008, CACM.

[26]  Bingsheng He,et al.  Relational joins on graphics processors , 2008, SIGMOD Conference.

[27]  David R. Karger,et al.  Chord: a scalable peer-to-peer lookup protocol for internet applications , 2003, TNET.

[28]  Scott Boag,et al.  XQuery 1.0 : An XML Query Language , 2007 .

[29]  Ravi Kumar,et al.  Pig latin: a not-so-foreign language for data processing , 2008, SIGMOD Conference.

[30]  Qing He,et al.  Parallel K-Means Clustering Based on MapReduce , 2009, CloudCom.

[31]  Rares Vernica,et al.  Hyracks: A flexible and extensible foundation for data-intensive computing , 2011, 2011 IEEE 27th International Conference on Data Engineering.

[32]  Pat Hanrahan,et al.  Brook for GPUs: stream computing on graphics hardware , 2004, SIGGRAPH 2004.

[33]  Setrag Khoshafian,et al.  A decomposition storage model , 1985, SIGMOD Conference.

[34]  Irving L. Traiger,et al.  System R: relational approach to database management , 1976, TODS.

[35]  Pete Wyckoff,et al.  Hive - A Warehousing Solution Over a Map-Reduce Framework , 2009, Proc. VLDB Endow..

[36]  Bingsheng He,et al.  Mars: Accelerating MapReduce with Graphics Processors , 2011, IEEE Transactions on Parallel and Distributed Systems.

[37]  Alexander Zeier,et al.  In-memory data management , 2011 .

[38]  Michael Isard,et al.  DryadLINQ: A System for General-Purpose Distributed Data-Parallel Computing Using a High-Level Language , 2008, OSDI.

[39]  Gustavo Alonso,et al.  Sorting networks on FPGAs , 2012, The VLDB Journal.

[40]  David J. DeWitt DIRECT - a multiprocessor organization for supporting relational data base management systems , 1978, ISCA '78.

[41]  Jonathan Cohen,et al.  Graph Twiddling in a MapReduce World , 2009, Computing in Science & Engineering.

[42]  Alexander Zeier,et al.  In-memory data management: an inflection point for enterprise applications , 2011 .

[43]  G. Amdhal,et al.  Validity of the single processor approach to achieving large scale computing capabilities , 1967, AFIPS '67 (Spring).

[44]  Pradeep Dubey,et al.  Fast sort on CPUs and GPUs: a case for bandwidth oblivious SIMD sort , 2010, SIGMOD Conference.

[45]  Pradeep Dubey,et al.  FAST: fast architecture sensitive tree search on modern CPUs and GPUs , 2010, SIGMOD Conference.

[46]  John Cieslewicz,et al.  SQL/MapReduce: A practical approach to self-describing, polymorphic, and parallelizable user-defined functions , 2009, Proc. VLDB Endow..

[47]  Howard Gobioff,et al.  The Google file system , 2003, SOSP '03.

[48]  Yuan Yu,et al.  Dryad: distributed data-parallel programs from sequential building blocks , 2007, EuroSys '07.

[49]  David J. DeWitt,et al.  DBMSs on a Modern Processor: Where Does Time Go? , 1999, VLDB.

[50]  Bingsheng He,et al.  Relational query coprocessing on graphics processors , 2009, TODS.

[51]  Hidehiko Tanaka,et al.  An Overview of The System Software of A Parallel Relational Database Machine GRACE , 1986, VLDB.

[52]  Stephen D. Brown,et al.  Architecture of FPGAs and CPLDs: A Tutorial , 2000 .

[53]  J. Manyika Big data: The next frontier for innovation, competition, and productivity , 2011 .

[54]  Alfred E. Brenner,et al.  Moore's Law , 1997, Science.

[55]  Michael Stonebraker,et al.  INGRES: a relational data base system , 1975, AFIPS '75.

[56]  Jeffrey A. Delmerico,et al.  XtremeData dbX: An FPGA-Based Data Warehouse Appliance , 2010, Computing in Science & Engineering.

[57]  Michael Stonebraker,et al.  C-Store: A Column-oriented DBMS , 2005, VLDB.

[58]  Marianne Winslett,et al.  Scientific and Statistical Database Management, 21st International Conference, SSDBM 2009, New Orleans, LA, USA, June 2-4, 2009, Proceedings , 2009, SSDBM.

[59]  Shirish Tatikonda,et al.  SystemML: Declarative machine learning on MapReduce , 2011, 2011 IEEE 27th International Conference on Data Engineering.