Analyzing and transforming a computer program for executing on asymmetric multiprocessing systems

a multi-processing system and computer program technology, applied in the field of data processing, can solve the problems of increasing the difficulty of providing programs that are simple to write and yet perform efficiently on complex systems, systems with hardware restrictions, and the ever decreasing time to market, and achieve the effect of increasing efficiency and the demand for efficiency

Inactive Publication Date: 2008-04-24
RGT UNIV OF MICHIGAN +1
View PDF12 Cites 170 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

[0054]An additional step of analysing the program to ensure that it can indeed be separated at these points can be helpful and al

Problems solved by technology

It is becoming increasingly difficult to provide programs that are simple to write and yet perform efficiently on complex systems.
In particular, the programming of embedded systems with their hardware restriction, demand for efficiency and the ever decreasing time to market is becoming a real problem.
Clearly such mechanisms have an overhead of area and power.
The architectures of system on chip (SoC) platforms found in high end consumer devices are getting more and more complex as designers strive to deliver compute intensive applications on ever shrinking power budgets.
Workloads running on these platforms require the exploitation of large amounts of heterogeneous parallelism and increasingly irregular memory hierarchies.
The consequence of this is that when the core functionality of an application is mapped to the platform, its logic becomes obscured by the transformations and the glue code used

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Analyzing and transforming a computer program for executing on asymmetric multiprocessing systems
  • Analyzing and transforming a computer program for executing on asymmetric multiprocessing systems
  • Analyzing and transforming a computer program for executing on asymmetric multiprocessing systems

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0066]FIG. 1a shows a flow diagram illustrating a method according to an embodiment of the present invention. A first step is performed in which a portion of a computer program comprising a list of sequential instructions and a program separation indicator indicating a point where the sequential instructions may be divided to form separate sections that are capable of being separately executed is analysed. The analysis determines if the sequential instructions can be split at the point indicated by the separation indicator into separate sections that can be processed on different execution mechanisms. If it determines it can the sequential instructions are divided into the separate sections at the point indicated by the program separation indicator. If it determines they cannot be separated at this point then a warning is output to the programmer to indicate an error in the program.

[0067]FIG. 1b illustrates an alternative embodiment in which rather than outputting a warning if the p...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

No PUM Login to view more

Abstract

A method is disclosed for transforming a portion of a computer program comprising a list of sequential instructions comprising control code and data processing code and a program separation indicator indicating a point where said sequential instructions may be divided to form separate sections that are capable of being separately executed and that each comprise different data processing code. The m method comprises the steps of: (i) analysing said portion of said program to determine if said sequential instructions can be divided at said point indicated by said program separation indicator and in response to determining that it can: (iia) providing data communication between said separate sections indicated by said program separation indicator, such that said separate sections can be decoupled from each other, such that at least one of said sections is capable of being separately executed by an execution mechanism that is separate from an execution mechanism executing another of said separate sections, said at least one of said sections being capable of generating data and communicating said data to at least one other of said separate sections; and in response to determining it can not: (iib) not performing step (iia). If step (iia) is not performed then a warning may be output, or the program may be amended so it can be separated at that point, or the program separation indicator may be removed and the sections that were to be separated merged.

Description

[0001]This application claims the benefit of U.S. Provisional Application No. 60 / 853,756, filed Oct. 24, 2006, the entire content of which is hereby incorporated by reference in this application.BACKGROUND OF THE INVENTION[0002]1. Field of the Invention[0003]The field of the invention relates to data processing and in particular to improving the performance of program execution.[0004]2. Description of the Prior Art[0005]It is becoming increasingly difficult to provide programs that are simple to write and yet perform efficiently on complex systems. Such complex systems may comprise a number of different processing or execution units and they may be heterogeneous or asymmetric, with specialised processing units being used to increase energy efficiency and lower gate count. In particular, the programming of embedded systems with their hardware restriction, demand for efficiency and the ever decreasing time to market is becoming a real problem.[0006]It is known in high level computing ...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Application Information

Patent Timeline
no application Login to view more
IPC IPC(8): G06F9/38
CPCG06F11/3636G06F11/362G06F11/36G06F11/3466G06F11/28G06F11/22
Inventor REID, ALASTAIR DAVIDFORD, SIMON ANDREWLIN, YUAN
Owner RGT UNIV OF MICHIGAN
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products