mp3-sp11 - ECE428/CS425/CSE424: Distributed Systems...

Info iconThis preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
Distributed Shared Memory (DSM) System In this programming assignment, you will be implementing a distributed shared memory system with release consistency. Release-consistency is explained in Section 18.4.2 of textbook and Munin paper [1]. Your main task in this assignment will be to implement (i) shared memory space, (ii) mutual exclusion, and (iii) release consistency. Constraints and Assumptions 1) There are no node failures; 2) Use sockets for communication between nodes; 3) Each node in the system should be simulated by a separate process (use threads for handling any other concurrent operations). Specification You are to use the UIUC College of Engineering EWS workstations, named linux.ews.illinois.edu. Information about the workstations is available on the homepage http://www.ews.illinois.edu Make a directory called MP3 somewhere inside your main directory and store all your files in this directory. Use only C or C++ for developing the system. Shared Memory Space In this programming assignment, the size of shared memory space is not so important. We are more focused on how to implement release consistency. We assume that the size of our shared memory space is 100 bytes. Each byte in the memory space is referred by an integer ranging 0 to 99. Mutual Exclusion In our distributed shared memory system, there are two main operations to enter and leave a critical section: acquireLock and releaseLock. To implement these operations, you can use any mutual exclusion scheme taught in class (e.g. token ring, Ricart & Agrawala and timestamp approach). Release Consistency Our distributed shared memory system achieves release consistency. To understand the definition of release consistency and how to implement it, you can refer to Munin paper [1] and Section 18.4.2 from the textbook. Design Details The DSM system should be capable of reading and writing shared variables while achieving release consistency. In this assignment, you will develop two kinds of processes: coordinator and dsm. Coordinator process reads a command file which consists of commands and equations handling shared variables. After reading a command file, coordinator process sends a command or an equation to a proper node at each time instant specified in the command file. DSM
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 02/08/2012 for the course ECE 428 taught by Professor Hu during the Spring '08 term at University of Illinois, Urbana Champaign.

Page1 / 4

mp3-sp11 - ECE428/CS425/CSE424: Distributed Systems...

This preview shows document pages 1 - 2. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online