Oregon Institute of Technology

Computer Systems Engineering Technology

 

CST 407 Multiprogramming

 

 

James N. Long

Office:                      Purvine Hall #179

Office Phone:            885-1580

 

Jim's Schedule

Email:                       james.long@oit.edu - or - jlong@jnltech.com            

Web Page:                http://www.jnltech.com/main

Class: (3-3-4)

 

Section 1
Lecture
M W 3:00 pm - 3:50 pm PV 213
 
Lab
Th 3:00 am - 5:50 pm PV 147 (???)
 
Philosophy

 

Multithreaded programming in a multicore environment requires more than just "spawning threads". Software engineers must be aware of multicore processor architecture, instruction pipelines and processor cache useage. In this course, approaches to analizing mulithreaded programs will be studied. The overall goal of the course is for students to gain an understanding of software issues realted to multiprocessing and cluster programming and the difference between hyprethreading, multicore, and monocore systems and behavior.

 

Course Description

 

This class will deal with the construction, benchmarking, and programming of a 20 node computing cluster.

 

 

COURSE TOPICS

  1. Processes/Threads
  2. Multicore Architecture
  3. Multiprocessing
  4. Threading Concepts

     
COURSE REQUIREMENTS Objectives/Outcomes that are expected of students entering this course.

  1. The student will have an understanding data structures.
  2. The student will have an understanding of assembly programming.
  3. The student will have an understanding of computer architecture.
  4. The student will have an understanding of programming concepts and good programming practices.

 

Assignments

The course will revolve around the building, benchmarking, anb programming of a computing cluster. The course will be student driven where students will present cluster construction options, cluster benchmarking options, and programming scenarios. Assignments will be:

  1. Cluster Type: Students will propose a cluster type they wish to build in lab. This will require students to work together and present the different options to the class. Break out into two or three groups. Each group will propose to the class a cluster type.  The class will decide as a group what type fo computing cluster to set up. This must be complete by the end of week 2.
  2. Cluster Construction: Students will build a computing cluster with the atom based computers in lab. This must be complete by the end of week 2.
  3. Cluster Benchmarking: Students will again break into groups and research a standard method of benchmarkng the cluster. The method will be presented to the class. Benchmark results will also be presented and a comparison will be made against other computing clusters on the planet.
  4. Problem Proposals and Solutions: Students will research programming problems to solve with the computing cluster and implement the solutions. Both the problems and solutions will be presented.

 

 

Professionalism

Students are required to work on their assignments independently. Each assignment should reflect individual effort. Programs received that are determined to be duplicate will be consider to be copies. Do not leave copies of your work in the labs where they can be obtained. Each student is individually responsible for the well-being of their work.

 

 

Course Grading

 

To get a passing grade for the course, students must have created a working computing cluster and proven it is capable of solving a simple problem. After this is obtained additional score will be based in the fillowng set of deliverables:

 

Deliverable

Points

Cluster Construction Presentation

100

Cluster Benchmarking Presentation

100

Cluster Programming

100

Topic Lecture 200
Participation
100
Total :
1100

 

Participation is a variable point assignment by the instructor. The points are designed to reward students who 1) attend and participate in class and 2) contribute to group discussion.

The grade breakdown will be:

>= 90%                         A

>= 80%                         B

>= 70%                         C

>= 60%                         D

< 60%                           F

 

Any student with a disability who anticipates a need for accommodation is this course is encouraged to talk with the instructor about those needs as soon as possible.