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...

Full description

Bibliographic Details
Main Author: Brahneborg, Daniel
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