Name: | Description: | Size: | Format: | |
---|---|---|---|---|
4.04 MB | Adobe PDF |
Authors
Advisor(s)
Abstract(s)
In recent years, there has been an increasing interest in enhancing the performance of software
systems. Concurrently, energy efficiency has emerged as a significant concern in this new
decade [1]. This is primarily due to two factors: the correlation between higher energy
consumption and increased costs [2], and the growing environmental concerns [3].
Consequently, a wide variety of good practices and patterns [2] for software systems have been
developed.
Furthermore, despite the extensive array of technologies available, there is an absence of
prevalent utilisation of these technologies in conjunction with one another. This is despite the
potential for enhanced performance and energy efficiency that such combinations could offer.
One such example is the integration of Protocol Buffers with the HTTP REST architecture. It is
already established that Protocol Buffers are a proven solution for enhanced performance [4].
Consequently, there is a lack of comparison of Protocol Buffers in this type of architecture with
other established serialisation formats, such as JSON.
The present study was thus conceived to compare Protocol Buffers to JSON in an HTTP REST
architecture in terms of performance and energy efficiency, to ascertain the viability of Protocol
Buffers in this ecosystem in terms of performance and energy efficiency. In order to achieve
this objective, it was necessary to migrate an open-source Java project that possessed either
one of the serialisation mechanisms to its counterpart.
The findings indicate that, for performance metrics such as throughput and average response
time, Protocol Buffers demonstrate superiority when the endpoint under evaluation requires
substantial serialisation. Furthermore, with regard to energy efficiency, a similar trend is
evident in cases where serialisation is more intense. In such cases, Protocol Buffers
demonstrate superior energy efficiency.
Nos últimos anos, tem-se verificado um interesse crescente em melhorar o desempenho dos sistemas de software. Ao mesmo tempo, a eficiência energética surgiu como uma preocupação significativa nesta nova década [1]. Isto deve-se principalmente a dois problemas crescentes: a correlação entre um maior consumo de energia e o aumento dos custos [2], e as crescentes preocupações ambientais [3]. Consequentemente, foi desenvolvida uma grande variedade de boas práticas e padrões[2] para sistemas de software. Além disso, apesar do vasto leque de tecnologias disponíveis, não se verifica uma utilização predominante destas tecnologias em conjunto. Apesar do potencial de melhoria do desempenho e da eficiência energética que tais combinações podem oferecer. Um exemplo disso é a integração dos Protocol Buffers com a arquitetura HTTP REST. Já está estabelecido que os Protocol Buffers são uma solução comprovada para melhorar o desempenho [4]. Contudo, não existe uma comparação dos Protocol Buffers neste tipo de arquitetura com outros formatos de serialização estabelecidos, como o JSON. Este estudo foi assim concebido para comparar os Protocol Buffers com o JSON numa arquitetura HTTP REST em termos de desempenho e de eficiência energética, de forma a verificar a viabilidade dos Protocol Buffers neste ecossistema. Para atingir este objetivo, foi necessário migrar um projeto Java open source que possuía um dos mecanismos de serialização para o seu homólogo. Os resultados indicam que, para métricas de desempenho como o rendimento e o tempo médio de resposta, a utilização de Protocol Buffers pode ser mais vantajosa quando o endpoint em avaliação exige uma serialização substancial. Além do mais, no que respeita à eficiência energética, o mesmo padrão é observado, ou seja, nos casos em que a serialização é mais intensa, os Protocol Buffers tem melhor efficiência energética.
Nos últimos anos, tem-se verificado um interesse crescente em melhorar o desempenho dos sistemas de software. Ao mesmo tempo, a eficiência energética surgiu como uma preocupação significativa nesta nova década [1]. Isto deve-se principalmente a dois problemas crescentes: a correlação entre um maior consumo de energia e o aumento dos custos [2], e as crescentes preocupações ambientais [3]. Consequentemente, foi desenvolvida uma grande variedade de boas práticas e padrões[2] para sistemas de software. Além disso, apesar do vasto leque de tecnologias disponíveis, não se verifica uma utilização predominante destas tecnologias em conjunto. Apesar do potencial de melhoria do desempenho e da eficiência energética que tais combinações podem oferecer. Um exemplo disso é a integração dos Protocol Buffers com a arquitetura HTTP REST. Já está estabelecido que os Protocol Buffers são uma solução comprovada para melhorar o desempenho [4]. Contudo, não existe uma comparação dos Protocol Buffers neste tipo de arquitetura com outros formatos de serialização estabelecidos, como o JSON. Este estudo foi assim concebido para comparar os Protocol Buffers com o JSON numa arquitetura HTTP REST em termos de desempenho e de eficiência energética, de forma a verificar a viabilidade dos Protocol Buffers neste ecossistema. Para atingir este objetivo, foi necessário migrar um projeto Java open source que possuía um dos mecanismos de serialização para o seu homólogo. Os resultados indicam que, para métricas de desempenho como o rendimento e o tempo médio de resposta, a utilização de Protocol Buffers pode ser mais vantajosa quando o endpoint em avaliação exige uma serialização substancial. Além do mais, no que respeita à eficiência energética, o mesmo padrão é observado, ou seja, nos casos em que a serialização é mais intensa, os Protocol Buffers tem melhor efficiência energética.
Description
Keywords
JSON Protocol Buffers REST serialisation performance energy efficiency Serialização Desempenho Eficiência energética