University of New Haven
University of New Haven,
300 Boston Post Road,
West Haven, CT 06516
1-800 DIAL-UNH or 1-800-342-5864
University of New Haven Faculty

Research Statement

Research Statement

My primary research interest is in the areas of distributed computing, performance analysis, and web-based tools. These areas have been and will continue to be important to design complex software systems such as those required by military systems, "grand challenge" applications, real-time systems, and others. My research work includes: performance analysis and modeling of computer system, restructuring for distributed real-time systems, efficient execution of parallel structures, distributed objects, grid computing, and web-based software tools.


1- Performance Analysis and Modeling of Computer Systems:

The ideal system performance of a computing environment demands a perfect match between the machine capabilities and the behavior of the running application. Machine capabilities can be enhanced with better hardware technology, innovative architecture features, and efficient resources management. However, program behavior is difficult to predict due to heavy dependence on the application and the run time conditions. Therefore, it is necessary to monitor and evaluate the overall system performance in order to use the system resources efficiently. To achieve this goal, performance-based optimizing techniques provide a way to optimize the software for fast execution and better use of system resources.

Therefore, my research work in this area has two major contributions. The first contribution is developing an Object-Oriented performance model and a methodology to analyze and evaluate the performance of the object-oriented software (time cost and its related performance parameters). The second contribution is developing a new technique to re-partition (through splitting and merging) the objects within distributed Object-Oriented systems to improve the overall system performance. To achieve this goal, the performance methodology is used as basis for evaluating the performance of all generated possible partitions and hence finding the optimal partition that provides minimum total cost. Currently, we are adding more features to the developed methodologies to consider architectures with special needs and limited connectivity. Both techniques are essential addition to the research area of Optimizing Compiler, which is the most important component of modern computer systems (i.e. highly parallel and distributed computers).


2- Performance-based Software Structuring for Real-Time Distributed Systems

One of the optimization techniques for distributed computing is software restructuring. Software Structuring is the process of selecting an allowable organization of subtasks (modules), which can meet user performance requirements; while achieving minimum total resource cost; determine the amount of resource cost per subtask. We consider four different topics in this research area. In the first topic, we developed the best software organization for a sequential pipelined architecture. In the second topic, we considered the restructuring process for architectures with limited connectivity among processors. In the third topic, loops are restructured to minimize the resources’ needs, while satisfying system throughput requirements and user constraints. In the forth topic, we developed restructuring algorithms for software that has heavily requested computation or subtasks. These subtasks require long service time and may reduce the system performance. Developed restructuring techniques were implemented in a software tool called SRS (Software Restructuring System). The outcomes of this research are used as foundation for developing many other projects and distributed applications.


3- Efficient Execution of Parallel Structures

Parallel and distributed systems are the core of modern computer systems. Real life applications are based on the modern technology in parallel and distributed processing. Therefore, we considered the area of designing efficient fork-join parallel structures for shared memory environments. We developed several techniques for different operating conditions to identify the best policy to schedule processes to access critical section(s). We extend our techniques to include cases when the number of processors is limited. In this case, we designed an integrated allocation and scheduling technique to reduce the inefficiency caused by the sequential access to critical section(s). We considered fork-join structures with a single communication node first. Then we extend our techniques to cover parallel processes that request access critical section(s) more than one time. These techniques are essential in the research area of optimizing compilers for parallel and distributed applications. They resolve the conflict in using system resources and provide an optimal way to share them. Therefore, They are included or combined with other performance methodologies for distributed systems such as restructuring methodology to provide the best system performance ever.


4- Distributed Objects

Distributed objects are increasingly becoming predominant with the widespread use of object-oriented technology. Coupled with object-oriented systems is the heterogeneity of computer systems that are inter-operating together to form a large network such as the Internet. Within this distributed heterogeneous environment, objects are the main building blocks that form the communication of the distributed system. At the application layer, objects have to guarantee a quality of service; that is, a performance issue comes into play. Objects must deliver their services within given time constraints in a real-time distributed environment. In order to commit to performance constraints, a careful study and analysis of the software design is critical. The analysis will predict the efficiency of the system before it is built; identify potential bottlenecks of the system; and provide alternatives to the design, among others. In this area of research, we focused on developing a performance model, which takes into consideration the properties and the features of Object-Oriented software systems. A methodology for remapping object oriented software system is developed to improve the overall system performance as well as reducing the cost of communication overhead and object data updating. The results of this research showed significant improvement in the overall system performance and the number of required replicated objects in a system. Therefore, it is used recently to maintain and upgrade other existing distributed applications since this methodology provides better representation of the system behavior and improves the system performance. The current efforts in this area focus on developing new techniques for scheduling tasks in distributed computing environment while controlling the code migration process and evaluating its cost.


5- Grid Computing:

The Access Grid (AG) is a new computing architecture that is expected to drive the computing environment in the new millennium. It is the ensemble of resources that can be used to support human interaction and others across the grid. It consists of multimedia display, presentation and interactive environments, interfaces to grid middleware, and interfaces to visualization environments. It supports classes, large-scale distributed meetings, collaborative work sessions, seminars, lectures, tutorials, training and many other applications as well. In this area, we proposed developing a multi-disciplinary research project that has the following objectives:

a-Develop an infrastructure using the state of the art in Access-Grid technology to enable sharing and processing massive amount of data. This will provide support to critical research projects and real-life applications in many areas such as Bioinformatics.

b-The target infrastructure provides an environment that facilitates communication and collaboration (in research as well as education) among scientists at the participated institutes. The participated institutes are University of Connecticut, Yale University, University of New Haven, University of Wesleyan and University of Florida. It will employ the Internet and the Access-Grid middleware to provide face-to-face meetings.

c-Therefore, this infrastructure can be used to support many educational activities among participated institutes like University of New Haven and University of Wesleyan, which have major emphasis on undergraduate and graduate education. These activities include: distance learning (among the institute branches and/or participated institutes), curriculum cooperation among participating institutes, and others (to be defined later).

d-The project was developed between University of Connecticut and overseas sites.


6-Web-based Software tools

Web design and Internet application have received great attention. The main focus of our research in this area is to provide better service to our students. The first project is the Web-based learning environment for the C-programming language. The main objectives of this project are to enable students to learn various C - programming concepts, to self test their knowledge, and to practice exam questions. It will also allow students to interact with the professor by submitting questions/comments/tests and receive the instructor’s response back. This helps to improve the student’s retention and provide means for the instructor to enhance his/her teaching approach.

The second project is web-based advisement and registration system. This project offers a way to reduce the efforts and the time spent by the advisors every semester and trimester in students’ advisement and course registration. It provides an on-line advisement and registration system, which the students can access to register for courses and contact their advisors. The system will include all the information about the program and the degree requirements, the students’ academic performance, the term schedule, and other related information. It will also provide an on-line expert and interactive advising and registration session. This phase helps the students seeking possible schedules and submits reports to the advisor for final approval. The project was implemented for the Computer Science graduate programs since we deal with a quite big number of graduate students.