Pipelined Messaging Gateway
The SMS gateway EMG uses separate threads for each connection. This requires a large number of locks to avoid data corruption, and causes problems when scaling to thousands of connections. The CPU load goes very high, and the amount of addressable memory per thread becomes low. This report examines...
Main Author: | |
---|---|
Format: | Others |
Language: | English |
Published: |
Umeå universitet, Institutionen för datavetenskap
2015
|
Online Access: | http://urn.kb.se/resolve?urn=urn:nbn:se:umu:diva-102004 |
id |
ndltd-UPSALLA1-oai-DiVA.org-umu-102004 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-UPSALLA1-oai-DiVA.org-umu-1020042015-04-21T04:59:58ZPipelined Messaging GatewayengBrahneborg, DanielUmeå universitet, Institutionen för datavetenskap2015The SMS gateway EMG uses separate threads for each connection. This requires a large number of locks to avoid data corruption, and causes problems when scaling to thousands of connections. The CPU load goes very high, and the amount of addressable memory per thread becomes low. This report examines an alternative implementation, where each thread instead handles a separate part of the processing. The two architectures are compared based on throughput, resource utilisation, code complexity and more. The results show what while throughput is about the same, the alternative implementation is better at keeping the CPU load within reasonable limits. However, it also requires more advanced data structure and algorithms to be efficient. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:umu:diva-102004UMNAD ; 1011application/pdfinfo:eu-repo/semantics/openAccess |
collection |
NDLTD |
language |
English |
format |
Others
|
sources |
NDLTD |
description |
The SMS gateway EMG uses separate threads for each connection. This requires a large number of locks to avoid data corruption, and causes problems when scaling to thousands of connections. The CPU load goes very high, and the amount of addressable memory per thread becomes low. This report examines an alternative implementation, where each thread instead handles a separate part of the processing. The two architectures are compared based on throughput, resource utilisation, code complexity and more. The results show what while throughput is about the same, the alternative implementation is better at keeping the CPU load within reasonable limits. However, it also requires more advanced data structure and algorithms to be efficient. |
author |
Brahneborg, Daniel |
spellingShingle |
Brahneborg, Daniel Pipelined Messaging Gateway |
author_facet |
Brahneborg, Daniel |
author_sort |
Brahneborg, Daniel |
title |
Pipelined Messaging Gateway |
title_short |
Pipelined Messaging Gateway |
title_full |
Pipelined Messaging Gateway |
title_fullStr |
Pipelined Messaging Gateway |
title_full_unstemmed |
Pipelined Messaging Gateway |
title_sort |
pipelined messaging gateway |
publisher |
Umeå universitet, Institutionen för datavetenskap |
publishDate |
2015 |
url |
http://urn.kb.se/resolve?urn=urn:nbn:se:umu:diva-102004 |
work_keys_str_mv |
AT brahneborgdaniel pipelinedmessaginggateway |
_version_ |
1716801706475388928 |