• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/3

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

3 Cards in this Set

  • Front
  • Back

parallel programming challenges

1) race: two concurrent instruction sequences access the same address in memory and at least of of them writes to the address


2) starvation: processor needs a resource but never gets it


3) deadlock:


4) livelock: a processor keeps retrying an operation that always fails.

implement crawling under the constraint that in any given minute your crawlers do not request more than b bytes from any website

- how do we resolve a contention: FIFO? priority?


- maintain a permission server with which each crawler checks to see if it's okay to hit the particular host. Do we care about priorities? the server may enqueue the request and inform the crawler when is it right to download the file. IF the permission server becomes a bottleneck, use multiple permission server.

how would you sort a billion 1000 byte string? How about a trillion 1000 byte string?

1) billion 1000 byte string: to partition data into smaller blocks that fit in RAM, sort each block individually, and write the sorted block to disk and then combine the sorted blocks.


2) trillion 1000 byte string: distributed across a cluster of machines. organize the data so that lookups can be performed via binary search ( for each machine). - do we know how data is already distributed?