Multi-threaded concurrency programming with threads, Computer Engineering

Your task is to implement a memory manager that manages page reads and writes from multiple client threads. In the first programming task the memory manager keeps all the pages in a memory buffer large enough to fit all the pages and the server processes a list of requests and sends them to clients to log. In the second programming task a user is allowed to specify a memory buffer size limit. The memory manager needs to place some of the pages on disk in order to cope with the buffer size limit. To do this the memory manager uses the least recently used (LRU) page replacement algorithm in order to choose which page to evict from memory when the memory is full. In the third task you extend the solution for task 1 so that requests are sent from the client to the server instead of all the requests originating in the server.

Please look at the AssignmentDiagram.ppt file in the assignment folder to gain a better understanding of the assignment requirements. Sample input and output files are also provided in the SampleFilesForTasks1to3.zip file.

Please do not use sleep anywhere inside your code. Or something that simulates a sleep system call. Eg. while (1) { }. However you are allowed to use the pause(), pthread_cond_wait() or pthread_cond_timedwait() system calls and their Java equivalents to block a thread or process.

Please submit separate source files for each of the three tasks.

Posted Date: 3/16/2013 3:30:52 AM | Location : United States







Related Discussions:- Multi-threaded concurrency programming with threads, Assignment Help, Ask Question on Multi-threaded concurrency programming with threads, Get Answer, Expert's Help, Multi-threaded concurrency programming with threads Discussions

Write discussion on Multi-threaded concurrency programming with threads
Your posts are moderated
Related Questions
What is the main function of the memory-management unit? The runtime mapping from virtual to physical addresses is done by a hardware device known as a memory management unit

Explain briefly about demultiplexers?

Make a base class called figure that store the dimensions of several geometrical objects and compute their areas. Explain a function set_dim( ),a standard member  function and show

Performance of Pipelines with Stalls: A stall is reason of the pipeline performance to degrade the ideal performance.                                             Average in

Microprocessor development system Computer systems have undergone many changes recently. Machines that once filled large areas have been reduced to small desktop computer syste

Network with point-to-point link is known as (A) Fully Connected Network        (B)  Half Connected Network (C)  Duplex Connected Network    (D)  None of these Ans:

How do you control instructions like branch, cause problems in a pipelined processor? Pipelined processor gives the best throughput for sequenced line instruction. In branch in

This question can be answered either with respect to English or with respect to a language other than English. (If you you are not a native speaker of the language of your choice,


Q. What is Input - Output commands? There are four kinds of I/O commands which an I/O interface can receive when it's addressed by a processor: Control : This type of c