Monday, February 23, 2009

What's been up...

Phew! back to blogger after a long time, I must say after trying so hard to get over my hesitation, I am not quite successful in getting myself into blogging.

What has been up recently is that I finally got started with my Red Hat internship. My target is to introduce java profiling in SystemTap. I have been reading the SystemTap code to find out where exactly the tokens are parsed and where is the code translated into the corresponding C code.

To an extent I have been successful thanks to the comments in the main.cxx stating which phase begins when, but I guess the use of kprobes has somewhat hidden how the token representing the probe point is mapped to the location where it is actually found (or maybe it is not and I could not find it).

Also I have found a few C based java application profilers like JMP (TIJMP for the JVMTI supporting versions of java). I am looking at their code to know how to interface with the JVM using such tools.

Looking forward to be able to accomplish the task.

On the Sarai Fellowship front I am still in the process of recording the speech samples for my speech recognition project for the OLPC. Recording speech samples and typing out the text has turned out to be a lot more time consuming and laborious than I initially anticipated (Might also be because I need to arrange my schedule according to the times when the children are available which is becoming difficult because of my classes). I am also very hopeful of getting an XO soon thanks to Sankarshan Sir, Mr. Amit and Mr. Sayamindu.

I am praying it all comes out fine.

Next, I was invited to the National Institute of Technology, Durgapur to talk to the newerbies about how to contribute to FOSS in their annual FOSS festival Mukti.in.

It was an amazing experience. I talked about the philosophy of FOSS, why should they contribute and whats in it for them. Then I moved on to what it takes to be a contributor and how to contribute. The How part was divided into two categories, for those who want to contribute code, and for those who want to contribute by other means like helping out with the artwork, documentation, translations, publicity etc. I also talked about Fedora and OLPC in slight details as I could supplement the information there by my own experience. The presentation slides can be found here.

It was nice to try and answer questions from the audience when they gave me their skill set and asked me where could they fit in. It was also heartening to see people interested in my GSoC project and asking me about system side programming and SystemTap.

Over all, I was satisfied at the end of the talk and felt it was a job well done though I was tensed about screwing up the schedule of the event by extending the talk by about an hour.

4 comments:

fche said...

Re. Java profiling in stap, talk to mwielaard.

The basic starting point with profiling is to decide whether to use a sampling- or tracing-based technique.

The former requires the ability to map from some arbitrary run-time moment (registers, any accessible JIT state) to a high-level (Java class/method/line?) tuple. It's basically the backtracing problem.


The latter requires intercepting profileworthy events as they occur, and tabulating time taken. This requires appropriate hooks/markers (which are there in some JVMs), and a willingness to accept slowdowns in the instrumented program.

Using JVMs' built-in supervisory APIs (JVMTI and friends) is a third possibility. It requires a change in the run/operation model of systemtap script modules, as run-time API yakking with the JVM is required.

satya said...

Thank you sir. Yes I'll talk to him and I'll learn more about the comparative merits and demerits of the three methods. I was basing my approach on the method I found that most profilers that I found use but I had not considered what would be closest to the way systemtap works.

dotInaCircle said...

Good progress! in the last few months! The talk at Durgapur sounded like an exciting experience!

satya said...

Thank you :)