- Implemented Needleman-Wunsch algorithm for edit distance calculation - Added three MPI communication strategies: P2P, Scatter-Gather, Gather-based - Included Docker containerization with single and multi-container support - Added multiple input methods: default, command line, interactive - Improved timing precision to show microsecond measurements - Fixed MPI deadlock issues in P2P communication - Complete documentation and usage examples
61 lines
1.2 KiB
YAML
61 lines
1.2 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
master:
|
|
build: .
|
|
container_name: pdc-master
|
|
hostname: master
|
|
volumes:
|
|
- ./hostfile:/app/hostfile
|
|
environment:
|
|
- FRIENDLY_NAME=pdc-master
|
|
# This line automatically reads from the .env file
|
|
command: >
|
|
sh -c "/usr/sbin/sshd & sleep 5 && mpirun -np 5 --hostfile /app/hostfile --allow-run-as-root /app/${TASK_TO_RUN:-edit_distance}"
|
|
networks:
|
|
- pdcn
|
|
|
|
worker1:
|
|
build: .
|
|
container_name: pdc-worker1
|
|
hostname: worker1
|
|
environment:
|
|
- FRIENDLY_NAME=pdc-worker1
|
|
command: /usr/sbin/sshd -D
|
|
networks:
|
|
- pdcn
|
|
|
|
worker2:
|
|
build: .
|
|
container_name: pdc-worker2
|
|
hostname: worker2
|
|
environment:
|
|
- FRIENDLY_NAME=pdc-worker2
|
|
command: /usr/sbin/sshd -D
|
|
networks:
|
|
- pdcn
|
|
|
|
worker3:
|
|
build: .
|
|
container_name: pdc-worker3
|
|
hostname: worker3
|
|
environment:
|
|
- FRIENDLY_NAME=pdc-worker3
|
|
command: /usr/sbin/sshd -D
|
|
networks:
|
|
- pdcn
|
|
|
|
worker4:
|
|
build: .
|
|
container_name: pdc-worker4
|
|
hostname: worker4
|
|
environment:
|
|
- FRIENDLY_NAME=pdc-worker4
|
|
command: /usr/sbin/sshd -D
|
|
networks:
|
|
- pdcn
|
|
|
|
networks:
|
|
pdcn:
|
|
driver: bridge
|