Processing

Please wait...

Settings

Settings

Goto Application

1. WO2013149002 - EVENT LOGGER FOR JUST-IN-TIME STATIC TRANSLATION SYSTEM

Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

[ EN ]

Claims:

1. A method comprising:

executing a workload in a computing system having a native instruction set architecture, the workload stored in one or more banks of non-native instructions, wherein at least a portion of the workload is further included in one or more banks of native instructions and executing the workload comprises executing at least part of the workload from the one or more banks of native instructions;

determining an amount of time during execution of the workload in which the execution of the workload occurs from the one or more banks of native instructions; and

generating a log including performance statistics generated during execution of the workload, the performance statistics including the amount of time.

2. The method of claim 1, further comprising, prior to executing the workload, translating one or more of the banks of non-native instructions into the one or more banks of native instructions.

3. The method of claim 1, wherein executing the workload comprises executing at least part of the workload from the one or more banks of non-native instructions by translating instructions within the one or more banks of non-native instructions dynamically on an instruction-by-instruction basis.

4. The method of claim 3, further comprising comparing the amount of time to a second amount of time during execution of the workload in which execution of the workload occurs on the instruction-by-instruction basis.

5. The method of claim 1, wherein determining the amount of time includes capturing a time value at which execution of the workload enters a translated bank of native instructions.

6. The method of claim 5, wherein the time value is captured upon the occurrence of a bank transfer instruction.

7. The method of claim 6, wherein the bank transfer instruction is selected from a group of instructions consisting of:

a CALL instruction;

a GOTO instruction;

an LBJ instruction;

an LIJ instruction; and

an LDJ instruction.

8. The method of claim 1, further comprising determining an equivalent number of non-native instructions performed in the amount of time.

9. The method of claim 8, wherein generating a log of execution from the one or more banks comprises storing one or more statistics relating to execution of the workload, including the amount of time and the equivalent number of non-native instructions, in a text file.

10. The method of claim 1, wherein translating the one or more banks of non-native instructions occurs, for each bank, completely prior to execution of instructions within that bank.

11. The method of claim 1 , wherein generating a log from the one or more banks includes logging a number of times in which each of the one or more banks of native instructions is executed.

12. The method of claim 1, wherein generating a log from the one or more banks during execution of the workload includes storing a total execution time of the workload.

13. The method of claim 1, further comprising comparing the total execution time of the workload to a second total execution time representing execution of the entire workload by translating and executing the workload on an instruction-by-instruction basis.

14. An event logger for a just-in-time static translation system, the event logger including program instructions which, when executed on a computing system having a native instruction set architecture and upon which the just-in-time static translation system is implemented, cause that computing system to:

execute a workload stored in one or more banks of non-native instructions, wherein at least a portion of the workload is further included in one or more banks of native instructions and at least a part of the workload is capable of execution from the one or more banks of native instructions; determine an amount of time during execution of the workload in which the execution of the workload occurs from the one or more banks of native instructions; and

generate a log including performance statistics generated during execution of the workload, the performance statistics including the amount of time.

15. The event logger of claim 14, wherein the workload comprises a performance benchmark.

16. The event logger of claim 14, wherein the log comprises one or more spreadsheets.

17. The event logger of claim 14, wherein the program instructions define a data collection module.

18. A computer- storage medium having computer-executable instructions stored thereon, the computer-executable instructions including instructions written for execution on a computer having a native instruction set architecture, and wherein the computer-executable instructions, when executed, cause the computing system to perform a method comprising:

executing a workload on the computing system, the workload stored in one or more banks of non-native instructions, wherein at least a portion of the workload is further included in one or more banks of native instructions and executing the workload comprises executing at least part of the workload from the one or more banks of native instructions;

detecting one or more bank transfer instructions during execution of the

workload, thereby determining an amount of time during execution of the workload in which the execution of the workload occurs from a bank of native instructions selected from among the one or more banks of native instructions; and

generating a log including performance statistics generated during execution of the workload, the performance statistics including the amount of time.

19. The computer- storage medium of claim 18, wherein the performance statistics include a count of occurrences in which the bank of native instructions is invoked.

20. The computer- storage medium of claim 19, wherein the amount of time comprises a count of cycles executed on the computing system.