From 7ecabf8a297d7ca060e9e70f30c3024dfe783b43 Mon Sep 17 00:00:00 2001 From: TYLER CARAZA-HARTER <tharter@cs544-tharter.cs.wisc.edu> Date: Fri, 21 Feb 2025 21:14:32 -0600 Subject: [PATCH] rollback p3 spec to s25 --- p3/README.md | 320 ++++++++++++++--------------------- p3/bigdata.py | 27 +++ p3/client.py | 57 ------- p3/csvsum.py | 24 +++ p3/docker-compose.yml | 14 -- p3/file2.csv | 4 - p3/parquetsum.py | 24 +++ p3/plot.png | Bin 92411 -> 0 bytes p3/purge.txt | 1 - p3/{file1.csv => simple.csv} | 0 p3/upload.py | 23 +++ p3/workload.txt | 6 - 12 files changed, 228 insertions(+), 272 deletions(-) create mode 100644 p3/bigdata.py delete mode 100644 p3/client.py create mode 100644 p3/csvsum.py delete mode 100644 p3/docker-compose.yml delete mode 100644 p3/file2.csv create mode 100644 p3/parquetsum.py delete mode 100644 p3/plot.png delete mode 100644 p3/purge.txt rename p3/{file1.csv => simple.csv} (100%) create mode 100644 p3/upload.py delete mode 100644 p3/workload.txt diff --git a/p3/README.md b/p3/README.md index 86c5269..14b1757 100644 --- a/p3/README.md +++ b/p3/README.md @@ -1,253 +1,193 @@ -# P3 (4% of grade): Large, Thread-Safe Tables +# DRAFT! Don't start yet. -# DRAFT: DO NOT START +# P3 (4% of grade): Large, Thread-Safe Tables ## Overview -In this project, you'll build a server that handles the uploading of CSV files, storing their contents, and performing query operations on the data. The server maintains **only ONE** logical table. You should think of each uploaded CSV as containing a portion of that larger table, which grows with each upload. - -The server will write two files for each uploaded CSV file: one in CSV format and another in Parquet (i.e., they are two copies of the table in different formats). Clients that we provide will communicate with your server via RPC calls. - -### Workflow and Format Walkthrough - -In P3, our `client.py` takes in a batch of operation commands stored in file `workload.txt` and executes them line by line. There are two types of commands you can put into `workload.txt` to control the client behavior. First, each *upload* command: - -``` -u file.csv -``` - -will instruct the client to read a CSV data file named `file.csv` as binary bytes, and use the corresponding RPC call to upload it to the server. Next, you can use a subsequent *sum* command to perform summation to the table over one specified column. For example: - -``` -s p x -``` - -asks the client to send an RPC request to the server and instruct the server to return the total sum value of column `x`. As there are two copies of the same table in `CSV` and `Parquet` format, `p` in the command asks the server to read column data only from `Parquet` files. Below is a minimal example. Assume that the `server` has uploaded two files `file1.csv` and `fil12.csv`, which contain these records respectively: - -``` -x,y,z -1,2,3 -4,5,6 -``` - -And: +In this project, you'll build a server that handles the uploading of +CSV files, storing their contents, and performing operations on the +data. You should think of each CSV upload as containing a portion of +a larger table that grows with each upload. -``` -x,y -5,10 -0,20 -10,15 -``` - -You can assume columns contain only integers. You should be able to upload the files and do sums with the following `workload.txt` description: - -``` -u file1.csv -u file2.csv -s p x -s p z -s c w -``` - -Expected ouptut would be: - -``` -20 -9 -0 -``` - -Inspect both the `workload.txt` file content and client code (i.e., `read_workload_file()`) to understand how each text command leads to one `gRPC` call. A separate `purge.txt` workload file is provided and *should not be modified*. The client can use a RPC call `Purge()` to reset the server and remove all files stored by the remote peer. +The server will write two files for each uploaded CSV file: one in CSV +format and another in Parquet. Clients that we provide will +communicate with your server via RPC calls. Learning objectives: -* Implement logic for uploading and processing CSV and Parquet files. -* Perform computations like summing values from specific columns. -* Manage concurrency with locking in multi-threading server/client. -* Benchmark a server/client system and visualize the results. +* Implement logic for uploading and processing CSV and Parquet files +* Perform computations like summing values from specific columns +* Manage concurrency with locking in a multi-threaded server Before starting, please review the [general project directions](../projects.md). ## Clarifications/Corrections -* None yet +* none yet -## Part 1: Communication (gRPC) +## Part 1: Communication -In this project, the client program `client.py` will communicate with a server, `server.py`, via gRPC. We provide starter code for the client program. Your job is to write a `.proto` file to generate a gRPC stub (used by our client) and servicer class that you will inherit from in server.py. +In this project, three client programs (upload.py, csvsum.py, and +parquetsum.py) will communicate with a server, server.py, via gRPC. +We provide the client programs. Your job is to write a .proto to +generate a gRPC stub (used by our clients) and servicer class (that +you will inherit from in server.py). -Take a moment to look at code for the client code and answer the following questions: +Take a moment to look at code for the three client programs and answer +the following: -* what are the names of the imported gRPC modules? This will determine what you name your `.proto` file. -* what methods are called on the stubs? This will determine the RPC definitions in your `.proto` file. -* what arguments are passed to the methods, and what values are extracted from the return values? This will determine the fields in the messages in your `.proto` file. -* what port number does the client use? This will determine the port that the gRPC server should expose. +* what are the names of the imported gRPC modules? This will determine what you name your .proto file. +* what methods are called on the stubs? This will determine the RPC calls in your .proto +* what arguments are passed to the methods, and what values are extracted from the return values? This will determine the fields in the messages in your .proto +* what port number do the clients use? This will determine the port that the server should use. -Write a `.proto` file based on your above observations and run the `grpc_tools.protoc` compiler to generate stub code for our client and servicer code for your server. All field types will be strings, except `total` and `csv_data`,which should be `int64` and `bytes` respectively. +Write a .proto file based on your above observations and run the +grpc_tools.protoc tool to generate stub code for our clients and +servicer code for your server. All field types will be strings, +except `total` and `csv_data`, which should be `int64` and +`bytes` respectively. -Now build the .proto on your VM. Install the tools like this: +Now build the .proto on your VM. Install the tools like this: -```bash +```sh python3 -m venv venv source venv/bin/activate -pip3 install grpcio==1.70.0 grpcio-tools==1.70.0 protobuf==5.29.3 +pip3 install grpcio==1.66.1 grpcio-tools==1.66.1 numpy==2.1.1 protobuf==5.27.2 pyarrow==17.0.0 setuptools==75.1.0 ``` -Then use `grpc_tools.protoc` to build your `.proto` file. +Then use `grpc_tools.protoc` to build your .proto file. -In your server, override the *three* RPC methods for the generated servicer. For now, the methods do nothing but returning messages with the error field set to "TODO", leaving any other field unspecified. +In your server, override the two RPC methods for the generated +servicer. For now, you can just return messages with the error field +set to "TODO", leaving any other field unspecified. -If communication is working correctly so far, you should be able to start a server and used a client to get back a "TODO" error message via gRPC: +If communication is working correctly so far, you should be able to +start a server and used a client to get back a "TODO" error message +via gRPC: -```bash -python3 -u server.py &> log.txt & -python3 client.py workload.txt -# should see multiple "TODO"s ``` - -Create a `Dockerfile.server` to build an image that will also let you run your server in a container. It should be possible to build and run your server like this: - -```bash -docker build . -f Dockerfile.server -t ${PROJECT}-server -docker run -d -m 512m -p 127.0.0.1:5440:5440 +python3 -u server.py &> log.txt & +python3 upload.py simple.csv +# should see "TODO" ``` -Like P2, the compose file assumes a "PROJECT" environment variable. You can set it to p3 in your environment with (the autograder may use another prefix for testing): +Create a Dockerfile to build an image that will also let you run your +server in a container. It should be possible to build and run your +server like this: -```bash -export PROJECT=p3 ``` - -The client program should then be able to communicate with the server program the same way it communicated with that outside of a container. Once your client program successfully interacts with the dockerized server, you should similarly draft a `Dockerfile.client` to build a container for `client.py`. Finally, test your setup with `docker compose`: - -```bash -docker compose up -d -docker ps -# should see: -CONTAINER ID IMAGE COMMAND CREATED ... -fa8de65e0e7c p3-client "python3 -u /client.…" 2 seconds ago ... -4c899de6e43f p3-server "python3 -u /server.…" 2 seconds ago ... +docker build . -t p3 +docker run -d -m 512m -p 127.0.0.1:5440:5440 p3 ``` -**HINT:** consider writing a .sh script that helps you redeploy code changes. Everytime you modify the source code `client.py/server.py/benchmark.py`, you may want to rebuild the images, bring down the previous docker cluster, and re-instantiate a new cluster. +The client programs should then be able to communicate with the +Dockerized programs the same way they communicated with the server +outside of a container. -## Part 2: Server Implementation +If you want to make code changes without rebuilding the image each +time, consider using a volume mount to make the latest version of +server.py on your VM replace the server.py in the file (if the server +is not at /server.py inside the container, modify accordingly): -You will need to implement three RPC calls on the server side: - -### Upload - -This method should: -1. Recover the uploaded CSV table from *binary* bytes carried by the RPC request message. -2. Write the table to a CSV file and write the same table to another file in Parquet format. - -**Requirement:** Write two files to disk per upload. We will test your server with a 512MB memory limit. Do *NOT* keep the table data in memory. - -**HINT 1:** You are free to decide the names and locations of the stored files. However, the server must keep these records to process future queries (for instance, you can add paths to a data structure like a list or dictionary). - -**HINT 2:** Both `pandas` and `pyarrow` provide interfaces to write a table to file. - -### ColSum - -Whenever your server receives a column summation request, it should loop over all the data files that have been uploaded, compute a local sum for each such file, and finally return a total sum for the whole table. - -The table does not have a fixed schema (i.e., it is not guaranteed that a column appears in any uploaded file). You should skip a file if it lacks the target column (e.g., z and w in the above example). The server should sum over either Parquet or CSV files according to the input `format` (not both). For a given column, the query results for format="parquet" should be the same as for format="csv", while performance may differ. - -### Purge +``` +docker run --rm -m 512m -p 127.0.0.1:5440:5440 -v ./server.py:/server.py p3 +``` -This method facilitates testing and subsequent benchmarking. The method should: -1. Remove all local file previously uploaded by method `Upload()` -2. Reset all associated server state (e.g., names, paths, etc.) +## Part 2: Upload -## Part 3: Multi-threading Server/Client +When your server receives an upload request with some CSV data, your +program should write the CSV to a new file somewhere. You can decide +the name and location, but the server must remember the path to the +file (for example, you could add the path to some data structure, like a +list or dictionary). -With the Global Interpreter Lock (GIL), commonly-used CPython does not support parallel multi-threading execution. However, multi-threading can still boost the performance of our small system (why?). In Part 3, you are required to add threading support to `client.py`, then `server.py`. +Your server should similarly write the same data to a parquet file +somewhere, using pyarrow. -### Client +## Part 3: Column Sum -More specifically, you will need to manually create *N* threads for `client.py` (with thread management primitives come with the `threading` module) to concurrently process the provided `workload.txt`. For example, each worker thread may repeatedly fetch one command line from `workload.txt` and process it. You can load all command strings to a list, then provide thread-safe access to all launched threads (how?). +When your server receives a column summation request, it should loop +over all the data that has been uploaded, computing a sum for each +file, and returning a total sum. -**HINT:** Before moving to work on the `server`, test your multi-threading client by running it with a single thread: +For example, assume file1.csv and file2.csv contain this: -```bash -python3 client.py workload.txt 1 # set to use only 1 thread ``` - -### Server - -Now with concurrent requests sent from `client.py`, you must correspondingly protect your server from data race with `threading.Lock()`. Make sure only one thread can modify the server state (e.g., lists of names or paths). Note that you don't need to explicitly create threads for `server.py` as gRPC can do that for you. The following example code creates a thread pool with 8 threads: - -```python -grpc.server( - futures.ThreadPoolExecutor(max_workers=8), - options=[("grpc.so_reuseport", 0)] -) +x,y,z +1,2,3 +4,5,6 ``` -**Requirement 1:** The server should properly acquire then release the lock. A single global lock is sufficient. Lock release should also work with any potential exceptions. - -**Requirement 2:** The server *MUST NOT* hold the lock when reading or writing files. A thread should release the lock right after it has done accessing the shared data structure. How could this behavior affect the performance? +And this: -## Part 4: Benchmarking the System - -Congratulations, you have implemented a minimal multi-threading data system! Let's write a small script to finally benchmark it with different scales (i.e., number of worker threads). Overall, the script is expected to perform the following tasks: - -1. Run `client.py` multiple times with different therading parameters, record their execution time. -2. plot the data to visualize the performance trend. - -### Driving the Client +``` +x,y +5,10 +0,20 +``` -Each time `benchmark.py` should collect 4 pairs of data by running `client.py` with 1, 2, 4, and 8 thread(s). Wrap each `client.py` execution with a pair of timestamp collection. Then calculate the execution time. Make sure you always reset the server before sending the `workload.txt`, by issuing a `Purge()` command through `client.py`: +You should be able to upload the files and do sums as follows: -```bash -python3 client.py purge -# let sometime for the reset to complete -time.sleep(3) -# test follows... +``` +python3 upload.py file1.csv +python3 upload.py file2.csv +python3 csvsum.py x # should print 10 +python3 csvsum.py z # should print 9 +python3 csvsum.py w # should print 0 ``` -You may also want `benchmark.py` to wait a few seconds for the `server` to get ready for any client RPC requests. - -**HINT 1:** You can get a timestamp with `time.time()`. +You can assume any column you sum over contains only integers, but +some files may lack certain columns (e.g., it is OK to sum over z +above, even though file2.csv doesn't have that column). -**HINT 2:** There are multiple tools to launch a Python program from within another. Examples are [`os.system()`](https://docs.python.org/3/library/os.html#os.system) and [`subprocess.run`](https://docs.python.org/3/library/subprocess.html#subprocess.run). +The only difference between `csvsum.py` and `parquetsum.py` is that +they will pass the format string to your gRPC method as "csv" or +"parquet", respectively. Your server is expected to do the summing +over either the CSV or parquet files accordingly (not both). Given +the CSVs and parquets contain the same data, running `csvsum.py x` +should produce the same number as `parquetsum.py x`, though there may +be a performance depending on which format is used. -### Visualizing the Results +Parquet is a column-oriented format, so all the data in a single file +should be adjacent on disk. This means it should be possible to read +a column of data without reading the whole file. See the `columns` +parameter here: +https://arrow.apache.org/docs/python/generated/pyarrow.parquet.read_table.html -Plot a simple line graph with the execution time acquired by the previous step. Save the figure to a file called `plot.png`. Your figure must include at least 4 data points as mentioned above. You will find an example plot `plot.png` in the project repo. +**Requirement:** when the server is asked to sum over the column of a +Parquet file, it should only read the data from that column, not other +columns. -**HINT 1:** Feel free to any tools to plot the figure. Below is a minimal example to plot a dictionary with 2 data points: +**Note:** we will run your server with a 512-MB limit on RAM. Any +individual files we upload will fit within that limit, but the total +size of the files uploaded will exceed that limit. That's why your +server will have to do sums by reading the files (instead of just +keeping all table data in memory). -```python -import pandas as pd -data = {1: 100, 2: 200} -series = pd.Series(data) -ax = series.plot.line() -ax.get_figure().savefig("plot.png") -``` +## Part 4: Locking -**HINT 2:** You can copy out a file `plot.png` from container named `test` to the current folder of host using: +You don't need to explicitly create threads using Python calls because +gRPC will do it for you. Set `max_workers` to 8 so that gRPC will +create 8 threads: -```bash -docker cp test:/plot.png plot.png +``` +grpc.server( + futures.ThreadPoolExecutor(max_workers=????), + options=[("grpc.so_reuseport", 0)] +) ``` -## Submission - -Delirable should work with `docker-compose.yaml` we provide: - -1. `Dockerfile.client` must launch `benchmark.py` **(NOT `client.py`)**. To achieve this, you need to copy both `client.py` and the driver `benchmark.py` to the image, as well as `workload.txt`, `purge.txt`, and the two sample input CSV files `file1.csv` `file2.csv`. -2. `Dockerfile.server` must launch `server.py`. +Now that your server has multiple threads, your code should hold a +lock (https://docs.python.org/3/library/threading.html#threading.Lock) +whenever accessing any shared data structures, including the list(s) +of files (or whatever data structure you used). Use a single global +lock for everything. Ensure the lock is released properly, even when +there is an exception. Even if your chosen data structures provide any +guarantees related to thread-safe access, you must still hold the lock +when accessing them to gain practice protecting shared data. -**Requirement:** Do **NOT** submit the `venv` directory (e.g., use `.gitignore`). +**Requirement:** reading and writing files is a slow operation, so +your code must NOT hold the lock when doing file I/O. ## Tester -* Autobadger for p3 not availble for use yet. - -Use the **autobadger** tool on your machine to run tests against your code: - -```bash -autobadger --project=p3 --verbose -``` - -The --verbose flag will print more information to the console as your tests are running. Pushing to main will submit your project and we will grade your code on main from a remote VM. A GitLab issue should be pushed to your repository shortly after you submit. \ No newline at end of file +Not released yet. Details coming soon! \ No newline at end of file diff --git a/p3/bigdata.py b/p3/bigdata.py new file mode 100644 index 0000000..51624df --- /dev/null +++ b/p3/bigdata.py @@ -0,0 +1,27 @@ +import grpc, sys +import table_pb2_grpc, table_pb2 + +SERVER = "localhost:5440" +BATCH_COUNT = 400 +BATCH_SIZE = 250_000 + +def main(): + if len(sys.argv) != 1: + print("Usage: python3 bigdata.py") + sys.exit(1) + channel = grpc.insecure_channel(SERVER) + stub = table_pb2_grpc.TableStub(channel) + + for batch in range(BATCH_COUNT): + print(f"Batch {batch+1} of {BATCH_COUNT}: 0.25 million rows") + rows = "x,y,z\n" + "\n".join([f"1,{i},{batch*1000+i%1000}" for i in range(BATCH_SIZE)]) + resp = stub.Upload(table_pb2.UploadReq(csv_data=bytes(rows, "utf-8"))) + + if resp.error: + print(resp.error) + sys.exit(1) + else: + print("uploaded ") + +if __name__ == "__main__": + main() diff --git a/p3/client.py b/p3/client.py deleted file mode 100644 index 0a034ca..0000000 --- a/p3/client.py +++ /dev/null @@ -1,57 +0,0 @@ -import grpc, threading, os, sys -import table_pb2_grpc, table_pb2 - -SERVER = "localhost:5440" - -class TableClient: - def __init__(self, file, num_threads=1): - self.channel = grpc.insecure_channel(SERVER) - self.stub = table_pb2_grpc.TableStub(channel=self.channel) - self.num_threads = num_threads - self.read_workload_file(file) - - def Purge(self): - resp = self.stub.Purge(table_pb2.PurgeReq()) - - def Upload(self, path): - with open(path, "rb") as f: - data = f.read() - resp = self.stub.Upload(table_pb2.UploadReq(csv_data=data)) - print(resp.error if resp.error else "success") - - def ColSum(self, format, column_name): - resp = self.stub.ColSum(table_pb2.ColSumReq(column=column_name, format=format)) - print(resp.error if resp.error else f"{resp.total}") - - def exec_command(self, line): - command = line.strip().split() - if len(command) == 1 and command[0] == "p": - self.Purge() - elif len(command) == 2 and command[0] == "u": - self.Upload(command[1]) - elif len(command) == 3: - self.ColSum("parquet" if command[1] == "p" else "csv", command[2]) - else: - print(f"Skipping invalid command: {line}") - - def read_workload_file(self, file): - with open(file, "r") as f: - for line in f.readlines(): - self.exec_command(line) - - -def main(): - if len(sys.argv) < 2: - print("Expecting command: python3 client.py INPUT [NUM_THREADS]; Missing INPUT") - sys.exit(1) - workload_spec = sys.argv[1] - - num_threads = 1 - if len(sys.argv) > 2: - num_threads = int(sys.argv[2]) - - client = TableClient(workload_spec, num_threads) - - -if __name__ == "__main__": - main() diff --git a/p3/csvsum.py b/p3/csvsum.py new file mode 100644 index 0000000..ca56bba --- /dev/null +++ b/p3/csvsum.py @@ -0,0 +1,24 @@ +import grpc, sys, time +import table_pb2_grpc, table_pb2 + +SERVER = "localhost:5440" + +def main(): + if len(sys.argv) != 2: + print("Usage: python3 csvsum.py <COLUMN>") + sys.exit(1) + column = sys.argv[1] + channel = grpc.insecure_channel(SERVER) + stub = table_pb2_grpc.TableStub(channel) + start = time.time() + resp = stub.ColSum(table_pb2.ColSumReq(column=column, format="csv")) + end = time.time() + print(f"{round((end-start)*1000, 1)} ms") + + if resp.error: + print(resp.error) + else: + print(resp.total) + +if __name__ == "__main__": + main() diff --git a/p3/docker-compose.yml b/p3/docker-compose.yml deleted file mode 100644 index 9776dcd..0000000 --- a/p3/docker-compose.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: ${PROJECT} - -services: - server: - image: ${PROJECT}-server - ports: - - "5440:5440" - environment: - - PROJECT=${PROJECT} - - client: - image: ${PROJECT}-client - environment: - - PROJECT=${PROJECT} \ No newline at end of file diff --git a/p3/file2.csv b/p3/file2.csv deleted file mode 100644 index 70c6161..0000000 --- a/p3/file2.csv +++ /dev/null @@ -1,4 +0,0 @@ -x,y -5,10 -0,20 -10,15 diff --git a/p3/parquetsum.py b/p3/parquetsum.py new file mode 100644 index 0000000..970ac63 --- /dev/null +++ b/p3/parquetsum.py @@ -0,0 +1,24 @@ +import grpc, sys, time +import table_pb2_grpc, table_pb2 + +SERVER = "localhost:5440" + +def main(): + if len(sys.argv) != 2: + print("Usage: python3 parquetsum.py <COLUMN>") + sys.exit(1) + column = sys.argv[1] + channel = grpc.insecure_channel(SERVER) + stub = table_pb2_grpc.TableStub(channel) + start = time.time() + resp = stub.ColSum(table_pb2.ColSumReq(column=column, format="parquet")) + end = time.time() + print(f"{round((end-start)*1000, 1)} ms") + + if resp.error: + print(resp.error) + else: + print(resp.total) + +if __name__ == "__main__": + main() diff --git a/p3/plot.png b/p3/plot.png deleted file mode 100644 index 83c9e0f3813a8961a101ee353251cbec0080f853..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92411 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%0AX|$ioK*!)gs4t5WeG~Xv1@5RHg>eBF5QL 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 diff --git a/p3/purge.txt b/p3/purge.txt deleted file mode 100644 index 4f6c4ee..0000000 --- a/p3/purge.txt +++ /dev/null @@ -1 +0,0 @@ -p \ No newline at end of file diff --git a/p3/file1.csv b/p3/simple.csv similarity index 100% rename from p3/file1.csv rename to p3/simple.csv diff --git a/p3/upload.py b/p3/upload.py new file mode 100644 index 0000000..169e28a --- /dev/null +++ b/p3/upload.py @@ -0,0 +1,23 @@ +import grpc, sys +import table_pb2_grpc, table_pb2 + +SERVER = "localhost:5440" + +def main(): + if len(sys.argv) != 2: + print("Usage: python3 upload.py <CSV_PATH>") + sys.exit(1) + path = sys.argv[1] + channel = grpc.insecure_channel(SERVER) + stub = table_pb2_grpc.TableStub(channel) + with open(path, "rb") as f: + data = f.read() # binary "bytes" data + resp = stub.Upload(table_pb2.UploadReq(csv_data=data)) + + if resp.error: + print(resp.error) + else: + print("success") + +if __name__ == "__main__": + main() diff --git a/p3/workload.txt b/p3/workload.txt deleted file mode 100644 index ce178d4..0000000 --- a/p3/workload.txt +++ /dev/null @@ -1,6 +0,0 @@ -u file1.csv -u file2.csv -u file1.csv -s p x -s p y -s c z -- GitLab