UMD CMSC 433 - Concurrency abstractions (48 pages)

Previewing pages 1, 2, 3, 23, 24, 25, 26, 46, 47, 48 of 48 page document View the full content.
View Full Document

Concurrency abstractions



Previewing pages 1, 2, 3, 23, 24, 25, 26, 46, 47, 48 of actual document.

View the full content.
View Full Document
View Full Document

Concurrency abstractions

106 views


Pages:
48
School:
University of Maryland, College Park
Course:
Cmsc 433 - Programming Language Technologies and Paradigms
Programming Language Technologies and Paradigms Documents

Unformatted text preview:

CMSC 433 Concurrency abstractions Oct 30th 2007 Project 3 due Nov 14th parallel graph exploration from a start node find all reachable nodes perform a computation at each node both finding the neighbors of a node and performing the computation might be expensive want to use concurrency to accomplish this quickly Nodes public interface Node N extends Node N V V V compute Collection N neighbors Explorer public interface Explorer N extends Node N V V public void explore N start int parallelism throws InterruptedException public Collection N reached public V getValue N n Implementing explore I ll give you a sequential implementation of explore You have to write a concurrent one explore is only called once on an explorer can return before all computation is done but all computation should be queued up for execution if interuptted computation should be aborted promptly Mock Framework We ll provide a mock framework can configure graph layout time required for call to neighbors and compute can mock processors want to mock 600 processors Concurrent correctness We will be executing these projects on a system with 32 cores We will ask you to explain why certain bad things can t happen Efficiency matters There will be some test cases that check that your implementation isn t too inefficient And that it also reaches moderate level of parallelism Some sort of non grade prize for the most efficient solution Simplicity You don t need to create threads synchronize use Locks Conditions or volatile variables to complete this project I encourage you not to We might require it or dock you points if you do Concurrency without threads You can write concurrent applications that don t use explicit threads or synchronization Use built in abstractions that support coordination and parallel execution a lot of this is covered in Section I 5 1 of JCIP Java 6 alert Some of the features I m going to be talking about are available only in Java 6 not in Java 5 If you ve got an Apple computer we re



View Full Document

Access the best Study Guides, Lecture Notes and Practice Exams

Loading Unlocking...
Login

Join to view Concurrency abstractions and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Concurrency abstractions and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?