COAST Framework 64-Bit

Schönenberg, Philipp and Wenger, Patrik (2016) COAST Framework 64-Bit. Student Research Project thesis, HSR Hochschule für Technik Rapperswil.

[thumbnail of COAST Framework 64-Bit.pdf]
COAST Framework 64-Bit.pdf - Supplemental Material

Download (1MB) | Preview


The IFS maintains a C++ web application framework called COAST. It was developed for 32-bit hardware platforms and features an extensive collection of test suites. Our main task consists of:
1. Adding support for 64-bit platforms, while ensuring correct functionality of at least a predefined set of core tests.
2. Measure the performance differences for each of the ported test suites and explain the causes.
The optional goals include porting additional test suites, creating a history of performance measurements over time, improving one of the internal data structures, as well as preparing the code base for modern C++.

The students approached this project by informing themselves about the difference between 32-bit and 64-bit platforms and common porting issues. Subsequently, the affected tests were fixed iteratively. Several performance measurement utilities, ranging from the simple time command to more sophisticated solutions from the perf and Valgrind tool suites, have been evaluated and applied appropriate.

Although easy to fix, the causes for most of the broken tests were hard to track down. They consisted of data type discrepancies, disabled warnings, and a race condition, most of which resulted from the assumption that long is always a 32-bit quantity. All tests from both the mandatory and the optional goals, and the example application CoastRecipes work. On 64-bit, where applications now have access to the full potential of 64-bit systems, including a much higher memory limit, the memory footprint is roughly 1.5× the one on 32-bit. However, the speed-wise performance differences are insignificant. The performance measurement scripts that have been contributed can be used to selectively (e.g. a certain set of test suites) obtain differences between 32-bit and 64-bit, as well as a historical record of performance characteristics.

Item Type: Thesis (Student Research Project)
Subjects: Topics > Software > Refactoring
Topics > Software > Performance
Area of Application > Desktop based
Technologies > Programming Languages > C++
Technologies > Web
Metatags > IFS (Institute for Software)
Divisions: Bachelor of Science FHO in Informatik > Student Research Project
Depositing User: HSR Deposit User
Thesis advisor
Sommerlad, Peter
Date Deposited: 05 Oct 2016 11:26
Last Modified: 05 Oct 2016 11:26

Actions (login required)

View Item
View Item