The Vortex Project


The Vortex project at the University of Maryland is investigating novel architecture and compiler support to bridge the processor-memory gap and generally improve single-thread performance on modern processors. Recent areas of research include compiler-based pre-execution, hardware mechanisms for sub-ordinate multithreading, and continuous dynamic compilation and optimization on multithreaded processors. A major theme connecting these research directions is using spare computation resources that are increasingly abundant in wide-issue and multithreaded processors to implement memory and code performance optimizations. Finally, we are also interested in the impact of these architecture and compiler innovations on emerging non-numeric applications such as databases, search engines, and stream-based computing, as well as applications written in platform-independent environments such as Java.

  • Project Details
  • People:


  • Donald Yeung
  • Chau-Wen Tseng
  • Students


  • Dongkeun Kim
  • Deepak Narendra Agarwal
  • Abdel-Hameed A. Badawy
  • Inseok Choi
  • Seungryul Choi
  • Gautham K.Dorai
  • Nick Kohout
  • Changping Li
  • Wanli Liu
  • Sumit Pamnani
  • Sujata Ramasubramanian
  • Publications:

  • Seungryul Choi and Donald Yeung. Hill-Climbing SMT Processor Resource Distribution. ACM Transactions on Computer Systems. Vol. 27, No. 1. Article 1. pp. 1-47. February 2009. (c) 2009 ACM
    (pdf, ACM digital library distribution)
  • Dongkeun Kim, Steve Shih-wei Liao, Perry H. Wang, Juan del Cuvillo, Xinmin Tian, Xiang Zou, Hong Wang, Donald Yeung, Milind Girkar, and John P. Shen. Physical Experimentation with Prefetching Helper Threads on Intel's Hyper-Threaded Processors. Proceedings of the Second Annual IEEE/ACM International Symposium on Code Generation and Optimization with Special Emphasis on Feedback-Directed and Runtime Optimization(CGO), Palo Alto, CA, March 2004. (pdf, compressed postscript)

  • Dongkeun Kim and Donald Yeung. A Study of Source-Level Compiler Algorithms for Automatic Construction of Pre-Execution Code. ACM Transactions on Computer Systems. Vol. 22, No.3. pp. 326-379. August 2004.(pdf)
  • Seungryul Choi, Nicholas Kohout, Sumit Pamnani, Dongkeun Kim, and Donald Yeung. A General Framework for Prefetch Scheduling in Linked Data Structures and its Application to Multi-Chain Prefetching. ACM Transactions on Computer Systems. Vol. 22, No. 2. pp. 214-280. May 2004. (c) 2004 ACM (pdf, compressed postscript, ACM digital library distribution)
  • Tutorial on Speculative Precomputation at PACT 2003.

  • Gautham K.Dorai, Donald Yeung and Seungryul Choi. Optimizing SMT Processors for High Single-Thread Performance. Journal of Instruction Level Paralellism (, Vol.5, 1-35, April 2003. (pdf)
  • Deepak Agarwal, Wanli Liu, and Donald Yeung. Exploiting Application-Level Information to Reduce Memory Bandwidth Consumption. Proceedings of the 4th Workshop on Complexity-Effective Design, held in conjuntion with ISCA-XXX. San Diego, CA, June 2003.
  • Abdel-Hameed A. Badawy, Aneesh Aggarwal, Donald Yeung, and Chau-Wen Tseng. The Efficacy of Software Prefetching and Locality Optimizations on Future Memory Sytems. Journal of Instruction Level Paralellism (, Vol.6, 1-35, June 2004. (pdf)
  • ACM permission notice:
    The documents contained in these directories are included by the contributing authors as a means to ensure timely dissemination of scholarly and technical work on a non-commercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.

    ACM copyright notice:
    Copyright (c) 2000 by the Association for Computing Machinery, Inc. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Publications Dept, ACM Inc., fax +1 (212) 869-0481, or


  • The SSMT simulator: SSMT is a Simultaneous Multithreading processor simulator based on SimpleScalar. It was originally developed by Dominik Madon, and has been enhanced by our research group.
  • Funding:

  • The Vortex project is funded under NSF Career Award #CCR-0093110 to Dr. Yeung, NSF grant #CCR-0000988, an IBM Shared University Research award, and a University of Maryland junior faculty grant.
  • Last updated: February 2009 by Donald Yeung (