Ningfang Mi

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

I joined Department of Electrical and Computer Engineering at Northeastern University as an Assistant Professor in Fall 2009. I am looking for self-motivated PhD or Master's students to work in the area of performance evaluation, energy/power management, simulation, data analysis, system modeling, capacity planning and scheduling/load balancing. Contact me if you are interested.


Research Interests

Storage systems, multi-tier systems, performance evaluation, energy/power management, simulation, data analysis, system modeling, capacity planning, web characterization, and scheduling/load balancing.

Education

Curriculum Vitae

[ps] [pdf] (updated by Nov., 2009)


Publications

Invited Publications

  1. Giuliano Casale, Ningfang Mi, and Evgenia Smirni, "Versatile Models of Systems Using MAP Queueing Networks", to appear in the IEEE International Parallel and Distributed Processing Symposium (IPDPS), Next Generation Software (NGS) Workshop, 2008.
  2. Evgenia Smirni, Qi Zhang, Ningfang Mi, Alma Riska, and Giuliano Casale, " New Results on the Performance Effects of Autocorrelated Flows in Systems ", in the IEEE International Parallel and Distributed Processing Symposium (IPDPS), Next Generation Software (NGS) Workshop, Long Beach, CA, pp. 1-6, 2007.
Research 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.

Teaching


Fall 2009

  • EECE3326 Optimization Methods, MWTh 10:30am-11:35am, Snell Library 039

Covers the design and implementation of algorithms to solve engineering problems using a high-level programming language. Reviews elementary data structures, such as arrays, stacks, queues, and lists, and introduces more advanced structures, such as trees and graphs and the use of recursion. Covers both the algorithms to manipulate these data structures as well as their use in problem solving. Emphasizes the importance of software engineering principles. Introduces algorithm complexity analysis and its application to developing efficient algorithms. Prereq. CS 1500.

Syllabus

Course website on blackboard.

Links


Tools Help Documents

myspace analytics