... | @@ -2,11 +2,11 @@ |
... | @@ -2,11 +2,11 @@ |
|
|
|
|
|
The **I/O forwarding mode** enables Gekko to act as intermediate I/O nodes between the compute nodes and the parallel file system servers.
|
|
The **I/O forwarding mode** enables Gekko to act as intermediate I/O nodes between the compute nodes and the parallel file system servers.
|
|
|
|
|
|
In **GekkoFS**, data operations are distributed across all nodes. Once an operation is intercepted, the client forwards it to the responsible server, determined by hashing the file's path. Furthermore, **GekkoFS** uses the node-local FS to store data and metadata.
|
|
In **GekkoFS**, data operations are distributed across all nodes. Once an operation is intercepted, the client forwards it to the responsible server, determined by hashing the file's path. Furthermore, **GekkoFS** uses the node-local FS to store data and metadata and no request scheduling in the daemon.
|
|
|
|
|
|
![gekkofs-small](uploads/ee751ea734d4a8324f37eab4892ce6ac/gekkofs-small.png)
|
|
![gekkofs-small](uploads/ee751ea734d4a8324f37eab4892ce6ac/gekkofs-small.png)
|
|
|
|
|
|
In **GekkoFWD**, the data is forwarded to a single server determined by an allocation policy, without breaking the file into chunks, as the PFS already has its striping mechanism. **GekkoFWD** uses the shared PFS for storage, instead of a local store available at the compute nodes.
|
|
In **GekkoFWD**, the data is forwarded to a single server determined by an allocation policy, without breaking the file into chunks, as the PFS already has its striping mechanism. In the daemon, requests can be scheduled before being issued to the file system. **GekkoFWD** uses the shared PFS for storage, instead of a local store available at the compute nodes.
|
|
|
|
|
|
![gekkofwd-small](uploads/2d4594bf6aad17aa5f4bcca6f29f5d9a/gekkofwd-small.png)
|
|
![gekkofwd-small](uploads/2d4594bf6aad17aa5f4bcca6f29f5d9a/gekkofwd-small.png)
|
|
|
|
|
... | @@ -32,7 +32,7 @@ You need to make sure to have the `agios.conf` file in the `/tmp` folder of each |
... | @@ -32,7 +32,7 @@ You need to make sure to have the `agios.conf` file in the `/tmp` folder of each |
|
|
|
|
|
## Running
|
|
## Running
|
|
|
|
|
|
Before running any applications with GekkoFWD, you need to have a forwarding map file. It should contain a hostname and the ID of an I/O node, to which all intercepted requests should be forwarded. Here is an example with two I/O nodes:
|
|
Before running any applications with **GekkoFWD**, you need to have a forwarding map file that can be dynamically updated according to an allocation policy. It should contain a hostname of a compute node and the ID of an I/O node, to which all intercepted requests should be forwarded. Here is an example with four compute nodes and two I/O nodes:
|
|
|
|
|
|
```
|
|
```
|
|
node-1 0
|
|
node-1 0
|
... | @@ -41,4 +41,6 @@ node-3 1 |
... | @@ -41,4 +41,6 @@ node-3 1 |
|
node-4 1
|
|
node-4 1
|
|
```
|
|
```
|
|
|
|
|
|
An environment variable named `LIBGKFS_FORWARDING_MAP_FILE` should be used to identify the map file on each client. Typically, this file would be stored in a shared infrastructure, such as the default PFS. |
|
In this scenario, `node-1` and `node-2` will forward all its I/O request to the first I/O node and `node-3` and `node-4` will forward all its I/O requests to a second I/O node.
|
|
\ No newline at end of file |
|
|
|
|
|
An environment variable named `LIBGKFS_FORWARDING_MAP_FILE` should be used to identify the map file on each client. Typically, this file would be stored in a shared infrastructure, such as the default PFS so that all clients see the same mapping. |
|
|
|
\ No newline at end of file |