Back to Search
Start Over
Task-based programming in COMPSs to converge from HPC to big data
- Source :
- Digital.CSIC. Repositorio Institucional del CSIC, instname, Recercat. Dipósit de la Recerca de Catalunya, UPCommons. Portal del coneixement obert de la UPC, Universitat Politècnica de Catalunya (UPC)
- Publication Year :
- 2017
- Publisher :
- SAGE Publications, 2017.
-
Abstract
- Task-based programming has proven to be a suitable model for high-performance computing (HPC) applications. Different implementations have been good demonstrators of this fact and have promoted the acceptance of task-based programming in the OpenMP standard. Furthermore, in recent years, Apache Spark has gained wide popularity in business and research environments as a programming model for addressing emerging big data problems. COMP Superscalar (COMPSs) is a task-based environment that tackles distributed computing (including Clouds) and is a good alternative for a task-based programming model for big data applications. This article describes why we consider that task-based programming models are a good approach for big data applications. The article includes a comparison of Spark and COMPSs in terms of architecture, programming model, and performance. It focuses on the differences that both frameworks have in structural terms, on their programmability interface, and in terms of their efficiency by means of three widely known benchmarking kernels: Wordcount, Kmeans, and Terasort. These kernels enable the evaluation of the more important functionalities of both programming models and analyze different work flows and conditions. The main results achieved from this comparison are (1) COMPSs is able to extract the inherent parallelism from the user code with minimal coding effort as opposed to Spark, which requires the existing algorithms to be adapted and rewritten by explicitly using their predefined functions, (2) it is an improvement in terms of performance when compared with Spark, and (3) COMPSs has shown to scale better than Spark in most cases. Finally, we discuss the advantages and disadvantages of both frameworks, highlighting the differences that make them unique, thereby helping to choose the right framework for each particular objective.<br />This work is supported by the Spanish Government (SEV2015-0493), by the Spanish Ministry of Science and Innovation (contract TIN2015-65316-P), and by Generalitat de Catalunya (contracts 2014-SGR-1051 and 2014-SGR-1272). Javier Conejero's postdoctoral contract is cofinanced by the Ministry of Economy and Competitiveness under the Juan de la Cierva Formación postdoctoral fellowship number FJCI-2015-24651. This work is also supported by the Intel-BSC Exascale Lab. The Human Brain Project receives funding from the EU's Seventh Framework Programme (FP7/ 2007-2013) under grant agreement no. 604102.
- Subjects :
- Computer science
02 engineering and technology
Parallel computing
Extensible programming
Theoretical Computer Science
Task (project management)
Big data
Framework compariso
0202 electrical engineering, electronic engineering, information engineering
Reactive programming
Implementation
Informàtica::Programació [Àrees temàtiques de la UPC]
020203 distributed computing
Big Data programming
Macrodades
Programming models
020207 software engineering
Distributed computing
Inductive programming
Framework comparison
Procedural programming
Hardware and Architecture
Programming paradigm
High performance computing
Càlcul intensiu (Informàtica)
Software
Functional reactive programming
Subjects
Details
- ISSN :
- 17412846 and 10943420
- Volume :
- 32
- Database :
- OpenAIRE
- Journal :
- The International Journal of High Performance Computing Applications
- Accession number :
- edsair.doi.dedup.....a6f8f69e6a6b6fed79fc837b61e22a90
- Full Text :
- https://doi.org/10.1177/1094342017701278