https://github.com/nyeoglya/332project
https://github.com/nyeoglya/332project
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/nyeoglya/332project
- Owner: nyeoglya
- Created: 2024-12-07T06:21:13.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-12-08T09:46:28.000Z (6 months ago)
- Last Synced: 2025-01-20T11:13:29.850Z (4 months ago)
- Language: HTML
- Size: 10.5 MB
- Stars: 3
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 332project
**TEAM GREEN****Teammate: [nyeoglya](https://github.com/nyeoglya), [zlfn](https://github.com/zlfn), [carprefer](https://github.com/carprefer)**
> For more information, please visit [**HERE**](http://pl.postech.ac.kr/~gla/cs332/index.html)
## Develpment Environment

**JDK 21, Scala 2.13**
## Plan
**Week 1: Planning** [Report](https://htmlpreview.github.io/?https://github.com/nyeoglya/332project/blob/main/report/week1_report.html)**Week 2 (Midterm week): Design ideas** [Report](https://htmlpreview.github.io/?https://github.com/nyeoglya/332project/blob/main/report/week2_report.html) / ~~[Discussion1](https://github.com/nyeoglya/332project/discussions/3) [Discussion2](https://github.com/nyeoglya/332project/discussions/4)~~ (Discussion removed accidently when cleaning github history) / [Test Code](https://github.com/nyeoglya/grpc-master-worker)
**Week 3: Overall project design** [Report](https://htmlpreview.github.io/?https://github.com/nyeoglya/332project/blob/main/report/week3_report.html) / ~~[Comment1](https://github.com/nyeoglya/332project/discussions/3#discussioncomment-11133877) [Comment2](https://github.com/nyeoglya/332project/discussions/3#discussioncomment-11133893) [Comment3](https://github.com/nyeoglya/332project/discussions/3#discussioncomment-11133896) [Comment4](https://github.com/nyeoglya/332project/discussions/3#discussioncomment-11134228)~~
**Week 4: Create test code** [Report](https://htmlpreview.github.io/?https://github.com/nyeoglya/332project/blob/main/report/week4_report.html) / ~~[Discussion1](https://github.com/nyeoglya/332project/discussions/7)~~ / [Image1](https://github.com/nyeoglya/332project/blob/main/report/worker_test_carprefer.png)
**Week 5: Creating physical code and testing the system** [Report](https://github.com/nyeoglya/332project/blob/main/report/week5_report.pdf)
**Week 6 (Progress Slides Deadline): Organizing Content, Preparing for Intermediate Presentation** [Presentation Slides](https://github.com/nyeoglya/332project/blob/main/presentation/intermediate/) / [Report](https://htmlpreview.github.io/?https://github.com/nyeoglya/332project/blob/main/report/week6_report.html)
**Week 7: Project Improvement and Maintenance** [Report](https://htmlpreview.github.io/?https://github.com/nyeoglya/332project/blob/main/report/week7_report.html)
**Week 8 (Project Deadline): Preparing for Final Presentation** [Presentation Slides](https://github.com/nyeoglya/332project/blob/main/presentation/final/) / [Report](https://htmlpreview.github.io/?https://github.com/nyeoglya/332project/blob/main/report/week8_report.html)
## How to use
You MUST login into account green.### 1. master setting
Download ``332project`` repository by git clone. Also, download ``JDK 21``, ``master.jar``, ``worker.jar`` from github repository release.
```shell
git clone https://github.com/nyeoglya/332project.git
wget https://github.com/nyeoglya/332project/releases/download/v0.0.2/master.jar
wget https://github.com/nyeoglya/332project/releases/download/v0.0.2/worker.jar
wget https://github.com/nyeoglya/332project/releases/download/v0.0.2/jdk.tar
```### 2. initiate
Initiate project using ``initiate``.
```sh
./332project/shellScript/initiate.sh
```### 3. run program
Open two windows on master. Then, run ``master`` first with worker numbers.
```sh
./master [worker_num]
```After master run properly, run ``activate_test`` with **[test_name]** (small, big, large).
```sh
./332project/shellScript/activate_test.sh [test_name]
```According to the above method, the output is stored in the ``/home/green/dataset/[test_name]_output``.
When master print "Merge request complete", the whole sorting progress done. Just ``Ctrl+C`` to close the entire program(master & workers).To arbitrarily specify the input and output folder paths, you can run ``worker`` for "each" worker. You must use absolute path for each parameters.
```sh
./worker [master_ip:port] -I [input_directories] -O [output_directory]
```### 4. validation
After all sort process ends, run ``validation``, ``size_validation`` to validate whether the sorting process complete or not. Both two shell need **[test_name]**.
```sh
./332project/shellScript/validation.sh [test_name]
./332project/shellScript/size_validation.sh [test_name]
```### 5. multi-input cases
For testing multi-input cases, run ``activate_manyDirTest`` to run worker.
```sh
./master [worker_num]
./332project/shellScript/activate_manyDirTest.sh
```## Grading Criteria
```md
10% for forming your team by class today
30% for progress
40% for the final result
30% for correctness
15% for design, architecture, performance, implementation (subjective)
10% for the progress presentation
10% for the final presentationWe will test your code in a small cluster.
no more testing updated after the deadline.
```