Gustav Åkesson; Pontus Rantzow , pp. 42. COM/School of Computing, 2010.
Moore's law states that the amount of computational power available at a given cost doubles every 18
months and indeed, for the past 20 years there has been a tremendous development in microprocessors.
However, for the last few years, Moore's law has been subject for debate, since to manage heat issues,
processor manufacturers have begun favoring multicore processors, which means parallel computation
has become necessary to fully utilize the hardware. This also means that software has to be written with
multiprocessing in mind to take full advantage of the hardware, and writing parallel software
introduces a whole new set of problems.
For the last couple of years, the demands on telecommunication systems have increased and to manage
the increasing demands, multiprocessor servers have become a necessity. Applications must fully
utilize the hardware and such an application is the Diameter Credit Control Application (DCCA). The
DCCA uses the Diameter networking protocol and the DCCA's purpose is to provide a framework for
real-time charging. This could, for instance, be to grant or deny a user's request of a specific network
activity and to account for the eventual use of that network resource.
This thesis investigates whether it is possible to develop a Diameter Credit Control Application that
achieves linear scaling and the eventual pitfalls that exist when developing a scalable DCCA server.
The assumption is based on the observation that the DCCA server's connections have little to nothing in
common (i.e. little or no synchronization), and introducing more processors should therefore give linear
To investigate whether a DCCA server's performance scales linearly, a prototype has been developed.
Along with the development of the prototype, constant performance analysis was conducted to see
what affected performance and server scalability in a multiprocessor DCCA environment. As the results
show, quite a few factors besides synchronization and independent connections affected scalability of
the DCCA prototype.
The results show that the DCCA prototype did not always achieve linear scaling. However, even if it
was not linear, certain design decisions gave considerable performance increase when more processors