Thinking Parallel

A Blog on Parallel Programming and Concurrency by Michael Suess

Introduction

Hello world,

my name is Michael Suess and this is my blog (you already guessed that, right?). Since this is my first post, I will introduce myself, what I am doing and why this may be interesting to you. And since I do not want this to be boring, I will use a Q&A-session to do so.

Who are you?
My name is Michael Suess, I am currently situated in Kassel, Germany, doing my PhD in a topic related to parallel programming. The topic of my thesis can be summarized shortly as: “exploring ways to make parallel programming easier”.

There must be more to you than just a location and a thesis, right?
Of course there is. I am married and have an nine month old son. I have hobbies (e.g. roleplaying, jogging, soccer, books), friends and even a life. But since this blog is about neither of these, I will stop telling you about them now.

If this is not a personal blog, what’s it about then?
This blog is about parallel programming. Since I am also interested in more general software development issues, program optimization, web-development, startups, as well as project management, I might also occasionally write a post about them. Parallel programming is what I know about most, though, and therefore this will be the main part.

Why should I care what you have to say about parallel programming? Are you some kind of world-class expert in the field?
No, I am sure not. I have been doing parallel programming since about 2002, mostly in C / C++ using OpenMP, POSIX Threads and MPI. I have also evaluated and tried some other parallel programming systems (e.g. Java threads, Cilk, BSP, Perl Threads, Erlang) and will continue to do so in the future to broaden my view (and because I am always eager to explore new things). Since I have been doing this fulltime as a part of my work at the Programming Languages / -Methodologies research group at the University of Kassel, I have gained a lot of experience in the field, especially with my favourite parallel programming system, OpenMP and C/C++. Of course, there are people with more experience in parallel programming than I have, but if only the most well known leaders in a field were allowed to voice their opinions, the world (and especially the blogsphere) would be a really quiet place.

I also do have one advantage over many experts in the field: I am constantly teaching classes on parallel programming at our university and paying close attention to the problems my student have and the mistakes they make. I will try to incorporate the valuable feedback they provide into at least some of my posts.

Lets get a little more concrete: What are some of the topics you want to write about?
I will start with a post about why I love parallel programming, why it is important today and is getting even more important in the future. I plan on doing an introductory piece on performance optimization next, possibly followed by a roundup of some of the tools I tried out to make my life as a parallel programmer easier (mainly debuggers and profilers). More will follow.

All of these seem pretty big topics, how are you going to manage to cover them in a blog?
That’s easy. As I have already told you, I am not doing this blog to write short snippets about my cat or what I had for breakfast. I am aiming to write well thought out essays, and the blog format merely gives me an easy way to solicit feedback. If you want to know how this can look like, take a look at Paul Grahams essays (yes, I know that’s not a blog, but it could be). My opinion pieces probably wont be as big, but that is the style I am targetting. Furthermore, I will also have shorter articles on topics I stumble over during the course of my work (mostly related to parallel programming).

This concludes my introductory post, I hope you enjoyed it a little and thanks for reading this far! I promise, the next posts will be more substantial and focused than this introduction.

8 Responses to Introduction


Comments