Deterministic Routing Algorithm for Shared Memory Processing (SMP) (International Journal of Engineering and Computer Science, 2017)
Parallel computing involves the simultaneous deployment of various resources and computers to solve computational problems by using multiple processors. The most common parallel computing model is the shared memory processing (SMP) model. In this model, a number of identical processors communicate with each other by using one large logical shared memory with the same amount of access time for the entire memory area. The parallel programming performance is affected by the run time, which is in turn affected by the number of processors and the size of the problem. Therefore, this paper presents an application of XY deterministic routing in an SMP system based on a 4x4 2D mesh topology network with two cores and two threads per core. The sequential run time and the related parallel run time for each thread were measured. The sequential time that must be achieved to compensate for the warm-up overhead time consumed by the Java Virtual Machine (JVM) was at least 60 seconds. The results revealed that the achieved sequential time was equal to 69.057 seconds, whereas the achieved parallel times for threads 1 and 2 of the first core and threads 1 and 2 of the second core were 70.066, 68.112, 44.869, and 42.412 seconds, respectively. On the basis of the degree of parallelism, the parallel programming performance was evaluated in terms of speedup and efficiency. The performance evaluation results demonstrated that an increase in the degree of parallelism results in faster speed up and decreased efficiency.