Education
Research
Teaching
Publications
CV
Other
I joined Advanced Micro Devices (AMD) in Markham, Ontario, early in 2007.
- 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".
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.
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]
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
Mountains of Iran
|