|Address||School of Computer Science
Institute for Research in Fundamental Sciences (IPM),
No. 70, Farmanieh Av.,
|arasht a t ipm.ir|
|Currently working||School of Computer Science, IPM|
Researcher at IPM
I'm a researcher at the School of Computer Science, Institute for Research in Fundamental Sciences. I work in the High Performance Computing Architectures & Networks (HPCAN) group which is mainly focused on a wide range of theoretical and algorithmic issues as well as practical and engineering issues in high performance and network-based computing systems. We are currently developing PG-SIM, a multi-threaded GPGPU simulator.
2010 - 2015
Sharif University of Technology, Tehran, IranPh.D. Candidate in Computer Engineering - Computer Architecture Major.
Thesis title: A Scalable and High-Performance Design Architecture for SSD.
Advisor: Hamid Sarbazi-Azad
2005 - 2008
Sharif University of Technology, Tehran, IranM.Sc. in Computer Engineering - Computer Architecture Major.
Thesis title: Performance of Crossbar-based Interconnection Networks for Multiprocessors.
Advisor: Hamid Sarbazi-Azad.
2000 - 2005
Sharif University of Technology, Tehran, IranB.Sc. in Computer Engineering - Software Engineering Major.
Undergraduate final project title: Fingerprint Watermarking.
Advisor: Shohreh Kasaei.
Academic Work Experience
2010 - 2015
Research Associate @IPM School of Computer Science
2010 - 2015
Senior Member @Sharif HPCAN Laboratory
2008 - 2010
Research Assistant @IPM School of Computer Science
2006 - 2008
Graduate Student Researcher @IPM School of Computer Science
2006 - 2008
Member @Sharif HPCAN Laboratory
2004 - 2005
Member @Sharif IPL Laboratory
Ranked 4th in the Iranian Nationwide Graduate School Entrance Exam in Computer Engineering, Iran.
Ranked among the top 15 students of the 8th National Scientific Olympiads in Computer Engineering, Iran.
Ranked 188th among more than 350,000 applicants in the Iranian Nationwide University Entrance Exams, Iran
|Programming Languages||C++/C C# Java Python|
|Multicore & Parallel Programming Platforms||Nvidia CUDA OpenMP MPI Pthread IBM SDK Windows Threads|
|Database Management Systems||MS SQL Server MySQL|
|Web and Application Development||J2EE Java Servlets JSP PHP .NET Framework ASPX|
|Digital & Embedded System Design||Verilog HDL Altera Max+Plus II Modelsim State Flow Intel 8086/8085 Assembly|
|Operating Systems||Linux (CentOS, Fedora, Ubuntu, Yellow Dog) FreeBSD Windows Server 2003/2008 Windows XP/7/8|
|Applications and Scientific Tools||MS Visual Studio Eclipse Shell Scripting SimpleScalar SESC gem5 MPARM GPGPU-Sim Disksim BookSim NVSIM CACTI Orion Matlab Simulink LATEX MS Office|
PG-SIM: An object oriented multi-threaded GPGPU simulator, 2015-present.
- PG-SIM provides high accuracy, high maintainability and low execution time with respect to previous simulators.
- Many important features of the recent Nvidia GPU generations are being included in the simulator.
Design and implementation of scientific high-performance systems, 2007 - 2008.
- A 2 teraflops scientific HPC platform implemented based on IBM CELL/BE processors.
- A 13 teraflops scientific HPC platform was implemented based on Nvidia GPUs.
- Famous parallel algorithms were implemented to examine peak and sustained performance of these platforms. Examples include: matrix multiplication, wavelet transform, fast fourier transform, N-body simulation, prime number generation and graphical ray tracing.
- Different software modules and libraries were developed to speedup abstract mathematical problems in graph theory, design theory, and algebraic fields.
- Some results were published in CSI JCSE:
Techniques for Utilizing Capabilities of Emerging Chip Multiprocessors in Enumerative Combinatorial Problems
E. Totoni, A. Tavakkol, Gholamreza B. Khosrovshahi, A. Khonsari, and H. Sarbazi-Azad
in CSI Journal on Computer Science and Engineering (JCSE)
Vol. 11, No. 2, pp. 1 - 14, 2014.
Xmulator: An object oriented multi-layered simulation framework, 2006 - present.
- A detailed SSD simulation platform was implemented. It was referenced in more than 5 publications.
- A power calculation methodology for NoCs was implemented based on Orion library. It was referenced in more than 30 publications and 20 PhD and MSc thesis.
- Well-known and special topologies of NoC and interconnection networks were implemented. They were referenced in more than 20 publications and 10 PhD and MSc thesis.
MSc. Thesis: Performance of Crossbar-based Interconnection Networks for Multiprocessors.
- The issue of pin constraint for traditional multiprocessor or multicomputer systems and routing limitation of wires in physical design of Multiprocessor Systems-on-Chips (MPSoCs) have been always controversial to designers. There is a trade off between communication bandwidth and the aforementioned constraints.
In my MSc. thesis, I introduced a new class of interconnection topologies, called Crossbar-based Networks, to solve the pin-out constraint in interconnection networks and wiring complexity problem in Network-on-Chips (NoCs). The main idea behind this newly introduced class is to find fully connected sub-graphs in communication graph of a topology and substitute all of the communication channels in each subgraph with a single crossbar switch. This substitution does not remove communication ability between nodes of the mentioned sub-graph, but it can reduce the number of physical communication links. Therefore, the node degree and the number of wires required to implement communication structure will be greatly reduced and designer can overcome implementation physical limitations.
In addition, I introduced a new topology with the name of Diagonal Connected Mesh (DCM) which modifies well-known Mesh and Torus topologies to provides the possibility of using crossbar-based communication. Besides, I investigated the topological properties of DCM, and proposed deterministic and fully adaptive deadlock free routing algorithms for this new topology.
BSc. Final Project: An image watermarking framework to protect image databases against unauthorized modifications, 2004 - 2005.
- In this project a framework for image watermarking was designed and implemented based on the properties of wavelet transform. This framework is used for protection of image databases against unauthorized modifications.
A web-based document indexing/provisioning system, 2009 - 2010.
- A web-based document management/sharing system was designed and implemented using J2EE for Institute for Research in Fundamental Sciences (IPM).
- IPM researchers use this system to share scientific documents in pdf, word, and text format.
- Documents are indexed based on content, title, keywords, authors, and category and users can perform mixed searches based on document content and properties.
- System can automatically check for duplicate uploaded documents and sends alerts to both document uploader and system administrators.
- System provides dynamic access control policy for different types of users.
Design, setup and installation of a unified Linux-based web-hosting system for IPM information center, 2008 - 2009.
- All web-related services of IPM, including its official home page, official home pages of its schools, a J2EE-based portal of research projects and employee information, and conference registration pages, were migrated from a Windows 2003 Server to RHEL 5.0.
- Apache Webserver, Tomcat container, MySQL, and MS SQL Server 2005 were installed and configured to run J2EE, .NET and PHP web applications.
- A backup server was set up and a backup policy was designed and implemented.
- A development server was set up and version control and deployment policies were designed and implemented.
- A unified user home directory management policy was implemented and protocols were defined for user management.
- An update policy for OS and other server packages was defined and implemented.
- The project was managed under my supervision.
An automated event management system for IPM School of Particles, 2009.
- A web-based JSP system was designed and implemented for automated event (conference/lecture/symposium) management in IPM School of Particles.
- System operator just provides event description, required registration fields, and required web pages for the event.
- The system automatically generates registration forms and required web pages such as: event desription, venue information, event program, event organizers, and etc..
- The system provides registration control panel to perform management tasks such as: open/close registration, confirm registration, send email to registrants, two step registration.
- Registration control panel also provides reporting services based on registration input data.
JDB: A distributed data gathering and analysis system for medical research projects, 2008 - 2009.
- This is a web-based client/server system that is used for distributed gathering of individual medical information in Shahid Beheshti University of Medical Sciences (SBMU), School of Dentistry. SBMU ranked among the top three medical schools in Iran.
- The software was developed using C# and .NET Framework.
- Users can perform complicated statistical analysis of data including: descriptive statistics, bivariate statistics, linear regression, cluster analysis (K-means and hierarchical).
- Other features include: data import/export to xls/csv/xml format, database merging, online RESTful data provisioning in both JSON and XML formats, data visualization (2D & 3D charts, line charts, bar charts, pi chart, etc.).
Code Snippets| Academic and scientific
Old Academic Stuff
My Final Project for Advanced Operating Systems Course
Clocks and timing in distributed systemsDownload | final report
My Final Project for Advanced Storage Systems Course
My Final Project for Advanced Network Course
My Final Project for Advanced Computer Architecture Course
My Final Project for Network-based Computing Course
We performed a survey on deadlock recovery techniques for wormhole switching in interconnection networks. Then we proposed a dynamic software-based deadlock recovery technique which was presented in AINAW 2008.Download | final survey report in Persian Download | survey presentation file in Persian Download | modified Xmulator sources for dynamic software-based technique
My Final Project for Computer Arithmetic Course
My Final Project for Embedded System Design Course
My Final Project for Advanced DSP Course
High performance implementation of wavelet transform on emerging multicore architectures.Download | final report
My Final Project for Fault-tolerant Systems Course
A survey on methods and tools for SEU injection to SRAM-based FPGAs.Download | final survey report in Persian
My Final Project for Formal Software Specification and Verfication Course
Formal specification of an ISP accounting software.Download | final report in Persian
A Simple Pascal Compiler for Compiler Course
This old code was implemented for compiler course as a mid-term project.Download | C# source code