The following are the active research projects.

  1. Dynamic data-driven application systems

    Advances in high-end computational technology continue to bring the digital revolution into scientific and engineering research and provide a vast opportunity to solve ever-larger problems or to solve problems in a more cost effective manner in many disciplines, such as oceanography, astronomy, atmospheric, biology, chemistry, climate modeling and observations, environmental and earth sciences, geophysics, high-energy physics, neuroscience, nuclear physics, and space sciences, etc. In those areas, data tend to be the "life-blood" of computing. We are looking forward to potential collaborations in those areas to design high-efficient applications, especially in cluster environments, with fast data support.

  2. Cluster-based storage systems

    This project addresses the scalability of cluster-based storage systems from four different levels of systems abstraction: At the block level, we propose a robust and adaptive block replacement algorithm to improve the performance of buffer cache. At the metadata level, an efficient decentralized metadata management scheme is proposed to share the metadata workload among a group of metadata servers, which can not only divert large amount of data traffic away from metadata traffic, but also aggregate the throughput of these servers to scale up the metadata service. At the file data level, we exploit the data redundancy to improve the read and write performance of parallel file systems. At the application level, we study the I/O access patterns of a scientific application and investigate the impact of parallel I/O on this application. Scientific applications usually exhibit different I/O behaviors from non-scientific applications due to the I/O concurrency and interleaving. Discovering and quantifying the I/O patterns is extremely helpful in system evaluation and design.

  3. Energy-aware computing

    Energy is the first-class citizen in both high-end computing systems and embedded systems. In high-end computing systems, reducing power consumption can significantly decrease heat dissipations, thus increasing the reliability of computation facilities. In additions, embedded systems are usually powered by batteries and thus energy management is crucial in extending the running time. We are developing power/thermal management and packaging tools both high-end computing systems and embedded systems.

  4. Datagrid

    In GRID, data is geographically dispersed over wide area networks and reducing I/O times is extremely critical for GRID applications. There are two important issues in Grid-based I/O: 1) Fault tolerance. Fault tolerance is important since the wide area network is error-prone for long-running scientific applications. An interesting topic is how to improve the scalability and efficiency of Byzantine agreement algorithms used in securing data integrity. 2) Consistency maintenance. Distributed concurrent access to shared data is a challenging issue in data grid, where the CPU cycles of supercomputers or clusters are potentially wasted in the process of negotiation, coordination and mutual exclusion. Most existing consistency control algorithms are weak in supporting concurrent writes to bulk data. Without compromising the correctness of computation processes, a relaxed but adaptive algorithm that scales with the data size and adapts to heterogeneity and access patterns in the data grid is in great need.