A3: Chirp Performance Study

In this assignment, you will set up and operate a personal Chirp server, and learn how to access it using all available methods. You will carry out a performance study of using the server to manipulate a large number of files, and explain the nature of the results.

Objectives

At the conclusion of this assignment, students will be able to:
  • Set up and operate a Chirp server.
  • Combine Condor, Parrot, and Chirp into a single working system.
  • Access Chirp servers through Parrot, tools, and the API.
  • Explain the performance tradeoffs of each mechanism.
  • Part 1: Set Up a Chirp Server

  • Familiarize yourself with the Chirp Manual and API
  • Start your own private Chirp server on one of the student cluster machines. (Make sure to use /tmp/YOURNAME as a storage directory, to get predictable performance.
  • Learn how to combine Parrot, Chirp, and Condor. Modify your solution to assignment 1 to run the ray tracer with Parrot and have it write the output files directly to your Chirp server. Call this program condor_parrot_chirp_povray
  • Generate 1000 frames of output at 1024x768, to use in the next section.
  • Part 2: Performance Study

    Measure the time to checksum all 1000 files as fast as possible, using the following methods:
  • Write a script that uses Parrot and /usr/bin/md5sum.
  • Write a C program that uses chirp_reli_getfile and md5_file to download and checksum each file on the local disk.
  • Write a C program that uses chirp_reli_md5 to checksum each file in place.
  • Measure the time to convert all 1000 .png files into .jpg files with /usr/bin/convert:
  • Write a script that users Parrot and /usr/bin/convert
  • Write a C program that uses chirp_reli_getfile, calls /usr/bin/convert, then chirp_reli_putfile
  • Write a C program that uses the chirp_job active storage functions
  • Part 3: Lab Report

    Write a short lab report that summarizes your methods, results, and conclusions. Be sure to carefully explain why the results are the way they are. You may find it illuminating to turn on debugging flags by passing -d chirp to Parrot, or by called debug_flags_set("chirp") in your custom programs.

    What to Turn In

    Your dropbox directory is:
    /afs/nd.edu/courses/cse/cse40771.01/dropbox/YOURNAME/a3
    
    Turn in the following:
  • The source code for all of your code and scripts.
  • A Makefile that builds everything.
  • A short lab report (.txt or .doc) that outlines your methods, results, and conclusions.
  • This assignment is due on 18 March at the beginning of class.