$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

Method and apparatus for profile-based reordering of program portions in a computer program 원문보기

IPC분류정보
국가/구분 United States(US) Patent 등록
국제특허분류(IPC7판)
  • G06F-094/45
  • G06F-009/45
출원번호 US-0814527 (1997-03-10)
발명자 / 주소
  • Bortnikov Vita,ILX
  • Mendelson Bilha,ILX
  • Novick Mark,ILX
  • Schmidt William Jon
  • Shavit-Lottem Inbal,ILX
출원인 / 주소
  • International Business Machines Coporation
대리인 / 주소
    Martin & Associates, L.L.C.Martin
인용정보 피인용 횟수 : 81  인용 특허 : 29

초록

An apparatus and several methods provide for a more optimized computer program that will have a faster execution time than was possible using the prior art reordering technique that adds to a trace until it finds no more predecessors or successors to add. The apparatus and methods disclosed herein u

대표청구항

[ We claim:] [4.] A method for improving execution speed of a computer program on a computer apparatus by reordering a plurality of program portions in a computer program, the method comprising the step of:constructing a plurality of traces, each trace comprising at least one of the plurality of por

이 특허에 인용된 특허 (29)

  1. Adams Steven E. (Acton MA), Binary image performance evaluation tool.
  2. Morrison Gordon E. (Denver CO) Brooks Christopher B. (Boulder CO) Gluck Frederick G. (Boulder CO), Computer with instructions that use an address field to select among multiple condition code registers.
  3. Blainey Robert James,CAX ; Donawa Christopher Michael,CAX ; McInnes James Lawrence,CAX, Connectivity based program partitioning.
  4. Evans Wayne O. (Rochester MN), Dynamically adaptive environment for computer programs.
  5. Papadopoulos Gregory M. (Arlington MA), Efficient data processor instrumentation for systematic program debugging and development.
  6. Blainey Robert James,CAX ; Donawa Christopher Michael,CAX ; McInnes James Lawrence,CAX, Improving memory layout based on connectivity considerations.
  7. Mahadevan Uma ; Shah Lacky, Intelligent loop unrolling.
  8. Saito Takashi (Kanagawa JPX) Fujiwara Hideyuki (Kanagawa JPX) Kubo Kenji (Kanagawa JPX), Loop control apparatus.
  9. Steinmetz Peter Jerome ; Smith Ann C., Mechanism for integrating user-defined instructions with compiler-generated instructions and for optimizing the integr.
  10. Odnert Daryl (Boulder Creek CA) Santhanam Vatsa (Sunnyvale CA), Method and apparatus for compiling computer programs with interprocedural register allocation.
  11. Odnert Daryl (Boulder Creek CA) Santhanam Vatsa (Sunnyvale CA), Method and apparatus for compiling computer programs with interproceduural register allocation.
  12. Hastings Reed (La Honda CA), Method and apparatus for modifying relocatable object code files and monitoring programs.
  13. Christensen James E. (Peekskill NY) Christopher ; Jr. Kenneth W. (Lighthouse Point FL) Cohen Marc L. (Boca Raton FL) Giangarra Paul G. (Boca Raton FL), Method and apparatus for software application evaluation utilizing compiler applications.
  14. Shapiro Benjamin V. (4 Fairfield Ave. West Caldwell NJ 07006), Method and apparatus for the automatic analysis of computer software.
  15. Powell Douglas B. (San Francisco CA), Method for deriving optimal code schedule sequences from synchronous dataflow graphs.
  16. Hastings Reed (La Honda CA), Method for inserting new machine instructions into preexisting machine code to monitor preexisting machine access to mem.
  17. Pettis Karl W. (San Jose CA) Hansen Robert C. (Santa Clara CA), Method for optimizing computer code to provide more efficient execution on computers having cache memories.
  18. Loatman Robert B. (Vienna VA) Post Stephen D. (McLean VA) Yang Chih-King (Rockville MD) Hermansen John C. (Catharpin VA), Natural language understanding system.
  19. Keller Thomas W. (Austin TX) Urquhart Robert J. (Austin TX), Non-invasive trace-driven system and method for computer system profiling.
  20. Morrison Gordon E. (Denver CO) Brooks Christopher B. (Boulder CO) Gluck Frederick G. (Boulder CO), Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructi.
  21. Morrison Gordon E. (Denver CO) Brooks Christopher B. (Boulder CO) Gluck Frederick G. (Boulder CO), Parallel processor system for processing natural concurrencies and method therefor.
  22. White John W. (Dallas TX), Portable and dynamic distributed applications architecture.
  23. Heisch Randall Ray (Austin TX), Profile-based optimizing postprocessors for data references.
  24. Kuzara Eric J. (Colorado Springs CO) Blasciak Andrew J. (Colorado Springs CO) Parets Greg S. (Loveland CO), System for analyzing and debugging embedded software through dynamic and interactive use of code markers.
  25. Sokolow Stephen A. (Menlo Park CA) Steiner Urs (Sunnyvale CA) Lewis John R. (Sunnyvale CA), System for controlling instrument using a levels data structure and concurrently running compiler task and operator task.
  26. Hastings Reed (La Honda CA), System for modifying relocatable object code files to monitor accesses to dynamically allocated memory.
  27. Srivastava Amitabh (Menlo Park CA) Eustace Robert A. (Redwood City CA), System for monitoring computer system performance.
  28. Blasciak Andrew (Colorado Springs CO) Parets Greg (Loveland CO), System of debugging software through use of code markers inserted into spaces in the source code during and after compil.
  29. Burke Michael G. (Yonkers NY) Carini Paul R. (Sherman CT) Choi Jong-Deok (Mount Kisco NY), Using program call graphs to determine the maximum fixed point solution of interprocedural bidirectional data flow probl.

이 특허를 인용한 특허 (81)

  1. DeWitt, Jr., Jimmie E.; Levine, Frank E.; Richardson, Christopher M.; Urquhart, Robert J., Autonomic hardware assist for patching code.
  2. DeWitt, Jr.,Jimmie Earl; Levine,Frank Eliot; Richardson,Christopher Michael; Urquhart,Robert John, Autonomic method and apparatus for counting branch instructions to generate branch statistics meant to improve branch predictions.
  3. DeWitt, Jr., Jimmie Earl; Levine, Frank Eliot; Richardson, Christopher Michael; Urquhart, Robert John, Autonomic method and apparatus for hardware assist for patching code.
  4. DeWitt, Jr.,Jimmie Earl; Levine,Frank Eliot; Richardson,Christopher Michael; Urquhart,Robert John, Autonomic method and apparatus for hardware assist for patching code.
  5. DeWitt, Jr.,Jimmie Earl; Levine,Frank Eliot; Richardson,Christopher Michael; Urquhart,Robert John, Autonomic method and apparatus for local program code reorganization using branch count per instruction hardware.
  6. Dimpsey, Robert T.; Levine, Frank E.; Urquhart, Robert J., Autonomic test case feedback using hardware assistance for data coverage.
  7. Richins, Grant A., Block count based procedure layout and splitting.
  8. Koseki, Akira; Momose, Hiroyuki; Kawahito, Motohiro; Komatsu, Hideaki, Compiler.
  9. Barritz, Robert; Cohen, Gerald, Computer program profiler.
  10. Mora Pamela S. ; Barlow Bruce E. ; Limerick Sydney R. ; Kennett Jackie R. ; Beede Bruce R., Computer-aided project notebook.
  11. Mykland, Robert Keith, Configurable circuit array.
  12. Benitez Manuel E. ; Mattson ; Jr. James S. ; Buzbee William B. ; Shah Lacky V., Control path evaluating trace designator with dynamically adjustable thresholds for activation of tracing for high (hot) activity and low (cold) activity of flow control.
  13. DeWitt, Jr., Jimmie Earl; Levine, Frank Eliot; Richardson, Christopher Michael; Urquhart, Robert John, Counting instruction and memory location ranges.
  14. DeWitt, Jr., Jimmie Earl; Levine, Frank Eliot; Pineda, Enio Manuel; Richardson, Christopher Michael; Urquhart, Robert John, Counting instruction execution and data accesses.
  15. McFarlane, Roger Delano Paul; Hamilton, Christopher Howard; Dingle, Eric; Ásgeirsson, Sigurôur Eggert, Derive size contribution of features.
  16. Mendelson, Bilha; Peleg, Nitzan, Detecting change in program behavior for adaptive code optimization.
  17. Haber,Gad; Klausner,Moshe; Eisenberg,Vadim, Eliminating cold register store/restores within hot function prolog/epilogs.
  18. Haber,Gad; Klausner,Moshe; Eisenberg,Vadim, Eliminating store/restores within hot function prolog/epilogs using volatile registers.
  19. Kwiatkowski, Paul; Richter, David; Aitken, William; Dickens, Brian; Simonyi, Charles; Paramasivam, Muthukrishnan; Eisner, Steve; Samaragdakis, Ioannis, Extensible compiler utilizing a plurality of question handlers.
  20. Wei C. Hsu ; Manuel Benitez, Hardware system for fetching mapped branch target instructions of optimized code placed into a trace memory.
  21. Wei C. Hsu ; Manuel Benitez, Hardware/software system for instruction profiling and trace selection using branch history information for branch predictions.
  22. Hsu, Wei C.; Benitez, Manuel, Hardware/software system for profiling instructions and selecting a trace using branch history information for branch predictions.
  23. Eaton, John Richard; Hughes, Kevin, Instruction execution mechanism.
  24. Hughes, Kevin; Pixton, Martin, Instruction execution mechanism.
  25. de Jong,Eduard, Linking of virtual methods.
  26. Dimpsey,Robert Tod; Levine,Frank Eliot; Urquhart,Robert John, Method and apparatus for autonomic test case feedback using hardware assistance for code coverage.
  27. Dimpsey,Robert Tod; Levine,Frank Eliot; Urquhart,Robert John, Method and apparatus for autonomic test case feedback using hardware assistance for data coverage.
  28. DeWitt, Jr., Jimmie Earl; Levine, Frank Eliot; Richardson, Christopher Michael; Urquhart, Robert John, Method and apparatus for autonomically initiating measurement of secondary metrics based on hardware counter values for primary metrics.
  29. DeWitt, Jr.,Jimmie Earl; Levine,Frank Eliot; Richardson,Christopher Michael; Urquhart,Robert John, Method and apparatus for autonomically initiating measurement of secondary metrics based on hardware counter values for primary metrics.
  30. DeWitt, Jr.,Jimmie Earl; Levine,Frank Eliot; Richardson,Christopher Michael; Urquhart,Robert John, Method and apparatus for counting instruction and memory location ranges.
  31. DeWitt, Jr.,Jimmie Earl; Levine,Frank Eliot; Pineda,Enio Manuel; Richardson,Christopher Michael; Urquhart,Robert John, Method and apparatus for counting instruction execution and data accesses.
  32. DeWitt, Jr.,Jimmie Earl; Levine,Frank Eliot; Richardson,Christopher Michael; Urquhart,Robert John, Method and apparatus for counting instruction execution and data accesses for specific types of instructions.
  33. Adolphson,John Michael; Bates,Cary Lee; Day,Paul Reuben; Halverson,Steven Gene, Method and apparatus for generating computer programming code selectively optimized for execution performance and not optimized for serviceability.
  34. Dimpsey, Robert Tod; Levine, Frank Eliot; Urquhart, Robert John, Method and apparatus for hardware assistance for prefetching a pointer to a data structure identified by a prefetch indicator.
  35. Levine, Frank Eliot; Richardson, Christopher Michael; Silha, Edward John, Method and apparatus for maintaining performance monitoring structures in a page table for use in monitoring performance of a computer program.
  36. Levine, Frank Eliot; Richardson, Christopher Michael; Silha, Edward John, Method and apparatus for maintaining performance monitoring structures in a page table for use in monitoring performance of a computer program.
  37. Schmidt,William Jon, Method and apparatus for obtaining profile data for use in optimizing computer programming code.
  38. DeWitt, Jr.,Jimmie Earl; Levine,Frank Eliot; Richardson,Christopher Michael; Urquhart,Robert John, Method and apparatus for optimizing code execution using annotated trace information having performance indicator and counter information.
  39. Musumeci, Gian-Paolo D., Method and apparatus for pre-fetching data during program execution.
  40. Dimpsey, Robert Tod; Levine, Frank Eliot; Urquhart, Robert John, Method and apparatus for prefetching data from a data structure.
  41. Dimpsey, Robert Tod; Levine, Frank Eliot; Urquhart, Robert John, Method and apparatus for prefetching data from a data structure.
  42. Dimpsey,Robert Tod; Levine,Frank Eliot; Urquhart,Robert John, Method and apparatus for providing hardware assistance for code coverage.
  43. Dimpsey,Robert Tod; Levine,Frank Eliot; Urquhart,Robert John, Method and apparatus for providing hardware assistance for data access coverage on dynamically allocated data.
  44. Mykland, Robert Keith, Method and system adapted for converting software constructs into resources for implementation by a dynamically reconfigurable processor.
  45. Mukkavilli, Lakshmankumar, Method and system for analyzing source code.
  46. DeWitt, Jr., Jimmie Earl; Levine, Frank Eliot; Richardson, Christopher Michael; Urquhart, Robert John, Method and system for autonomic execution path selection in an application.
  47. DeWitt, Jr.,Jimmie Earl; Levine,Frank Eliot; Richardson,Christopher Michael; Urquhart,Robert John, Method and system for autonomic monitoring of semaphore operation in an application.
  48. DeWitt, Jr., Jimmie E.; Levine, Frank E.; Richardson, Christopher M.; Urquhart, Robert J., Method and system for autonomic monitoring of semaphore operations in an application.
  49. Fitzgerald Robert P. ; Miller John W. ; Douceur John R., Method and system for improving the layout of a program image using clustering.
  50. Bryant, Raymond Morris; Levine, Frank Eliot, Method and system for periodic trace sampling using a mask to qualify trace data.
  51. Mykland, Robert Keith, Method of placement and routing in a reconfiguration of a dynamically reconfigurable processor.
  52. Ju Dz Ching ; Muthukumar Kalyan ; Ramaswamy Shankar ; Simons Barbara Bluestein, Method of, system for, and computer program product for providing efficient utilization of memory hierarchy through code restructuring.
  53. Ju, Dz Ching; Muthukumar, Kalyan; Ramaswamy, Shankar; Simons, Barbara Bluestein, Method of, system for, and computer program product for providing efficient utilization of memory hierarchy through code restructuring.
  54. Kawahito, Motohiro, Method, computer program and computer system for assisting in analyzing program.
  55. Peri, Ramesh; Benaissa, Zino; Doddapaneni, Srinivas, Methods and apparatus for creating software basic block layouts.
  56. Schmidt, William Jon, Obtaining profile data for use in optimizing computer programming code.
  57. Schmidt, William Jon, Obtaining profile data for use in optimizing computer programming code.
  58. de Jong,Eduard, Optimized representation of data type information in program verification.
  59. de Jong,Eduard, Ordering program data for loading on a device.
  60. DeWitt, Jr., Jimmie Earl; Levine, Frank Eliot; Richardson, Christopher Michael; Urquhart, Robert John, Qualifying collection of performance monitoring events by types of interrupt when interrupt occurs.
  61. Ayachitula, Naga Arun Kumar; Bradfield, Andrew J.; Chang, Shu-Ping; Lipscomb, James S., Quality assurance in software systems through autonomic reliability, availability and serviceability code generation.
  62. Mishra, Biplob; Vinod, Saritha, Reconstructing a high level compilable program from an instruction trace.
  63. Megiddo, Nimrod; Mendelson, Bilha, Restructuring of executable computer code and large data sets.
  64. Musumeci, Gian-Paolo D., Scheme for reordering instructions via an instruction caching mechanism.
  65. Pontius, Timothy A., Selecting a cache design for a computer system using a model with a seed cache to generate a trace.
  66. Nakai, Hiroto; Maeda, Kenichi; Kanai, Tatsunori, Semiconductor device and memory protection method.
  67. de Jong, Eduard, Signing program data payload sequence in program loading.
  68. de Jong, Eduard, Signing program data payload sequence in program loading.
  69. Schmidt, William Jon, Skip list data storage during compilation.
  70. Mykland, Robert Keith, System and method for compiling machine-executable code generated from a sequentially ordered plurality of processor instructions.
  71. Grover,Vinod Kumar, System and method for improving a working set.
  72. Mykland, Robert Keith, System and method for performing a branch object conversion to program configurable logic circuitry.
  73. Subrahmanyam,Pratap; McIntosh,Nathaniel, System and method to decrease program analysis overhead.
  74. Shiels, Pamela L.; Noble, William; Horwitz, Michael A.; Lagermeier, David, System and method to measure and report on effectiveness of software program testing.
  75. Wei C. Hsu ; Manuel Benitez, System and method using a hardware embedded run-time optimizer.
  76. de Jong,Eduard, System for communicating program data between a first device and a second device.
  77. Kumar,Sinha Navin, System, method and program product for optimising computer software by procedure cloning.
  78. Peri Ramesh V., Tracking loop entry and exit points in a compiler.
  79. Goodwin David W. ; Cohn Robert S. ; Lowney Paul G. ; Rubin Norman, User transparent mechanism for profile feedback optimization.
  80. de Jong,Eduard, Using a digital fingerprint to commit loaded data in a device.
  81. Larus James R. ; Fraser Christopher W., Whole program path profiling.
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로