Modern workloads and the emerging hardware platforms on which they run pose several hard problems for software systems. First, applications exhibit dynamism in their behavior due to data-dependent variability in their executions, presence of execution phases, or due to systemic reasons (such as non-determinism) tied to operating conditions and architectural features. Such execution characteristics lead to fluctuations in timings and variable demand for resources like CPU or memory, thus challenging the ability of software systems to make adequate allocations and deliver satisfactory performance.
In this talk, I will first present a cross-stack approach to equip software systems with information about execution variability in a timely manner, with low overheads. One example of this approach uses system-level and architecture-level information for effects-based, reactive estimation of the workloads' variable resource demands. The outcome is a solution that more rapidly determines adequate actions in response to dynamism, and yields significant benefits over prior approaches. Next, to explicitly deal with the underlying cause of variability and address problems due to potential detection delays, we introduce beacons, a cross-stack abstraction which allows reasoning about forthcoming near term application behaviors. During the execution of an application, compiler-inserted beacons generate information that dynamically translates the cause of variability into (probabilistic) warnings about its imminent or anticipated manifestation. Beacons produce early warnings of anticipated resource heavy execution regions, refine the information as execution proceeds and, most importantly, are capable of producing variable fidelities of actionable information. These attributes open opportunities for proactive and predictive software systems actions that lead to more effective resource management, and more efficient aggregate resource use.
In addition, applications exhibit requirements for fast, and not just big, data. In response, the industry is pushing forward advanced hardware designs based on configurations of an increasingly greater number of interconnected heterogeneous computational and memory components. Software systems lacks capabilities to bridge the resulting non-uniformity in these emerging memory-centric platform designs to the dynamic nature of the workloads they must support. Based on this context, in the second part of the talk, I will present plans for a multi-faceted research program to address these gaps, which builds on our cross-stack approach for resource management and on our current work on software systems for non-volatile memories (NVMs). I will conclude with a vision of further expanding the scope of data-related software systems problems beyond data centers and machine rooms, into the end-user-rich and device-rich edge of the Internet.
Dr. Ada Gavrilovska is a senior research scientist at the College of Computing and the Center for Experimental Research in Computer Systems (CERCS) at Georgia Institute of Technology. Her research is centered on the innovation of the systems software stack, driven by emerging hardware technologies, and focused on supporting data and communication-intensive applications. Recent projects include systems software innovation in light of large-scale parallelism in multicores, platform-wide compute and memory heterogeneity, novel interconnect-capabilities and increases in device-level computational resource density. Gavrilovska's research is supported by the National Science Foundation, the US Department of Energy, and industry grants, including from Cisco, HP, IBM, Intel, Intercontinental Exchange, LexisNexis, VMware, and others. She has published over 80 peer-reviewed papers and edited the book “High-Performance Communications: A Vertical Approach” (CRC Press, 2009). In addition to research, she also teaches courses on operating systems and high-performance communications. She has a bachelor's degree in Computer Engineering from Saints Cyril and Methodius University of Skopje in Macedonia (1998), and her master's degree and Ph.D. in Computer Science from Georgia Tech in 1999 and 2004, respectively.