blob: 61d664f8cdac96f52afd6899157228a924850ad1 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# BT-Programming-Assignment
## General instructions
Languages: C/C++
Initiate a github repository for each task
Provide the code accompanied with a Makefile to compile it as well as instructions on how to run your applications
## Server/client application
Task description: Implement the following two programs:
Server:
Initializes a hash table of given size (provided via the command line)
Supports the insertion of items in the hash table
Hash table collisions are resolved by maintaining a linked list for each bucket/entry in the hash table
Supports concurrent operations (multithreading) to perform insert, get and delete operations on the hash table
Use readers-writer lock to ensure safety of concurrent operations; try to optimize the granularity
Communicates with the client program using shared memory buffer (POSIX shm)
Client:
Enqueues requests/operations (insert, read, delete) to the server (that will operate on the the hash table) via a shared memory buffer (POSIX shm)
|