Explain the different Parallel and Distributed Programming Models with examples
Answer:-
Parallel and distributed programming models help in developing scalable applications that run across multiple computers or nodes. These models are important for grid systems, cloud computing, and high-performance environments.
Here are some common models:
1. Message-Passing Interface (MPI)
- MPI is a standard programming model for writing parallel programs in C or FORTRAN.
- Used in clusters, grids, and P2P systems.
- MPI allows multiple computers to communicate by sending and receiving messages.
- Example: Scientific simulations or high-performance computing tasks.
2. MapReduce
- MapReduce is a model used for processing large data sets.
- Created by Google, used in web-scale search and cloud computing.
- It has two main steps:
- Map: Breaks data into key-value pairs.
- Reduce: Combines all values for the same key.
- Can process terabytes of data using thousands of machines.
3. Hadoop
- Hadoop is an open-source framework developed by Yahoo.
- It implements MapReduce and provides HDFS (Hadoop Distributed File System).
- Used to store and process large data (even petabytes) efficiently.
- Runs across many low-cost (commodity) computers.
- It is reliable and automatically manages failures.
4. Open Grid Services Architecture (OGSA)
- OGSA is a standard model for grid computing.
- Supports distributed applications with:
- Execution environments
- Security
- Trust management
- Genesis II is a system based on OGSA.
- It helps in resource sharing and secure communication in grid systems.
5. Globus Toolkit
- Globus is a middleware library for grid systems.
- Developed by Argonne National Lab and USC.
- Implements OGSA standards for:
- Resource discovery
- Authentication
- Secure communication
- GT 4 is the widely used version.
- IBM extended Globus for business applications.