The program implements an application that uses a parallel quicksort algorithm with a randomly generated pivot to sort lists submitted by clients to the server.
A method is also implemented to detect the time required to execute the algorithm from a different number of processes.
- client.py - contains client implementation
- server.py - contains server implementation
- quicksort_parallel.py - contains a parallel quicksort implementation
- quicksort_sequential.py - contains an implementation of sequential quicksort
- time_quicksort.py - contains an implementation of the detection of the time required for the execution of the algorithm
Creates a client that connects to the server at the address passed as parameters
Sends a message to the server
Receives a message from the server
Allows the user to enter the number of processes and the list to be sorted
Starts the client on the specified host and port
Helper function for starting the quicksort algorithm
Creates a server at the address passed as parameters
Uses Selector to serve customers
Starts the server on the specified host and port
A parallel implementation of the quicksort algorithm
Sequential implementation of the quicksort algorithm
Determines the execution time of the algorithm on arrays with 1000, 10 000, 100 000, 1 000 000, 10 000 000, 100 000 000 randomly generated elements with different number of processes.