课题基金 / 基金详情

EAGER: Efficient Monitor-Based Synchronization Mechanisms for Concurrent Programs

EAGER: Efficient Monitor-Based Synchronization Mechanisms for Concurrent Programs
EAGER:基于监视器的高效并发程序同步机制
批准号:
1346245
负责人:
Vijay Garg
金额:
$16.5万
依托单位国家:
美国
项目类别:
Standard Grant
财政年份:
2013
资助国家:
美国
项目状态:
已结题
起止时间:
2013-09-01 至 2016-08-31

项目摘要

项目成果

Vijay Garg的其他基金

相似基金

相关文献

中文摘要
翻译
多核处理器编程是一项具有挑战性的任务,因为并发性和同步性会导致错误。造成这种困难的一个根本原因是,当前的编程机制要求程序员手动协调在这些系统上运行的线程之间的同步。因此,并发系统很容易由于错误同步问题(例如线程的丢失、错误或丢失通知)而产生bug。此外,在测试期间很难发现这些bug,因为它们可能只在很少的事件安排中出现。当前的编程机制还限制线程中的并发数量,以确保共享变量不会被多个线程更新。因此,许多并发系统由于访问共享变量的顺序瓶颈而变慢。预计该项目将从根本上改变同步机制(如监视器)的编写和实现方式。它将引导我们更好地理解如何有效地评估多线程程序中的条件。因此,并发编程系统将变得更加可靠和快速。由于所有新系统都是基于并发程序的,因此预计对社会的影响将是巨大的。该项目正在开发新的同步机制,有两个基本目标。第一个目标是使同步对程序员来说尽可能简单和直观。当前(基于监视器的)同步机制要求程序员显式地向可能在某些条件下等待的线程发出信号。在本项目开发的同步机制中,没有条件变量的概念,运行时系统负责自动向适当的线程发出信号。与Java中的自动垃圾收集类似,该项目正在设计有效的自动信令算法和技术。该项目正在研究处理公平性和利用运行时信息(如空闲核心)的技术,以实现有效和高效的自动信令。第二个目标是增加monitor实现中的并发性,而不要求程序员做任何额外的工作,也不违反监视器提供的保证,即其方法的执行相当于监视器中任何时候最多有一个线程。这个项目也有很强的教育成分。同步是计算机科学教育中的一个基本主题,在所有操作系统课程中都有讲授。通过从这些课程中消除手动信号,学生将有更多的时间专注于更高级别的并发编程问题。
英文摘要
Programming multicore processors is a challenging task due to bugs resultingfrom concurrency and synchronization. A fundamental reason for the difficultyis that current programming mechanisms require programmers to manuallycoordinate synchronization between threads running on these systems.Consequently, concurrent systems are prone to bugs due to faultysynchronization problems such as missing, wrong, or lost notifications forthreads. Moreover, these bugs are hard to find during testing because they mayappear only under a rare schedule of events. Current programming mechanismsalso limit the amount of concurrency in threads to ensure that a sharedvariable is not updated by multiple threads. As a result, many concurrentsystems slow down due to sequential bottleneck of accessing shared variables.This project is expected to fundamentally change the way synchronizationmechanisms (such as monitors) are written and implemented. It will lead tobetter understanding of how conditions in a multithreaded program can beevaluated efficiently. As a result, the concurrent programming systems willbecome more reliable and faster. The impact on society is expected to be largebecause all new systems are based on concurrent programs.The project is developing new synchronization mechanisms with two fundamentalgoals. The first goal is to make synchronization as simple and intuitive aspossible for programmers. Current (monitor based) synchronizationmechanisms require programmers to explicitly signal threads that may be waitingon certain conditions. In the synchronization mechanism developed in thisproject, there is no notion of condition variables and it is the responsibilityof the runtime system to automatically signal appropriate threads. Analogousto automatic garbage collection in Java, the project is designing efficientalgorithms and techniques for automatic signaling. The project isinvestigating techniques to deal with fairness and exploitation of runtimeinformation such as idle cores for effective and efficient automatic signaling.The second goal is to increase the concurrency in implementation of monitorwithout requiring programmers to do any additional work and without violatingthe guarantee provided by the monitor that execution of its methods isequivalent to one in which there is at most one thread in the monitor at anytime. There is also a strong educational component for this project. Synchronization is a fundamental topicin computer science education and is taught in all operating system courses. Byeliminating manual signaling from these courses, students would get more timeto focus on higher level concurrent programming concerns.
期刊论文(0)
专著(0)
科研奖励(0)
会议论文
CSR: Small: Runtime Verification of Concurrent Programs
  • 批准号:
    1812351
  • 项目类别:
    Standard Grant
  • 资助金额:
    $41.48万
  • 财政年份:
    2018
  • 负责人:
    Vijay Garg
  • 依托单位:
CSR: Medium: A Smart Runtime System for Parallel Programming
  • 批准号:
    1563544
  • 项目类别:
    Continuing Grant
  • 资助金额:
    $50.98万
  • 财政年份:
    2016
  • 负责人:
    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
  • 依托单位:
海外基金