From 6a046babcb02d7135b909a6c17e204f5f376ebea Mon Sep 17 00:00:00 2001 From: Akilan Date: Sun, 4 Apr 2021 23:18:39 +0400 Subject: [PATCH] added basic docs --- docs/About | 0 docs/Installation.md | 60 +++++++++++++++++++++++++++++++++++++++++++ docs/Installation.txt | 4 --- docs/Problems.md | 35 +++++++++++++++++++++++++ docs/README.md | 7 +++++ 5 files changed, 102 insertions(+), 4 deletions(-) delete mode 100644 docs/About create mode 100644 docs/Installation.md delete mode 100644 docs/Installation.txt create mode 100644 docs/Problems.md create mode 100644 docs/README.md diff --git a/docs/About b/docs/About deleted file mode 100644 index e69de29..0000000 diff --git a/docs/Installation.md b/docs/Installation.md new file mode 100644 index 0000000..db0067a --- /dev/null +++ b/docs/Installation.md @@ -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=~//p2p-redering-computation:${PATH} +``` + + +#### Note: The steps on how to use the commands will be added later. \ No newline at end of file diff --git a/docs/Installation.txt b/docs/Installation.txt deleted file mode 100644 index f734264..0000000 --- a/docs/Installation.txt +++ /dev/null @@ -1,4 +0,0 @@ -Installation -============ - -To be added \ No newline at end of file diff --git a/docs/Problems.md b/docs/Problems.md new file mode 100644 index 0000000..0320f61 --- /dev/null +++ b/docs/Problems.md @@ -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. + diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..da1c8e3 --- /dev/null +++ b/docs/README.md @@ -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) \ No newline at end of file