added basic docs

This commit is contained in:
2021-04-04 23:18:39 +04:00
parent 7503e4870c
commit 6a046babcb
5 changed files with 102 additions and 4 deletions

View File

60
docs/Installation.md Normal file
View File

@@ -0,0 +1,60 @@
# Installation
Over here we will cover the basic steps to get the server and client side running.
### Install Go lang
The entire the implementation of this project is done using Go lang.
Thus, we need go lang to compile to code to a binary file.
[Instructions to install Go lang](https://golang.org/doc/install)
### Install Docker
In this project the choice of virtualization is Docker due to it's wide usage
in the developer community. In the server module we use the Docker Go API to create and
interact with the containers.
[Instructions to install docker](https://docs.docker.com/get-docker/)
````
Do ensure that the docker command does not need sudo to run
````
### Build Project
To set up the internal dependencies and build the entire go code
into a single binary
```
make build
```
### Test if binary works
```
./p2p-rendering-computation --help
```
#### Output:
```
NAME:
p2p-rendering-computation - p2p cli application to create and access VMs in other servers
USAGE:
p2p-rendering-computation [global options] command [command options] [arguments...]
VERSION:
1.0.0
COMMANDS:
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--Mode value Specifies mode of running (default: "client") [$P2P_MODE]
--ListServers List servers which can render tasks (default: false) [$LIST_SERVERS]
--CreateVM value Creates Docker container on the selected server [$CREATE_VM]
--FilePath Testing for absolute path (default: false)
--help, -h show help (default: false)
--version, -v print the version (default: false)
```
### Add command to .bashrc or .zshrc
```
export PATH=~/<Project Path>/p2p-redering-computation:${PATH}
```
#### Note: The steps on how to use the commands will be added later.

View File

@@ -1,4 +0,0 @@
Installation
============
To be added

35
docs/Problems.md Normal file
View File

@@ -0,0 +1,35 @@
# Problems in implementation
### Number of Devices in the network:
The current implementation has the major flaw which is that
the server has to be in port 8088 to detected in the public
network. As we know most personal networks have a single IP
address. This means we cannot have duplicate ports. A fix can
be to mention the open port on the IP table file.
(Ex: Possible feild to be added)
```
{
"ip_address": [
{
"ipv4": "localhost",
"latency": 14981051,
"download": 8142.122540206258,
"upload": 3578.766512629995,
"port": 8088
}
]
}
```
### Broadcast of container specs
At the moment the container specs are not broadcasted rather
just the machines specs and this module has yet to be tested
rigorously.
### Intergration with GPU
Certain machines have GPUs present in them which provide a
huge advantage for those who want to do rendering and certain
sort of computation. The Aim is to only allow it to be compatible
with Nvidia. But an better idea would be to provide compatability
with multiple GPU providers.

7
docs/README.md Normal file
View File

@@ -0,0 +1,7 @@
# Table of contents
1. [Architecture](#NotImplemented)
1. [Client](#NotImplemented)
2. [P2P](#NotImplemented)
3. [Server](#NotImplemented)
2. [Installation](Installation.md)
3. [Problems](Problems.md)