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 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
Artificial Intelligence Software Artificial Intelligence (AI) software employs non numerical algorithms to resolve complex problems that are not amenable to computation or s

A group report with no more than three students per group is to be handed in to explain your design procedures and simulation results. Representative graphical system outputs (clea

Q. Instruction Queue in Bus Interface Unit? Instruction queue is employed to store the instruction ‘bytes' fetched. Please conceren two points here: that it's (1) A Byte (2) Qu

Q. Show the Hypothetical Instruction Format of 32 bits? A sample instruction format is shown in figure below. Figure: A Hypothetical Instruction Format of 32 bits

What are advantages and disadvantages of using EEPROM? The benefits are that EEPROM do not have to be removed for erasure. Also it is possible to delete the cell contents selec

State about the Logic Micro-operations These operations are performed on binary data stored in register. For a logic micro-operation each bit of a register is treated as a diff

Problem (a) Using a labelled diagram of an Instruction-Execution cycle, describe how a CPU executes single machine instructions by referring to the five main operations.

What is reification and behaviour? Reification is the promotion of something that is not an object into an object. Behavior usually requires this description. It isn't usually

Given: • A sequence of n arrival times t0, t1, ..., tn-1, • a library of mlogically equivalent gates {(d0, c0), (d1, c1), ..., (dm-1,cm-1)} where d is delay and c is cost • a

Write the truth table for a clocked J-K flip-flop that is triggered by the positive-going edge of the clock signal. Explain the operation of this flip-flop for the following condit