Santosh Pande
YOU?
Author Swipe
View article: Phaedrus: Predicting Dynamic Application Behavior with Lightweight Generative Models and LLMs
Phaedrus: Predicting Dynamic Application Behavior with Lightweight Generative Models and LLMs Open
Application profiling is an indispensable technique for many software development tasks, such as code and memory layout optimizations, where optimization decisions are tailored to specific program profiles. Unfortunately, modern applicatio…
View article: Real-time Digital RF Emulation -- I: The Direct Path Computational Model
Real-time Digital RF Emulation -- I: The Direct Path Computational Model Open
In this paper we consider the problem of developing a computational model for emulating an RF channel. The motivation for this is that an accurate and scalable emulator has the potential to minimize the need for field testing, which is exp…
View article: Real-time Digital RF Emulation -- II: A Near Memory Custom Accelerator
Real-time Digital RF Emulation -- II: A Near Memory Custom Accelerator Open
A near memory hardware accelerator, based on a novel direct path computational model, for real-time emulation of radio frequency systems is demonstrated. Our evaluation of hardware performance uses both application-specific integrated circ…
View article: Pythia: Compiler-Guided Defense Against Non-Control Data Attacks
Pythia: Compiler-Guided Defense Against Non-Control Data Attacks Open
Modern C/C++ applications are susceptible to Non-Control Data Attacks, where an adversary attempts to exploit memory corruption vulnerabilities for security breaches such as privilege escalation, control-flow manipulation, etc. One such po…
View article: Improving Program Debloating with 1-DU Chain Minimality
Improving Program Debloating with 1-DU Chain Minimality Open
Modern software often struggles with bloat, leading to increased memory consumption and security vulnerabilities from unused code. In response, various program debloating techniques have been developed, typically utilizing test cases that …
View article: Combined Static Analysis and Machine Learning Prediction for Application Debloating
Combined Static Analysis and Machine Learning Prediction for Application Debloating Open
Software debloating can effectively thwart certain code reuse attacks by reducing attack surfaces to break gadget chains. Approaches based on static analysis enable a reduced set of functions reachable at a callsite for execution by levera…
View article: Improving Program Debloating with 1-DU Chain Minimality
Improving Program Debloating with 1-DU Chain Minimality Open
Modern software often struggles with bloat, leading to increased memory consumption and security vulnerabilities from unused code. In response, various program debloating techniques have been developed, typically utilizing test cases that …
View article: Beacons: An End-to-End Compiler Framework for Predicting and Utilizing Dynamic Loop Characteristics
Beacons: An End-to-End Compiler Framework for Predicting and Utilizing Dynamic Loop Characteristics Open
Efficient management of shared resources is a critical problem in high-performance computing (HPC) environments. Existing workload management systems often promote non-sharing of resources among different co-executing applications to achie…
View article: PinIt: Influencing OS Scheduling via Compiler-Induced Affinities
PinIt: Influencing OS Scheduling via Compiler-Induced Affinities Open
In multi-core machines, applications execute in a complex-co-execution environment in which the number of concurrently executing applications typically exceed the number of available cores. In order to fairly and efficiently utilize cores,…
View article: Practical compilation of fexprs using partial evaluation: Fexprs can performantly replace macros in purely-functional Lisp
Practical compilation of fexprs using partial evaluation: Fexprs can performantly replace macros in purely-functional Lisp Open
Macros are a common part of Lisp languages, and one of their most lauded features. Much research has gone into making macros both safer and more powerful resulting in developments in multiple areas, including maintaining hygiene, and typed…
View article: Com-CAS
Com-CAS Open
With a growing number of cores in modern high-performance servers, effective sharing of the last level cache (LLC) is more critical than ever. The primary agenda of such systems is to maximize performance by efficiently supporting multi-te…
View article: VICO
VICO Open
In spite of tremendous advances in data dependence and dataflow analysis techniques, state-of-the-art optimizing compilers continue to suffer from imprecisions and miss potential optimization opportunities. These imprecisions result from s…
View article: Compiler-assisted scheduling for multi-instance GPUs
Compiler-assisted scheduling for multi-instance GPUs Open
NVIDIA's Multi-Instance GPU (MIG) feature allows users to partition a GPU's compute and memory into independent hardware instances. MIG guarantees full isolation among co-executing kernels on the device, which boosts security and prevents …
View article: On-the-fly Code Activation for Attack Surface Reduction
On-the-fly Code Activation for Attack Surface Reduction Open
Modern code reuse attacks are taking full advantage of bloated software. Attackers piece together short sequences of instructions in otherwise benign code to carry out malicious actions. Eliminating these reusable code snippets, known as g…
View article: Effective GPU Sharing Under Compiler Guidance
Effective GPU Sharing Under Compiler Guidance Open
Modern computing platforms tend to deploy multiple GPUs (2, 4, or more) on a single node to boost system performance, with each GPU having a large capacity of global memory and streaming multiprocessors (SMs). GPUs are an expensive resourc…
View article: Compiler-Guided Throughput Scheduling for Many-core Machines
Compiler-Guided Throughput Scheduling for Many-core Machines Open
Typical schedulers in multi-tenancy environments make use of reactive, feedback-oriented mechanisms based on performance counters to avoid resource contention but suffer from detection lag and loss of performance. In this paper, we address…
View article: Near-zero Downtime Recovery from Transient-error-induced Crashes
Near-zero Downtime Recovery from Transient-error-induced Crashes Open
Due to the system scaling, transient errors caused by external noises, e.g., heat fluxes and particle strikes, have become a growing concern for the current and upcoming extreme-scale high-performance-computing (HPC) systems. However, sinc…
View article: Effective Cache Apportioning for Performance Isolation Under Compiler\n Guidance
Effective Cache Apportioning for Performance Isolation Under Compiler\n Guidance Open
With a growing number of cores in modern high-performance servers, effective\nsharing of the last level cache (LLC) is more critical than ever. The primary\nagenda of such systems is to maximize performance by efficiently supporting\nmulti…
View article: Effective Cache Apportioning for Performance Isolation Under Compiler Guidance
Effective Cache Apportioning for Performance Isolation Under Compiler Guidance Open
With a growing number of cores in modern high-performance servers, effective sharing of the last level cache (LLC) is more critical than ever. The primary agenda of such systems is to maximize performance by efficiently supporting multi-te…
View article: Generating Robust Parallel Programs via Model Driven Prediction of Compiler Optimizations for Non-determinism
Generating Robust Parallel Programs via Model Driven Prediction of Compiler Optimizations for Non-determinism Open
Execution orders in parallel programs are governed by non-determinism and can vary substantially across different executions even on the same input. Thus, a highly non-deterministic program can exhibit rare execution orders never observed …
View article: BlankIt library debloating: getting what you want instead of cutting what you don’t
BlankIt library debloating: getting what you want instead of cutting what you don’t Open
Modern software systems make extensive use of libraries derived from C and C++. Because of the lack of memory safety in these languages, however, the libraries may suffer from vulnerabilities, which can expose the applications to potential…
View article: A Compiler Assisted Scheduler for Detecting and Mitigating Cache-Based Side Channel Attacks
A Compiler Assisted Scheduler for Detecting and Mitigating Cache-Based Side Channel Attacks Open
Side channel attacks steal secret keys by cleverly leveraging information leakages and can, therefore, break encryption. Thus, detection and mitigation of side channel attacks is a very important problem, but the solutions proposed in the …
View article: Is Less Really More? Why Reducing Code Reuse Gadget Counts via Software Debloating Doesn't Necessarily Lead to Better Security.
Is Less Really More? Why Reducing Code Reuse Gadget Counts via Software Debloating Doesn't Necessarily Lead to Better Security. Open
Nearly all modern software suffers from bloat that negatively impacts its performance and security. To combat this problem, several automated techniques have been proposed to debloat software. A key metric used in many of these works to de…
View article: Is Less Really More? Why Reducing Code Reuse Gadget Counts via Software Debloating Doesn't Necessarily Indicate Improved Security
Is Less Really More? Why Reducing Code Reuse Gadget Counts via Software Debloating Doesn't Necessarily Indicate Improved Security Open
Nearly all modern software suffers from bloat that negatively impacts its performance and security. To combat this problem, several automated techniques have been proposed to debloat software. A key metric used in many of these works to de…
View article: Binary Debloating for Security via Demand Driven Loading
Binary Debloating for Security via Demand Driven Loading Open
Modern software systems heavily use C/C++ based libraries. Because of the weak memory model of C/C++, libraries may suffer from vulnerabilities which can expose the applications to potential attacks. For example, a very large number of ret…
View article: Quantifying And Reducing Execution Variance In Stm Via Model Driven Commit Optimization
Quantifying And Reducing Execution Variance In Stm Via Model Driven Commit Optimization Open
Simplified parallel programming coupled with an ability to express speculative computation is realized with Software Transactional Memory (STM). Although STMs are gaining popularity because of significant improvements in parallel performan…
View article: LADR
LADR Open
Applications running on future high performance computing (HPC) systems are more likely to experience transient faults due to technology scaling trends with respect to higher circuit density, smaller transistor size and near-threshold volt…
View article: Independent Directors and Well Performing Boards - Pointers for Indian Companies.
Independent Directors and Well Performing Boards - Pointers for Indian Companies. Open
View article: Efficient distributed workstealing via matchmaking
Efficient distributed workstealing via matchmaking Open
Many classes of high-performance applications and combinatorial problems exhibit large degree of runtime load variability. One approach to achieving balanced resource use is to over decompose the problem on fine-grained tasks that are then…
View article: Efficient distributed workstealing via matchmaking
Efficient distributed workstealing via matchmaking Open
Many classes of high-performance applications and combinatorial problems exhibit large degree of runtime load variability. One approach to achieving balanced resource use is to over decompose the problem on fine-grained tasks that are then…