Reza Azimi

University of Toronto
ECE Dept. Computer Engineering Group

Email: a z i m i @ e e c g .t o r o n t o . e d u
WWW: http://www.eecg.toronto.edu/~azimi/


Education
Research
Teaching
Publications
CV
Other

I joined Advanced Micro Devices (AMD) in Markham, Ontario, early in 2007.


Education:

  • Ph.D. degree, Department of Electrical and Computer Engineering, University of Toronto, 2007. Thesis title:: "System Software Utilization of Hardware Performance Monitoring Information".

  • M.A.Sc. degree, Department of Electrical and Computer Engineering, University of Toronto, 2002. Thesis title: "miNi Minimizing Network Interface Memory Requirements by Dynamic Handle Lookup".

  • MS degree in Computer Engineering, Sharif University of Technology, Tehran, Iran, 1997. Thesis title: "The design and partial implementation of memory management subsystem of an object-oriented operating system".

  • BS degree in Computer Engineering, Software, Sharif University of Technology, Tehran, Iran, 1995, The title of the design project: "The design and implementation of a compiler for Eiffel programming language".


Research

During my masters at UofT, I was involved in the ATHLOS project. My research was primarily focused on improving the performance of a programmable network interface used in a cluster-computing environment. More specifically I worked on how to reduce the memory requirements of both the network interface and computing nodes by dynamic management of data structures, rather than statically pinning them to physical memory.

I later joined the K42 Operating System project. K42's main objective is to build scalable operating systems for large scale shared memory multiprocessors. I was in particular interested in developing practical yet insightful models for CPU performance, both for uniprocessor and multiprocessor systems. I worked extensively on exploiting Hardware Performance Counters (HPCs) capbabilities of two IBM processors (PowerPC970 and POWER5) to identify performance bottlenecks in an automatic fashion.

I also looked at the problem of automatically tracking data locality for memory-intensive applications. The major motivation was that conventional OS level means for tracking page accesses of the applications (e.g., monitoring page faults or scanning the page table bits) do not provide any information about the order in which virtual pages are accessed by the applications. As a result, many sophisticated and adaptive memory management-related algorithms cannot be directly implemented in the OS. We suggested a modest hardware support that, combined with a software layer, allows for tracking page accesses at fine-granularity with low overhead. It is also shown such information can be used to improve the performance of the OS memory management substantially.


Publications

1
R. Azimi, L. Soares, M. Stumm, A. Demke-Brown, and T. Walsh, Fine-grained Page Access Tracking to Improve Memory Management. To Appear in Proc. of International Symposium on Memory Management ISMM 2007, October 2007, Montreal, Canada .

2
R. Wisniewski, R. Azimi, M. Desnoyers, M. Michael, J. Moreira, D. Shiloach, and L. Soares, Experiences Understanding Performance in a Commercial Scale-Out Environment, To Appear in Proc. of Euro-Par 2007 Conference, August 2007, Rennes, France .

3
D. Tam, R. Azimi, L. Soares, and M. Stumm, Managing Shared L2 Caches on Multicore Systems in Software, To Appear in Workshop on the Interaction between Operating Systems and Computer Architecture, Held in junction with 2007 International Symposium on Computer Architecture (ISCA-34). June 2007, San Diego, CA, USA. [pdf]

4
D. Tam, R. Azimi, and M. Stumm, Thread Clustering: Sharing-Aware Scheduling on SMP-CMP-SMT Multiprocessors. In Proc. of EuroSys'07, Lisbon, Portugal, March 2007. [pdf]

5
R. Azimi, M. Stumm, and R. Wisniewski, Online Performance Analysis by Statistical Sampling of Microprocessor Performance Counters. In Proc. of the 19th International Conference on Supercomputing (ICS05), Boston, MA, June 2005. [pdf]

6
R. Wisniewski, P. Sweeney, K. Sudeep, M. Hauswirth, E. Duesterwald, C. Cascaval, and R. Azimi. Performance and Environment Monitoring for Whole System Characterization and Optimization In Proc. of the First Watson Conference on Power/Performance interaction with Architecture, Circuits, and Compilers, Yorktown Heights, NY, October 2004. [pdf]

7
D. Tam, R. Azimi, and H.A. Jacobsen, Building Content-Based Publish/Subscribe Systems using Distributed Hash Tables. In Proc. of the International Workshop on Databases, Information Systems and Peer-to-Peer Computing, Berlin, Germany, September 2003. [pdf].

8
J. Appavoo, M. Auslander, D. Da Silva, O. Krieger, M. Ostrowski, B. Rosenburg, R. W. Wisniewski, J. Xenidis, M. Stumm, B. Gamsa, R. Azimi, R. Fingas, A. Tam, D. Tam, Enabling Scalable Performance for General Purpose Workloads on Shared Memory Multiprocessors, IBM Research Report RC22863. [pdf].

9
R. Azimi and A. Bilas. mini: Reducing network interface memory requirements with dynamic handle lookup. In Proc. of the 17th ACM International Conference on Supercomputing (ICS03), June 2003, San Francisco, CA, USA. [pdf].

10
R. Christodoulopoulou, R. Azimi, and A. Bilas. Dynamic data replication: An approach to providing fault-tolerant shared memory clusters. In Proc. of The 9th IEEE Symposium on High-Performance Computer Architecture (HPCA9), February 2003. [pdf].

11
R. Azimi and A. Bilas. Evaluating the performance impact of dynamic hanlde lookup in modern network interfaces. In the 2nd Workshop on Novel Uses of System Area Networks (SAN-2), Held in junction with the 9th Symposium on High Performance Computer Architecture (HPCA-9). Feb. 2003, Anaheim, USA, February 2003. [pdf]

12
Angelos Bilas, Courtney R. Gibson, Reza Azimi, Rosalia Christodoulopoulou, and Peter Jamieson. Using system emulation to model next-generation shared virtual memory clusters. Special Issue of Cluster Computing: the Journal of Networks, Software Tools and Applications, Vol. 6, Issue 4 (Oct. 2003), pp. 325-338. [pdf]

Teaching

I have taught CSC69 (Operating Systems) at the Scarborough Campus of the UofT.

I co-taught CSC69 (Operating Systems) at the Scarborough Campus of the UofT in summer 2005 with Alan Rosselet.

Also I was a TA for the following courses both in ECE and CS departments of U of T:

  • CSCC69 : Operating Systems.
  • ECE299 : Communication and Design II
  • ECE341 : Computer Organization
  • CSC372 : Microprocessor Software
  • ECE344 : Operating Systems Design
  • ECE443 : System Software
  • CSC209 : Unix System Tools and Programming
  • ECE242 : Data Structure and Algorithms
  • CSC458 : Computer Networks
  • CSC326 : Principles of Programming Languages

Other

  • Mountains of Iran
  •