https://github.com/cameronclay/parallel-co-processing
Distributed Data Processing application (Windows only) that utilizes multiple computers to execute an algorithm on a set of data.
https://github.com/cameronclay/parallel-co-processing
boost cpp google-test stl win32-api wnlib
Last synced: 19 days ago
JSON representation
Distributed Data Processing application (Windows only) that utilizes multiple computers to execute an algorithm on a set of data.
- Host: GitHub
- URL: https://github.com/cameronclay/parallel-co-processing
- Owner: CameronClay
- License: bsl-1.0
- Created: 2024-02-07T20:34:07.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-06-05T05:56:43.000Z (about 2 years ago)
- Last Synced: 2025-02-27T10:59:34.840Z (over 1 year ago)
- Topics: boost, cpp, google-test, stl, win32-api, wnlib
- Language: C++
- Homepage:
- Size: 3.27 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE_1_0.txt
Awesome Lists containing this project
README
# About
Distributed Data Processing application (Windows only) that utilizes multiple computers to execute an algorithm on a set of data. The clients will then send the processsed data back to the server so it can be reordered and combined. This speeds up the processing and analysis of data drastically over using a single computer.
Custom algorithms and custom data can be created/generated for the clients to process/anyalze.
### Setup
* Make sure TCPCS.dll, TCPCS.lib, zlib1.dll are all in the executable directory before running.
* Run DataGen to generate data for the clients to process
* Start the server
* Allow connections on the server
* Start the client(s)
* Connect the clients and recvdata
### Dependencies
- WNLIB - https://github.com/CameronClay/WNLIB-Chat
### Unit Testing
- Unit testing done with Google Test.
### Tooling
- C++
- Boost.LockFree
- Google Test
- Win32 API
- Visual Studio
#### Server usage
```
Commands: help, exit, allowcon, shutdown
Server> allowcon -h
Usage: -p=Port [-ipv=ipv4/ipv6/ipboth[ipv4] -nt=nThreads[8] -nct=nConcurrentThreads[4] -nca=nConcurrentAccepts[4]]
```
#### Client usage
```
Commands: help, exit, connect, disconnect, recvdata
Client> connect -h
Usage: -ip=IP address -p=port -ipv6=true/false[false] [-t=timesec[5.0]]
Client> recvdata -h
Usage: [-nt=nThreads[2] -nct=nConcThreads[1]]
```
##### Disclamer
Use at own risk. NO warranty is provided whatsoever.