- Cloud Computing and Resource Management
- Software System Performance and Reliability
- Parallel Computing and Optimization Techniques
- Distributed systems and fault tolerance
- Advanced Database Systems and Queries
- Computational Physics and Python Applications
- Advanced Neural Network Applications
- Advanced Software Engineering Methodologies
- Logic, programming, and type systems
- Software-Defined Networks and 5G
- Software Engineering Research
- Graph Theory and Algorithms
- Big Data and Business Intelligence
- Network Security and Intrusion Detection
- Data Quality and Management
- Distributed and Parallel Computing Systems
- Advanced Data Storage Technologies
- Algorithms and Data Compression
- Library Collection Development and Digital Resources
- Software Reliability and Analysis Research
- Embedded Systems Design Techniques
- Security and Verification in Computing
- Digital Image Processing Techniques
- Internet Traffic Analysis and Secure E-voting
- Computer Graphics and Visualization Techniques
Microsoft (United States)
2022-2024
Microsoft Research (United Kingdom)
2020-2022
Intel (United States)
2016-2019
University of Maryland, College Park
2012-2015
Williams (United States)
2015
Johns Hopkins University Applied Physics Laboratory
2010
The huge demand for computation in artificial intelligence (AI) is driving unparalleled investments hardware and software systems AI. This leads to an explosion the number of specialized devices, which are now offered by major cloud vendors. By hiding low-level complexity through a tensor-based interface, tensor runtimes (TCRs) such as PyTorch allow data scientists efficiently exploit exciting capabilities new hardware. In this paper, we explore how database management can ride wave...
NoSQL databases like Redis, Cassandra, and Mon-goDB are increasingly popular because they flexible, lightweight, easy to work with. Applications that use these will evolve over time, sometimes necessitating (or preferring) a change the format or organization of data. The problem we address in this paper is: How can support evolution high-availability applications their data online, without excessive delays interruptions, even presence backward-incompatible changes? We present KVolve, an...
Prediction queries are widely used across industries to perform advanced analytics and draw insights from data. They include a data processing part (e.g., for joining, filtering, cleaning, featurizing the datasets) machine learning (ML) invoking one or more trained models predictions. These parts have so far been optimized in isolation, leaving significant opportunities optimization unexplored. We present Raven, production-ready system optimizing prediction queries. Raven follows enterprise...
Deep Learning (DL) has created a growing demand for simpler ways to develop complex models and efficient execute them. Thus, significant effort gone into frameworks like PyTorch or TensorFlow support variety of DL run efficiently seamlessly over heterogeneous distributed hardware. Since these will continue improving given the predominance workloads, it is natural ask what else can be done with This not trivial question since are based on implementation tensors, which well adapted but, in...
Dynamic software updating (DSU) systems facilitate updates to running programs, thereby permitting developers add features and fix bugs without downtime. This article introduces Kitsune, a DSU system for C. Kitsune’s design has three notable features. First, Kitsune the whole program, rather than individual functions, using mechanism that places no restrictions on data representations or allowed compiler optimizations. Second, makes important aspects of explicit in program text, making...
Dynamic software updating (DSU) techniques show great promise in allowing vital services to be upgraded without downtime, avoiding dropped connections and the loss of critical program state. For multithreaded programs, DSU systems must balance correctness timeliness. To simplify reasoning that an update is correct, we could limit updates take place only when all threads have blocked at well-defined points. However, several researchers pointed out this approach poses risk delaying for too...
Kubernetes has emerged as a prominent open-source platform for managing cloud applications, including stateful databases. These monolithic applications rely on vertical scaling, adjusting CPU cores based load fluctuations. However, our analysis of Kubernetes-based Database-as-a-Service (DBaaS) offerings at Microsoft revealed that many customers consistently over-provision resources peak workloads, neglecting cost-saving opportunities through resource scale-down. We found there is gap in the...
Modern cloud has turned data services into easily accessible commodities. With just a few clicks, users are now able to access catalog of processing systems for wide range tasks. However, the brings in both complexity and opportunity. While can quickly start an application by using various services, it be difficult configure optimize these gain most value from them. For providers, managing every aspect ever-increasing set while meeting customer SLAs minimizing operational cost is becoming...
Dynamic software updating (DSU) techniques show great promise in allowing vital services to be upgraded without downtime, avoiding dropped connections and the loss of critical program state. For multithreaded programs, DSU systems must balance correctness timeliness. To simplify reasoning that an update is correct, we could limit updates take place only when all threads have blocked at well-defined points. However, several researchers pointed out this approach poses risk delaying for too...
SDN controllers must be periodically upgraded to add features, improve performance, and fix bugs, but current techniques for implementing dynamic updates---i.e., without disrupting ongoing network functions---are inadequate. Simply halting the old controller bringing up new one can cause state lost, leading incorrect behavior. For example, if represents flows blacklisted by a firewall, then traffic that should blocked may allowed pass through. Techniques based on record replay reconstruct...
Summary Researchers have proposed many tools and techniques that work by traversing the heap, including checkpointing systems, heap profilers, assertion checkers, dynamic software updating systems. Yet building a traversal for C remains difficult, to our knowledge, extant services used their own application‐specific traversals. This paper presents C‐strider, framework writing traversals transformations. Writing basic C‐strider service requires implementing only four callbacks; then generates...
Machine learning (ML) has proven itself in high-value web applications such as search ranking and is emerging a powerful tool much broader range of enterprise scenarios including voice recognition conversational understanding for customer support, autotuning videoconferencing, intelligent feedback loops large-scale sysops, manufacturing autonomous vehicle management, complex financial predictions, just to name few. Meanwhile, the value data increasingly recognized monetized, concerns about...
User-defined functions (UDFs) have long been used as the de facto way to extend capabilities of data management systems. However, they are restricted specificities each DBMS, and recent demands for advanced analytics increased need complex UDFs that may require execution arbitrary computation written in any programming language, library dependencies, portability across environments engines, resource isolation. These requirements go beyond what traditional were designed for, given rise...
NoSQL databases like Redis, Cassandra, and MongoDB are increasingly popular because they flexible, lightweight, easy to work with. Applications that use these will evolve over time, sometimes necessitating (or preferring) a change the format or organization of data. The problem we address in this paper is: How can support evolution high-availability applications their data online, without excessive delays interruptions, even presence backward-incompatible changes? We present KVolve, an...
SDN controllers must be periodically modified to add features, improve performance, and fix bugs, but current techniques for implementing dynamic updates are inadequate. Simply halting old bringing up new ones can cause state lost, which often leads incorrect behavior-e.g., if the represents hosts blacklisted by a firewall, then traffic that should blocked may allowed pass through. Techniques based on record replay reconstruct automatically, they expensive deploy lead behavior. Problematic...
The Fourth Workshop on Hot Topics in Software Upgrades (HotSWUp 2012) was held June 3, 2012 Zurich, Switzerland. workshop co-located with ICSE 2012. goal of HotSWUp is to identify, through interdisciplinary collaboration, cutting-edge research ideas for implementing software upgrades. combined presentations peer-reviewed papers a keynote speech how empirical engineering can help reduce update-induced failures. audience included researchers and practitioners from academia industry. In...