ARUN RAMAN -- PhD, Princeton University


HOME · RESEARCH · PUBLICATIONS · TEACHING · COURSES · CURRICULUM VITAE
TRAVELOGUE · INTERESTS · RULES · WEBSITE DESIGN · UPDATES

6 December 2011

G.R.A.D.U.A.T.E.D

25 October 2011

Was in Portland, Oregon to give a talk titled Sprint: Speculative Prefetching of Remote Data at the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA).

6 June 2011

Was in San Jose, California to give a talk titled Parallelism Orchestration using DoPE: the Degree of Parallelism Executive at the 32nd ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). DoPE is a pretty cool system; you can find more details about it here.

01 February 2011

I finally got around to figuring out my Erdös-Bacon number. To my pleasant surprise, the number is relatively low: 7. David and Jayant, thanks! The likes of Carl Sagan and Stephen Hawking have the same number (see here). Here's how I am linked to Erdös and Bacon:

Erdös number (4): Paul Erdös-Stephen Hedetniemi-Robert Tarjan-David I. August-Arun Raman

Bacon number (3): Kevin Bacon-Charles McCaughan-Jayant Kripalani-Arun Raman

Regarding Bacon number: McCaughan was in "Quicksilver" (1986) with Bacon; Kripalani was in "Heat and Dust" (1983) with McCaughan; I was in "Awakening Indians to India (Quiz)" (2004, Zee TV) with Kripalani.

12 December 2010

A paper that I co-authored has been accepted for presentation at IPDPS'11, an international forum to present ideas in parallel processing and distributed computing. The paper is titled "A Very Fast Simulator For Exploring The Many-Core Future". It is the outcome of part of the work that I did in the summer of '08 at INRIA, France jointly with Olivier Certner, Zheng Li, and Olivier Temam.

4-8 December 2010

I attended MICRO, "the premier forum for presenting computer microarchitecture ideas". I co-authored a paper on enabling speculative parallelization on clusters of multicore processors. Read this and this. I had a nice time meeting some new folks and catching up with old friends at the conference. I also hung out with folks in the Robotics Lab at Gatech - it was osum!

09 October 2010

I was invited by the Computer Architecture group at IBM T.J.Watson to speak at the first Computer Architecture Highlights Workshop. It was a great forum to meet many of the leading researchers, both IBMers and students, in the Computer Architecture field. I'll make a trip report available shortly.

17 August 2010

A paper that I co-authored has been accepted for presentation at MICRO '10, the premier microarchitecture conference. The paper is titled "Scalable Speculative Parallelization on Commodity Clusters" and is work done by Hanjun Kim, Arun Raman, Feng Liu, Jae W. Lee, and David I. August. It extends this system to work on non shared memory machines allowing parallelizations to scale to 128 cores on a cluster.

29 July 2010

I gave a talk at IBM Programming Languages Day 2010 held at the IBM Watson Research Center. The full program is available here. The subject of my talk was speculative parallelization, and was based primarily on this paper.

23 April 2010, 4 October 2010

Intel Corp. has awarded me the Intel PhD Fellowship for the year 2010-2011. Check out the following news items:

Here's a short youtube clip of the Fellowship summit (30-31 August 2010). I make an appearance at 0:29, 0:53, and 1:06.

15 March 2010

Was in Pittsburgh, PA to give a talk titled Speculative Parallelization Using Software Multi-threaded Transactions at the 15th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). Questions that were asked at the end of the talk are reproduced below along with the answers.

Question 1: A major problem with pipelining techniques is that the stages must be balanced just right to get good performance. How do you manage that?
Answer: In a pipeline, there are two kinds of stages: sequential stages (S) which are executed by a single thread, and parallel stages (P) which can be executed by multiple threads. A parallel stage is characterized by the absence of loop-carried (inter-iteration) dependencies. In most of the applications that we studied, the extracted pipeline structure was S-P-S, with the P stage dominating the others. Consequently, most of our scalability came from increasing the number of threads assigned to the P stage. However, that is not to downplay the importance of the sequential stages: the P stage could be extracted only after isolating most of the loop-carried dependencies in the sequential stages.

Question 2: How did you verify your STM?
Answer: By comparing the output of the transformed program that uses the STM with the reference outputs. Obviously this does not constitute a general proof of correctness.
One possible paper-and-pencil proof could proceed along the following lines: 1) Separation of speculative and non-speculative state 2) Non-speculative state can be updated solely by means of stores performed by the commit unit 3) Commit unit performs a store only after it has been deemed non-speculative by the try-commit unit, and it executes stores in sequential program order 4) The try-commit unit replays all program loads and stores in order of their appearance in the sequential program and checks the values loaded speculatively with the values that would have been loaded in a sequential execution. Consequently, LD-ST ordering violations will be detected by the try-commit unit.
To check the implementation of the STM library, one could use Bounded Model Checking techniques.