• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Parallel Programming: what tools do you use?

 
blacksmith
Posts: 979
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Dear Sergey,

What tools do you recommend to facilitate the specific
issues parallel programming brings with it?

Kind regards,

Gian
 
author
Posts: 50
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I myself mostly do it the old-fashionable way: gdb, debugging printfs, and as a more recent thing valgrind. :-) Some debugging techniques are mentioned in the book, such as the versions of libraries with deadlock detections, lock hierarchies and such.

Another technique that I've found useful when the debugging printouts are too slow and alter the program execution logic a lot is to have in-memory buffers where the debugging information can be written fast, without upsetting the timing, and then read later after the problem has occured. A sort of a "black box" trace for the program that can be used to restore the sequence of events. And for debugging it gets useful to add the artificial delays in the suspicious places, and then hammering the program with a stress test.

I haven't looked that much at the static analyzers, and what I've seen did not make a particularly big impression.
 
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

What tools do you recommend to facilitate the specific
issues parallel programming brings with it?



Your best tools would be local variables, method parameters and return values. You can read about thread-safe programming practices to avoid issues that parallel programming brings in the first place.
 
Don't get me started about those stupid light bulbs.
reply
    Bookmark Topic Watch Topic
  • New Topic