Article View: gnu.gcc.help
Article #49853tracing parallel threads
From: egbert
Date: Thu, 16 Dec 1993 13:49
Date: Thu, 16 Dec 1993 13:49
66 lines
3597 bytes
3597 bytes
Perhaps you are the right person to help me. (If I posted in the wrong newsgroup and you know a more suitable one please send me a mail.) NEED: some function-call graph tracing facilities for GNU-C (especially if one runs several processes in parallel, and is using the pvm-tool for using a heterogeneous workstation net as a virtual parallel machine, we use DEC alphas, SUN SPARCstation, sun3, DECstation 5000/3100) The main problem arises from the parallelism and that's why I don't intend to use the already implemented profiling feature. MOTIVATION: need some tracing methods at the function level for visualizing the run-time behavior and evaluating the performance of a program that spawns several parallel threads and uses message passing for communication/synchronisation which is supplied by the pvm layer GENERAL IDEA: * add a call to an initialisation routine at the program start, that is supposed to * start a background process, handling the buffering and * add a clean-up function in the exit()-queue * while parsing: generate a unique ID for each function that will be supplied * to a trace-IN function at the function entry (or right before a function call) [perhaps I can use profile feature] * and to a trace-OUT function before the function exit and all return statements * while running: a background process started by the initialisation routine collects the trace data in buffers and writes them out on disc, according to some specified buffering strategy. MY PROBLEMS: * don't know if there exists such a feature already or something I could use as a pool of ideas/methods * don't know how to use the target makro feature for generating the function call (FUNCTION_PROLOGUE) and function return (FUNCTION_EPILOGUE) (perhaps the implicite end-of-function return and the explicite return-statement might be distinguished and I will have to consider this in my patch) * perhaps I can use some mechanisms/methods used for the debugging or profiling data generation but I don't know anything about those either HOW YOU CAN HELP ME: * documentation I can get from an ftp-site (I have the 'gcc.info' file only) * documented (problem - idea - solution) examples that use some of the features I mentioned above * e-mail addresses where I could ask for some papers on that topic ABOUT MY PERSON: I'm a graduate student working on my diploma paper which is about developing a general concept for profiling the behavior of programs running in parallel. I've implemented the tracing features and some buffer handling mechanisms in the LSC-C compiler already. my e-mail address: hess@sunshine.informatik.uni-wuerzburg.de thanks in advance, Egbert
Technical Details
Message-ID:
<2epp1f$16j@winx03.informatik.uni-wuerzburg.de>Path:
arc1-ca.pugleaf.net!gmd.de!newsserver.jvnc.net!yale.edu!spool.mu.edu!agate!doc.ic.ac.uk!uknet!EU.net!Germany.EU.net!netmbx.de!zrz.TU-Berlin.DE!zib-berlin.de!fauern!winx03!dec5!hessShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 11318c,9cce8d3c4164a420,start X-Google-Attributes: gid11318c,public X-Google-ArrivalTime: 1993-12-16 07:09:34 PST Path: arc1-ca.pugleaf.net!gmd.de!newsserver.jvnc.net!yale.edu!spool.mu.edu!agate!doc.ic.ac.uk!uknet!EU.net!Germany.EU.net!netmbx.de!zrz.TU-Berlin.DE!zib-berlin.de!fauern!winx03!dec5!hess From: hess@informatik.uni-wuerzburg.de (egbert) Newsgroups: gnu.gcc.help Subject: tracing parallel threads Date: 16 Dec 1993 13:49:35 GMT Organization: University of Wuerzburg, Germany Lines: 68 Message-ID: <2epp1f$16j@winx03.informatik.uni-wuerzburg.de> NNTP-Posting-Host: winx27 Summary: would like to extend the compiler to supply a trace feature Keywords: parallelism, profiling, extension X-Newsreader: TIN [version 1.2 PL2]