Algorithms for shared-memory systems
共享内存系统的算法
基本信息
- 批准号:RGPIN-2018-05935
- 负责人:
- 金额:$ 2.04万
- 依托单位:
- 依托单位国家:加拿大
- 项目类别:Discovery Grants Program - Individual
- 财政年份:2022
- 资助国家:加拿大
- 起止时间:2022-01-01 至 2023-12-31
- 项目状态:已结题
- 来源:
- 关键词:
项目摘要
In modern multicore computers, many processes can run concurrently. In order to exploit the processing power of these computers, processes must be able to communicate with one another efficiently in order to coordinate their work, so that they can cooperatively solve problems. The processes communicate by accessing a shared memory. The system hardware provides low-level operations to access this memory, but it is more convenient for programmers if the information in memory is organized into high-level data structures that can be accessed by more complex operations. The main thread of my research is on the efficient implementation of the high-level data structures from the low-level primitive operations provided in hardware. In particular, I am interested in lock-free data structures, which allow many processes to access the same data concurrently, but this requires careful coordination between processes to ensure that updates by one process do not interfere with updates or reads of the same data by other processes.My students and I will design novel shared data structures and prove them correct. In addition to building handcrafted, efficient implementations of individual data structures, we will also look for general techniques that permit classes of data structures to be implemented. These data structures will be evaluated empirically, but also theoretically by proving upper bounds on the amount of time needed to perform sets of operations. The proofs of correctness for these data structures are often quite intricate, because one must consider all possible ways that the low-level steps of different processes can be interleaved when they perform high-level operations, and this causes an exponential blow up in the number of different possible ways that the code used to access the data structure can be executed by a collection of processes. Thus, writing these proofs is a time-consuming and error-prone process. We will also look for ways to use machine-checkable proofs to automate parts of this process. Besides improving our confidence in the correctness of a data structure, this approach will make it easier for designers of such data structures to modify and optimize them without having to reprove their correctness from scratch.This work on practical implementations of shared data structures will be complemented by more theoretical work on the foundations of distributed computing. For example, my students and I will work on proving complexity lower bounds, which show that every possible algorithm that solves a particular problem must use at least a certain amount of time or space. These bounds are useful for understanding the fundamental limits of shared-memory computing, and for determining when we should stop looking for better algorithms.
在现代多核计算机中,许多进程可以同时运行。为了利用这些计算机的处理能力,进程之间必须能够有效地进行通信,以便协调它们的工作,以便它们能够合作解决问题。进程通过访问共享内存进行通信。系统硬件提供低级操作来访问内存,但是如果内存中的信息被组织成高级数据结构,可以通过更复杂的操作访问,这对程序员来说更方便。我的研究主线是如何从硬件中提供的低级基本操作中有效地实现高级数据结构。特别是,我对无锁数据结构感兴趣,它允许许多进程并发地访问相同的数据,但这需要在进程之间进行仔细的协调,以确保一个进程的更新不会干扰其他进程对相同数据的更新或读取。我和我的学生将设计新的共享数据结构并证明它们是正确的。除了手工构建单个数据结构的高效实现之外,我们还将寻找允许实现数据结构类的通用技术。这些数据结构将根据经验进行评估,但也可以从理论上证明执行操作集所需时间的上限。这些数据结构的正确性证明通常相当复杂,因为必须考虑不同进程的低级步骤在执行高级操作时可能交错的所有可能方式,这导致用于访问数据结构的代码可以由一组进程执行的不同可能方式的数量呈指数级增长。因此,编写这些证明是一个耗时且容易出错的过程。我们还将寻找使用机器可检查证明的方法来自动化此过程的一部分。除了提高我们对数据结构正确性的信心之外,这种方法还将使这种数据结构的设计者更容易修改和优化它们,而不必从头开始修改和优化它们的正确性。这些关于共享数据结构的实际实现的工作将被更多关于分布式计算基础的理论工作所补充。例如,我和我的学生将致力于证明复杂性下界,这表明解决特定问题的每种可能算法必须至少使用一定的时间或空间。这些界限对于理解共享内存计算的基本限制非常有用,也有助于确定我们何时应该停止寻找更好的算法。
项目成果
期刊论文数量(0)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
数据更新时间:{{ journalArticles.updateTime }}
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
数据更新时间:{{ journalArticles.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ monograph.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ sciAawards.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ conferencePapers.updateTime }}
{{ item.title }}
- 作者:
{{ item.author }}
数据更新时间:{{ patent.updateTime }}
Ruppert, Eric其他文献
The computational power of population protocols
- DOI:
10.1007/s00446-007-0040-2 - 发表时间:
2007-11-01 - 期刊:
- 影响因子:1.3
- 作者:
Angluin, Dana;Aspnes, James;Ruppert, Eric - 通讯作者:
Ruppert, Eric
Practically and Theoretically Efficient Garbage Collection for Multiversioning
多版本化的实践和理论上高效的垃圾收集
- DOI:
10.1145/3572848.3577508 - 发表时间:
2023 - 期刊:
- 影响因子:0
- 作者:
Wei, Yuanhao;Blelloch, Guy E.;Fatourou, Panagiota;Ruppert, Eric - 通讯作者:
Ruppert, Eric
Constant-time snapshots with applications to concurrent data structures
恒定时间快照以及并发数据结构的应用
- DOI:
10.1145/3437801.3441602 - 发表时间:
2021 - 期刊:
- 影响因子:0
- 作者:
Wei, Yuanhao;Ben-David, Naama;Blelloch, Guy E.;Fatourou, Panagiota;Ruppert, Eric;Sun, Yihan - 通讯作者:
Sun, Yihan
Ruppert, Eric的其他文献
{{
item.title }}
{{ item.translation_title }}
- DOI:
{{ item.doi }} - 发表时间:
{{ item.publish_year }} - 期刊:
- 影响因子:{{ item.factor }}
- 作者:
{{ item.authors }} - 通讯作者:
{{ item.author }}
{{ truncateString('Ruppert, Eric', 18)}}的其他基金
Algorithms for shared-memory systems
共享内存系统的算法
- 批准号:
RGPIN-2018-05935 - 财政年份:2020
- 资助金额:
$ 2.04万 - 项目类别:
Discovery Grants Program - Individual
Algorithms for shared-memory systems
共享内存系统的算法
- 批准号:
RGPIN-2018-05935 - 财政年份:2019
- 资助金额:
$ 2.04万 - 项目类别:
Discovery Grants Program - Individual
Algorithms for shared-memory systems
共享内存系统的算法
- 批准号:
RGPIN-2018-05935 - 财政年份:2018
- 资助金额:
$ 2.04万 - 项目类别:
Discovery Grants Program - Individual
Algorithms and models for distributed systems
分布式系统的算法和模型
- 批准号:
228091-2011 - 财政年份:2017
- 资助金额:
$ 2.04万 - 项目类别:
Discovery Grants Program - Individual
Algorithms and models for distributed systems
分布式系统的算法和模型
- 批准号:
228091-2011 - 财政年份:2014
- 资助金额:
$ 2.04万 - 项目类别:
Discovery Grants Program - Individual
Algorithms and models for distributed systems
分布式系统的算法和模型
- 批准号:
228091-2011 - 财政年份:2013
- 资助金额:
$ 2.04万 - 项目类别:
Discovery Grants Program - Individual
Algorithms and models for distributed systems
分布式系统的算法和模型
- 批准号:
228091-2011 - 财政年份:2012
- 资助金额:
$ 2.04万 - 项目类别:
Discovery Grants Program - Individual
Algorithms and models for distributed systems
分布式系统的算法和模型
- 批准号:
228091-2011 - 财政年份:2011
- 资助金额:
$ 2.04万 - 项目类别:
Discovery Grants Program - Individual
Theory of shared-memory distributed computing
共享内存分布式计算理论
- 批准号:
228091-2005 - 财政年份:2010
- 资助金额:
$ 2.04万 - 项目类别:
Discovery Grants Program - Individual
Theory of shared-memory distributed computing
共享内存分布式计算理论
- 批准号:
228091-2005 - 财政年份:2009
- 资助金额:
$ 2.04万 - 项目类别:
Discovery Grants Program - Individual
相似海外基金
Shared and Distributed Memory Parallel Pre-Conditioning and Acceleration Algorithms for "Spline- Enhanced" Spatial Discretisations
用于“样条增强”空间离散化的共享和分布式内存并行预处理和加速算法
- 批准号:
2907459 - 财政年份:2023
- 资助金额:
$ 2.04万 - 项目类别:
Studentship
Algorithms for shared-memory systems
共享内存系统的算法
- 批准号:
RGPIN-2018-05935 - 财政年份:2020
- 资助金额:
$ 2.04万 - 项目类别:
Discovery Grants Program - Individual
AF: Small: Shared-Memory Parallel Algorithms: Theory and Practice
AF:小型:共享内存并行算法:理论与实践
- 批准号:
1910030 - 财政年份:2019
- 资助金额:
$ 2.04万 - 项目类别:
Standard Grant
Algorithms for shared-memory systems
共享内存系统的算法
- 批准号:
RGPIN-2018-05935 - 财政年份:2019
- 资助金额:
$ 2.04万 - 项目类别:
Discovery Grants Program - Individual
Algorithms for shared-memory systems
共享内存系统的算法
- 批准号:
RGPIN-2018-05935 - 财政年份:2018
- 资助金额:
$ 2.04万 - 项目类别:
Discovery Grants Program - Individual
Shared-memory multiprocessor for parallel algorithms and architectures
用于并行算法和架构的共享内存多处理器
- 批准号:
405923-2011 - 财政年份:2010
- 资助金额:
$ 2.04万 - 项目类别:
Research Tools and Instruments - Category 1 (<$150,000)
Partially Synchronous Shared-Memory Systems and the Study of Real-Time Algorithms
部分同步共享内存系统及实时算法研究
- 批准号:
9301454 - 财政年份:1993
- 资助金额:
$ 2.04万 - 项目类别:
Standard Grant
Algorithms for Implementing Relaxed Memory Consistency for Distributed Shared Memory
实现分布式共享内存的宽松内存一致性的算法
- 批准号:
9211004 - 财政年份:1992
- 资助金额:
$ 2.04万 - 项目类别:
Continuing Grant
Numerical Parallel Algorithms for Shared Memory Parallel Computers
共享内存并行计算机的数值并行算法
- 批准号:
8717942 - 财政年份:1988
- 资助金额:
$ 2.04万 - 项目类别:
Continuing Grant
Parallel Vision Algorithms for Shared-Memory and Pipeline Multiprocessors
共享内存和管道多处理器的并行视觉算法
- 批准号:
8802436 - 财政年份:1988
- 资助金额:
$ 2.04万 - 项目类别:
Continuing Grant














{{item.name}}会员




