Mark Heinrich

 

Associate Professor

Computer Science

 

Mailing Address: 

CS Department, University of Central Florida

4000 Central Florida Blvd.

Orlando, FL 32816-2362

 

Email: heinrich @ cs.ucf.edu

Office: HEC 433

Phone: (407) 882-0138

Research Interests

Parallel computer architecture, heteroegenous architectures, active memory and I/O systems, scalable cache coherence protocols, multiprocessor simulation methodology, hardware/software co-design, and scalable web services.

Bio

I am currently an Associate Professor in Computer Science at UCF. After the creation of the School of EECS in 2005, I served as its Associate Director from 2005-2007. Before the merge I was Director of the School of Computer Science from April to September, 2005. I came to UCF as an Associate Professor in January, 2003.  Prior to that, I was an Assistant Professor in the School of Electrical and Computer Engineering at Cornell University, a co-founder of its Computer Systems Laboratory, and a member of the Intelligent Information Systems Institute.  I received my Ph.D. in Electrical Engineering from Stanford University under John Hennessy in 1998 where I was a principal designer of the FLASH multiprocessor; the author of FlashLite, the system-level simulator of the FLASH machine; and the designer of four cache coherence protocols for FLASH (bitvector/coarsevector, dynamic pointer allocation, SCI, and a simple two-bit protocol. I received my Bachelor of Science in Electrical Engineering and Computer Science from Duke University in 1991. I was co-founder and CTO of Phanfare, Inc., an archival photo and video hosting service, now part of Carbonite. I was also the co-founder and Chief Architect of Flashbase, Inc. an Internet company specializing in automated sweepstakes and database-backed forms and tools for customer acquisition. Flashbase was acquired by DoubleClick in 2000.

Oh, I am a HUGE sports fan. I am also a huge history buff and have visited the grave of every US President.

Teaching

Fall 2017:
COP 4934  CS Senior Design I  MW 12:00-1:30  Room: ENG2 102
COP 4935  CS Senior Design II  MW 1:30-2:45  Room: CB2 105
Office Hours: MW 3:00-5:00pm   Room: HEC 433

Publications

Loundy, K., Schaefer, L., Foran, A., Ninah, C. et al., "A Distributed Simulation of a Martian Fuel Production Facility," SAE Technical Paper 2017-01-2022, 2017, doi:10.4271/2017-01-2022. (PDF)

D. D. Kalamkar, M. Chaudhuri, and M. Heinrich. Simplifying Active Memory Clusters by Leveraging Directory Protocol Threads. IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), April 2007. (PDF)

M.Chaudhuri and M. Heinrich.  "Integrated Memory Controllers with Parallel Coherence Streams". IEEE Transactions on Parallel and Distributed Systems (TPDS)), 18(8):1159-1173, August 2007. (PDF)

M.Chaudhuri and M. Heinrich.  "Exploring Virtual Network Selection Algorithms in DSM Cache Coherence Protocols". IEEE Transactions on Parallel and Distributed Systems (TPDS)), 15(8):699-712, August 2004.  (PDF)

M.Chaudhuri and M. Heinrich.  "SMTp: An Architecture for Next-generation Scalable Multi-threading". In Proceedings of the 31st International Symposium on Computer Architecture (ISCA)), pages 124-135, June 2004.  (PDF)

D. Kim, M.Chaudhuri, M. Heinrich, and E. Speight.  "Architectural Support for Uniprocessor and Multiprocessor Active Memory Systems". IEEE Transactions on Computers, 53(3):288-307, March 2004.  (PDF)

M. Chaudhuri, and M. Heinrich. "The Impact of Negative Acknowledgments in Shared Memory Scientific Applications".   IEEE Transactions on Parallel and Distributed Systems (TPDS), 15(2):134-150, February 2004.  (PDF)

M. Hao and M. Heinrich.  "Exploiting Active CMP-based Devices in System Area Networks ". 3rd Workshop on System Area Networks (SAN-3), held in conjunction with HPCA, February 2004.  (PDF)

M. Chaudhuri, M. Heinrich, C. Holt, et al. "Latency, Occupancy, and Bandwidth in DSM Multiprocessors: A Performance Evaluation". IEEE Transactions on Computers, 52(7):862-880, July 2003.  (PDF)

M. Heinrich and M. Chaudhuri. "Ocean Warning: Avoid Drowning". ACM SIGARCH Computer Architecture News, 31(3):30-32, June 2003.  (PDF)

D. Kim, M. Chaudhuri, and M. Heinrich. "Active Memory Techniques for ccNUMA Multiprocessors".   In Proceedings of the 17th International Parallel and Distributed Processing Symposium (IPDPS)), April 2003.  (PDF)

M. Hao and M. Heinrich. "Active I/O Switches in System Area Networks".   In Proceedings of the 9th International Symposium on High-Performance Computer Architecture (HPCA), pages 365-376, February 2003.  (PDF)

D. Kim, M. Chaudhuri, and M. Heinrich. "Leveraging Cache Coherence in Active Memory Systems".   In Proceedings of the 16th International Conference on Supercomputing (ICS), pages 2-13, June 2002.  (PDF)

M. Chaudhuri, D. Kim, and M. Heinrich. "Cache Coherence Protocol Design for Active Memory Systems". In Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA), pages 83-89, June 2002.  (PDF)

M. Heinrich, E. Speight, and M. Chaudhuri. "Active Memory Clusters: Efficient Multiprocessing on Commodity Clusters". In Proceedings of the Fourth International Symposium on High-Performance Computing (ISHPC), Lecture Notes in Computer Science, vol. 2327, Springer-Verlag, pages 78-92, May 2002.  (PDF)

M. Heinrich and E. Speight. "Providing Hardware DSM Performance at Software DSM Cost". Cornell Computer Systems Lab Technical Report CSL-TR-2000-1008, November 2000  (PDF)

J. Gibson, R. Kunz, D. Ofelt, M. Horowitz, J. Hennessy, and M. Heinrich. "FLASH vs. (Simulated) FLASH: Closing the Simulation Loop". In Proceedings of the 9th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 49-58, November 2000  (PDF)

A. Chou, B. Chelf, D. Engler, and M. Heinrich. "Using Meta-Level Compilation to Check FLASH Protocol Code". In Proceedings of the 9th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 59-70, November 2000  (PDF)

R. Manohar and M. Heinrich. "A Case For Asynchronous Active Memories". ISCA 2000 Solving the Memory Wall Problem Workshop, June 2000   (PDF)

R. Manohar and M. Heinrich. "The Branch Processor Architecture". Cornell Computer Systems Lab Technical Report CSL-TR-1999-1000, November 1999  (PDF)

J. Hennessy, A. Gupta, and M. Heinrich, "Cache-Coherent Distributed Shared Memory: Perspectives on Its Development and Future Challenges". Proceedings of the IEEE, 87(3):418-429, Special Issue on Distributed Shared Memory, March 1999  (PDF)

M. Heinrich, R. Soundararajan, J. Hennessy, and A. Gupta, "A Quantitatitve Analysis of the Performance and Scalability of Distributed Shared Memory Cache Coherence Protocols". IEEE Transactions on Computers, 48(2):205-217, Special Issue on Cache Memory and Related Problems, February 1999  (PDF)

M. Heinrich, "The Performance and Scalability of Distributed Shared Memory Cache Coherence Protocols". Ph.D. Dissertation, Stanford University, October 1998. (PDF)

R. Soundararajan, M. Heinrich, B. Verghese, et al. "Flexible Use of Memory for Replication/Migration in Cache-Coherent DSM Multiprocessors". In Proceedings of the 25th International Symposium on Computer Architecture (ISCA), pages 342-355, June 1998.  (PDF)

K. Olukotun, M. Heinrich, and D. Ofelt, "Digital System Simulation: Methodologies and Examples". In Proceedings of the 35th Design Automation Conference (DAC), pages 658-663, June 1998  (PDF)

M. Heinrich, D. Ofelt, M. Horowitz, and J. Hennessy, "Hardware/Software Codesign of the Stanford FLASH Multiprocessor". In Proceedings of the IEEE Special Issue on Hardware/Software Co-design, Vol. 85, No. 3, March 1997   (PDF)

M. Martonosi, D. Ofelt, and M. Heinrich, "Integrating Performance Monitoring and Communication in Parallel Computers". In ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, pp. 138-147, May 1996   (PDF)

J. Hennessy and M. Heinrich, "Hardware/Software Co-Design of Processors: Concepts and Examples". In Hardware/Software Co-design, edited by G. de Micheli and M. Sami, Dordecht; Boston: Kluwer Academic Publishers, c. 1996   (PDF)

C. Holt, M. Heinrich, J.P. Singh, et al., "The Effects of Latency, Occupancy, and Bandwidth in Distributed Shared Memory Multiprocessors". Stanford University Technical Report CSL-TR-95-660, January 1995   (PDF)

M. Heinrich, J. Kuskin, D. Ofelt, et al., "The Performance Impact of Flexibility in the Stanford FLASH Multiprocessor". In Proceedings of the 6th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 274-285, 1994   (PDF)

J. Kuskin, D. Ofelt, M. Heinrich, et al., "The Stanford FLASH Multiprocessor". In Proceedings of the 21st International Symposium on Computer Architecture (ISCA), pages 302-313, April 1994   (PDF)   
Reprinted in Selected Papers from 25 Years of ISCA, pages 485-496, August 1998.

Academic Genealogy

John Hennessy, Ph.D. 1977, SUNY Stony Brook
Dick Kieburtz, Ph.D. 1961, U. Washington
Akira Ishimaru, Ph.D. 1958, U. Washington
Gedaliah Held, Ph.D. 1954, U.C. Berkeley
Samuel Silver, Ph.D. 1940, MIT
John Slater, Ph.D. 1923, Harvard
Percy Bridgman, Ph.D. 1908, Harvard
Wallace Sabine, A.M. 1888, Harvard
John Trowbridge, S.D. 1873, Harvard
Joseph Lovering, A.B. 1833, Harvard
Benjamin Peirce, A.B. 1829, Harvard
Nathaniel Bowditch, M.A. 1802 (Honorary), Harvard