University of Texas at Arlington - Fall 2022
This project demonstrates the implementation of file servers and computation servers with both synchronous and asynchronous Remote Procedure Calls (RPCs). The project is divided into four main assignments.
Developed a single-threaded file server with the following functionalities:
- UPLOAD
- DOWNLOAD
- DELETE
- RENAME
Extended the file server to support multiple simultaneous client requests using multi-threading. The functionalities include:
- UPLOAD
- DOWNLOAD
- DELETE
- RENAME
Implemented a computation server supporting synchronous RPCs for the following operations:
calculate_pi()
add(i, j)
sort(array A)
matrix_multiply(matrix A, matrix B, matrix C)
Developed a computation server supporting asynchronous and deferred synchronous RPCs for the following operations:
calculate_pi()
add(i, j)
sort(array A)
matrix_multiply(matrix A, matrix B, matrix C)