Climbing Mont Blanc - A Prototype System for Online Energy Efficiency Based Programming Competitions on ARM Platforms
Abstract
The Climbing Mont Blanc (CMB) system is an online judge with emphasis onenergy-efficiency. In this thesis, the existing prototype of the system has beenfurther developed and improved. Continual user testing was conducted in acourse at NTNU, and a continuous integration pipeline with automatic testingwas implemented to ensure good code quality. The system is available athttps://climb.idi.ntnu.no.
The backend of the system was ported to a Hardkernel Odroid-XU3 boardwith an Exynos 5 Octa, which consists of four ARM Cortex-A15 and four ARMCortex-A7 cores and an ARM Mali-T628 MP6 GPU. The board has integratedpower sensors, which are used to get the energy consumption of programs. Thesystem supports programs written in C++ and C, with support for OpenCL 1.1Full profile, task-based OpenMP 4.0 and Pthreads NPTL 2.19.
To increase the fairness of the system, measurement accuracy experimentswere performed. The system setup was tested with regards to stability andscalability. The design choices regarding implementation and security issues, aswell as the business strategy, are discussed. The recommended next step for thesystem is user testing in a larger course at NTNU with mandatory assignments,and the improvements needed for this are outlined.