Linked by Thom Holwerda on Thu 31st Aug 2006 22:53 UTC
General Development "Concurrent programming is difficult, yet many technologists predict the end of Moore's law will be answered with increasingly parallel computer architectures - multicore or chip multiprocessors. If we hope to achieve continued performance gains, programs must be able to exploit this parallelism. Automatic exploitation of parallelism in sequential programs, through either computer architecture techniques such as dynamic dispatch or automatic parallelization of sequential programs, offers one possible technical solution. However, many researchers agree that these automatic techniques have been pushed to their limits and can exploit only modest parallelism. Thus, programs themselves must become more concurrent."
Thread beginning with comment 157682
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[2]: Sequential and parallel
by jamesd on Fri 1st Sep 2006 03:36 UTC in reply to "RE: Sequential and parallel"
jamesd
Member since:
2006-01-17

Even with all that said, one of the most difficult things about parallel/threaded programming is debugging them. There are only a few tools designed to cope with multiple threads. Standard debuggers really can't cope with it, as soon as you define a break point and it executes, your program stops, and you single step your thread, and chances are your program will run fine. Your races are gone, because your program is now searialized.

If you manage to get your multithreaded application working during the testing phase, that is good, you may still run into more problems. And you can't just run a debugger in production, so you then have to figure a way create a simular load and workset to expose the bug in your test environment and pray you find the bug.

Luckily things are changing, thanks to DTrace you can now debug multithreaded programs as easy as other tools allow you to do non-threaded software, plus you can use it in production because it won't slow down your application or cause your program to crash where it wouldn't of before. Dtrace is also poliferating you will soon be able to use it in Solaris and FreeBSD and OSX.

Reply Parent Bookmark Score: 2

ormandj Member since:
2005-10-09

You are absolutely correct. I really have nothing to add to what you said, but I wanted to +1 Dtrace. It REALLY does make things MUCH easier!

Reply Parent Bookmark Score: 2