惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
Y
Y Combinator Blog
F
Fortinet All Blogs
H
Hackread – Cybersecurity News, Data Breaches, AI and More
N
Netflix TechBlog - Medium
T
Tailwind CSS Blog
aimingoo的专栏
aimingoo的专栏
博客园 - Franky
T
The Blog of Author Tim Ferriss
D
DataBreaches.Net
量子位
博客园 - 三生石上(FineUI控件)
I
InfoQ
Engineering at Meta
Engineering at Meta
WordPress大学
WordPress大学
阮一峰的网络日志
阮一峰的网络日志
爱范儿
爱范儿
D
Docker
美团技术团队
雷峰网
雷峰网
U
Unit 42
Stack Overflow Blog
Stack Overflow Blog
Recent Announcements
Recent Announcements
人人都是产品经理
人人都是产品经理

Cheriton School of Computer Science

Master's Thesis Presentation • Computer Graphics • VR GAViewer: Immersive Visualisation and Direct Manipulation of the Conformal Model in Virtual Reality | Cheriton School of Computer Science | University of Waterloo Seminar • Algorithms and Complexity • Lower Bounds for Private Optimization Via Reconstruction Attacks | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Data Systems • Efficient Oblivious Query Processing for Property Graph Databases | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Artificial Intelligence | Machine Learning • Inferred Author Gender as a Variable Affecting LLM Behaviour | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Bioinformatics • From Candidates to Evidence: Diagnostics for Trustworthy Biological Discovery | Cheriton School of Computer Science | University of Waterloo PhD Defence • Algorithms and Complexity • Graph Property Testing and the Container Method | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Software Engineering • An Empirical Study of Transitive Vulnerability Exposure in PyPI | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Human–Computer Interaction • The Design and Development of a Virtual Patient System for Medical Education | Cheriton School of Computer Science | University of Waterloo PhD Seminar • Software Engineering • Decoupling CLI Agent Scaffolding to Internalize Planning Across Scaffolds | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Algorithms and Complexity • On the Black-Box Impossibility of Hardness in TFNP from One-Way Functions | Cheriton School of Computer Science | University of Waterloo Seminar • Algorithms and Complexity • Geometric Distances for Curves and Graphs: From Matching to Simplification | Cheriton School of Computer Science | University of Waterloo PhD Defence • Computer Algebra | Symbolic Computation • On the Effective Algebraic Geometry of Determinantal Varieties | Cheriton School of Computer Science | University of Waterloo Seminar • Algorithms and Complexity • Computing with Full Memory in 2026 | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Algorithms and Complexity • Bipartite Density: From Mixing Time to Local Algorithms for Dense Subgraphs | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Cryptography, Security, and Privacy (CrySP) • Upgrading Security Properties for Updatable Public-Key Encryption through Modular Transformations | Cheriton School of Computer Science | University of Waterloo PhD Seminar • Programming Languages • The Defensive Tax: Price of Defenses That Never Defend | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Algorithms and Complexity • Algorithms for Analytic Combinatorics: Positivity Bounds and D-finite Operators | Cheriton School of Computer Science | University of Waterloo PhD Seminar • Cryptography, Security, and Privacy (CrySP) • IPFSCover: Examining Website Fingerprinting Threats in the InterPlanetary File System | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Programming Languages • Reified Generic Types for Scala 3 on the JVM | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Artificial Intelligence | Machine Learning • Abstract Reasoning with Vector Symbolic Algebras | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Artificial Intelligence | Machine Learning • Learning at Test Time: Adapting Models with Synthetic Data and Environment Interaction | Cheriton School of Computer Science | University of Waterloo PhD Seminar • Formal Methods • Counterexample Guided Abstraction and Refinement in Dash Models | Cheriton School of Computer Science | University of Waterloo Master’s Thesis Presentation • Systems and Networking • Runtime Configuration of GPU Workloads for Energy-efficient Execution | Cheriton School of Computer Science | University of Waterloo PhD Seminar • Artificial Intelligence | Machine Learning • Beyond Semantic Similarity: Direct Corpus Interaction for Agentic Search | Cheriton School of Computer Science | University of Waterloo PhD Seminar • Artificial Intelligence | Machine Learning • OpenResearcher: Reproducible Training for Long-Horizon Deep Research Agents | Cheriton School of Computer Science | University of Waterloo PhD Seminar • Software Engineering • SLA-Awareness for AI-assisted coding | Cheriton School of Computer Science | University of Waterloo PhD Seminar • Software Engineering • Context-Aware CodeLLM Eviction for AI-assisted Coding | Cheriton School of Computer Science | University of Waterloo PhD Seminar • Bioinformatics • Recurrent Energy-Based Modeling of Side-Chain Allostery | Cheriton School of Computer Science | University of Waterloo Seminar • Bioinformatics | Artificial Intelligence • Advancing Drug Discovery with FAIR Data and Explainable AI in Biomedical Research | Cheriton School of Computer Science | University of Waterloo PhD Defence • Artificial Intelligence | Machine Learning | Bioinformatics • Generative Synthetic Data for Pre-Clinical Drug Discovery | Cheriton School of Computer Science | University of Waterloo
PhD Defence • Algorithms and Complexity • Towards Fast, S...
Joe Petrik · 2026-05-05 · via Cheriton School of Computer Science

Please note: This PhD defence will take place in DC 3317 and online.

Gaetano Coccimiglio, PhD candidate
David R. Cheriton School of Computer Science

Supervisors: Professors Trevor Brown, Peter Buhr

The process of designing and implementing correct concurrent data structures is non-trivial and often error-prone. The recent commercial availability of non-volatile memory has prompted many researchers to also consider designing concurrent data structures that persist shared state allowing the data structure to be recovered following a power failure. These so-called persistent concurrent data structures further complicate the process of achieving correct and efficient implementations. Due to this difficulty, designing, implementing and effectively utilizing persistent concurrent data structures is often only feasible for expert programmers who already possess extensive specialized knowledge.

The goal of this thesis is to empower non-experts with the ability to achieve fast, safe, and persistent concurrent data structures without requiring the specialized knowledge needed to understand the details of such algorithms. I focus on two general techniques that non-experts can utilize to implement persistent concurrent data structures. Specifically, I consider transactional memory and universal constructions. Each approach provides a different trade-off between programmer effort and performance of the resulting data structures.

Achieving correct and efficient synchronization is one of the most difficult challenges when designing and implementing concurrent algorithms. This process can be simplified through the use of a mechanism known as transactional memory (TM). TMs allow users to execute sequences of memory accesses as atomic transactions. Within a transaction, the implementation can be written in a sequential manner with the added requirement of replacing accesses to shared objects with TM accesses. This requires minimal programmer effort. This approach is useful for non-experts since synchronization and persistence is handled by the TM. A different mechanism known as a universal construction (UC) trivializes the implementation of concurrent algorithms. Given a sequential object as input, a UC produces a concurrent object. Sequential data structures are relatively straightforward which makes this approach suitable for non-experts. Both TMs and UCs can be augmented to also guarantee persistence through the use of non-volatile memory.

I present a novel persistent TM, a novel volatile multiversion TM, and a novel persistent UC. I implement and experimentally evaluate these algorithms. These evaluations demonstrate that in many cases my algorithms represent the current state of the art. The end result of this thesis is a toolbox for non-experts to achieve fast, safe, and persistent concurrent data structures.


To attend this PhD defence in person, please go to DC 3317. You can also attend virtually on Zoom.