Click here to Skip to main content
15,867,771 members
Articles / Programming Languages / C++

How to Implement the Parallel "Stable" Sort Using Intel® MPI Library and Deploy It to a Multi-Node Computational Cluster

,
Rate me:
Please Sign up or sign in to vote.
5.00/5 (1 vote)
7 May 2020CPOL13 min read 4.5K   4  
In this article, I will ground the discussion on the several aspects of delivering a modern parallel code using the Intel® MPI library, that provides even more performance speed-up and efficiency of the parallel “stable” sort, previously discussed.
The audience of this article’s readers will find out about an algorithm that allows to workshare the entire process of sorting between multiple processes, spawned in parallel, running in a single computational node (e.g., intra-node) or an entire computational cluster, consisting of multiple nodes, each one consuming its own CPU and system memory resources. The following algorithm is mainly based on the idea of combining the famous quicksort and mergesort algorithms to perform the parallel sort of big data divided into the sub-arrays, sorted by each process in a team independently and, then merge those sorted sub-arrays into an entire array of ordered data.

Views

Daily Counts

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) EpsilonDev
Ukraine Ukraine
I’m software developer, system analyst and network engineer, with over 20 years experience, graduated from L’viv State Polytechnic University and earned my computer science and information technology master’s degree in January 2004. My professional career began as a financial and accounting software developer in EpsilonDev company, located at L’viv, Ukraine. My favorite programming languages - C/C++, C#.NET, Java, ASP.NET, Node.js/JavaScript, PHP, Perl, Python, SQL, HTML5, etc. While developing applications, I basically use various of IDE’s and development tools, including Microsoft Visual Studio/Code, Eclipse IDE for Linux, IntelliJ/IDEA for writing code in Java. My professional interests basically include data processing and analysis algorithms, artificial intelligence and data mining, system analysis, modern high-performance computing (HPC), development of client-server web-applications using various of libraries, frameworks and tools. I’m also interested in cloud-computing, system security audit, IoT, networking architecture design, hardware engineering, technical writing, etc. Besides of software development, I also admire to write and compose technical articles, walkthroughs and reviews about the new IT- technological trends and industrial content. I published my first article at CodeProject in June 2015.

Written By
United States United States
You may know us for our processors. But we do so much more. Intel invents at the boundaries of technology to make amazing experiences possible for business and society, and for every person on Earth.

Harnessing the capability of the cloud, the ubiquity of the Internet of Things, the latest advances in memory and programmable solutions, and the promise of always-on 5G connectivity, Intel is disrupting industries and solving global challenges. Leading on policy, diversity, inclusion, education and sustainability, we create value for our stockholders, customers and society.
This is a Organisation

42 members

Comments and Discussions