Invited Talk: A. Moshovos

Abstract:

Data management systems have evolved into an essential component of numerous applications. Often, they are used to perform “transactional” workloads comprising transactional, that is, requests that lookup or update information based on some selection criteria, e.g., looking up an account’s balance or purchasing an item. For such systems, the higher the throughput, that is he number of transactions that are serviced per unit of time, the better and often the more efficient the system.

In this presentation we will observe how transactions execute on modern hardware and see that transactions operate selfishly. This behavior ends up penalizing all as it thrashes the instruction caches, a key performance enhancing mechanism. We will then identify two cooperative policies that boost throughput. The policies judiciously decide where, when, and for how long transactions should execute. While targeting transactional workloads the techniques presented could potential benefit any workload that has a large instruction footprint and many threads running over mostly identical pieces of code.

Short Bio

Andreas Moshovos teaches computer design at the Electrical and Computer Engineering Department of the University of Toronto. He has also taught at Northwestern University, the University of Athens, and the Hellenic Open University. He received the ACM SIGARCH Maurice Wilkes Award in 2010.