Personal information
Website | https://www.tavakkol.ch |
Currently working | Fortum B.V. Holding, Zürich |
Software Architect
I'm a software architect at Fortum where we are working on the latest massive data processing technologies. I am also intreseted in computer systems design, especially computer architecture, systems and circuits (hardware, software, and devices), and modern data storage systems.
Research Interests
Education
-
2016 - 2018
ETH Zürich, Zürich, Switzerland
Postdoc - Systems Group, Department of Computer Science.
Research topics: High-Performance and QoS-Aware Memory/Storage Sub-Systems, RDMA-Based Data Replication in Modern Datacenters, Near-Data Processing
Advisor: Onur Mutlu. -
2010 - 2015
Sharif University of Technology, Tehran, Iran
Ph.D. in Computer Engineering - Computer Architecture Major.
Thesis title: A Scalable and High-Performance Design Architecture for Solid-State Drives.
Advisor: Hamid Sarbazi-Azad -
2005 - 2008
Sharif University of Technology, Tehran, Iran
M.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, Iran
B.Sc. in Computer Engineering - Software Engineering Major.
Undergraduate final project title: An image watermarking framework using discrete Wavelet Transform to protect image databases against unauthorized modifications.
Advisor: Shohreh Kasaei.
Work Experience
-
2020 - present
Software Architect @Fortum, Zürich
-
2018 - 2020
Senior Software Engineer @RepRisk AG, Zürich
-
2016 - 2018
Senior Researcher @Systems Group, ETH Zürich
-
2015 - 2016
Manager @IPM HPC Center
-
2010 - 2015
Senior Software Architect @IPM School of Computer Science
-
2008 - 2010
Technical Lead @IPM School of Computer Science
-
2006 - 2008
Research Assistant @IPM School of Computer Science
-
2005 - 2008
Software Engineer @Pima Engineering Co. P.J.S.
Honors
-
2018
Best Paper Award, European Network on High Performance and Embedded Architecture and Compilation (HiPEAC), 2018.
-
2016
Third place award in the 18th Iranian National Khwarizmi Youth Festival for my innovations in storage systems, Iran.
In news (in persian): Official web page, IRNA, ISNA, Mehr News, Hamshahri -
2004
Ranked 4th in the Iranian Nationwide Graduate School Entrance Exam in Computer Engineering, Iran.
-
2004
Ranked among the top 15 students of the 8th National Scientific Olympiads in Computer Engineering, Iran.
-
2000
Ranked 188th among more than 350,000 applicants in the Iranian Nationwide University Entrance Exams, Iran
Skills
Programming Languages | Java C++/C C# Python |
Database Management Systems | MySQL PostgreSQL MS SQL Server Redis Apache Cassandra |
Multicore & Parallel Programming Platforms | Nvidia CUDA OpenMP MPI Java Multi-threading Apache Hadoop Pthread Windows Threads |
Web and Application Development | Spring Framework React JSX JavaScript EJB Jooq JPA JSP Thymeleaf Jooq JMS Hazelcast IMDG Apache Kafka PHP ASPX .NET Framework .NET WPF |
Applications and Scientific Tools | Kubernetes Docker Nginx Django Node.js Elastic Search Apache Tomcat Apache HTTP Server Microsoft IIS |
Operating Systems | Linux (CentOS, Fedora, Ubuntu, Debian) FreeBSD Windows XP/7/8/10 |
Development Tools | Git Atlassian (Jira, BitBucket, Bamboo, Confluence) Gitlab Maven Nexus Jenkins SonarQube IntelliJ IDEA MS Visual Studio Eclipse Shell Scripting GCC/G++ Vim PhpStorm |
Scientific Tools | R Matlab SimpleScalar SESC gem5 MPARM GPGPU-Sim Disksim BookSim NVSIM CACTI Orion Simulink LATEX MS Office Open Office |
Digital & Embedded System Design | Verilog HDL Modelsim State Flow Intel x86 Assembly |
Publications
Professional Services
Teaching
Academic Projects
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 using discrete Wavelet Transform 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.
Software Projects
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
MQSim
MQSim is a fast and accurate simulator modeling the performance of modern multi-queue (MQ) SSDs as well as traditional SATA based SSDs. MQSim faithfully models new high-bandwidth protocol implementations, steady-state SSD conditions, and the full end-to-end latency of requests in modern SSDs.
Download source in C++ | Version 1.0
DTA
DTA is a Disk Trace manipulation/Analyzer tool. It converts traces generated by Linux blktrace or Event Tracing for Windows to ascii format. It can also provide statistical analyzes of ascii disk traces.
Download source in C | version 1.5 Download source in C# | version 1.1