Ningfang Mi

Associate Professor
Department of Electrical and Computer Engineering
Northeastern University
Office: 302 Dana Research Center
Phone: (617)373-3028
Fax: (617)373-8970

Research Projects

  • Current Projects

  • Past Projects

    • Impact of Autocorrelation in Multi-tiered Systems

      Multi-tiered systems, a prevalent architecture of today's web sites, is an example of closed systems because the hardware imposes a limit on the number of simultaneous connections. In collaboration with researchers at Seagate Research, we have built an e-commerce server according to the TPC-W benchmark to identify the presence of autocorrelation in different tiers of the system. We observed that autocorrelated flows severely degrade overall system performance even under medium loads. It implies that if autocorrelation is ignored, the throughput and utilization of specific devices - metrics often used in capacity planning and admission control - may give a distorted view of system performance.

      This work has been presented in Performance'07.

    • General Autocorrelation-driven Scheduling Policies

      Temporal dependence in workloads creates conditions in which a server, in order to remain available, should quickly process bursts of requests with large service requirements. We have studied on how to counteract the resulting peak congestion and maintain high availability by delaying/dropping selected requests that contribute to temporal locality. SWAP was proposed to approximate the shortest job first (SJF) scheduling without requiring any knowledge of job service times. We also designed ALoC, an autocorrelation-driven load control policy, that drops a percentage of the requests in order to meet pre-defined quality-of-service levels. To the best of our knowledge, this is the first direct application of autocorrelation of service times to autonomic load control.

      This work has been presented in DSN'08.

    • Background Job Scheduling Methodologies in Storage Systems

      Background activities are scheduled with low priority and served during system idle times. We presented that idle waiting, i.e., delay scheduling of a background job, is insufficient as a ``standalone'' technique to manage the trade-off between the performance of foreground and background tasks. We complemented ``idle-waiting'' with the ``estimation'' of background work to be served in every idle interval and then proposed a methodology that determines the schedulability of background work in storage systems, i.e., when and for how long idle times can be used for serving background tasks. An extensive set of trace-driven simulation experiments and measurements in a prototype on the Linux 2.6.22 kernel, show that the new approach meets the performance targets by finding a solution that is among the best. Finally, the effectiveness of two known as background activities, namely scrubbing and intra-disk data redundancy, is evaluated to detect and/or recover from latent sector errors.

      This work has been presented in TOS, DSN'08.

    • New Capacity Planning Models for Autocorrelated Workloads

      Building effective models of complex enterprise systems are central to capacity planning and resource provisioning. We found that if autocorrelated flows exist in the system, then classic queueing theory models such as MVA give wrong predictions. Indeed, We have devised a new class of queueing network models that overcome the weakness of classic models by capturing the performance effects of autocorrelation in the service process. However, there is a lack of understanding and of practical results on how to perform model parameterization, especially when this model parameterization must be derived from limited coarse measurements as is often encountered in practice. In collaboration with researchers at HP Labs, We have devised a new methodology to integrate workload autocorrelation in performance models, which well captures autocorrelation and variability of the true service process, despite inevitable inaccuracies that result from inexact and limited measurements.

      This work has been presented in HotMetrics'08, SIGMETRICS'08, Middleware'08.

    • Automated Detection of Application Performance Anomaly and Change

      Application servers are a core component of a multi-tier architecture that has become the industry standard for building scalable client-server applications. A client communicates with a service deployed as a multi-tier application via request-reply transactions. A typical server reply consists of the web page dynamically generated by the application server. Then, the application server may issue multiple database calls while preparing the reply. Understanding the cascading effects of the various tasks that are sprung by a single request-reply transaction is a challenging task. we have addressed the problem of efficiently diagnosing essential performance changes in application behavior in order to provide timely feedback to application designers and service providers. A new approach based on an application signature has been proposed to enable a quick performance comparison of the new application signature against the old one, while the application continues its execution in the production environment. Application signatures provide a simple and powerful solution that are further used for efficient capacity planning, anomaly detection, and provisioning of multi-tier applications in rapidly evolving IT environments.

      This work has been presented in NOMS'08, DSN'08.

[Back to Top]