Research Areas

Distributed Systems
A collection of independent computers that seems to its users as a single coherent system.
High Performance Cluster Computing
A Cluster, first of all, as a subset of Distributed Systems must provide what such systems aim, like Scalability, Transparency and so on. By the way, based on our own definition of Clusters, the constituting components can be heterogeneous, dynamic (but not in a grid sense) and etc. Also, a High Performance Cluster must be as fast in responding its users\\\' requests as possible.
Cluster Deployment
To develop our own cluster, we tried to investigate other cluster managers weak and strong points so that we can have their strengths deployed and the weaknesses off. We have installed and put into action many today’s popular cluster managers. Team members are all involved in the deployment process but, one is responsible to track changes.
Cluster Management
The most Fundamental unit of a Cluster System is Resource Management. This unit itself contains many components such as Load Balancing, Resource Discovery, Process Migration and etc.Besides Resource management, Detection of Remote Systems and management and controlling of Remote Processes make the cluster Scalable, in size, geography and in administration domains.We need a mechanism through which processes can communicate in such a scalable area. We reach this by IPC same as RPC. Anyway, these components need to be defined, designed, implemented and integrated, in order to have the users\\\' needs and the systems’ requirements met.
System Programming
Creating system software.
Interconnection Networks
Interconnection Networks are responsible for connecting the processors or processing elements in multiprocessor or multicomputer Environments.
System Software Development
Software that acts as a part of an OS or a middleware.
Operating Systems Kernel
Researching around the heart of OS.
Projects
- Perusing process related linux kernel data structures as a prerequisite for future researches
- Detecting remote Operating Systems
- Analyzing data structures which are involved in remote information gathering
- Linux kernel patching
- Data gathering from kernel data sturctures for computing load indices
- Behavioral IPC
Configuration Management Tools
Tools allowing an administrator configure cluster nodes from a central node.
Unattended Installation Systems
Automatic and unattended installation of cluster node.
Security
Security is a guarantee that an obligation will be met! Nowadays, each single system should have a certain amount of security features; a group of these creating a distributed system must have more of these features than single ones.
Membership Protocols
Join and disjoin of computers make one of the most important challenges in distributed systems. In this concept we have many protocols which are not sufficient for 21th century distributed systems. In this project we discuss these protocols.
Projects
Statistics and Mathematics
Used to define the relationship between parameters of a system.
MPI Programming
Using and Coding MPI to bench our cluster.
Response Time Reduction in HPC Clusters
With reducing freeze time of migrating in process migration mechanisms, related processes can access it more than previous, their response time and total performance will improve.
Java Programming for Simulation
Java is used to simulate a Cluster\'s components.
Projects
Selected Publications
- Local Robustness: A Criteria to Improve Process Migration in HPC Clusters
- An Analysis of MOSIX Load Balancing Capabilities
- Improving Learning-Based Request Forwarding in Resource Discovery through Load-Awareness
- RNS: Remote Node Selection for HPC Clusters
- An Efficient Live Process Migration Approach for High Performance Cluster Computing Systems
