ECEN 5623

Assignment #0 -- User Thread and Rate Monotonic Familiarization

Format: Plain text, Rich text, PDF, or MS Word

Code Format: Turn in all code in a tar or zip file!

Upon Completion upload to culearn.colorado.edu, "Lab Assignments, Lab 0".

(If there is a problem with culearn, then E-mail to siewerts@colorado.edu with subject line "LAB SUBMISSION 0" (subject line must be all caps exactly as it appears between quotes) and CC the TA.)

Be sure to include all source code with your submission.

All Group Design Assignments should be submitted to culearn.

(If there is a problemwith culearn, then E-mail siewerts@colorado.edu with subject "GROUP SUBMISSION 0")

Group submission should be in an MS Word or text document with all group members clearly identified on a cover page! Only ONE submission needs to be made for all in the group.


LAB ASSIGNMENT (Individual Problem)

Lab objectives are: reading and initial review of Rate Monotonic theory; familiarization with TimeSys Linux, cross compilation, and cross debugging.

  1. [10 pts] Read Liu and Layland RMA paper (don't get hung up on math). Please summarize the paper's main points (at least 3 or more) in a short paragraph.

  2. Read Text: Preface and Introduction

  3. [10 pts] Write a paragraph comparing the RM and the Deadline Driven or EDF (Earliest Deadline First) policies described in Liu and Layland in your own words and be complete, but keep it to one reasonably concise paragraph. Note that the Deadline Driver scheduling in Liu and Layland is now typically called a dynamic priority EDF policy. In general a number of policies that are deadline driven have evolved from the Deadline Driven scheduling Liu and Layland describe - including EDF and Least-Laxity First. Give at least two specific differences.

  4. [80 pts] Follow Nisheeth's Example in his IS along with Kaushik's Examples in his Ubuntu on Beagle xM, IS Ubuntu Report Out, Angstrom Tutorial and complete the same scheduling exercise using the Fibbonacci synthetic workload with Ubuntu (and/or Angstrom for extra-credit) Linux on your Beagle Board. Specific point break-down for this work is as follows:
    1. [20 pts] Preparation of SD card with U-boot and Ubuntu Linux kernel and successful boot showing "uname -a" from your Beagle along with "cat /proc/cpuinfo".
    2. [20 pts] Successful build and download of example synthetic Fibbonacci workload code to the Beagle xM running Ubuntu Linux using the ARM cross-compiler used in the "IS Study" OR compile on your Beagle xM Ubuntu platform native (being able to cross-compile and native compile will be useful overall in the course) - provide the output from your cross-compile or native build.
    3. [40 pts] Timing analysis of the code exeuction to show that you can reproduce the expected schedule accurate to 1 millisecond using POSIX Pthreads and scheduling class FIFO. Use syslog entries with timestamps to prove that you are replicating the theoretical schedule and provide your log with your submission.
  5. [20 pts EXTRA CREDIT] Repeat the Timing analysis of the code exeuction on Angstrom OR Timesys Linux to show that you can reproduce the expected schedule accurate to 1 millisecond using POSIX Pthreads and scheduling class FIFO. Use syslog entries with timestamps to prove that you are replicating the theoretical schedule and provide your log with your submission. Compare the alternative Linux boot configuration to Ubuntu and describe which one did better in terms of "predictable response" and why you think it did better.
    EXTENDED LAB DESIGN ASSIGNMENT (INDIVIDUAL or PAIR/PARTNER Problem)

    A general description of the Extended Lab Request for Proposal can be found here. Please read and respond to this with your design concept and an outline of your plans and goals for this assignment as described here and submit on CU-learn.

    The time-lapse can be done using either the Leopard HD cameras and Beagle xM HD camera port or a USB Webcam like the Logitech C200 that is known to work with the UVC driver and V4L2 API. If you plan to use a Leopard HD camera, you will find Kaushik's IS HD Camera Report Out very helpful.

    Write up a 3-4 paragraph proposal of your extended lab project. Extended Lab teams must have no more than 2 members each and individual work is fine. Teams that are pairs will have additional requirements that individuals will not.

    Please prioritize goals and success criteria clearly specifiying: 1) minimum objectives, 2) target objectives, 3) goal objectives.

    For example:
    Minimum Objective: "we will first get a tilt/pan USB 2.0 camera system working with streaming video over Ethernet to a Linux host workstation. "
    Target Objective: "we will add time-lapse 1 Hz to 10 Hz image (PPM) capture to our flash for download to our Linux host"
    Goal Objective: "finally we will download and MPEG encode our time lapse PPM frames with time-stamps for full-frame-rate 30fps playback for up to 2000+ frames."

    The 3 level objectives outline provides you and/or your partner insurance so that you can plan ahead to descope features if you run short of time or encounter technical difficulties beyond reasonable scope of the project. Stick to concepts, goals, your role and success criteria for now - we will be refining this into requirements and design later.

    Please clearly identify members in the group of two or if this will be INDIVIDUAL ONLY -- every individual must turn in a copy in their own words which clearly defines their role on the project even if you work as a pair -- For example, "I will be designing and implementing the target centroiding and later the stereo vision algorithms". Separate descriptions gives me an idea of how each member views the project and their role.

    These individual role descriptions should be submitted by each individual along with the lab submission via E-mail.

    Finally, please clearly specify equipment needs other than Beagle xM and TimeSys Linux if you will not be purchasing items yourself (e.g. USB 2.0 camera, etc. if you are working on campus - if remote, you must supply all accessories needed for the Beagle xM and your project).

    Please turn individual paragraph in with your assignment via culearn Project 0


    List of Deliverables For Individual Assignments

    Please include these items in your (individual) assignment submission.