A Performance Analysis of a Reactive-based Complex Event Processing Library

Detalhes bibliográficos
Autor(a) principal: LIMA, Carlos Eduardo Zimmerle de
Data de Publicação: 2019
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Institucional da UFPE
Texto Completo: https://repositorio.ufpe.br/handle/123456789/35362
Resumo: Reactive applications are an important class of software designed to respond to events or changes surrounding an area of interest in a timely manner. Many different approaches have been proposed to project those applications, such as Complex Event Processing (CEP) and Reactive Languages (RLs). Despite being developed by different communities, they offer complementary solutions that could benefit their development. Meanwhile, the Internet of Things (IoT) is among the recent areas where reactive application solutions have been applied. IoT has a tremendous potential of allowing the creation of innovative applications, so the acquisition of IoT devices aligned with a great production of data, often called Big Data, is posing many challenges. As an alternative to deal with challenges faced by IoT stream processing placed on the cloud, Edge Analitycs has been proposed, consisting of placing part of the processing in the edge of the network. Pushing the processing toward the edge may incur in other challenges as well, since the devices are often resource-constrained. Combining the support for stream processing in those constrained devices and the proper adjustment of performance, a constant requirement in reactive applications, will be very important to allow this new trend. Therefore, this study presents CEP.js, a library to code complex event processing reactively that we have been developing, and reports an empirical study where CEP.js’ underlying reactive libraries, Most.js and RxJS, are varied to find out which performance aspects are more affected by those libraries while running in an Edge Analytics scenario. The results have shown that Most.js produced the worst results under different load levels and the differences were statistically significant. Consequently, both considered aspects, memory consumption and CPU usage, are more affected by the reactive library, Most.js.
id UFPE_1851aa5328dbfb2255b3abb4dc862144
oai_identifier_str oai:repositorio.ufpe.br:123456789/35362
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str 2221
spelling LIMA, Carlos Eduardo Zimmerle dehttp://lattes.cnpq.br/8472465190102818http://lattes.cnpq.br/6185519785664724GAMA, Kiev Santos da2019-11-28T22:32:48Z2019-11-28T22:32:48Z2019-08-02LIMA, Carlos Eduardo Zimmerle de. A Performance Analysis of a Reactive-based Complex Event Processing Library. 2019. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2019.https://repositorio.ufpe.br/handle/123456789/35362Reactive applications are an important class of software designed to respond to events or changes surrounding an area of interest in a timely manner. Many different approaches have been proposed to project those applications, such as Complex Event Processing (CEP) and Reactive Languages (RLs). Despite being developed by different communities, they offer complementary solutions that could benefit their development. Meanwhile, the Internet of Things (IoT) is among the recent areas where reactive application solutions have been applied. IoT has a tremendous potential of allowing the creation of innovative applications, so the acquisition of IoT devices aligned with a great production of data, often called Big Data, is posing many challenges. As an alternative to deal with challenges faced by IoT stream processing placed on the cloud, Edge Analitycs has been proposed, consisting of placing part of the processing in the edge of the network. Pushing the processing toward the edge may incur in other challenges as well, since the devices are often resource-constrained. Combining the support for stream processing in those constrained devices and the proper adjustment of performance, a constant requirement in reactive applications, will be very important to allow this new trend. Therefore, this study presents CEP.js, a library to code complex event processing reactively that we have been developing, and reports an empirical study where CEP.js’ underlying reactive libraries, Most.js and RxJS, are varied to find out which performance aspects are more affected by those libraries while running in an Edge Analytics scenario. The results have shown that Most.js produced the worst results under different load levels and the differences were statistically significant. Consequently, both considered aspects, memory consumption and CPU usage, are more affected by the reactive library, Most.js.FACEPEAs aplicações reativas são uma classe importante de software projetada para responder a eventos ou mudanças em torno de uma área de interesse de maneira oportuna. Muitas abordagens diferentes foram propostas para projetar essas aplicações, tais como Processamento de Eventos Complexos (CEP) e Linguagens Reativas (RLs). Apesar de terem sido desenvolvidas por diferentes comunidades, elas oferecem soluções complementares que podem beneficiar seus desenvolvimentos. Enquanto isso, a Internet das Coisas (IoT) está entre as áreas recentes nas quais as soluções de aplicações reativas estão sendo aplicadas. IoT tem um tremendo potencial para permitir a criação de aplicações inovadoras, portanto, a aquisição de dispositivos IoT alinhado a uma grande produção de dados, geralmente chamada de Big Data, apresenta muitos desafios. Como uma alternativa para lidar com os desafios enfrentados pelo processamento de fluxo da IoT colocado na nuvem, o Edge Analitycs foi proposto, consistindo em colocar parte do processamento na borda da rede. Empurrar o processamento em direção à borda pode incorrer em outros desafios também, uma vez que os dispositivos possuem comumente recursos limitados. Combinar o suporte para o processamento de streams nesses dispositivos restritos e o ajuste adequado de performance, um requisito constante em aplicações reativas, será muito importante para permitir essa nova tendência. Portanto, este estudo apresenta CEP.js, uma biblioteca para codificar processamento de eventos complexos de forma reativa que nós temos desenvolvido, e relata um estudo empírico onde as bibliotecas reativas subjacentes de CEP.js, Most.js e RxJS, são alternadas para descobrir quais aspectos de desempenho são mais afetados por essas bibliotecas enquanto que executando em um cenário de analytics na borda. Os resultados mostraram que Most.js produziu os piores resultados sob os diferentes níveis de carga e as diferenças mostraram-se estatisticamente significantes. Consequentemente, ambos os aspectos considerados, consumo de memória e uso de CPU, são mais afetados pela biblioteca reativa, Most.js.engUniversidade Federal de PernambucoPrograma de Pos Graduacao em Ciencia da ComputacaoUFPEBrasilAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessEngenharia de SoftwareInternet das CoisasAnalytics na BordaAplicações ReativasA Performance Analysis of a Reactive-based Complex Event Processing Libraryinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesismestradoreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPETEXTDISSERTAÇÃO Carlos Eduardo Zimmerle de Lima.pdf.txtDISSERTAÇÃO Carlos Eduardo Zimmerle de Lima.pdf.txtExtracted texttext/plain143874https://repositorio.ufpe.br/bitstream/123456789/35362/4/DISSERTA%c3%87%c3%83O%20Carlos%20Eduardo%20Zimmerle%20de%20Lima.pdf.txt5d1c3f023b589374c820f06d97e0bf27MD54THUMBNAILDISSERTAÇÃO Carlos Eduardo Zimmerle de Lima.pdf.jpgDISSERTAÇÃO Carlos Eduardo Zimmerle de Lima.pdf.jpgGenerated Thumbnailimage/jpeg1254https://repositorio.ufpe.br/bitstream/123456789/35362/5/DISSERTA%c3%87%c3%83O%20Carlos%20Eduardo%20Zimmerle%20de%20Lima.pdf.jpg6f06d78cb9e44ff3ec4a2a670d4bcfa2MD55ORIGINALDISSERTAÇÃO Carlos Eduardo Zimmerle de Lima.pdfDISSERTAÇÃO Carlos Eduardo Zimmerle de Lima.pdfapplication/pdf1663659https://repositorio.ufpe.br/bitstream/123456789/35362/1/DISSERTA%c3%87%c3%83O%20Carlos%20Eduardo%20Zimmerle%20de%20Lima.pdf42c80295b22b90d6765e9a058c7e02f2MD51CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-8811https://repositorio.ufpe.br/bitstream/123456789/35362/2/license_rdfe39d27027a6cc9cb039ad269a5db8e34MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://repositorio.ufpe.br/bitstream/123456789/35362/3/license.txt8a4605be74aa9ea9d79846c1fba20a33MD53123456789/353622019-11-29 02:17:20.222oai:repositorio.ufpe.br:123456789/35362Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212019-11-29T05:17:20Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.pt_BR.fl_str_mv A Performance Analysis of a Reactive-based Complex Event Processing Library
title A Performance Analysis of a Reactive-based Complex Event Processing Library
spellingShingle A Performance Analysis of a Reactive-based Complex Event Processing Library
LIMA, Carlos Eduardo Zimmerle de
Engenharia de Software
Internet das Coisas
Analytics na Borda
Aplicações Reativas
title_short A Performance Analysis of a Reactive-based Complex Event Processing Library
title_full A Performance Analysis of a Reactive-based Complex Event Processing Library
title_fullStr A Performance Analysis of a Reactive-based Complex Event Processing Library
title_full_unstemmed A Performance Analysis of a Reactive-based Complex Event Processing Library
title_sort A Performance Analysis of a Reactive-based Complex Event Processing Library
author LIMA, Carlos Eduardo Zimmerle de
author_facet LIMA, Carlos Eduardo Zimmerle de
author_role author
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/8472465190102818
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/6185519785664724
dc.contributor.author.fl_str_mv LIMA, Carlos Eduardo Zimmerle de
dc.contributor.advisor1.fl_str_mv GAMA, Kiev Santos da
contributor_str_mv GAMA, Kiev Santos da
dc.subject.por.fl_str_mv Engenharia de Software
Internet das Coisas
Analytics na Borda
Aplicações Reativas
topic Engenharia de Software
Internet das Coisas
Analytics na Borda
Aplicações Reativas
description Reactive applications are an important class of software designed to respond to events or changes surrounding an area of interest in a timely manner. Many different approaches have been proposed to project those applications, such as Complex Event Processing (CEP) and Reactive Languages (RLs). Despite being developed by different communities, they offer complementary solutions that could benefit their development. Meanwhile, the Internet of Things (IoT) is among the recent areas where reactive application solutions have been applied. IoT has a tremendous potential of allowing the creation of innovative applications, so the acquisition of IoT devices aligned with a great production of data, often called Big Data, is posing many challenges. As an alternative to deal with challenges faced by IoT stream processing placed on the cloud, Edge Analitycs has been proposed, consisting of placing part of the processing in the edge of the network. Pushing the processing toward the edge may incur in other challenges as well, since the devices are often resource-constrained. Combining the support for stream processing in those constrained devices and the proper adjustment of performance, a constant requirement in reactive applications, will be very important to allow this new trend. Therefore, this study presents CEP.js, a library to code complex event processing reactively that we have been developing, and reports an empirical study where CEP.js’ underlying reactive libraries, Most.js and RxJS, are varied to find out which performance aspects are more affected by those libraries while running in an Edge Analytics scenario. The results have shown that Most.js produced the worst results under different load levels and the differences were statistically significant. Consequently, both considered aspects, memory consumption and CPU usage, are more affected by the reactive library, Most.js.
publishDate 2019
dc.date.accessioned.fl_str_mv 2019-11-28T22:32:48Z
dc.date.available.fl_str_mv 2019-11-28T22:32:48Z
dc.date.issued.fl_str_mv 2019-08-02
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv LIMA, Carlos Eduardo Zimmerle de. A Performance Analysis of a Reactive-based Complex Event Processing Library. 2019. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2019.
dc.identifier.uri.fl_str_mv https://repositorio.ufpe.br/handle/123456789/35362
identifier_str_mv LIMA, Carlos Eduardo Zimmerle de. A Performance Analysis of a Reactive-based Complex Event Processing Library. 2019. Dissertação (Mestrado em Ciência da Computação) – Universidade Federal de Pernambuco, Recife, 2019.
url https://repositorio.ufpe.br/handle/123456789/35362
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Pernambuco
dc.publisher.program.fl_str_mv Programa de Pos Graduacao em Ciencia da Computacao
dc.publisher.initials.fl_str_mv UFPE
dc.publisher.country.fl_str_mv Brasil
publisher.none.fl_str_mv Universidade Federal de Pernambuco
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPE
instname:Universidade Federal de Pernambuco (UFPE)
instacron:UFPE
instname_str Universidade Federal de Pernambuco (UFPE)
instacron_str UFPE
institution UFPE
reponame_str Repositório Institucional da UFPE
collection Repositório Institucional da UFPE
bitstream.url.fl_str_mv https://repositorio.ufpe.br/bitstream/123456789/35362/4/DISSERTA%c3%87%c3%83O%20Carlos%20Eduardo%20Zimmerle%20de%20Lima.pdf.txt
https://repositorio.ufpe.br/bitstream/123456789/35362/5/DISSERTA%c3%87%c3%83O%20Carlos%20Eduardo%20Zimmerle%20de%20Lima.pdf.jpg
https://repositorio.ufpe.br/bitstream/123456789/35362/1/DISSERTA%c3%87%c3%83O%20Carlos%20Eduardo%20Zimmerle%20de%20Lima.pdf
https://repositorio.ufpe.br/bitstream/123456789/35362/2/license_rdf
https://repositorio.ufpe.br/bitstream/123456789/35362/3/license.txt
bitstream.checksum.fl_str_mv 5d1c3f023b589374c820f06d97e0bf27
6f06d78cb9e44ff3ec4a2a670d4bcfa2
42c80295b22b90d6765e9a058c7e02f2
e39d27027a6cc9cb039ad269a5db8e34
8a4605be74aa9ea9d79846c1fba20a33
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1793515641685147648