-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How can I contribute? #3
Comments
Sounds great and welcome! I would first read our IPDPS16 paper and SC14 workshop paper to build up a understanding on our technologies. The citations are at the bottom of README.md. Then, I encourage you to ask specific questions you may have and also let us now if you have specific problems you want to address? A suggestion: could you change the title of issue as "How can I contribute," and then put your question into the body of the issue? |
@SumedhArani: Thanks. Look forward to hearing from you! |
I read the papers published by you and as cited in your readme file. I also had a cursory glance on the written code. I was able to gauge as to what was being done. I wish to contribute to the following point as mentioned in your IEEE paper.
What do you've in mind regarding the fine-grained static techniques you intend to apply to identify race free sub regions and appropriately exclude them? |
Before answering this question, let me ask you some questions. Are you only interested in furthering research or also in contributing usability improvements features etc y? The reason I am asking this is, it would probably be difficult for you to get into the gut of the core techniques without engaging us with regularly scheduled concall etc and make direct impacts. But as a first step, I have some ideas about adding user interfaces to help extract "unique races" out of many race reports... This has been one of the common feedbacks we got from our users: they can make good use of scalable display of race reports generated out of many regression tests of the application. In addition, such a smaller project may give you more feel about this tool and where our research team is headed. |
That'll be a nice start, I'll definitely get started on this smaller project as of now. I'm an undergraduate student and I am definitely interested in furthering research and I've once worked on generating trace for improved deadlock detection on the basis of a research paper. So answering to your questions, it's a yes for both. It'll be really great if we are able to engage regularly and guide me to get to the core techniques used and in the near future make a direct impact regarding the same. Let me know about what ideas you've regarding extracting unique races. |
@dongahn If so, as per my preliminary observations, I think we can make use of line numbers and the operation. If they happen to be a match, we can check further. When you say parse the race report, do you suggest to redirect it to a output file and then have a program that analyses the parse report?
Have I got the problem statement right? |
Yes. The redundant report will be within a report as well as across multiple reports. The latter would be common for running a regression suite under Archer and/or running a large MPI application with Archer. The common technique can be used as a way to reduce the search space for users. If we get this right, this can even be publishable.
Dong
…________________________________
From: Sumedh Arani <notifications@github.com>
Sent: Tuesday, January 31, 2017 10:12:27 AM
To: PRUNERS/ARCHER
Cc: Ahn, Dong H.; Mention
Subject: Re: [PRUNERS/ARCHER] How can I contribute? (#3)
@dongahn<https://github.com/dongahn>
If I'm getting you right when you say extract "unique data races", you mean that on the race report generated the number of races seen are correspondingly proportionate to the number of threads in the sample example as given in the readme.md file but all are pointing to the same error where multiple threads are trying to write onto the array?
Have I got the problem statement right?
-
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#3 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AA0nq9Vn9RxDFoegBXEv3m_k1VYXXe04ks5rX3mLgaJpZM4LmVN1>.
|
@dongahn Thanks. |
I would say Python or some functional language (if you are familiar with any Racket, Huskell, Scala). I am sure we are all familiar with Python, or a Functional Language would force me to learn it :) Let's see what @dongahn thinks. |
Yeah I think Python is an option.
However, there maybe a merit to write the programmable engine in a native language as a hook into TSan's reporting routine.
You can look at TSan runtime's reporting code to see if they already have data structures that are passed into to the report function. Maybe you can create a hook there to do reduction on the fly. If architected right, One a can register a callback to do customers reduction and output them into an file.
This option can allow us to do in situ reduction of data races, which would be extremely helpful for analyzing large MPI+OpenMP application where there can be high value of information. Plus GUI can be a thin layer consisting of a view and a callback you can register with the hook.
Dong
…________________________________
From: Simone Atzeni <notifications@github.com>
Sent: Wednesday, February 1, 2017 6:13:34 AM
To: PRUNERS/ARCHER
Cc: Ahn, Dong H.; Mention
Subject: Re: [PRUNERS/ARCHER] How can I contribute? (#3)
I would say Python or some functional language (if you are familiar with any Racket, Huskell, Scala). I am sure we are all familiar with Python, or a Functional Language would force me to learn it :)
Let's see what @dongahn<https://github.com/dongahn> thinks.
-
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#3 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AA0nq1dRcTc8Bxo9eJlc8Fd3ONPWOKeiks5rYJMOgaJpZM4LmVN1>.
|
I've been going through the source code of reporting routine of tsan and what @dongahn suggests can be certainly done and does add a benefit of doing a in situ reduction of data races instead of parsing it after the reports are outputted. As per my known knowledge of tsan reporting routine and the data races I'm exposed to, my plan would be(as per my observation)
I do have a road map(plan) as to how to do the above task. Thanks, |
Sounds like progress! This sounds right. I think a key is to make this a callback architecture. One can have a default function as you described which does a reduction over the code location. But some ppl may want to have a bit finer granularity differentating the code location that came from different call paths... A callback design should allow multilevel reduction, I think. |
@dongahn Could you please elaborate as I didn't understand clearly
Also like what sort of multilevel reduction are you thinking
A callback design suggested by you is definitely advantageous in the situation as suggested by you but I could not understand as to what issues were you actually thinking. Thank you, |
OK. Move the unique race extraction to #13 for better tracking. |
I know my way around LLVM and also have written a few passes. I also once worked on a paper which dealt with detecting deadlock detection. Please let me know how can I get started?
The text was updated successfully, but these errors were encountered: