The face of emerging computing systems is changing rapidly. On one hand computers are looking smaller than ever. The smart phone is nothing but a pocket computer which also has the ability to make a phone call. On the other hand, computers are getting bigger than ever, as in a cloud computing server. These cloud systems are distributed systems with a large number of processors, abundant memory and disks and plentiful network resources and bandwidth, and are huge. This project is on workload characterization and benchmark synthesis for emerging computing systems such as the embedded computer and the cloud computer.
The first component of this project consists in characterizing and understanding workloads on emerging computing platforms. Characteristics of embedded computing software in embedded Java or paradigms such as the .NET, or cloud applications such as Hadoop are not well-understood. It is also unclear whether next generation cloud servers should use simple energy efficient processors or more powerful processors geared towards performance. The characterization component of our project is geared towards understanding these issues.
The second component of this project consists of benchmark synthesis to create workload proxies that have equivalent performance and energy characteristics as the original applications but without the functionality. These proxy workloads will enable efficient pre-silicon design exploration and sharing of proprietary applications.
At a broader level, the research creates mechanisms that enable hardware and software developers to collaborate on joint product development without fear of loss of intellectual property. It also trains several graduate and undergraduate students in an important research area, and influences courses on embedded and cloud computing.