CSE 160 (Spring 2003)
Introduction to Parallel Computation - Homework Assignments

Assignment #, Title, Date Assigned, Date Due

  • 1 Top 500 and Amdahl's Law (Tue 04/08/03 - Tue 04/15/03)

  • 2 Introduction to Valkyrie (Tue 04/15/03 - Thurs 04/24/03)

  • 3 Problem Set (Thurs 04/24/03 - Thurs 05/01/03)

  • 4 Sorting (Thurs 05/01/03 - Thurs 05/15/03)

  • 5 Bucket Sort (Tue 05/13/03 - Tue 05/27/03)

  • 6 Sample Sort (Tue 05/28/03 - Thu 06/06/03) New!
  • News & Announcements from the TA

    New!
  • Instructions for HW 6

    (1) Your program should be able to run with the command line parameter "-d inputfile" where 'inputfile' is a text file containing the list of keys.

    NOTE : This option works only when the file 'inputfile' is in your home directory.

    (2) Output Format - a single line of output with the following fields

    (cs160xXX) (N) (P) (total-time) (Time-1) (Time-2) (Time-3) (Time-4) (Np1) (Np2)...

    "N" : Total number of elements (also a command line parameter)

    "P" : Number of nodes

    "total time" : Total running time - timing the Splitter selection + bucket creation (and the initial sorting, if used) + communication + final sort.

    "Time 1" : Time for the Splitter Selection

    "Time 2" : Time for the bucket creation (and initial sorting)

    "Time 3" : Communication phase

    "Time 4" : Final sort

    "Np1" : Number of elements finally on processor '1'

    "Np2" : Number of elements finally on processor '2'

    "Np3" :........

    .....

    Ex. cs160xqq 100000 4 2.1235 1.1532 0.646 0.3240 25050 25000 24950 25000

    (3) Explicitly describe your implementation with pseudocode in your report. Also analyse and discuss the advantages and disadvantages of your implementation (speed Vs memory allocation and resulting trade-offs). Also mention if your implementation has been optimized for any particular situation, and if it has any restrictions (like max problem size, or number of processors being a power of 2).

  • [5/16/03 08:16 AM] Homework 6 - For this assignment you'll need the MPI routine MPI_Allgatherv.

  • Electronic turnin instructions for Assigment #6

    For this assignment, please tar or zip up your writeup, plots, and source code and email them to cs160x1@valkyrie.ucsd.edu. Your archive file should create a directory with your login ID (if working in teams choose just one and stick with it throughout the quarter)

    The directory should contain a README file listing the partners. It should also contain two subdirectories:

    "src" : Source code, including your makefile. Be sure and delete all .o files and executables.

    "report" : Your report including any separate plot files or output

    If you like, you may put an html file called index.html at the top level. From there you can then link to the README file to the src and report directories. You should also bring printouts of your writeup, plots, and source listings to class. There is no need to include any listings for files that were provided by us but not modified by you.

  • You can also get an overview of all processes on valkyrie by running the following cluster-fork 'ps awx' | sed -f ~cs160x/../public/cl.sed
  • Grading

  • 6 homework assignments, worth 60% of your quarter grade.

  • 1 midterm, worth 15% of your quarter grade.

  • Final exam, worth 25% of your quarter grade.
  • Homework assignments will be discussed in discussion section. If you have questions regarding the homework, please don't hesitate to send email at cs160x@valkyrie.ucsd.edu

    Last modified by Urvashi Rao on Tuesday, April 22, 2003, 11:10 PM