Distributed Workflows with PGAS
Partitioned global address space (PGAS) networks are an alternative to MPI that use a multinode shared memory space to support parallelism. GASNet is an implementation of a PGAS network commonly used to run PGAS-based programming languages like Chapel. PGAS execution in Fuzzball is accessed through the same workflow field that is used to control MPI execution.
Observe the following Fuzzfile:
version: v1
jobs:
hello:
image:
uri: docker://chapel/chapel:latest
command:
- /bin/sh
- '-c'
- hello-chapel --tasksPerLocale 8
resource:
cpu:
cores: 8
affinity: CORE
memory:
size: 1GB
multinode:
nodes: 2
implementation: gasnet
This will use the official Chapel
container to run a basic “Hello World”
style example. The multinode.implementation
section is set to gasnet
. This tells Fuzzball to
utilize a GASNet network if it exists within the
cluster environment.
For more information about Chapel see the official docs.