Curriculum Vitae RAHMAN LAVAEE November 10, 2015 Office Address

advertisement

Curriculum Vitae

RAHMAN LAVAEE

November 10, 2015

Office Address

Department of Computer Science

University of Rochester

Rochester, NY 14627 rlavaee@cs.rochester.edu

homepage: http://cs.rochester.edu/u/rlavaee

RESEARCH INTERESTS

• Locality Analysis and Optimization

• Code Layout Optimization

• Computational Social Choice

EDUCATION

• University of Rochester, Rochester, NY

Ph.D. in Computer Science, September 2011–present

Advisor: Chen Ding

(Completed M.S. Degree in Computer Science on May 2013)

Relevant Coursework : Operating Systems, Parallel and Distributed Systems, Advanced Computer Architecture, Software Analysis and Improvement, Dynamic Languages and Software Development, Analytical and Stochastic Modeling of Computer

Systems

• Sharif University of Technology, Tehran, Iran

B.S. in Computer Engineering, September 2007–June 2011

Thesis: The Application of MapReduce Model in Solving Problems for Dense Graphs

HONORS

• Ranked 187 th in the annual nationwide universities entrance exam (Konkoor) among more than 300,000 participants, 2007.

• Bronze Medal , 24th Iranian National Olympiad in Mathematics, Summer 2006.

• Silver Medal , 15th Iranian National Olympiad in Informatics, Spring 2006.

• Introduced as scientific elite by the National Elite Foundation of Iran , 2006.

1

PUBLICATIONS

PUBLICATIONS IN PROCEEDINGS OF SELECTIVE CONFERENCES

1.

The Hardness of Data Packing , R. Lavaee, To Appear In Proceedings of the 43rd ACM

SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 2016),

January 2016.

2.

Sliding Alignment Windows for Real-Time Crowd Captioning , M. Kazemi,

R. Lavaee, I. Naim, and D. Gildea, In Proceedings of the Annual Meeting of the Association for Computational Linguistics (ACL 2014), short paper , June 2014.

3.

Schulze and Ranked-Pairs Voting are Fixed-Parameter Tractable to Bribe, Manipulate, and Control , L. A. Hemaspaandra, R. Lavaee, and C. Menton, In Proceedings of the Twelfth International Conference on Autonomous Agents and Multiagent Systems

(AAMAS 2013) , May 2013.

WORKSHOP PAPERS

4.

Affinity-Based Hash Tables , B. Grenhardt, R. Lavaee, and C. Ding, In Proceedings of the

Workshop on Memory Systems Performance and Correctness (MSPC 2014) , June 2014.

TECHNICAL REPORTS

5.

ABC-Optimizer: Affinity-Based Code Layout Optimization , R. Lavaee and C. Ding,

University of Rochester Department of Computer Science Technical Report 987, January

2014.

6.

Schulze and Ranked-Pairs Voting are Fixed-Parameter Tractable to Bribe, Manipulate, and Control , L. Hemaspaandra, R. Lavaee, and C. Menton, ACM Computing

Research Repository Technical Report arXiv:1210.6963 [cs.GT], October 2012. (Also appears as University of Rochester Department of Computer Science Technical Report 982, October

2012.)

UNDER REVIEW

7.

ABC-Optimizer: Affinity-Based Code layout Optimization , R. Lavaee and C. Ding.

RECENT RESEARCH EXPERIENCE

1.

Approximability of Data Packing :

A program can benefit from improved cache block utilization when contemporaneously accessed data elements are placed in the same memory block. This can reduce the program’s memory block working set and thereby, reduce the capacity miss rate. We formally define the problem of data packing for an arbitrary cache size and packing factor (the number of elements fitting in a cache block) and study how well the optimal solution can be approximated for two dual problems. On the one hand, we show that the cache hit maximization problem is approximable within a constant factor, for every fixed cache size. On the other hand, we show that unless P = NP , the cache miss minimization problem cannot be efficiently approximated.

2

2.

Code Layout Optimization :

We define a model of reference affinity and use it to improve the code layout, via both function reordering and interprocedural basic block reordering. We have implemented this tool as a link time optimization (LTO) pass in the LLVM compiler infrastructure.

The use of LTO has made the packaging of the tool very stable. We have been able to optimize interpreters like Python, Perl, Ruby, and even PyPy (which uses a Just-in-Time compiler), and achieve up to 10% improvement in runtime via function reordering and up to

40% improvement via basic block reordering. The source code for this tool can be found in https://github.com/rlavaee/code-layout-optimizer .

3.

Markov Chain Modeling of Optimal Cache :

We model the behavior of an optimal cache (a cache with optimal replacement policy, a.k.a.

OPT cache) over a truly random sequence as a Markov chain. Besides proving the ergodicity of the chain, we obtain closed-form formulas for three special cases of the cache performance; the cases where the OPT stack distance is equal to 1, 2, and the cache size. The source code for this model can be found in https://github.com/rlavaee/opt-markov-chain .

TEACHING EXPERIENCE

• Teaching assistant for Introduction to Cryptography , Prof. Venkitasubramaniam,

Fall 2013.

• Teaching assistant for Advanced Algorithms , Prof. Stefankovic, Spring 2013.

• Teaching assistant for Art of Programming , Dr. Singhal, Spring 2012.

• Teaching assistant for Compiler Design , Dr. Jaberipur, Fall 2010.

• Instructor for Olympiad in Informatics preparation classes at Farzanegan High

School, 2009–2010.

– Taught Combinatorics and Elementary Game Theory.

PRESENTATIONS

• ABC-Optimizer: Affinity Based Code Layout Optimizer, 12nd Workshop on

Compiler-Driven Performance, Markham, Ontario, Canada, November 2013.

• Unweighted Coalitional Manipulation Under the Borda Rule is NP-Hard, Theory

Canal at University of Rochester, Rochester, NY, December 2012.

WORK EXPERIENCE

• Student Internship at Roshd Technology Center, Tehran, Iran, Summer 2010.

I developed a web-based information system together with a mobile application builder that provides system clients with access to updated data through Short Message Service, adaptable to most information environments.

• Graduate Curriculum Committee, Computer Science Department, University of

Rochester, 2014.

• Head of Sports Committee at Students’ Society of Sharif University, 2010–2011.

• Member of Internet Committee at Students’ Society of Sharif University, 2009–2010.

3

TECHNICAL SKILLS

• Programming Languages : C, Java (J2SE, J2ME), C++, Ruby, Lisp, R

• Compilation Tools : LLVM, GNU Binutils

• Web/DB/Distributed Technologies : Javascript, PHP, MySQL, Symfony,

Hadoop

• Operating Systems : Unix, Linux, Windows

4

Download