Rajiv Mirani

Learn More
Explicitly parallel functional languages typically use meta-linguistics annotations to provide control over parallel evaluation. In this paper we explore more flexible mechanisms to control when and where an expression is evaluated: first-class schedules and processors. We discuss the advantages of using first-class objects over traditional annotation-based(More)
With an increasing number of executable binaries generated by optimizing compilers today, providing a clear and correct source-level debugger for programmers to debug optimized code has become a necessity. In this paper, a new framework for debugging globally optimized code is proposed. This framework consists of a new code location mapping scheme, a data(More)
We present a new concurrency abstraction and implementation technique for high-level (symbolic) parallel languages that allows significant programmer control over load-balancing and mapping of fine-grained lightweight threads. Central to our proposal is the notion of a virtual topology. A virtual topology defines a relation over a collection of virtual(More)
  • 1