DrMohammadReza Hoseinyfarahabady
Research Associate
Faculty of Engineering
Research projects & supervision summary
Title:
Designing a QoS- & Conention-Aware Controller for Dynamic Resource Allocation in Streaming Data Processing Engines (Apache Storm, Spark & Dask framework)
Supervisor(s):
Prof. Albert Zomaya, Dr M.Reza HoseinyF.
Project description:
Many companies are facing an increasing amount of streaming data that needs to be quickly processed in a real time fashion to extract meaningful information. As a concrete example big enterprises apply sophisticated machine learning algorithms to extract deeper insights from the raw data that continuously enter to their systems. Two of the most popular platforms that can be used for real-time streaming data processing are Apache Storm and Apache Spark. In both system a huge amount of data must analyzed/transformed continuously in the main memory units before it is stored on the hard drive. One of the major issues posed by such platforms is keeping the promised QoS level under fluctuations of request rates. Past researchs showed that the presence of high arrival rate of streaming data within short periods can cause serious degradation to the overall performance of underlying system.
In this project, we are looking for developing advanced controller techniques for famous Streaming Data Processing Engines such as Apache Storm, Apache Spark and Dask platform to allocate effectively available computing resources. Our main goal is to preserve the QoS enforced by end-users while keep the resources throughput in the optimal level.
In this project, we are looking for developing advanced controller techniques for famous Streaming Data Processing Engines such as Apache Storm, Apache Spark and Dask platform to allocate effectively available computing resources. Our main goal is to preserve the QoS enforced by end-users while keep the resources throughput in the optimal level.
Requirements:
- Good knowledge of at least one programming languge, preferably Python, Java, C++
- Writing reusable, testable, and efficient code
- Familiarity with Linux, SSH
- Understanding of the multi-threading programming paradigm
- Experience working with Git
- Work closely with the rest of team to solve problems, and transfer knowledge
- Interest in and commitment to learn Design and implementation of low-latency and performant applications
- Interest in and commitment to learn and work with Apache Storm/Spark and improving mathematical background knowledge on controlling systems
- Writing reusable, testable, and efficient code
- Familiarity with Linux, SSH
- Understanding of the multi-threading programming paradigm
- Experience working with Git
- Work closely with the rest of team to solve problems, and transfer knowledge
- Interest in and commitment to learn Design and implementation of low-latency and performant applications
- Interest in and commitment to learn and work with Apache Storm/Spark and improving mathematical background knowledge on controlling systems
Reading material:
- Apache Storm, Apache Spark and Dask platform's developer guide
- Model Predictive Control: Basic Concepts
- Control Theory And Its Application to Computing Systems
- Model Predictive Control: Basic Concepts
- Control Theory And Its Application to Computing Systems
*********
Title:
An Optimal Controller for Trade-off between Utilization and Quality of Service in large-scale Cloud-based Virtulaization Platforms (e.g. Lambda Services)
Supervisor(s):
Prof. Albert Zomaya, Dr M.Reza HoseinyF.
Project description:
A myriad of modern applications perform sophisticated forms of micro-services. There are several platforms that provide the virtualized infrastructure required to build for such a software architecture, one of the most recent one is virtualized Lambda platform. Enterprises can exploit Lambda platforms (e.g. AWS Lambda) to extend other services with custom logic, or create their own back-end micro-services that operate at cloud's scale, performance, and security. A Lambda platform is a form of server-less computing service that can run code in response to external events and manage the underlying compute resources automatically. In this project, our aim is to propose an effective solution based on Optimal Controller theory to use the promising technologies offered by Lambda platform to handle a burst of events coming to a Lambda cluster to reach an optimal trade-off among the server's utilization and the amount of Quality of Service enforced by each user.
Requirements:
- Good knowledge of at least one programming languge, preferably Python, Java, C++
- Writing reusable, testable, and efficient code
- Familiarity with Linux, SSH
- Understanding of the multi-threading programming paradigm
- Experience working with Git
- Work closely with the rest of team to solve problems, and transfer knowledge
- Interest in and commitment to learn Design and implementation of low-latency and performant applications
- Interest in and commitment to learn and work with virtualized infrastructure systems and improving mathematical background knowledge on controlling systems
- Writing reusable, testable, and efficient code
- Familiarity with Linux, SSH
- Understanding of the multi-threading programming paradigm
- Experience working with Git
- Work closely with the rest of team to solve problems, and transfer knowledge
- Interest in and commitment to learn Design and implementation of low-latency and performant applications
- Interest in and commitment to learn and work with virtualized infrastructure systems and improving mathematical background knowledge on controlling systems
Reading material:
- Lambda platform developer guide
- Optimal Control Thory: Basic Concepts
- Control Theory And Its Application to Computing Systems
- Optimal Control Thory: Basic Concepts
- Control Theory And Its Application to Computing Systems
*********
Title:
Energy-Efficient Qos-Aware Dynamic Workload Consolidation in Virtualized Cloud Datacenter
Supervisor(s):
Prof. Albert Zomaya, Dr M.Reza HoseinyF.
Project description:
Workload consolidation (either using virtualization techniques or container-based methods) has attracted lots of attention in big cloud datacenters nowadays. In this project we try to find a best trade-off to reach an efficient energy consumption among shared resources as well as optimized performance level of running collocated applications in a modern data center which normally contains thousands of multi/many core boxes severed as a future cloud computing infrastructure. Past researches showed that performance interference due to shared resources across co-located virtual machines make today's cloud computing paradigm inadequate for performance-sensitive applications while much expensive than necessary for the others. To satisfy quality of service demanded by customers, cloud providers have to deploy VMs in more PMs (than actually is needed) to achieve a better resource isolation which in turn adversely consumes higher level of energy. Hence, a challenging problem for providers is identifying (and managing) performance interference between the VMs that are co-located at any given PM. In this project, we aim to propose consolidation algorithms to reduce energy consumption of a given data center while avoiding the system performance degradation in the same time with a focus on the impact of shared resources such as last level cash (LLC), and so on.
Requirements:
- Good knowledge of at least one programming languge, preferably Python, Java, C++
- Writing reusable, testable, and efficient code
- Familiarity with Linux, SSH
- Understanding of the multi-threading programming paradigm
- Experience working with Git
- Work closely with the rest of team to solve problems, and transfer knowledge
- Interest in and commitment to learn Design and implementation of low-latency and performant applications
- Interest in and commitment to learn and work with virtualized infrastructure systems and improving mathematical background knowledge on controlling systems
- Writing reusable, testable, and efficient code
- Familiarity with Linux, SSH
- Understanding of the multi-threading programming paradigm
- Experience working with Git
- Work closely with the rest of team to solve problems, and transfer knowledge
- Interest in and commitment to learn Design and implementation of low-latency and performant applications
- Interest in and commitment to learn and work with virtualized infrastructure systems and improving mathematical background knowledge on controlling systems
Reading material:
- Xen developer guide
- Control Theory And Its Application to Computing Systems
- Control Theory And Its Application to Computing Systems
RESEARCH PROJECTS & ACTIVITIES
- PROJECTEnhancing Runtime Performance of Core Linear Algebra Operations Using Multi-Threaded Optimizations and SIMD Intrinsics1 Nov 2025Project leaders:
- PROJECTOptimization of SIMD-Accelerated Hash Tables on Modern Processors1 Nov 2025Project leaders:
- PROJECTOptimizing Parallel CUDA-Based and SIMD (AVX-512) Implementations of Approximate Nearest Neighbor for Modern Vector Databases1 Nov 2025Project leaders:
- RESEARCH-BASED DEGREE SUPERVISIONScalable GPU-Accelerated Approximate Nearest Neighbor Search in Vector Databases using Principal Component Analysis-Augmented Graph Indexing