dc.contributor.author | Expósito, Roberto R. | |
dc.contributor.author | Veiga, Jorge | |
dc.contributor.author | Touriño, Juan | |
dc.date.accessioned | 2024-02-29T17:03:23Z | |
dc.date.available | 2024-02-29T17:03:23Z | |
dc.date.issued | 2020 | |
dc.identifier.isbn | 978-3-030-50370-3 | |
dc.identifier.isbn | 978-3-030-50371-0 | |
dc.identifier.issn | 0302-9743 | |
dc.identifier.issn | 1611-3349 | |
dc.identifier.uri | http://hdl.handle.net/2183/35754 | |
dc.description | This version of the article has been accepted for publication, after peer review and is subject to Springer Nature’s AM terms of use, but is not the Version of Record and does not reflect post-acceptance improvements, or any corrections. The Version of Record is available online at: https://doi.org/10.1007/978-3-030-50371-0_3. | es_ES |
dc.description.abstract | [Abstract]: Java has been the backbone of Big Data processing for more than a decade due to its interesting features such as object orientation, cross-platform portability and good programming productivity. In fact, most popular Big Data frameworks such as Hadoop and Spark are implemented in Java or using other languages designed to run on the Java Virtual Machine (JVM) such as Scala. However, modern computing hardware is increasingly complex, featuring multiple processing cores aggregated into one or more CPUs that are usually organized as a Non-Uniform Memory Access (NUMA) architecture. The platform-independent features of the JVM come at the cost of hardware abstraction, which makes it more difficult for Big Data developers to take advantage of hardware-aware optimizations based on managing CPU or NUMA affinities. In this paper we introduce jhwloc, a Java library for easily managing such affinities in JVM-based applications and gathering information about the underlying hardware topology. To demonstrate the functionality and benefits of our proposal, we have extended Flame-MR, our Java-based MapReduce framework, to provide support for setting CPU affinities through jhwloc. The experimental evaluation using representative Big Data workloads has shown that performance can be improved by up to 17% when efficiently exploiting the hardware. jhwloc is publicly available to download at https://github.com/rreye/jhwloc. | es_ES |
dc.description.sponsorship | This work was supported by the Ministry of Economy, Industry and Competitiveness
of Spain and FEDER funds of the European Union [ref. TIN2016-75845-P
(AEI/FEDER/EU)]; and by Xunta de Galicia and FEDER funds [Centro de
Investigación de Galicia accreditation 2019-2022, ref. ED431G2019/01, Consolidation
Program of Competitive Reference Groups, ref. ED431C2017/04]. | es_ES |
dc.description.sponsorship | Xunta de Galicia; ED431G2019/01 | es_ES |
dc.description.sponsorship | Xunta de Galicia; ED431C2017/04 | es_ES |
dc.language.iso | eng | es_ES |
dc.publisher | Springer | es_ES |
dc.relation | info:eu-repo/grantAgreement/MINECO/Plan Estatal de Investigación Científica y Técnica y de Innovación 2013-2016/TIN2016-75845-P/ES/NUEVOS DESAFIOS EN COMPUTACION DE ALTAS PRESTACIONES: DESDE ARQUITECTURAS HASTA APLICACIONES (II)/ | es_ES |
dc.relation.uri | https://doi.org/10.1007/978-3-030-50371-0_3 | es_ES |
dc.rights | Todos os dereitos reservados. All rights reserved. | es_ES |
dc.subject | Big Data | es_ES |
dc.subject | Java Virtual Machine (JVM) | es_ES |
dc.subject | Hardware affinity | es_ES |
dc.subject | MapReduce | es_ES |
dc.subject | Performance evaluation | es_ES |
dc.title | Enabling Hardware Affinity in JVM-Based Applications: A Case Study for Big Data | es_ES |
dc.type | info:eu-repo/semantics/conferenceObject | es_ES |
dc.rights.access | info:eu-repo/semantics/openAccess | es_ES |
UDC.volume | Lecture Notes in Computer Science (LNCS, volume 12137) | es_ES |
UDC.startPage | 31 | es_ES |
UDC.endPage | 44 | es_ES |
dc.identifier.doi | 10.1007/978-3-030-50371-0_3 | |
UDC.conferenceTitle | International Conference on Computational Science - ICCS 2020 | es_ES |
UDC.coleccion | Investigación | es_ES |
UDC.departamento | Enxeñaría de Computadores | es_ES |
UDC.grupoInv | Grupo de Arquitectura de Computadores (GAC) | es_ES |