What is MPI? What are its main characteristics? Describe.

MPI applications

  • The Message Passing Interface (MPI) is a de facto standard for creating parallel applications that interact with efficient message-passing. This standard can be used on current HPC clusters. The issue with a computer cluster is that although some CPUs share a memory, others have a dispersed memory architecture and are only connected by a network. Interface specifications have been defined and implemented for C/C++ and Fortran Developers these days can employ distributed memory, shared memory, or a hybrid system of the two, all with the power of MPI. There have been several MPI libraries available through the years, and some of the most popular libraries are MPICH, MVAPICH, Open MPI & Intel MPI, etc.

MPI provides developers with a set of routines that/Characteristics are:- :

  •  Manage the distributed environment where
  • MPI programs are executed Provide facilities for point-to-point communication 
  • Provide facilities for group communication
  • Provide support for data structure definition and memory allocation
  • Provide basic support for synchronization with blocking calls

  • MPI-compatible distributed infrastructure. MPI apps that use the same MPI runtime are automatically assigned to a global group named MP_COMM_WORLD. In that group, the distributed processes have a unique identifier that allows the MPI runtime to localize and address them. Specific groups can also be formed as subsets of this global group. 
  • Individual MPI process has its rank within the associated group and the rank is a unique identifier that allows processes to communicate within the group. Communication is enabled through a communicator component that may be customized for each group. The parallel part of the code is readily recognizable by two actions that set up and shut down the MPI To develop the environment, respectively.
  •  All MPI functions can be used to transmit or receive messages in either an MPI application and the code for the MPI process that will be performed in parallel must be asynchronous or synchronous mode in the code block specified by these two actions.

 

Comments

Popular posts from this blog

Suppose that a data warehouse for Big-University consists of the following four dimensions: student, course, semester, and instructor, and two measures count and avg_grade. When at the lowest conceptual level (e.g., for a given student, course, semester, and instructor combination), the avg_grade measure stores the actual course grade of the student. At higher conceptual levels, avg_grade stores the average grade for the given combination. a) Draw a snowflake schema diagram for the data warehouse. b) Starting with the base cuboid [student, course, semester, instructor], what specific OLAP operations (e.g., roll-up from semester to year) should one perform in order to list the average grade of CS courses for each BigUniversity student. c) If each dimension has five levels (including all), such as “student < major < status < university < all”, how many cuboids will this cube contain (including the base and apex cuboids)?

Discuss classification or taxonomy of virtualization at different levels.

Suppose that a data warehouse consists of the four dimensions; date, spectator, location, and game, and the two measures, count and charge, where charge is the fee that a spectator pays when watching a game on a given date. Spectators may be students, adults, or seniors, with each category having its own charge rate. a) Draw a star schema diagram for the data b) Starting with the base cuboid [date; spectator; location; game], what specific OLAP operations should perform in order to list the total charge paid by student spectators at GM Place in 2004?