Modern Platform for Parallel Algorithms Testing: Java on Intel Xeon Phi

Full Text (PDF, 209KB), PP.8-14

Views: 0 Downloads: 0


Artur Malinowski 1,*

1. Gdansk University of Technology, Faculty of Electronics, Telecommunications and Informatics, Gdansk, Poland

* Corresponding author.


Received: 9 Oct. 2014 / Revised: 1 Mar. 2015 / Accepted: 12 Apr. 2015 / Published: 8 Aug. 2015

Index Terms

Parallel programming, parallel algorithms, testing, Java, Xeon Phi


Parallel algorithms are popular method of increasing system performance. Apart from showing their properties using asymptotic analysis, proof-of-concept implementation and practical experiments are often required. In order to speed up the development and provide simple and easily accessible testing environment that enables execution of reliable experiments, the paper proposes a platform with multi-core computational accelerator: Intel Xeon Phi, and modern programming language: Java. The article includes the description of integration Java with Xeon Phi, as well as detailed information about all of the software components. Finally, the set of tests proves, that proposed platform is able to prepare reliable experiments of parallel algorithms implemented in modern programming language.

Cite This Paper

Artur Malinowski, "Modern Platform for Parallel Algorithms Testing: Java on Intel Xeon Phi", International Journal of Information Technology and Computer Science(IJITCS), vol.7, no.9, pp.8-14, 2015. DOI:10.5815/ijitcs.2015.09.02


[1]J. Chen, “Analysis of Moore's Law on Intel Processors”. Proceedings of the 2013 International Conference on Electrical and Information Technologies for Rail Transportation (EITRT2013), vol II. Springer, 2014, 391-400.

[2]Top500. November 2014,, accessed: Mar. 16, 2015. 

[3]M. T. Goodrich, R.  Tamassia, “Algorithm Design: Foundations, Analysis and Internet Examples”, John Wiley & Sons, Inc., 2009.

[4]A. J. Umbarkar, M. S. Joshi, Wei-Chiang Hong, “Multithreaded Parallel Dual Population Genetic Algorithm (MPDPGA) for unconstrained function optimizations on multi-core system”, Applied Mathematics and Computation, vol. 243, 2014, 936-949.

[5]G. M. Slota, “BFS and Coloring-Based Parallel Algorithms for Strongly Connected Components and Related Problems”, Parallel and Distributed Processing Symposium, 2014 IEEE 28th International, 2014, 550-559.

[6]T. Baba, N. Takahashi, Y. Kaneda, K. Ando, D. Matsuoka, T. Kato, “Parallel Implementation of Dispersive Tsunami Wave Modeling with a Nesting Algorithm for the 2011 Tohoku Tsunami”, Pure and Applied Geophysics, Springer, 2015.

[7]N. Dhankher, O. P. Gupta, “Parallel Implementation & Performance Evaluation of Blast Algorithm on Linux Cluster”, International Journal of Computer Science and Information Technologies, vol. 5 (3), 2014, 4818-4820.

[8]E. R. Sykes, W. Skoczen, “An improved parallel implementation of RainbowCrack using MPI”, Journal of Computational Science, vol 5, 2014, 536-541.

[9]Lanjun Wan, Kenli Li, Jing Liu, Keqin Li, “GPU implementation of a parallel two-list algorithm for the subset-sum problem”, Concurrency and Computation: Practice and Experience, vol. 27, 2015, 119-145.

[10]D. Mrozek, M. Bro?ek, B. Ma?ysiak-Mrozek, “Parallel implementation of 3D protein structure similarity searches using a GPU and the CUDA”, Journal of Molecular Modeling, Springer, 2014.

[11]TIOBE Software Corporation, “TIOBE Index for March 2015”,, accessed: Apr. 2, 2015.

[12]R. R. Exposito, S. Ramos, G. L. Taboada, J. Tourino, R. Doallo, “FastMPJ: a scalable and efficient Java message-passing library”, Cluster Computing – The Journal of Networks, Software Tools and Applications, vol. 17, Springer, 2014, 31-1050.

[13]M. E. Kambites, J. Obdrzalek, J. M. Bull, “An OpenMP-like interface for parallel programming in Java”, Concurrency and Computation: Practice and Experience, vol. 13, 2001, 793-814.

[14]P. Wendykier, J. G. Nagy, “Parallel Colt: A High-Performance Java Library for Scientific Computing and Image Processing”, ACM Transactions on Mathematical Software (TOMS), vol. 37, 2010.

[15]J. Docampo, S. Ramos, G. L. Taboada, R. R. Exposito, J. Tourino, R. Doallo, “Evaluation of Java for General Purpose GPU Computing”, Advanced Information Networking and Applications Workshops (WAINA), 2013 27th International Conference on, 2013, 1398-1404.

[16]Intel Corporation, “Intel? Xeon Phi? Coprocessor February Developer Webinar Q&A Responses”,, accessed: Oct. 30, 2014.

[17]Intel Corporation, “Intel? Xeon? Processor E3-1220 v3”,, accessed: Apr. 6, 2015.

[18]AMD Corporation, “AMD Opteron 6200 Series Processor 6274”,, accessed: Apr. 6, 2015.

[19]Nvidia Corporation, “GeForce GTX 750 Specyfication”,, accessed: Apr. 6, 2015.

[20]Intel Corporation, “Intel? Xeon? Coprocessor 3120A”, accessed: Apr. 6, 2015.

[21]T. Lindholm, F. Yellin, “Java Virtual Machine Specification”, Addison-Wesley Longman Publishing Co., Inc., 1999.

[22]Oracle Corporation, “Java SE HotSpot at a Glance”,, accessed Mar. 19, 2015.

[23]R. Lougher, “JamVM – A compact Java Virtual Machine”,, accessed Mar. 19, 2015.

[24]Open Source Community, “Openjdk-6 package”,, accessed Mar. 19, 2015.

[25]Open Source Community, “Libffi. A Portable Foreign Function Interface Library”,, accessed Mar. 19, 2015.

[26]Intel Corporation, “Intel Xeon Phi Coprocessor Instruction Set Architecture Reference Manual”,, accessed Mar. 19, 2015.

[27]Open Source Community, “GNU Classpath”,, accessed Apr. 6, 2015.