Computer Science
Assignments: COMPSCI 703 Semester 1, City Campus
- Programming in OpenMP Due Wednesday 21 April
Due: Friday, 4 June
The purpose of this assignment is to gain experience in working with tools used in the evaluation of new ideas and architectures. You may use any functional simulator you choose for this assignment. A recommended simulator is the Bochs simulator. Bochs is a functional simulator, meaning that it is capable of executing programs written for the X86 precisely, but makes no attempt to determine speed. You will need to extend Bochs to approximate time. That is, you might use the instruction count as a rough approximation of time, but a much more accurate measure would include a simple simulation of the memory hierarchy, tracking number of cache misses. By playing with the parameters of the program you may be able to fit the performance of the Bochs simulation to the performance of the real meachine, estimating the rate of instruction execution on the Nigara machine.
Bochs is capable of simulating up to eight processors. You will probably want to start out by simulating only one and comparing against a single thread running on Niagara.
You are free to work with others in developing the simulation environment. However you must develop your own experiments, take your own measurements, and write your own report. You also must report on the extent to which you were able to benefit from the work of others.
Alternative Assignment (Maximum grade: B)
Due: Friday, 4 June
There are a wide variety of multicore chips already on the market or announced. Select two such Multicore chips and write a report comparing & contrasting them. Among the things you might want to consider are
- Target application. What would you expect them to do well and not so well?
- Number of cores & threads
- Memory organization: how many caches? How big are they? Are they shared? What is the external interface? Coherence scheme? How do they talk to memory off-chip?
- System: What part of the system do these chips make up? Are they central to it or specialized?
- Extensibility: are these chips intended to be stand-alone chips or can they form a larger system with multiple multicore chips?
- Cost: What do the chips cost? How does that relate to the cost of the total system?
-
Related Programmes