patents = FileAttachment("data/patents.json").json()
// Function to highlight Nadav Amit in the author list
function highlightAuthor(authors) {
return authors.map(author =>
author === "Nadav Amit" ?
html`<u>${author}</u>` :
author
).reduce((prev, curr, i) => {
if (i === 0) return [curr];
if (i === authors.length - 1) return [...prev, " and ", curr];
return [...prev, ", ", curr];
}, []);
}
// Function to determine patent categories based on title
function getPatentCategories(title) {
const categories = [];
const titleLower = title.toLowerCase();
if (titleLower.includes('memory') || titleLower.includes('tlb') || titleLower.includes('page')) {
categories.push('Memory Systems');
}
if (titleLower.includes('virtual') || titleLower.includes('hypervisor') || titleLower.includes('callback')) {
categories.push('Virtualization');
}
if (titleLower.includes('security') || titleLower.includes('secure') || titleLower.includes('speculative') || titleLower.includes('rogue')) {
categories.push('Security');
}
if (titleLower.includes('interrupt') || titleLower.includes('i/o')) {
categories.push('Storage & I/O');
}
if (titleLower.includes('binary translation') || titleLower.includes('compilation') || titleLower.includes('inlining')) {
categories.push('Performance');
}
if (titleLower.includes('rdma') || titleLower.includes('remote')) {
categories.push('Networking');
}
// If no categories matched, add a general one
if (categories.length === 0) {
categories.push('System Design');
}
return categories;
}
// Add categories to patents
patentsWithCategories = patents.map(patent => {
patent.categories = getPatentCategories(patent.title);
return patent;
});
// Display the patents using the same classes as bibliography
viewof patentsList = html`
<ol class="listing" reversed>
${patentsWithCategories.map(patent => html`
<li class="bib-entry" data-categories="${patent.categories.join(',')}">
<span class="bib-authors">${highlightAuthor(patent.authors)}</span>.
<a href="${patent.link}" target="_blank">
<span class="bib-title">${patent.title}</span>
</a>.
<span>${patent.patent_number}</span>,
${patent.year}.
</li>
`)}
</ol>
`Publications
Conference Papers
- . DeepErr: Automatic Root-Cause Analysis of System Call Failures. ACM International Conference on Systems and Storage (SysTor), 2025. 🏆 Best Paper Award
- . Eden: Developer-Friendly Application-Integrated Far Memory. USENIX Symposium on Networked Systems Design and Implementation (NSDI), 2025.
- . Every Mapping Counts in Large Amounts: Folio Accounting. USENIX Annual Technical Conference (ATC), 2024.
- . Copy-on-Pin: The Missing Piece for Correct Copy-on-Write. ACM Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2023. 🏆 Distinguished Artifact Award
- . Quarantine: Mitigating Transient Execution Attacks with Physical Domain Isolation. International Symposium on Research in Attacks, Intrusions, and Defenses (RAID), 2023.
- . Characterizing, exploiting, and detecting DMA code injection vulnerabilities in the presence of an IOMMU. European Conference on Computer Systems (EuroSys), 2021.
- . Dealing with (some of) the fallout from meltdown. ACM International Conference on Systems and Storage (SysTor), 2021.
- . RAIDP: Replication with Intra-Disk Parity. European Conference on Computer Systems (EuroSys), 2020.
- . Don’t shoot down TLB shootdowns!. European Conference on Computer Systems (EuroSys), 2020. 🏆 Best Paper Award
- . Simple and Precise Static Analysis of Untrusted Linux Kernel Extensions. ACM Programming Language Design and Implementation (PLDI), 2019.
- . JumpSwitches: Restoring the Performance of Indirect Branches In the Era of Spectre. USENIX Annual Technical Conference (ATC), 2019.
- . Using SMT to Accelerate Nested Virtualization. ACM International Symposium on Computer Architecture (ISCA), 2019.
- . The Design and Implementation of Hyperupcalls. USENIX Annual Technical Conference (ATC), 2018. 🏆 Best Paper Award
- . Remote Regions: A Simple Abstraction for Remote Memory. USENIX Annual Technical Conference (ATC), 2018.
- . Page Fault Support for Network Controllers. ACM Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2017.
- . Remote Memory in the Age of Fast Networks. ACM Symposium on Cloud Computing (SOCC), 2017.
- . Optimizing the TLB Shootdown Algorithm with Page Access Tracking. USENIX Annual Technical Conference (ATC), 2017.
- . Efficient Intra-Operating System Protection Against Harmful DMAs. USENIX File and Storage Technologies (FAST), 2015.
- . rIOMMU: Efficient IOMMU for I/O Devices that Employ Ring Buffers. ACM Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2015.
- . Virtual CPU validation. ACM Symposium on Operating Systems Principles (SOSP), 2015.
- . VSWAPPER: A Memory Swapper for Virtualized Environments. ACM Architectural Support for Programming Languages & Operating Systems (ASPLOS), 2014.
- . ELI: Bare-Metal Performance for I/O Virtualization. ACM Architectural Support for Programming Languages & Operating Systems (ASPLOS), 2012. 🏆 Received ACM SIGARCH/SIGPLAN/SIGOPS ASPLOS Influential Paper Award, the Pat Goldberg Memorial Best Paper Award and HiPEAC Award.
- . vIOMMU: Efficient IOMMU emulation. USENIX Annual Technical Conference (ATC), 2011.
No matching items
Journal Articles
- . A Developer-Friendly Approach to Application-Integrated Far Memory. ;login: USENIX Magazine, 2025.
- . Memory Disaggregation: Why Now and What Are the Challenges. ACM SIGOPS Operating Systems Review (OSR), 2023.
- . Hypercallbacks. ACM SIGOPS Operating Systems Review (OSR), 2017.
- . Bare-Metal Performance for Virtual Machines with Exitless Interrupts. Communications of the ACM (CACM), 2016.
No matching items
Workshop Papers
- . Batching with End-to-End Performance Estimation. Workshop in Hot Topics in Operating Systems (HOTOS), 2025.
- . Hypercallbacks: A New Mechanism for Trusted, Secure Introspection. Workshop on System Software for Trusted Execution (SysTEX), 2017.
- . Hypercallbacks: Decoupling Policy Decisions and Execution. ACM Workshop on Hot Topics in Operating Systems (HotOS), 2017.
- . Using Disk Add-Ons to Withstand Simultaneous Disk Failures with Fewer Replicas. Workshop on the Interaction amongst Virtualization, Operating Systems and Computer Architecture (WIVOSCA), 2013.
- . IOMMU: Strategies for Mitigating the IOTLB Bottleneck. Workshop on the Interaction between Operating Systems and Computer Architecture (WIOSCA), 2010.
No matching items
Technical Reports & Preprints
- . Alleviating Virtualization Bottlenecks. PhD Thesis, Technion-Israel Institute of Technology, Faculty of Computer Science, 2014.
No matching items
Patents
Citation Metrics
- Google Scholar: Publications, Citations
- DBLP: Computer Science Bibliography
- ORCID: 0000-0002-6643-6232