zachpmanson / rake

Client and server programs for rake, a protocol for distributed compilation and remote command execution over TCP

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

rake

Client and server applications for rake, a protocol for distributed compilation and remote command execution.

r(emote) + (m)ake = rake

Created by Zach Manson and Dempsey Thompson

Completed for CITS3002

Usage

rakeserver is written in Python:

python3 ./rakeserver/rakeserver.py [port]

rakeclient has 2 versions, one in Python and one in C:

python3 ./path/to/rake-p.py [-v] [filename]
./rake-c/rake-c [-v] [filename]

Supported on Unix-like systems. Tested on Ubuntu 20.04 and macOS Mojave.

Final mark: 95%

Due date: 5PM Friday 20th May (end of week 11)

Resources:

Todo

  • Python Client (rakeclient-p)
    • Rakefile processing
    • Figure our whats required for rakefile parsing
  • Rakeserver (Python)
    • Multiprocessing
  • C Client (rakeclient-c)
  • Report (PDF, 3 A4 pages long) (ideally with diagrams and examples)
    • the protocol you have designed and developed for all communication between your client and server programs
    • a 'walk-through' of the execution sequence employed to compile and link an multi-file program
    • the conditions under which remote compilation and linking appears to perform better (faster) than just using your local machine

About

Client and server programs for rake, a protocol for distributed compilation and remote command execution over TCP


Languages

Language:C 51.9%Language:Python 42.3%Language:Shell 4.0%Language:Ruby 1.3%Language:Makefile 0.6%