UWSpace
UWSpace is the University of Waterloo’s institutional repository for the free, secure, and long-term home of research produced by faculty, students, and staff.
Depositing Theses/Dissertations or Research to UWSpace
Are you a Graduate Student depositing your thesis to UWSpace? See our Thesis Deposit Help and UWSpace Thesis FAQ pages to learn more.
Are you a Faculty or Staff member depositing research to UWSpace? See our Waterloo Research Deposit Help and Self-Archiving pages to learn more.

Communities in UWSpace
Select a community to browse its collections.
- The University of Waterloo institution-wide UWSpace community.
Recent Submissions
Item type: Item , Exploring the moderating effects of anticipated effort on real-time physical activity behaviour: An ecological momentary assessment study(University of Waterloo, 2026-10-22) Chen, RyanIntroduction Regular physical activity (PA) provides many positive physical and mental health outcomes. Despite the well-known benefits of PA, most Canadian adults are not meeting current 24-hour Canadian movement guidelines (Ross et al., 2020). According to the Theory of Planned Behaviour (Ajzen, 1991), intention is theorized as a direct predictor of behaviour. Yet, a notable intention-behaviour gap exists where people fail to translate PA intention to PA behaviours. Newer dual process theories such as The Theory of Effort Minimization in Physical Activity (TEMPA; Cheval & Boisgontier, 2021) include consideration for the dynamic nature of people’s physical and psychological states. The TEMPA also further includes consideration for people’s evolved automatic tendencies to minimize physical effort. Prior research examining the effects of effort on PA behaviour has relied on cross sectional or single-timepoint experimental designs that lack ecological validity. Furthermore, previous research does not distinguish effort to prepare to engage in PA from effort to engage in PA. The present study leveraged ecological momentary assessment (EMA), a novel data capturing technique aimed to maximize ecological validity through repeated sampling of participants in real-time and real-world contexts. Objective and Hypothesis The objective of this study is to examine the effects of intention on PA behaviour, the effects of anticipated effort to prepare to engage in PA on PA behaviour, and the moderating effects of anticipated effort to prepare to engage in physical activity on the intention-behaviour relationship. It is hypothesized that intention will positively predict PA behaviour, that anticipated effort to prepare to engage in PA will negatively predict PA behaviour, and that anticipated effort to prepare to engage in PA will moderate the intention-behaviour relationship in that as anticipated effort increases, the intention-behaviour gap widens. Methods Emerging adults (N=124; mean age = 22.47 years) were recruited and completed EMA surveys four times daily for seven days, reporting PA intention and anticipated effort to prepare to engage in PA. Participants wore Fitbit Versa 4 PA monitoring devices on their non-dominant wrist to passively measure PA behaviour as MVPA minutes 120-min epoch following each survey. Multilevel mixed-effects models were conducted, and within-person and between-person effects were disaggregated to test the hypotheses. Results An intention-to-behaviour gap of 41.5% was observed over the duration of the study. Results showed that intention positively predicted PA behaviour and anticipated effort to prepare to engage in PA negatively predicted PA behaviour. Furthermore, within-person and between-person effects of anticipated effort were significant in moderating the intention-behaviour relationship. Within-person effects moderated the intention-behavoiur relationship in that as participants reported anticipated effort higher than their own average, the intention-behaviour relationship was weaker. Against hypotheses, the intention-behaviour relationship was stronger for participants reporting higher average anticipated effort compared to others. Conclusion These findings suggest that anticipated effort is a dynamic construct capable of predicting PA behaviour and moderating the intention-behaviour relationship in real-time and in real-world environments. While anticipated effort to prepare to engage in PA remains to be a validated construct, it remains a promising target for future research targeting PA behaviour change.Item type: Item , Non-Blocking Interpolation Search Trees with Doubly-Logarithmic Running Time(ACM, 2020-02-19) Brown, Trevor; Prokopec, Aleksandar; Alistarh, DanBalanced search trees typically use key comparisons to guide their operations, and achieve logarithmic running time. By relying on numerical properties of the keys, interpolation search achieves lower search complexity and better performance. Although interpolation-based data structures were investigated in the past, their non-blocking concurrent variants have received very little attention so far. In this paper, we propose the first non-blocking implementation of the classic interpolation search tree (IST) data structure. For arbitrary key distributions, the data structure ensures worst-case O(log n + p) amortized time for search, insertion and deletion traversals. When the input key distributions are smooth, lookups run in expected O(log log n + p) time, and insertion and deletion run in expected amortized O(log log n + p) time, where p is a bound on the number of threads. To improve the scalability of concurrent insertion and deletion, we propose a novel parallel rebuilding technique, which should be of independent interest. We evaluate whether the theoretical improvements translate to practice by implementing the concurrent interpolation search tree, and benchmarking it on uniform and non-uniform key distributions, for dataset sizes in the millions to billions of keys. Relative to the state-of-the-art concurrent data structures, the concurrent interpolation search tree achieves performance improvements of up to 15% under high update rates, and of up to 50% under moderate update rates. Further, ISTs exhibit up to 2× less cache-misses, and consume 1.2 − 2.6× less memory compared to the next best alternative on typical dataset sizes. We find that the results are surprisingly robust to distributional skew, which suggests that our data structure can be a promising alternative to classic concurrent search structures.Item type: Item , Persistent HyTM via Fast Path Fine-Grained Locking(ACM, 2025-07-16) Coccimiglio, Gaetano; Brown, Trevor; Ravi, SrivatsanUtilizing hardware transactional memory (HTM) in conjunction with non-volatile memory (NVM) to achieve persistence is quite difficult and somewhat awkward due to the fact that the primitives utilized to write data to NVM will abort HTM transactions. We present several persistent hybrid transactional memory (HyTM) that, perhaps counterintuitively, utilize an HTM fast path primarily to read or acquire fine-grained locks which protect data items. Our implementations guarantee durable linearizable transactions and the STM path satisfies either weak progressiveness or strong progressiveness. We discuss the design choices related to the differing progress guarantees and we examine how these design choices impact performance. We evaluate our persistent HyTM implementations using various microbenchmarks. Despite the challenges and apparent awkwardness of using current implementations of HTM to achieve persistence, our implementations achieve up to 10x improved performance compared to the existing state of the art persistent STMs and up to 2.6x improved performance compared to the existing state of the art persistent HyTMs.Item type: Item , Efficient Hardware Primitives for Immediate Memory Reclamation in Optimistic Data Structures(IEEE, 2023-05) Singh, Ajay; Brown, Trevor; Spear, MichaelSafe memory reclamation (SMR) algorithms are crucial for preventing use-after-free errors in optimistic data structures. SMR algorithms typically delay reclamation for safety and reclaim objects in batches for efficiency. It is difficult to strike a balance between performance and space efficiency. Small batch sizes and frequent reclamation attempts lead to high overhead, while freeing large batches can lead to long program interruptions and high memory footprints. An ideal SMR algorithm would forgo batching, and reclaim memory immediately, without suffering high reclamation overheads. To this end, we propose Conditional Access: a set of hardware instructions that offer immediate reclamation and low overhead in optimistic data structures. Conditional Access harnesses cache coherence to enable threads to efficiently detect potential use-after-free errors without explicit shared memory communication, and without introducing additional coherence traffic. We implement and evaluate Conditional Access in Graphite, a multicore simulator. Our experiments show that Conditional Access can rival the performance of highly optimized and carefully tuned SMR algorithms while simultaneously allowing immediate reclamation. This results in concurrent data structures with similar memory footprints to their sequential counterparts.Item type: Item , Distributionally Linearizable Data Structures(ACM, 2018-07-11) Alistarh, Dan; Brown, Trevor; Kopinsky, Justin; Li, Jerry Z.; Nadiradze, GiorgiRelaxed concurrent data structures have become increasingly popular, due to their scalability in graph processing and machine learning applications ([24, 14]). Despite considerable interest, there exist families of natural, high performing randomized relaxed concurrent data structures, such as the popular MultiQueue [27] pattern for implementing relaxed priority queue data structures, for which no guarantees are known in the concurrent setting [3]. Our main contribution is in showing for the first time that, under a set of analytic assumptions, a family of relaxed concurrent data structures, including variants of MultiQueues, but also a new approximate counting algorithm we call the MultiCounter, provides strong probabilistic guarantees on the degree of relaxation with respect to the sequential specification, in arbitrary concurrent executions. We formalize these guarantees via a new correctness condition called distributional linearizability, tailored to concurrent implementations with randomized relaxations. Our result is based on a new analysis of an asynchronous variant of the classic power-of-two-choices load balancing algorithm, in which placement choices can be based on inconsistent, outdated information (this result may be of independent interest). We validate our results empirically, showing that the MultiCounter algorithm can implement scalable relaxed timestamps, which in turn can improve the performance of the classic TL2 transactional algorithm by up to 3×, for some settings of parameters.