Repository logo
 
Publication

Runtime object lifetime profiler for latency sensitive big data applications

dc.contributor.authorRodrigo, Bruno
dc.contributor.authorPatrício, Duarte
dc.contributor.authorSimão, José
dc.contributor.authorVeiga, Luís
dc.contributor.authorFerreira, Paulo
dc.date.accessioned2019-07-26T11:18:10Z
dc.date.available2019-07-26T11:18:10Z
dc.date.issued2019
dc.description.abstractLatency sensitive services such as credit-card fraud detection and website targeted advertisement rely on Big Data platforms which run on top of memory managed runtimes, such as the Java Virtual Machine (JVM). These platforms, however, suffer from unpredictable and unacceptably high pause times due to inadequate memory management decisions (e.g., allocating objects with very different lifetimes next to each other, resulting in severe memory fragmentation). This leads to frequent and long application pause times, breaking Service Level Agreements (SLAs). This problem has been previously identified, and results show that current memory management techniques are ill-suited for applications that hold in memory massive amounts of long-lived objects (which is the case for a wide spectrum of Big Data applications). Previous works reduce such application pauses by allocating objects in off-heap, in special allocation regions/generations, or by using ultra-low latency Garbage Collectors (GC). However, all these solutions either require a combination of programmer effort and knowledge, source code access, offline profiling (with clear negative impacts on programmer's productivity), or impose a significant impact on application throughput and/or memory to reduce application pauses. We propose ROLP, a Runtime Object Lifetime Profiler that profiles application code at runtime and helps pretenuring GC algorithms allocating objects with similar lifetimes close to each other so that the overall fragmentation, GC effort, and application pauses are reduced. ROLP is implemented for the OpenJDK 8 and was evaluated with a recently proposed open-source pretenuring collector (NG2C). Results show long tail latencies reductions of up to 51% for Lucene, 85% for GraphChi, and 69% for Cassandra. This is achieved with negligible throughput (< 6%) and memory overhead, with no programmer effort, and no source code access.pt_PT
dc.description.versioninfo:eu-repo/semantics/publishedVersionpt_PT
dc.identifier.citationRODRIGO, Bruno; [et al] – Runtime object lifetime profiler for latency sensitive big data applications. In Proceedings of the Fourteenth Eurosys Conference 2019 (EUROSYS '19). Dresden, Germany: Association for Computing Machinery, 2019. ISBN 978-1-4503-6281-8. Pp. 1-16pt_PT
dc.identifier.doi10.1145/3302424.3303988pt_PT
dc.identifier.isbn978-1-4503-6281-8
dc.identifier.urihttp://hdl.handle.net/10400.21/10377
dc.language.isoengpt_PT
dc.publisherAssociation for Computing Machinerypt_PT
dc.relationUID/CEC/50021/2019 - FCTpt_PT
dc.relationSFRH/BD/103745/2014 - FCTpt_PT
dc.relationSFRH/BSAB/135197/2017 - FCTpt_PT
dc.relationPTDC/EEI-COM/30644/2017 - FCTpt_PT
dc.relation.publisherversionhttp://delivery.acm.org/10.1145/3310000/3303988/a28-bruno.pdf?ip=194.210.205.200&id=3303988&acc=ACTIVE%20SERVICE&key=2E5699D25B4FE09E%2E7B9783D512D69300%2E4D4702B0C3E38B35%2E4D4702B0C3E38B35&__acm__=1564138961_d559312ed899d4e7b25c7aa040c35522pt_PT
dc.subjectBig datapt_PT
dc.subjectGarbage collectionpt_PT
dc.subjectPretenuringpt_PT
dc.subjectTail latencypt_PT
dc.subjectProfilingpt_PT
dc.titleRuntime object lifetime profiler for latency sensitive big data applicationspt_PT
dc.typeconference object
dspace.entity.typePublication
oaire.citation.conferencePlaceMarch 25–28, 2019 - Dresden, Germanypt_PT
oaire.citation.endPage16pt_PT
oaire.citation.startPage1pt_PT
oaire.citation.titleFourteenth Eurosys Conference 2019 (EUROSYS '19)pt_PT
person.familyNameSimão
person.familyNameVeiga
person.familyNameFerreira
person.givenNameJosé
person.givenNameLuís
person.givenNamePaulo
person.identifier1099536
person.identifier.ciencia-id5413-C0FA-7557
person.identifier.ciencia-idF119-0817-F58E
person.identifier.orcid0000-0002-6564-593X
person.identifier.orcid0000-0002-9285-0736
person.identifier.orcid0000-0003-0942-6289
person.identifier.ridL-4615-2013
person.identifier.ridA-6410-2012
person.identifier.scopus-author-id57189313027
person.identifier.scopus-author-id6701821307
person.identifier.scopus-author-id55427200900
rcaap.rightsclosedAccesspt_PT
rcaap.typeconferenceObjectpt_PT
relation.isAuthorOfPublication625152de-db55-4942-8506-f461f4bd947d
relation.isAuthorOfPublicationb620f1c1-7e39-40a2-917e-57834bc73e89
relation.isAuthorOfPublicationcfcae9ab-4fb7-42f9-aada-d51daa710140
relation.isAuthorOfPublication.latestForDiscoveryb620f1c1-7e39-40a2-917e-57834bc73e89

Files

Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
Runtime_JSimao.pdf
Size:
801.96 KB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed upon to submission
Description: