DOE Patents title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: Program structure-based blocking

Abstract

Embodiments relate to program structure-based blocking. An aspect includes receiving source code corresponding to a computer program by a compiler of a computer system. Another aspect includes determining a prefetching section in the source code by a marking module of the compiler. Yet another aspect includes performing, by a blocking module of the compiler, blocking of instructions located in the prefetching section into instruction blocks, such that the instruction blocks of the prefetching section only contain instructions that are located in the prefetching section.

Inventors:
; ; ;
Issue Date:
Research Org.:
International Business Machines Corp., Armonk, NY (United States)
Sponsoring Org.:
USDOE
OSTI Identifier:
1399244
Patent Number(s):
9772824
Application Number:
14/668,108
Assignee:
INTERNATIONAL BUSINESS MACHINES CORPORATION
Patent Classifications (CPCs):
G - PHYSICS G06 - COMPUTING G06F - ELECTRIC DIGITAL DATA PROCESSING
DOE Contract Number:  
B599858
Resource Type:
Patent
Resource Relation:
Patent File Date: 2015 Mar 25
Country of Publication:
United States
Language:
English
Subject:
97 MATHEMATICS AND COMPUTING

Citation Formats

Bertolli, Carlo, Eichenberger, Alexandre E., O'Brien, John K., and Sura, Zehra N. Program structure-based blocking. United States: N. p., 2017. Web.
Bertolli, Carlo, Eichenberger, Alexandre E., O'Brien, John K., & Sura, Zehra N. Program structure-based blocking. United States.
Bertolli, Carlo, Eichenberger, Alexandre E., O'Brien, John K., and Sura, Zehra N. Tue . "Program structure-based blocking". United States. https://www.osti.gov/servlets/purl/1399244.
@article{osti_1399244,
title = {Program structure-based blocking},
author = {Bertolli, Carlo and Eichenberger, Alexandre E. and O'Brien, John K. and Sura, Zehra N.},
abstractNote = {Embodiments relate to program structure-based blocking. An aspect includes receiving source code corresponding to a computer program by a compiler of a computer system. Another aspect includes determining a prefetching section in the source code by a marking module of the compiler. Yet another aspect includes performing, by a blocking module of the compiler, blocking of instructions located in the prefetching section into instruction blocks, such that the instruction blocks of the prefetching section only contain instructions that are located in the prefetching section.},
doi = {},
journal = {},
number = ,
volume = ,
place = {United States},
year = {2017},
month = {9}
}

Works referenced in this record:

Byte-compare operation for high-performance processor
patent, October 1996


Touch history table
patent, April 2000


Branch performance in high speed processor
patent, December 2000


Method and apparatus for multicast multiple prefetch
patent, October 2007


Method and system of memory management using stack walking
patent-application, March 2002


Method and apparatus for inserting prefetch instructions in an optimizing compiler
patent-application, May 2003


Program-directed cache prefetching for media processors
patent-application, August 2003


Signal processor, prefetch instruction method and prefetch instruction program
patent-application, September 2004


Predictively processing tasks for building software
patent-application, December 2004


Program conversion device and program conversion method
patent-application, November 2006


Prefetching Irregular Data References for Software Controlled Caches
patent-application, October 2009


Fast and Low-RAM-Footprint Indexing for Data Deduplication
patent-application, November 2011


Collision-based alternate hashing
patent-application, December 2013


Multi-core processors
patent-application, January 2014


Optimization of instruction groups across group boundaries
patent-application, January 2015


Generating and caching software code
patent-application, November 2015


Automated adaptive compiler optimization
patent-application, March 2016


Design and evaluation of a compiler algorithm for prefetching
conference, September 1992

  • Mowry, Todd C.; Lam, Monica S.; Gupta, Anoop
  • ASPLOS V Proceedings of the fifth international conference on Architectural support for programming languages and operating systems, Vol. 27, Issue 9, p. 62-73
  • https://doi.org/10.1145/143365.143488

An architecture for software-controlled data prefetching
conference, May 1991

  • Klaiber, Alexander C.; Levy, Henry M.
  • ISCA '91 Proceedings of the 18th annual international symposium on Computer architecture, Vol. 19, Issue 3, p. 43-53
  • https://doi.org/10.1145/115952.115958

Impulse: building a smarter memory controller
conference, August 2002


Prefetching and memory system behavior of the SPEC95 benchmark suite
journal, May 1997


Making pointer-based data structures cache conscious
journal, January 2000


Comparing memory systems for chip multiprocessors
conference, May 2007

  • Leverich, Jacob; Arakida, Hideho; Solomatnikov, Alex
  • ISCA '07 Proceedings of the 34th annual international symposium on Computer architecture, Vol. 35, Issue 2, p. 358-368
  • https://doi.org/10.1145/1250662.1250707