Claims
- 1. A method of improving performance in a simulator environment operable to simulate a multiprocessor platform with a program running thereon, comprising:
initializing a list of simulated processors in said simulator environment for executing said program; and suspending execution of said program on a particular simulated processor when said program is to enter an idle state on said particular simulated processor.
- 2. The method of improving performance in a simulator environment as set forth in claim 1, wherein said step of suspending execution of said program on said particular simulated processor is effectuated by executing a simulator application program interface (API) routine on said particular simulated processor.
- 3. The method of improving performance in a simulator environment as set forth in claim 1, wherein said step of suspending execution of said program on said particular simulated processor is effectuated by executing a simulator API routine on another simulated processor.
- 4. The method of improving performance in a simulator environment as set forth in claim 1, wherein said list of simulated processors is modified to indicate that said particular simulated processor is suspended.
- 5. The method of improving performance in a simulator environment as set forth in claim 4, wherein said list of processors includes an indication that said particular simulated processor is operable to be re-activated responsive to an external event.
- 6. The method of improving performance in a simulator environment as set forth in claim 5, wherein said external event comprises an interrupt.
- 7. The method of improving performance in a simulator environment as set forth in claim 1, further comprising the step of re-activating said particular simulated processor by executing a simulator API routine on another simulated processor.
- 8. The method of improving performance in a simulator environment as set forth in claim 1, wherein said idle state is operable to consume resources on a host machine on which said simulator environment is instantiated.
- 9. The method of improving performance in a simulator environment as set forth in claim 8, wherein said host machine includes at least one host processor and said simulator environment comprises a single-threaded simulator environment.
- 10. The method of improving performance in a simulator environment as set forth in claim 1, further comprising the step of continuing to execute said program on remaining simulated processors in said simulator environment.
- 11. A system for improving performance in a simulator environment operable to simulate a multiprocessor platform with a program running thereon, comprising:
means to initialize a list of simulated processors in said simulator environment for executing said program; and means for suspending execution of said program on a particular simulated processor when said program is to enter an idle state on said particular simulated processor.
- 12. The system for improving performance in a simulator environment as set forth in claim 11, wherein said means for suspending execution of said program on said particular simulated processor includes a simulator application program interface (API) routine operable to be executed on said particular simulated processor.
- 13. The system for improving performance in a simulator environment as set forth in claim 11, wherein said means for suspending execution of said program on said particular simulated processor includes a simulator API routine operable to be executed on another simulated processor.
- 14. The system for improving performance in a simulator environment as set forth in claim 11, further including means to indicate that said particular simulated processor is suspended.
- 15. The system for improving performance in a simulator environment as set forth in claim 14, further including means to indicate that said particular simulated processor is operable to be re-activated responsive to an external event.
- 16. The system for improving performance in a simulator environment as set forth in claim 15, wherein said external event comprises an interrupt.
- 17. The system for improving performance in a simulator environment as set forth in claim 11, further including means for re-activating said particular simulated processor by executing a simulator API routine on another simulated processor.
- 18. The system for improving performance in a simulator environment as set forth in claim 11, wherein said idle state is operable to consume resources on a host machine on which said simulator environment is instantiated.
- 19. The system for improving performance in a simulator environment as set forth in claim 18, wherein said host machine includes at least one host processor and said simulator environment comprises a single-threaded simulator environment.
- 20. The system for improving performance in a simulator environment as set forth in claim 11, further including means for continuing to execute said program on remaining simulated processors in said simulator environment.
- 21. A system for improving performance in a simulator environment operable to simulate a multiprocessor platform with a program running thereon, comprising:
a structure for initializing a plurality of simulated processors in said simulator environment for executing said program; and a simulator application program interface (API) routine operable to suspend execution of said program on a particular simulated processor when said program is to enter an idle state on said particular simulated processor, said API routine having at least one argument to identify said particular simulated processor and at least one argument to designate an activity status indicator associated with said particular simulated processor.
- 22. The system for improving performance in a simulator environment as set forth in claim 21, wherein said plurality of simulated processors are operable as an asymmetrical multiprocessor system.
- 23. The system for improving performance in a simulator environment as set forth in claim 21, wherein said plurality of simulated processors are operable as a loosely-coupled multiprocessor system.
- 24. The system for improving performance in a simulator environment as set forth in claim 21, wherein said plurality of simulated processors are operable as a tightly-coupled multiprocessor system.
- 25. The system for improving performance in a simulator environment as set forth in claim 21, wherein said plurality of simulated processors are operable as a symmetrical multiprocessor system.
- 26. The system for improving performance in a simulator environment as set forth in claim 21, wherein said simulator API routine is operable to be executed on said particular simulated processor.
- 27. The system for improving performance in a simulator environment as set forth in claim 21, wherein said simulator API routine is operable to be executed on another simulated processor of said plurality of simulated processors.
- 28. The system for improving performance in a simulator environment as set forth in claim 21, further including means to continue executing of said program on remaining simulated processors in said simulator environment.
- 29. A resource distribution method operable in a host machine having finite computing resources, said host machine for simulating a multiprocessor platform with a program running thereon, said method comprising:
initializing a list of simulated processors for executing said program; commencing execution of said program on said simulated processors, wherein each of said simulated processors consumes a portion of said host machine's computing resources pursuant to executing said program; and suspending execution of said program on a particular simulated processor when said program is to enter an idle state on said particular simulated processor, thereby releasing for distribution said host machine's computing resources otherwise consumed by said particular simulated processor.
- 30. The resource distribution method as set forth in claim 29, wherein said step of suspending execution of said program on said particular simulated processor is effectuated by executing a simulator application program interface (API) routine on said particular simulated processor.
- 31. The resource distribution method as set forth in claim 29, wherein said step of suspending execution of said program on said particular simulated processor is effectuated by executing a simulator API routine on another simulated processor.
- 32. The resource distribution method as set forth in claim 29, wherein said list of simulated processors is modified to indicate that said particular simulated processor is suspended.
- 33. The resource distribution method as set forth in claim 32, wherein said list of processors includes an indication that said particular simulated processor is operable to be re-activated responsive to an external event.
- 34. The resource distribution method as set forth in claim 33, wherein said external event comprises an interrupt.
CROSS-REFERENCE TO RELATED APPLICATION(S)
[0001] This application discloses subject matter related to the subject matter disclosed in the following commonly owned co-pending patent application(s): (i) “System And Method For Increasing OS Idle Loop Performance In A Simulator,” filed even date herewith, Ser. No.: ______ (Docket Number 10019986-1), in the name(s) of: Daniel Tormey, Joe Bolding and Matt Jacunski.