Design, Development and Evaluation of High Performance Data Mining Systems

Data mining is the process of automatically nding implicit, previously unknown, and potentially useful information from large volumes of data. Data mining algorithms have become vital to researchers in science, medicine, business, and security domains. Recent advances in data extraction techniques have resulted in tremendous increase in the input data size of data mining applications. Data mining systems, on the other hand, have been unable to maintain the same rate of growth. Therefore, there is an increasing need to understand the bottlenecks associated with the execution of these applications in modern architectures.

In this work, we present MineBench, a publicly available benchmark suite containing fifteen representative data mining applications belonging to various categories. First, we highlight the uniqueness of data mining applications. Subsequently, we evaluate the MineBench applications on an 8-way shared memory (SMP) machine and analyze important performance characteristics. Our results show that data mining workloads are quite different than those of other common workloads. Therefore, there is a need to specifically address the limitations of accelerating them. We propose some initial designs and results for accelerating them using programmable hardware.

Project website:MineBench

Profit-Aware Cache Architectures

Previous works in computer architecture have mostly neglected revenue and/or profit, key factors driving any design decision. In this work, we evaluated architectural techniques to optimize for revenue/profit. We have utilized our pricing models created by data mining methods to estimate the increase in revenue when new microarchitectural techniques are applied to caches. The pricing models can be reached at our Microarchitecture Lab website.

Project website: Processor Price Prediction

Learning and Leveraging the Relationship between Architecture-Level Measurements and Individual User Satisfaction

The ultimate goal of computer design is to satisfy the end-user. In particular computing domains, such as interactive applications, there exists a variation in user expectations and user satisfaction relative to the performance of existing computer systems. In this work, we leverage this variation to develop more ecient architectures that are customized to end-users. We first investigate the relationship between microarchitectural parameters and user satisfaction. We study a group of users to characterize the relationship between the hardware performance counters (HPCs) and individual user satisfaction levels. Based on this analysis, we use artificial neural networks to model the function from HPCs to user satisfaction for individual users. This model is then used online to predict user satisfaction and set the frequency level accordingly.

Project website: ESP - The Empathic Systems Project