Graduate Studies/Research at Carleton

 

Research Interests:

  • Distributed Systems, Large-Scale Distributed Computing, Multi-Organizational Resource Sharing, Self Organizing and Decentralized Systems, Distributed Real-Time Environments.

  • Ubiquitous/Pervasive Computing, Mobile Wireless Ad Hoc Networks, Sensor Networks, Context Aware Computing, Mobile Wireless Publish/ Subscribe Systems.

  • Grid Computing, Lambda Grids, Sensor Grids, Wireless Grids, QoS in Grids, Application-Controlled Networking.

  • High Performance Distributed Computing, High-Throughput Computing, Software Performance, Layered Queuing Networks.

   


Graduate Research:

Graduate Research Assistant at Real Time and Distributed Systems Laboratory (RADS Labs), Department of Systems and Computer Engineering, Carleton University under the supervision of Prof. Shikharesh Majumdar and Dr. Eric Parsons (Nortel Networks).

Major Projects:

  • A Framework for QoS Aware Resource Management in Multi-Organizational Grids (in collaboration with Nortel Networks): Since there are multiple stakeholders in Grids – resource consumers and resource owners – each with different objectives and since Grid resources are shared by multiple applications which may belong to different administrative domains, it is difficult to meet QoS objectives of applications while maintaining high system performance that is important to resource owners. I presented a complete framework for resource sharing in multi-institutional Grids that can meet the objectives of the both stakeholders in Grids. The framework relies on the notion of under-constrained advance reservation requests which have laxity in their reservation windows. The framework provides components for each of the fabric, resource and collective layer of the Grid architecture and aligns well with other Grid technologies. Several components of the framework are being integrated into the well-known Globus Toolkit and will be available as an add-on patch for users around the globe.

  • Dynamic Scheduling of Lightpaths in Lambda Grids (in collaboration with Nortel Networks): Dynamic optical networks hold the potential of satisfying very large bandwidth requirements of many of the Grid applications. However, encapsulation of optical network elements into manageable Grid resources and dynamic provisioning of lightpaths is necessary to meet the complex demand patterns of the Grid applications. In this project, I presented a scalable algorithm (Scaling through Subset Scheduling Algorithm) for an NP-Hard problem of scheduling on-demand and advance reservation requests for lightpaths. The algorithm meets the demands of applications while seeking to optimize usage of optical network. I also investigated the impact of data segmentation on performance and demonstrated how laxity in the reservation window can be exchanged for segmentation to achieve high utilization of lightpaths.

  • Dynamic Matchmaking in Multi-Institutional Environments (in collaboration with Nortel Networks): In any form of distributed computing effective application-to-resource mapping and load balancing is important to meet performance objectives. This process is generally referred to as matchmaking. In this project, I demonstrated that traditional matchmaking algorithms used in distributed computing result in poor performance when applied in multi-institutional settings particularly for workloads consisting of both advance reservations and best effort jobs. I introduced a novel algorithm for matchmaking, Minimum Laxity Impact (MLI) that outperforms all other algorithms investigated in almost every respect for a wide range of workload parameters. In comparison to other algorithms, MLI results in the lowest response time for the users while providing the highest resource utilizations. Another application of MLI is as an effective meta-scheduler within Platform’s Community Scheduler Framework (CSF) that is used to dispatch jobs to resource managers in multiple domains. MLI is currently being integrated into CSF.  

  • Configurable Grid Middleware: Modern resource sharing systems comprise thousands of resources and consumers. On such a scale, dynamic configuration of the system in accordance with workload conditions is necessary for high efficiency. In this project, I introduced configurable Grid entities that adapt to meet the requirements of the system. I presented a novel heuristic-based scalable algorithm, Grid Scheduling with Deadlines (GSD), for an NP-Complete problem of scheduling advance reservation and on-demand requests on shared Grid resources where a number of Grid jobs can run in parallel with each other. GSD supports non-preemptable and preemptable jobs and adapts itself to the workload conditions. I also introduced components that adapt the resource schedule to prevent performance degradation resulting from exceptions due to inaccurately estimated runtimes and abnormal terminations of jobs.

  • Engineering Mobile Wireless Publish/Subscribe Systems for High Performance: Decoupling and asynchronous nature of publish/subscribe paradigm makes it a good choice for mobile wireless networks domain. In this project, I showed that still the current implementations of publish/subscribe systems as well as the traditional solutions for extending publish/subscribe systems to the mobile domain do not perform well in highly mobile and unreliable wireless settings. I introduced a novel approach called semi-durable subscriptions for extending publish/subscribe systems to mobile wireless networks. Semi-durable subscriptions are computationally inexpensive and they rely on efficient caching of information and novel cache replacement policies to prevent message loss in unreliable and dynamic mobile wireless settings. Experimental investigation has attested to its efficacy and superiority over traditional solutions.

  • DEVS Modeling of Mobile Wireless Ad Hoc Networks: Analyzing wireless ad hoc networks is a complex task due to their dynamic and irregular nature. Cellular Automata (CA), a very popular technique to study self-organizing systems, can be used to model and simulate ad hoc networks, as the modeling technique resembles the system being modeled. Cell-DEVS was proposed as an extension to CA in which each cell in the system is considered as a DEVS model. In this project we show how these techniques can be used to model mobile wireless ad hoc networks, making easy model definition, analysis and visualization of the results. With the help of Cell-DEVS we were able to extend ad hoc routing techniques for internetworking and multicast routing.

  • Context-Aware Mobile Computing: There has been an ever-increasing demand from consumers to be able to access services accessible from desktops through devices such as cell phones and portable digital assistants without any interruptions. However, user mobility and unreliable wireless channels make it challenging for the developers to provide services seamlessly to the mobile user. My research explored how mobile wireless devices can be seamlessly integrated with wired networks and how we can exploit context awareness to provide a unique set of services targeted specifically for these environments. I designed a thin-client architecture for accessing location-dependent services over short-range communications.

  • High Performance Software Systems: Evaluating performance of software systems early in their life cycle helps in determining software bottlenecks and enables redesign (if necessary) without incurring substantial time and monetary costs. The process becomes even more important for multi-tier distributed applications where a bottleneck in one of the tiers can have devastating consequences for the whole system. I did scalability analysis of multi-tier distributed software patterns using layered queuing networks. The research provides an insight into the scalability behavior of different patterns. My results show that the choice of a scaling strategy should not only take into account the pattern being scaled up but also factors such as the scale factor to which the scalability is desired and the size of the pattern


Teaching:

Department of Systems and Computer Engineering, Carleton University.

  • Graduate Teaching Assistant (Fall 2001 to Present): I have been a teaching assistant for more than five years for several undergraduate courses including those on object oriented software development and computer systems. I administered projects, held lab sessions, created lab quizzes, and graded assignments and exams.

  • Guest Lecturer (Fall 2005, Fall 2006): I gave guest lectures to the graduate class of SYSC 5207: Distributed Systems Engineering taught by Professor S. Majumdar. I also helped in creating and grading assignments

  • Co-Supervisor (Summer 2006, Fall 2006): I co-supervised junior and senior-year undergraduate students working on research projects as interns in the department.  

 


Graduate Courses: