Description: C:\Users\Barua\Documents\umd-website\clearpixel.gif

Description: C:\Users\Barua\Documents\umd-website\clearpixel.gif

Description: C:\Users\Barua\Documents\umd-website\clearpixel.gif

Description: C:\Users\Barua\Documents\umd-website\clearpixel.gif

Description: C:\Users\Barua\Documents\umd-website\clearpixel.gif

Description: C:\Users\Barua\Documents\umd-website\clearpixel.gif

 Rajeev  Barua

Associate Professor

Description: Home

Description: Curriculum Vitae

Description: Publications

Description: Contact Info

Send Email:
barua@eng.umd.edu

ECE
UMIACS
ISR
UMCP

Description: C:\Users\Barua\Documents\umd-website\clearpixel.gif

Description: C:\Users\Barua\Documents\umd-website\clearpixel.gif

Description: C:\Users\Barua\Documents\umd-website\clearpixel.gif

Description: Publications

Refereed Journals:

 

1)     Kapil Anand and Rajeev Barua. “Instruction Cache Locking for Improving Embedded Systems Performance”. To appear in the ACM Transactions on Embedded Computing Systems (TECS) (Accepted September 2014).

2)     Aparna Kotha, Kapil Anand, Timothy Creech, Khaled ElWazeer, Matthew Smithson, Greeshma Yellareddy, and Rajeev Barua. “Affine Parallelization using Dependence and Cache analysis in a Binary Rewriter”. To appear in the IEEE Transactions on Parallel and Distributed Systems (TPDS). (Accepted July 2014).

3)     Lazy Scheduling: A Run-Time Adaptive Scheduler for Declarative Parallelism. Alexandros Tzannes, George Caragea, Uzi Vishkin and Rajeev Barua. In ACM Transactions on Programming Languages and Systems (TOPLAS), 36(3), September 2014.

4)     Implementation and Performance Evaluation of a Distributed Conjugate Gradient Method in a Cloud Computing Environment. Leila Fayez and Rajeev Barua. In the Journal on Software: Practice and Experience (SPE), John Wiley and Sons, Ltd. February, 2012. doi: 10.1002/spe.2112.

5)     MemSafe: Ensuring the Spatial and Temporal Memory Safety of C at Runtime. Matthew Simpson and Rajeev Barua. In the Journal on Software: Practice and Experience (SPE), John Wiley and Sons, February 2012. doi: 10.1002/spe.2105

6)     Resource-Aware Compiler Prefetching for Fine-Grained Many-Cores. George Caragea, Alexandros Tzannes, Fuat Keceli, Rajeev Barua and Uzi Vishkin. In the International Journal of Parallel Programming (IJPP), 39(5), pp 615-638, Springer Netherlands, ISSN: 0885-7458, February 28, 2011.

7)     Memory Allocation for Embedded Systems with a Compile-Time-Unknown Scratch-Pad Size.
Nghi Nguyen, Angel Dominguez, and Rajeev Barua.
In ACM Transactions on Embedded Computing Systems (TECS), 8(3), pp 1-32, April 2009
.

8)     MTSS: Multi Task Stack Sharing for Embedded Systems
Bhuvan Middha, Matthew Simpson and Rajeev Barua
In ACM Transactions on Embedded Computing Systems (TECS), 7(4), Article 46, pp 1-37, July 2008.

9)     Memory Overflow Protection for Embedded Systems using Run-time Checks, Reuse and Compression.
by Surupa Biswas, Thomas Carley, Matthew Simpson, Bhuvan Middha and Rajeev Barua.
In ACM Transactions on Embedded Computing Systems (TECS), 5(4), pp 719 - 752, Nov 2006.

10) Dynamic Allocation for Scratch-Pad Memory using Compile-Time Decisions.
by Sumesh Udayakumaran, Angel Dominguez and Rajeev Barua.
In ACM Transactions on Embedded Computing Systems (TECS), 5(2), pp 472-511, May 2006.

11) Heap Data Allocation to Scratch-Pad Memory in Embedded Systems.
by Angel Dominguez, Sumesh Udayakumaran and Rajeev Barua.
In Journal of Embedded Computing, Vol 1, Number 4, pp 521-540, 2005, IOS Press, Amsterdam, The Netherlands.

12) Reducing Code Size in VLIW Instruction Scheduling.
by Steve Haga, Yi Zhang, Andrew Webber and Rajeev Barua.
In Journal of Embedded Computing, Volume 1, Number 3, 2005, IOS Press, Amsterdam, The Netherlands.

13) Dynamic Functional Unit Assignment for Low Power
by Steve Haga, Natasha Reeves, Rajeev Barua and Diana Marculescu.

In Journal of Supercomputing, 31(1), pp 47-62, Kluwer Academic Publishers, January 2005.

14) Execution History Guided Instruction Prefetching
by Zhang Yi, Steve Haga and Rajeev Barua.  
In
Journal of Supercomputing, 27(2), pp 129-147, February 2004.  Kluwer Academic Publishers.

15) An Optimal Memory Allocation Scheme for Scratch-Pad Based Embedded Systems
by O. Avissar, R. Barua and D. Stewart.
In ACM Transactions on Embedded Computing Systems (TECS), 1(1), pp. 6-26, November 2002.

16) Compiler Support for Scalable and Efficient Memory Systems,  R. Barua, W. Lee, S. Amarasinghe and A. Agarwal. IEEE Transactions on Computers, Special Issue on Memory Systems, Nov 2001.

17) Baring it all to the software. 
by Elliot Waingold, Michael Taylor, Vivek Sarkar, Walter Lee, Victor Lee, Jang Kim, Matthew Frank, Peter Finch, Srikrishna Devabhaktuni, Rajeev Barua, Jonathan Babb, Saman Amarasinghe, and Anant Agarwal 
IEEE Computer, September 1997, pp. 86-93. 

 

Refereed Conferences: 

1)     Kyungjin Yoo and Rajeev Barua. “Recovery of Object Oriented Features from C++

Binaries.” In Proceedings of the 21st Asia-Pacific Software Engineering Conference (APSEC), Jeju, Korea, December 1-4, 2014.

2)     Aroon Sharma, Rajeev Barua, Michael Ferguson, Darren Smith, and Joshua Koehler. “Affine Loop Optimization Based On Modulo Unrolling in Chapel.” In Proceedings of the 8th ACM International Conference on Partitioned Global Address Space Programming Models (PGAS), Eugene, Oregon, October 7-10, 2014.

3)     Aparna Kotha, Kapil Anand, Timothy Creech, Khaled Elwazeer, Matthew Smithson and Rajeev Barua. “Affine Parallelization of Loops with Run-time Dependent Bounds from Binaries.” In Proceedings of the 23rd ETAPS European Symposium on Programming (ESOP), Grenoble, France, April 7-11, 2014.

4)     Timothy Creech, Aparna Kotha, and Rajeev Barua. “Efficient Multiprogramming for Multicores with SCAF.” In Proceedings of the 46th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO), Davis, California, December 7-11, 2013.

5)     Matthew Smithson, Khaled Elwazeer,  Kapil Anand, Aparna Kotha, and Rajeev Barua. “Static Binary Rewriting without Supplemental Information : Overcoming the tradeoff between coverage and correctness.” In Proceedings of the 20th Working Conference on Reverse Engineering (WCRE), Koblenz, Germany, October 14-17, 2013.

6)     Kapil Anand, Khaled Elwazeer, Aparna Kotha, Matthew Smithson, Rajeev Barua and Angelos Keromytis. “An Accurate Stack Memory Abstraction and Symbolic Analysis Framework for Executables.” In Proceedings of the 29th International Conference on Software Maintenance (ICSM '13).

7)     Khaled ElWazeer, Kapil Anand, Aparna Kotha, Matt Smithson, and Rajeev Barua, "Scalable Variable and Data Type Detection in a Binary Rewriter." In Proceedings of the 34th ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI), 2013.

8)     Kapil Anand, Aparna Kotha, Khaled ElWazeer, Matt Smithson, Jim Gruen, Nathan Giles, and Rajeev Barua, "A compiler-level intermediate representation based binary analysis and rewriting system," In Proceedings of the 8th European Conference on Computer Systems (Eurosys), 2013.

9)     Improving Run-Time Scheduling for General-Purpose Parallel Code. Alexandros Tzannes, Rajeev Barua, and Uzi Vishkin. In Proceedings of the 2011 International Conference on Parallel Architectures and Compilation Techniques (PACT '11). IEEE Computer Society, Washington, DC.

(Won best paper among ACM conducted Student research competition at PACT.)

10)  Retrofitting Security in COTS Software with Binary Rewriting. by Padraig O'Sullivan, Kapil Anand, Aparna Kotha, Matthew Smithson, Rajeev Barua and Angelos D. Keromytis.  Proceedings of the 26th IFIP International Information Security Conference (IFIP SEC). June 7-9, 2011, Lucerne, Switzerland. (12 pages)

11) Toolchain for Programming, Simulating and Studying the XMT Many-Core Architecture. by Fuat Keceli, Alexandros Tzannes, George C. Caragea, Rajeev Barua, Uzi Vishkin.  Proceedings of the 16th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS), May 20, 2011. Anchorage, Alaska. (10 pages)

12) Automatic parallelization in a binary rewriter. by Aparna Kotha, Kapil Anand, Matthew Smithson, Greeshma Yellareddy, and Rajeev Barua.  Proceedings of the 43rd International ACM/IEEE symposium on Microarchitecture (MICRO). December 4-8, 2010, Atlanta, Georgia. (11 pages)

13) MemSafe: Ensuring the Spatial and Temporal Memory Safety of C at Runtime. by Matthew Simpson and Rajeev Barua. Proceedings of the 10th IEEE Working Conference on Source Code Analysis and Manipulation (SCAM). September 12–13, 2010. Timişoara, Romania. (10 pages)

14) Resource-Aware Compiler Prefetching for Many-Cores. by George Caragea, Alexandros Tzannes, Rajeev Barua and Uzi Vishkin.  Proceedings of the Ninth International Symposium on Parallel and Distributed Computing (ISPDC). July7-9, 2010. Istanbul, Turkey (8 pages)

15) Lazy Binary-Splitting: A Run-Time Adaptive Dynamic Parallel Scheduler. by Alexandros Tzannes, George Caragea, Uzi Vishkin and Rajeev Barua.  Proceedings of the 15th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming (PPoPP). January 9–14, 2010, Bangalore, India (11 pages)

16) Instruction Cache Locking inside a Binary Rewriter. by Kapil Anand and Rajeev Barua.  Proceedings of the ACM International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES), Grenoble, France, October 11-16, 2009. (10 pages)

17) Scratch-Pad Memory Allocation without Compiler Supports for Java Applications
By Nghi Nguyen, Angel Dominguez and Rajeev Barua.
In Proceedings of the ACM International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES), Salzburg, Austria, October 1-3, 2007. (10 pages)

18) Recursive Function Allocation to Scratch-Pad Memory for Embedded Systems
By Angel Dominguez, Nghi Nguyen and Rajeev Barua.
In Proceedings of the ACM International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES), Salzburg, Austria, October 1-3, 2007. (10 pages)

19) An Integrated Scratch-Pad Allocator for Affine and Non-affine Codes.
By Sumesh Udayakumaran and Rajeev Barua.
In Proceedings of International Conference on Design, Automation and Test in Europe (DATE), Munich, Germany, March 6-10, 2006. (6 pages)

20) Segment Protection for Embedded Systems Using Run-time Checks
By Matthew Simpson, Bhuvan Middha and Rajeev Barua.
Proceedings of the ACM International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES), San Francisco, CA, September 25-27, 2005.

21) Memory Allocation for Embedded Systems with a Compile-Time-Unknown Scratch-Pad Size.
By Nghi Nguyen, Angel Dominguez and Rajeev Barua.
Proceedings of the ACM International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES), San Francisco, CA, September 25-27, 2005.

22) MTSS: Multi Task Stack Sharing for Embedded Systems.
By Bhuvan Middha, Matthew Simpson and Rajeev Barua.
Proceedings of the ACM International Conference on Compilers, Architecture, and Synthesis for Embedded Systems (CASES), San Francisco, CA, September 25-27, 2005.

23) Memory Overflow Protection for Embedded Systems using Run-time Checks, Reuse and Compression
By Surupa Biswas, Matthew Simpson and Rajeev Barua.
Proceedings of the ACM International Conference on Compilers, Architecture, and Synthesis for Embedded Systems(CASES), Washington, DC, September 23-25, 2004.

24) Contention-Free Periodic Task Scheduler Medium Access Control in Wireless Sensor / Actuator Networks. 
By Tom Carley, Musa Ba, Rajeev Barua and Dave Stewart. 
Proceedings of The 24th IEEE Real-Time Systems Symposium (RTSS), Cancun, Mexico, December 3-5, 2003.

25) Compiler-Decided Dynamic Memory Allocation for Scratch-Pad Based Embedded Systems. 
By
Sumesh Udayakumaran and Rajeev Barua. 
Proceedings of the ACM International Conference on Compilers, Architecture, and Synthesis for Embedded Systems(CASES)
, San Jose, CA, October 30-November 1, 2003.

26) Dynamic Functional Unit Assignment for Low Power. 
By S. Haga, N. Reeves and R. Barua.
Proceedings of International Conference on Design, Automation and Test in Europe (DATE), Munich, Germany, March 3-7, 2003.

27) Execution History Guided Instruction Prefetching.

o   by Zhang Yi, Steve Haga and Rajeev Barua.
Proceedings of the Sixteenth ACM Int'l Conference on Supercomputing (ICS), New York City, NY, June, 2002.

28) Compiler-directed Customization of ASIP Cores.

o   by T.V.K Gupta, Roberto Ko and Rajeev Barua.
Proceedings of Tenth ACM/IEEE Int'l Symposium on Hardware/Software Codesign (CODES), Estes Park, CO, May, 2002.

29) Heterogeneous Memory Management for Embedded Systems,

o   O. Avissar, R. Barua and D. Stewart.
Proceedings of the ACM 2nd Int'l Conf. on Compilers, Architectures, and Synthesis for Embedded Systems (CASES), Atlanta, GA, November 2001.

30) Maps: A Compiler-Managed Memory System for Raw Machines,

o   by Rajeev Barua, Walter Lee, Saman Amarasinghe and Anant Agarwal. 
Proceedings of the Twenty-Sixth International Symposium on Computer Architecture (ISCA), Atlanta, GA, June, 1999. pp 4-15.

31) Memory Bank Disambiguation using Modulo Unrolling for Raw Machines,

o   by Rajeev Barua, Walter Lee, Saman Amarasinghe and Anant Agarwal. 
Proceedings of the ACM/IEEE Fifth International Conference on High-Performance Computing (HiPC), December, 1998. pp 212-220.

32) Space-Time Scheduling of Instruction-Level Parallelism on a Raw Machine,

o   by W. Lee, R. Barua, D. Srikrishna, J. Babb, V. Sarkar, and S. Amarasinghe. 
Proceedings of the Eighth International Conference on Architectural Support for Programming Languages and Operating Systems(ASPLOS), San Jose, CA, October, 1998. pp 46-57.

33) Parallelizing Applications into Silicon

o   by Jonathan Babb, Martin Rinard, Andras Moritz, Walter Lee, Matthew Frank, Rajeev Barua, and Saman Amarasinghe 
Proceedings of the IEEE Symposium on FPGAs for Custom Computing Machines '99 (FCCM '99), Napa Valley,                   CA, April 1999, pp 70-80.

(Selected among the most significant 25 papers in the first 20 years of the International IEEE Symposium on Field-Programmable Custom Computing Machines.)

34) The Raw Compiler Project,

o   by Anant Agarwal, Saman Amarasinghe, Rajeev Barua, Matthew Frank, Walter Lee, Vivek Sarkar, Devabhaktuni Srikrishna and Michael Taylor. 
Proceedings of the Second SUIF compiler workshop, Stanford, CA, August 21-23, 1997. 

35) The RAW Benchmark Suite: Computation Structures for General Purpose Computing,

o   by Jonathan Babb, Matthew Frank, Elliot Waingold, Rajeev Barua, Michael Taylor, Jang Kim, Srikrishna Devabhaktuni, Peter Finch, and Anant Agarwal 
Proceedings of the  IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM) , Napa Valley, CA, April 1997, pp 134-144.

36) The Sensitivity of Communication Mechanisms to Bandwidth and Latency,

o   by Frederic T. Chong, Rajeev Barua, Fredrik Dahlgren, John D. Kubiatowitz, and Anant Agarwal. 
Proceedings of 4th Int'l Symposium on High Performance Computer Architecture (HPCA), Las Vegas, NV, Feb 1-4, 1998. 

37) Communication-Minimal Partitioning of Parallel Loops and Data Arrays for Cache-Coherent Distributed-Memory Multiprocessors,

o   by Rajeev Barua, David Kranz and Anant Agarwal. 
Proceedings of Symposium on Languages and Compilers for Parallel Computing (LCPC), August 1996. Springer Verlag, Berlin, Germany.

Refereed Workshops: 

1)     EPIC Instruction Scheduling Based on Optimal Approaches.

o   by Steve Haga and Rajeev Barua.
1st Annual Workshop on Explicitly Parallel Instruction Computing Architectures and Compiler Technology (EPIC), Austin, TX, December, 2001.

 

Other Publications: 

 

1)     Analysis of Compression Algorithms for Program Data
by Matthew Simpson, Surupa Biswas and Rajeev Barua.
Technical report, University of Maryland, College Park, MD. August 2003.

2)     Addressing Partitioned Arrays in Distributed Memory Multiprocessors - the Software Virtual Memory Approach.

o  
Rajeev Barua, David Kranz and Anant Agarwal. 
Proceedings of the MIT Student Workshop, Wellesley, MA, July 1995. 
( two-page workshop version

 

Book Chapters:
 

1)     Optimal Tiling for Minimizing Communication in Distributed Shared-Memory Multiprocessors.

o   by Anant Agarwal, David Kranz, Rajeev Barua and Venkat Natarajan. 
Chapter 9, Compiler Optimizations for Scalable Parallel Systems -- Languages, Compilation Techniques and Runtime Systems, LNCS Series 1808, Springer-Verlag, Berlin, Germany, 2001.

2)     Dynamic Functional Unit Assignment for Low Power. 
By
S. Haga, N. Reeves and R. Barua. 
In Embedded Software for SoCs, Kluwer Academic Publishers, Dordrecht, The Netherlands, 2003.


My Theses:

1)     Maps: A Compiler-Managed Memory System for Software-Exposed Architectures.

o   by Rajeev Barua, Ph.D thesis, MIT Laboratory for Computer Science, Jan 2000.  Available as Technical Report MIT-LCS-TR-799.

2)     Global Partitioning of Parallel Loops and Data for Caches and Distributed Memory in Multiprocessors.

o   by Rajeev Barua. 
Masters Thesis, MIT Laboratory for Computer Science, May 1994. MIT-LCS-TR-630. 
Also appears in MIT student workshop, Cape Cod, July 1994. 
( two-page workshop version