SIMULATION PLATFORM ON A LINUX CLOUD FOR REAL-TIME SYSTEMS - Goh, Zhi Hao (2016)
Multi-core processors are everywhere now, researchers all over the world are finding ways to benchmark scheduling algorithms to better make use of the multi-core processing capability. However, researchers are still using only single core to benchmark their algorithms despite having hardware with multiple cores resulting in slow progress. Code concurrency have been around for very long and there are many ways to achieve code concurrency, threads and are two strategies of doing so. This report explores into the possible combination of threads and processes namely, pure multithreading, pure multi-core processing, nesting multi-threads in multi-core processes and nested multi-core processes to achieve better speedup performance of benchmarking algorithms. The performance of each strategy was measured and compared, the best strategy is chosen to be optimized and used in creating a simulation platform for researchers all around to use this paralleled processing environment through the means of remote access and graphical user interface (GUI). Nesting multiple processes yields the best performance among the strategies and having the right amount of nesting is key to optimize the benchmarking of individual algorithm. Having too much nesting would results in deterioration of the parallelization performance.