Hi, I just got my BSC diploma yesterday :D. My project was also related to multicore, so maybe you can get some ideas out of it. Here is a brief description: My project consists of a suite of tools that aid multicore programming in the C# language. The application is based on pragmas similar to OpenMP, which you use to mark sections of code for parallelization (for loops, parallel tasks, etc.). The first tool, the Parallel Advisor, is a static code checker that analyzes a given source code file that contains pragmas and gives you warnings if you have data races or other problems if you introduce parallelism. Once you review the warnings, you may use the second component, the Parallel Converter, to convert the code with pragmas into C# threaded code (basically it generates threaded code from the pragmas encountered) The third tool, the Thread Profiler, performs runtime sampling on a multithreaded application and gives you processor usage information for each spawned thread (similar to what the old Intel Concurrency Checker used to offer). Hope this helps.