Microsoft MPI (MS-MPI) is required for running this distributed computing framework on Windows.
-
Download MS-MPI v10.1.2 (or latest):
-
Install in this order:
- First, run
msmpisetup.exe(Runtime) - Then, run
msmpisdk.msi(SDK)
- First, run
-
Verify Installation: Open a new Command Prompt and run:
mpiexec -help
You should see MPI help output.
You need a C++ compiler. Choose one:
- Download Visual Studio 2022 Community (free): https://visualstudio.microsoft.com/downloads/
- During installation, select:
- "Desktop development with C++"
- CMake tools for Windows
- Download from: https://www.mingw-w64.org/
- Add to PATH:
C:\mingw64\bin
- Download CMake: https://cmake.org/download/
- Choose "Add CMake to system PATH for all users" during installation
- Verify:
cmake --version
cd "c:\Users\ankit\OneDrive\Desktop\sem 4\New folder\DistributedComputingFramework"
build.batcd "c:\Users\ankit\OneDrive\Desktop\sem 4\New folder\DistributedComputingFramework"
REM Create build directory
mkdir build
cd build
REM Configure with CMake
cmake .. -G "Visual Studio 17 2022"
REM Build
cmake --build . --config Release
cd ..After successful build:
mpiexec -n 4 build\Release\distributed_framework_main.exempiexec -n 4 build\Release\matrix_multiply.exe 1000mpiexec -n 8 build\Release\monte_carlo_pi.exe 100000000When running on a single machine, you can simulate multiple nodes:
mpiexec -n 4 build\Release\distributed_framework_main.exeThe -n 4 flag creates 4 processes (1 master + 3 workers).
- Solution: MS-MPI is not installed or not in PATH
- Reinstall MS-MPI Runtime
- Restart Command Prompt
- Check PATH contains:
C:\Program Files\Microsoft MPI\Bin\
- Solution: Install CMake and restart Command Prompt
- Solution: Install Visual Studio with C++ tools
- Or use MinGW-w64 and modify CMake generator:
cmake .. -G "MinGW Makefiles" mingw32-make
- Solution: MS-MPI SDK not installed
- Install
msmpisdk.msi - CMake should auto-detect at:
C:\Program Files (x86)\Microsoft SDKs\MPI
If you just want to understand the concepts without building, I can create a simplified single-file demo that doesn't require MPI.
Once everything builds successfully, you can:
- Modify task implementations in
src/core/task.cpp - Adjust load balancing strategies in
config/framework.conf - Create custom applications in
src/examples/ - Test fault tolerance by killing worker processes
- Use Release build for better performance
- Increase worker count for larger datasets
- Enable checkpointing for long-running tasks
- Adjust
task_timeoutin config for your workload
Check the main README.md for architecture details and API documentation.