×

System and method for block-based concurrentization of software code

  • US 7,346,902 B2
  • Filed: 10/22/2002
  • Issued: 03/18/2008
  • Est. Priority Date: 10/22/2002
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method, comprising:

  • automatically marking a plurality blocks of code in an application coded for sequential execution to provide a marked code, wherein said marking comprises inserting a marker at each of the blocks to suggest that block for potential concurrent execution with other parts of the code, wherein each of the markers comprises a block duration weight for estimating an execution time of the corresponding block, wherein the block duration weight indicates a predetermined approximate execution duration for the corresponding block;

    generating concurrent code from the marked code, wherein said generating comprises;

    analyzing the marked code, according to at least the corresponding block duration weight of one or more of the marked blocks, to estimate performance benefits of concurrently executing the marked blocks of code and determining which marked blocks would meet a performance benefit threshold if executed concurrently; and

    transforming two or more of the marked blocks into corresponding concurrently executable tasks, wherein one of the marked blocks is not transformed into one of the concurrently executable tasks if said analyzing indicates that the performance benefit threshold would not be met for that block; and

    scheduling two or more of the concurrently executable tasks for concurrent multi-threaded execution, wherein a thread for one of the two or more concurrently executable tasks executes concurrently with a thread for another of the two or more concurrently executable tasks corresponding to a different one of the blocks.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×