|January 17 11:00||EB2 3300||Hui Guan||Reuse-Centric Programming System Support of Machine Learning||Modern machine learning, especially deep learning, faces a fundamental question: how to create models that efficiently deliver reliable predictions to meet the requirements of diverse applications running on various systems. This talk will introduce reuse-centric optimization, a novel direction for addressing the fundamental question. Reuse-centric optimization centers around harnessing reuse opportunities for enhancing computing efficiency. It generalizes the principle to a higher level and a larger scope through a synergy between programming systems and machine learning algorithms. Its exploitation of computation reuse spans across the boundaries of machine learning algorithms, implementations, and infrastructures; the types of reuse it covers range from pre-trained Neural Network building blocks to preprocessed results and even memory bits; the scopes of reuse it leverages go from training pipelines of deep learning to variants of Neural Networks in ensembles; the benefits it generates extend from orders of magnitude faster search for a good smaller Convolution Neural Network (CNN) to the elimination of all space cost in protecting parameters of CNNs.|
|Jan 24 11:00||EB2 3300||Fogo Tunde-Onadele||OPatch: Beyond Patch Tuesday for Containerized Applications||Containers have become increasingly popular in distributed computing environments. However, recent studies have shown that containerized applications are susceptible to various security attacks. Traditional pre-scheduled software update approaches not only become ineffective under dynamic container environments but also impose high overhead to containers. In this paper, we present OPatch, a new on-demand targeted patching framework for applications running inside container-based environments. OPatch provides dynamic vulnerability exploit identification using unsupervised neural network techniques and triggers targeted vulnerability patching over victim containers upon attack detection. We evaluated our schemes over 31 real world security vulnerability exploits in 23 commonly used server applications. Results show that OPatch can accurately detect andclassify 81% vulnerability exploits and reduce memory overhead by up to 84% and disk overhead by up to 40%.|
|Jan 28 6:30 PM||EB2 1231||Chris Hazard, Co-founder & CTO, Diveplane||What Can We Learn About Innovation From the Theories That Drive Artificial Intelligence?||Simply
put, an artificial intelligence is a computer program that observes,
generalizes previous observations, optimizes outcomes, explores the
unknown, and subsequently performs actions. This same framework can be
used to characterize many human activities, from controlling vehicles to
translating spoken languages to making business decisions, which may
mean many complex tasks can become automated. Nearly two hundred years
worth of mathematics have contributed to our current understanding of
this computational process. But more rarely are they used to examine the
process of innovation. In this talk, Dr. Hazard will look through the
lens of AI and mathematics to interpret the dynamics of innovations,
including observations throughout history and from his career.
Can creativity be measured? How does information theory explain why both the Han Dynasty and Roman Empire had such difficulty innovating effective strategies against nomadic tribes? How does the curse of dimensionality relate to the invention of the light bulb? What can intertemporal discounting tell us about why TCP is the dominant web protocol for reliable traffic? And how do the answers to these and many other questions fit into the building blocks of AI? This talk will further provide a framework for how to think about building AI systems that innovate as well as tools to think about innovations... maybe even your own!
|Feb 7 11:00|
|Feb 14 11:00||EB2 3211||Zhengyi Qiu||Race Detection for Web Applications||This is my on-going work on race detection for web applications. We conducted a characteristic study on real-world server-side web-application races from representative web applications. The findings of this study provide guidance for us to detect races in web applications. This work is still under-submission and a paper draft is available on request.|
|Feb 21 11:45||EB2 1230||Michael Carbin|
Michael Carbin is an Assistant Professor of Electrical Engineering and Computer Science at MIT and leads the Programming Systems Group. Carbin obtained his PhD in EECS from MIT. Carbin works on investigating the semantics, design, and implementation of systems that operate in the presence of uncertainty in their environment (perception), implementation (neural networks or approximate transformations), or execution (unreliable hardware). Carbin has received an NSF Career Award and many best paper awards at top-tier conferences such as ICLR2019 and OOPSLA 2013, 2014.
|Engineering Approximate Computations||There's
a new ecosystem of applications that integrates machine learning into a
variety of tasks. Typical domains have included image recognition and
natural language processing. However, these techniques have also spread
to computer systems domains, such as program compilation, resource
scheduling, and database query optimization. With the success of these
systems, we must grapple with the reality that they model and compute
with objects that are inherently approximate — real numbers (only
computable up to a given precision), neural networks (only validated on a
given dataset), and probabilistic computations (results only computable
up to a given probability). This reality presents many engineering
questions about interpreting, debugging, validating, verifying, and
optimizing these systems.
As an illustrative example of these issues, I'll present our work on deep learning systems for performance modeling of modern computer processors. Using data and simple models, our system predicts the performance of assembly code on modern Intel CPUs better than state-of-the-art, handcrafted techniques from LLVM and Intel. Guided by the resulting engineering questions, I'll also present our systems for manipulating and reasoning about such approximate computations. I'll present our work on the Lottery Ticket Hypothesis, a set of techniques for producing small trainable neural networks that are 10-20% of the size of standard architectures for MNIST, CIFAR10, and ImageNet. The promise of this latter work is not only faster inference and training, but also smaller neural networks that are more amenable to reasoning, such as verifying their robustness. I'll conclude with a discussion of our results on new programming systems for sound real-valued, differentiable, probabilistic computation, which is the core computational model behind these systems.
|Feb 28 11:00||EB2 3211||Onkar Patil||Classifying Memory Access Patterns for Prefetching||Prefetching is a well-studied technique for addressing the memory access stall time of contemporary microprocessors. However, despite a large body of related work, the memory access behavior of applications is not well understood, and it remains difficult to predict whether a particular application will benefit from a given prefetcher technique. In this work we propose a novel methodology to classify the memory access patterns of applications, enabling well-informed reasoning about the applicability of a certain prefetcher. Our approach leverages instruction dataflow information to un- cover a wide range of access patterns, including arbitrary combinations of offsets and indirection. These combinations– or prefetch kernels–represent reuse, strides, reference locality, and complex address generation. By determining the com- plexity and frequency of these access patterns, we enable reasoning about prefetcher timeliness and criticality, exposing the limitations of existing prefetchers today. Moreover, using these kernels, we are able to compute the next address for the majority of top-missing instructions, and we propose a software prefetch injection methodology that is able to outperform state-of-the-art hardware prefetchers.|
|Mar 2 4:00 PM||EB2 3211||Martin Rinard|
Dr. Rinard is a Professor in the Department of Electrical Engineering and Computer Science at the Massachusetts Institute of Technology and a member of the Computer Science and Artificial Intelligence Laboratory. He is an ACM Fellow, and has received numerous awards, including the Alfred P. Sloan Research Fellowship, NSF Career Award, and many Best Paper awards at prestigious conferences. His students and postdocs have gone on to top positions in academia and industry. His research focuses on software systems and related topics, including computer security, program analysis and compilation, machine learning and programming, approximate computing, and software robustness and reliability.
|Two Research Stories||Martin Rinard will present the stories of two research projects. The failure-oblivious computing project developed techniques for keeping systems running and delivering useful results to their users in the face of otherwise fatal errors or security vulnerabilities. The loop perforation project developed techniques for improving performance at the cost of small accuracy losses. Both projects provided new insights into the fundamental empirical resilience of existing software systems. I will trace the arc of both projects from the initial conception of the basic approach through the elaboration of the new techniques to the final project outcomes. One goal is to highlight general themes that often emerge in computer science research. The talk should be accessible to anyone who has written a computer program that contains a bug.|
|Mar 13 (No seminar because of Spring break)||NA||NA||NA||NA|
|Mar 20 11:00 (No seminar)||NA||NA||NA||NA|
|Mar 27 11:00||Online at: https://ncsu.zoom.us/j/4331977400||Utsab Ray||CherryPick: Adaptively Unearthing the Best Cloud Configurations for Big Data Analytics||Picking the right cloud configuration for recurring big data analytics jobs running in clouds is hard, because there can be tens of possible VM instance types and even more cluster sizes to pick from. Choosing poorly can significantly degrade performance and increase the cost to run a job by 2-3x on average, and as much as 12x in the worst-case. However, it is challenging to automatically identify the best configuration for a broad spectrum of applications and cloud configurations with low search cost. CherryPick is a system that leverages Bayesian Optimization to build performance models for various applications, and the models are just accurate enough to distinguish the best or close-to-the-best configuration from the rest with only a few test runs. Our experiments on five analytic applications in AWS EC2 show that CherryPick has a 45-90% chance to find optimal configurations, otherwise near-optimal, saving up to 75% search cost compared to existing solutions.|
|Apr 3 11:00||Online at: https://ncsu.zoom.us/j/4331977400||Jingzhu He||TFix: Automatic Timeout Bug Fixing in Production Server Systems||Timeout is widely used to handle unexpected failures in distributed systems. However, improper use of timeout schemes can cause serious availability and performance issues, which is often difficult to fix due to lack of diagnostic information. In this paper, we present TFix, an automatic timeout bug fixing system for correcting misused timeout bugs in production systems. TFix adopts a drill-down bug analysis protocol that can narrow down the root cause of a misused timeout bug and producing recommendations for correcting the root cause. TFix first employs a system call frequent episode mining scheme to check whether a timeout bug is caused by a misused timeout variable. TFix then employs application tracing to identify timeout affected functions. Next, TFix uses taint analysis to localize the misused timeout variable. Last, TFix produces recommendations for proper timeout variable values based on the tracing results during normal runs. We have implemented a prototype of TFix and conducted extensive experiments using 13 real world server timeout bugs. Our experimental results show that TFix can correctly localize the misused timeout variables and suggest proper timeout values for fixing those bugs.|
|Apr 10 11:00||EB2 3211|
|Apr 17 11:00||EB2 3211|
|Apr 24 11:00||EB2 3211|
|May 1 11:00||EB2 3211|
Showing 1 to 16 of 16 entries