In the past few years, software components have become increasingly critical in supporting a wide variety of data-intensive systems – from banking systems to logistic systems and from medical processing systems to air traffic control systems. It is, however, difficult and challenging to design and build software that can monitor and control data-intensive system behaviors in dynamic and ever-changing operational environments due to the presence of thousands of disk drives, sophisticated data processing mechanisms, and dynamic properties.
To gain additional performance, many will build next-generation data-intensive systems with multicore processors in the not-too-distant future. Yet, new scientific principles and engineering processes of developing software for data-intensive systems with multicore technology are still in their infancy. The goal of this project is to develop fundamentally new scientific principles and engineering processes and methods that are needed to design and analyze software created for multicore-based data-intensive systems, which can make use of multicore processors to scale up to arbitrary size, to transform enormous amounts of data into knowledge, and to autonomically adapt to dynamic environmental conditions.
To achieve this goal, we will carry out the following five research tasks: (1) designing reference architectures for multicore-based data-intensive systems, (2) developing multicore-based data transformation techniques, (3) building software performance analysis models that include data read/write request models, request service time models, and dynamic workload models, (4) developing a feedback control method, and (5) implementing a software design and performance analysis toolkit.