课题基金 / 基金详情

CSR: Medium: A Smart Runtime System for Parallel Programming

CSR: Medium: A Smart Runtime System for Parallel Programming
CSR:Medium:用于并行编程的智能运行时系统
批准号:
1563544
负责人:
Vijay Garg
金额:
$50.98万
依托单位国家:
美国
项目类别:
Continuing Grant
财政年份:
2016
资助国家:
美国
项目状态:
已结题
起止时间:
2016-06-01 至 2020-05-31

项目摘要

项目成果

Vijay Garg的其他基金

相似基金

相关文献

中文摘要
翻译
由于计算机的时钟速度没有增加,加快处理速度的唯一方法是利用多核。 由于并发和同步导致的错误,对这些多核处理器进行编程是一项具有挑战性的任务。 本计画主要针对并发系统的可程式性、可扩充性及容错性三个方面,开发新的同步机制。可编程性是指开发并发应用程序的容易性。可伸缩性是指当系统中的线程数量增加时程序的性能。容错是指系统科普持有锁的线程失败的能力。目前,最流行的同步机制是基于带有条件变量的监视器。 基于锁的系统很难用于多对象操作,通常具有较差的可扩展性和较低的容错性。无锁机制可能具有良好的可扩展性和容错性,但众所周知,很难编写和调试。软件传输存储器系统最有希望实现可编程性。然而,在当前的事务存储系统中,很难获得有效的条件同步。该项目正在开发新的同步技术,以解决监视器或事务存储器系统的全局条件同步问题。特别是,它正在开发可扩展的机制来检测全局或多对象条件,并自动通知等待这些条件的线程。 在当前系统中模拟这种机制的唯一方法是使用全局锁或忙碌wait,这会导致大量的上下文切换和较慢的性能。在这个项目中开发的机制将导致更简洁和更快的程序。为了可伸缩性和容错性,该项目正在开发方法,使异步和并行执行某些对象方法。异步执行是通过保持一个监视器线程来实现的,该线程可以代表进行监视器调用的线程执行方法。这种技术提高了缓存的局部性和并发性。对于具有高争用的对象,该项目正在研究通过保持对象的只读副本来实现读操作的并行执行的方法。但是,维护每个监视器对象的副本或为异步执行创建额外的线程是低效的。该项目正在开发有效的技术,以确定哪些对象在运行时复制。该项目将导致提高程序员的生产力和减少多核程序开发中的并发错误。它还将导致更好地理解如何在多线程程序中有效地评估全局条件。因此,并发程序设计系统将变得更加可靠和快速。此外,该项目支持的研究生将接受多核计算基础知识的培训。
英文摘要
Since the clock speed of computers is not increasing, the only way to speed up processing is by exploiting multiple cores. Programming these multicore processors is a challenging task due to bugs resulting from concurrency and synchronization. This project is developing new synchronization mechanisms that address three aspects of concurrent systems --- programmability, scalability and fault-tolerance. Programmability refers to the ease of developing concurrent applications. Scalability refers to the performance of the program when the number of threads in the system increase. Fault-tolerance refers to the ability of the system to cope with failure of a thread holding a lock.Currently, the most prevalent synchronization mechanism is based on monitors with condition variables. Monitors or lock based systems are hard to use for multi object operations, usually have poor scalability and low tolerance for faults. Lock-free mechanisms may have good scalability and fault-tolerance, but are notoriously hard to write and debug. Software Transactional Memory systems hold most promise for programmability. However, it is difficult to get efficient conditional synchronization in current transactional memory systems. This project is developing new synchronization techniques that address global conditional synchronization aspects of monitor or transactional memory systems. In particular, it is developing scalable mechanisms to detect global or multi object conditions and automatically notify threads waiting on these conditions. The only way to simulate this mechanism in current systems is by using a global lock or busy wait which results in a large number of context switches and slower performance. The mechanisms developed in this project will result in more concise and faster programs.For scalability and fault-tolerance, the project is developing methods that enable asynchronous and parallel execution of certain object methods. Asynchronous execution is carried out by keeping a monitor thread that can execute methods on behalf of threads that make the monitor call. This technique improves cache locality and concurrency. For objects with high-contention, the project is studying methods that enable parallel execution of read operations by keeping read-only copies of objects. However, maintaining copies of every monitor object or creating an additional thread for asynchronous execution is inefficient. The project is developing efficient techniques to determine which objects to replicate at runtime.The project will result in improving programmer productivity and reducing concurrency errors in development of multicore programs. It will also lead to better understanding of how global conditions in a multithreaded program can be evaluated efficiently. As a result, the concurrent programming systems will become more reliable and faster. In addition, the graduate students supported by the project will be trained in fundamentals of multicore computing.
期刊论文(6)
专著(0)
科研奖励(0)
会议论文
DOI: 10.1145/3350755.3400235
发表时间: 2020
期刊: Symposium on Parallel Algorithms and Architectures
影响因子: --
作者: [Garg, Vijay K.]
通讯作者: Garg, Vijay K.
Linearizable Replicated State Machines With Lattice Agreement
具有格协议的线性化复制状态机
DOI: 10.4230/lipics.opodis.2019.29
发表时间: 2019
期刊: OPODIS 2019
影响因子: --
作者: [Zheng, Xiong, Garg, Vijay K, Kaippallimalil, John]
通讯作者: Kaippallimalil, John
Byzantine Lattice Agreement in Synchronous Message Passing Systems
同步消息传递系统中的拜占庭格协议
DOI: 10.4230/lipics.disc.2020.32
发表时间: 2020
期刊: International Symposium on Distributed Computing (DISC 2020
影响因子: --
作者: [Zheng, Xiong, Garg, Vijay]
通讯作者: Garg, Vijay
DOI: 10.4230/lipics.opodis.2019.23
发表时间: 2019
期刊: International Conference on Principles of Distributed Systems (OPODIS 2019
影响因子: --
作者: [Zheng, Xiong, Garg, Vijay K]
通讯作者: Garg, Vijay K
共 6 条
    CSR: Small: Runtime Verification of Concurrent Programs
    • 批准号:
      1812351
    • 项目类别:
      Standard Grant
    • 资助金额:
      $41.48万
    • 财政年份:
      2018
    • 负责人:
      Vijay Garg
    • 依托单位:
    EAGER: Efficient Monitor-Based Synchronization Mechanisms for Concurrent Programs
    • 批准号:
      1346245
    • 项目类别:
      Standard Grant
    • 资助金额:
      $16.5万
    • 财政年份:
      2013
    • 负责人:
      Vijay Garg
    • 依托单位:
    CSR: Small: Collaborative Research: Improving Dependability of Multithreaded Distributed Programs
    • 批准号:
      1115808
    • 项目类别:
      Standard Grant
    • 资助金额:
      $22.57万
    • 财政年份:
      2011
    • 负责人:
      Vijay Garg
    • 依托单位:
    CSR --- PDOS: Combining Replication with Erasure Coding for Efficient Fault-Tolerance
    • 批准号:
      0718990
    • 项目类别:
      Continuing Grant
    • 资助金额:
      $24.23万
    • 财政年份:
      2007
    • 负责人:
      Vijay Garg
    • 依托单位:
    海外基金