Monte Carlo Simulation of Sintering on Multiprocessor Systems

This master project deals with the simulation of the sintering process. Sintering is a metallurgical process forming objects of metal or ceramic powders by applying high pressure and temperatures below the powder's melting point over a long time. Accurate modelling of this process can be achieved by simulating movements of single atoms with the Monte Carlo type algorithm. Such a model has already been developed by Dr Roberta Sutton and Professor Graham Schaffer at the UQ Department of Mining, Minerals and Materials Engineering (MINMET) but suffers from unacceptable run times if executed on a single workstation. A hardware accelerator to speed up computations is being designed by Dr Peter Sutton and Dr Adam Postula at ITEE.

This project and its report investigates mapping of the already developed sintering simulation algorithm on a multiprocessor system and analyzes the achieved speedup. The memory model of the earlier algorithm is revised to allow for much larger data. The small datasets that the original version currently can handle is not enough to simulate real life sintering experiments, and as such can only be used for approximations.

Role Playing Game

In 2003 a small but fun Role Playing Game was writen for a C++ course. It is based around the well-known concept of Elves and Dwarves at war. The game has two major components. A proper text-based interactive Role Playing Game and a chess like computer run simulation of a bloody battle.

The code itself is written in C++ for Unix and comes with a GNU makefile. Included is a third test component.

aBTB

Branch prediction is successfully being used to predict which basic block to execute. Can it also be used to effectively prefetch data into the L1 and L2 caches?

Answer

Ludo

("Fia med knuff" in Swedish)

As usual there are many items on the TODO list. One of them is to port the original Ludo code to a java applet. Although it is a very easy task, the motivation is lacking. Please find yourself a copy of the code here.

DrawPad

Model-View-Control is an important concept for any user interface developer. Java already offers API support for the model and we showed this by making a drawing application.

Educational Operative System

At the suggestion of Virtutech a group of students set out to create a small educational operative system using C++. Further information...

Multi threaded programmming

Multi processor system, like the Xbox 360, and multi cored processors are becoming more and more common. In order to take full advantage of such system you must know how to program concurrent code execution. There are several interesting models to base threaded development on. These applications go through the basics:

  • Master-Slave
  • Fair and Unfair queues
  • C vs Java
  • Implement and Evaluate PDE Solvers for the Laplace's Equation
  • Please explore the main text for a short description of each project or use one of the links below for direct access.


    Java