Distributed hardware device simulation, including: identifying a plurality of hardware components of the hardware device; providing software components simulating the functionality of each hardware component, wherein the software components are installed on compute nodes of a distributed processing
Distributed hardware device simulation, including: identifying a plurality of hardware components of the hardware device; providing software components simulating the functionality of each hardware component, wherein the software components are installed on compute nodes of a distributed processing system; receiving, in at least one of the software components, one or more messages representing an input to the hardware component; simulating the operation of the hardware component with the software component, thereby generating an output of the software component representing the output of the hardware component; and sending, from the software component to at least one other software component, one or more messages representing the output of the hardware component.
대표청구항▼
1. An apparatus for distributed hardware device simulation, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause
1. An apparatus for distributed hardware device simulation, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of: identifying a plurality of hardware components of the distributed hardware device;providing software components simulating the functionality of each hardware component, wherein each software component is installed on a distinct compute node of a plurality of compute nodes of a distributed processing system, wherein: the plurality of compute nodes are configured in a tree network topology and each compute node is assigned a unique rank, each rank uniquely identifying a compute node's location in the tree network topology for point-point data communications and for collective operations;each compute node comprises one or more computer processing cores, a computer memory, and input/output adapters, andthe compute nodes are coupled for data communications by a plurality of independent data communications networks;receiving, in a first software component installed on a first compute node, one or more messages representing an input to the hardware component corresponding to the first software component;simulating the operation of the hardware component by the first software component, thereby generating an output of the first software component representing the output of the hardware component;sending, from the first software component installed on the first compute node to at least a second software component installed on a second compute node, one or more messages representing the output of the hardware component corresponding to the first software component, wherein the one or more messages are transmitted via at least one of the plurality of independent data communications networks;simulating the operation of the hardware component by the second software component using the output of the first software component representing the output of the hardware component as an input, thereby generating an output of the second software component representing the output of the hardware component; anddetermining, from the one or more messages of the first software components, whether the corresponding hardware device as designed is valid, including verifying that the output messages do not include error messages and verifying that the output messages include output values that are within acceptable ranges. 2. The apparatus of claim 1 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of: modifying the first software component to represent a modified version of the corresponding hardware component of the hardware device;simulating the operation of the modified version of the corresponding hardware component with the modified software component, thereby generating a new output of the first software component representing the output of a modified version of the hardware component; andsending, from the modified software component to at least one other software component, one or more messages representing the new output of the modified version of the hardware component. 3. The apparatus of claim 1 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of: modifying the second software component representing a second hardware component of the hardware device;requesting, from the second software component, simulation of the hardware component corresponding to the first software component, thereby generating new inputs for the modified second software component;simulating, by the second software component, the operation of the second hardware component using the new inputs, thereby generating a new output of the modified second software component representing the output of a modified version of the second hardware component; andsending, from the modified software component to at least a third software component, one or more messages representing the new output of the second hardware component. 4. A computer program product for distributed hardware device simulation, the computer program product disposed upon a computer readable storage medium, wherein the computer readable storage medium is not a signal, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of: identifying a plurality of hardware components of the distributed hardware device;providing software components simulating the functionality of each hardware component, wherein each software component is installed on a distinct compute node of a plurality of compute nodes of a distributed processing system, wherein: the plurality of compute nodes are configured in a tree network topology and each compute node is assigned a unique rank, each rank uniquely identifying a compute node's location in the tree network topology for point-point data communications and for collective operations;each compute node comprises one or more computer processing cores, a computer memory, and input/output adapters, andthe compute nodes are coupled for data communications by a plurality of independent data communications networks;receiving, in a first software component installed on a first compute node, one or more messages representing an input to the hardware component corresponding to the first software component;simulating the operation of the hardware component by the first software component, thereby generating an output of the first software component representing the output of the hardware component;sending, from the first software component installed on the first compute node to at least a second software component installed on a second compute node, one or more messages representing the output of the hardware component corresponding to the first software component, wherein the one or more messages are transmitted via at least one of the plurality of independent data communications networks;simulating the operation of the hardware component by the second software component using the output of the first software component representing the output of the hardware component as an input, thereby generating an output of the second software component representing the output of the hardware component; anddetermining, from the one or more messages of the first software components, whether the corresponding hardware device as designed is valid, including verifying that the output messages do not include error messages and verifying that the output messages include output values that are within acceptable ranges. 5. The computer program product of claim 4 further comprising computer program instructions that, when executed, cause a computer to carry out the steps of: modifying the first software component to represent a modified version of the corresponding hardware component of the hardware device;simulating the operation of the corresponding hardware component with the modified software component, thereby generating a new output of the first software component representing the output of a modified version of the hardware component; andsending, from the modified software component to at least one other software component, one or more messages representing the new output of the modified version of the hardware component. 6. The computer program product of claim 4 further comprising computer program instructions that, when executed, cause a computer to carry out the steps of: modifying the second software component representing a second hardware component of the hardware device;requesting, from the second software component, simulation of the hardware component corresponding to the first software component, thereby generating new inputs for the modified second software component;simulating, by the second software component, the operation of the second hardware component using the new inputs, thereby generating a new output of the modified second software component representing the output of a modified version of the second hardware component; andsending, from the modified software component to at least a third software component, one or more messages representing the new output of the second hardware component.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (87)
Cavanagh,Carl; Sivier,Steven A., Applying distributed simulation techniques to hardware emulation.
Gorin Allen L. (Fairlawn NJ) Lewine Robert N. (Hanover Township ; Morris County NJ) Makofsky Patrick A. (Randolph NJ) Shively Richard R. (Convent Station NJ), Binary tree multiprocessor.
Takata Yukari,JPX ; Satou Mitsugu,JPX ; Kondo Hiroyuki,JPX ; Sawai Katsunori,JPX, Bus interface unit in a microprocessor for facilitating internal and external memory accesses.
Wingard Drew E. ; Rosseel Geert Paul ; Tomlinson Jay S. ; Robinson Lisa A., Communications system and method with multilevel connection identification.
Wingard, Drew Eric; Rosseel, Geert Paul; Tomlinson, Jay S.; Robinson, Lisa A., Communications system and method with multilevel connection identification.
Willis John Christopher ; Newshutz Robert Neill, Compiler-oriented apparatus for parallel compilation, simulation and execution of computer programs and hardware models.
Blackard Joe Wayne ; Gillaspy Richard Adams ; Henthorn William John ; Petersen Lynn Erich ; Russell Lance W. ; Shippy Gary Roy, Data processing system and method for pacing information transfers in a communications network.
Basso, Claude; Calvignac, Jean Louis; Heddes, Marco C.; Logan, Joseph Franklin; Verplanken, Fabrice Jean, Data structures for efficient processing of multicast transmissions.
Kloth,Axel K.; Andrews,Warner; Bergantino,Paul; Bicknell,Jeremy; Fu,Daniel; De Leon,Moshe; Mills,Stephen M., Dynamic bandwidth allocation for wide area networks.
Barzilai Tsipora P. (Millwood NY) Chen Mon-Song (Katonah NY) Kadaba Bharath K. (Peekskill NY) Kaplan Marc A. (Purdys NY), Flow control for high speed networks.
Blackmore, Robert S.; Chang, Fu Chung; Chaudhary, Piyush; Gildea, Kevin J.; Goscinski, Jason E.; Govindaraju, Rama K.; Grice, Donald G.; Helmer, Jr., Leonard W.; Heywood, Patricia E.; Hochschild, Peter H.; Houston, John S.; Kim, Chulho; Martin, Steven J., Half RDMA and half FIFO operations.
Burns, Randal Chilton; Goel, Atul; Long, Darrell D. E.; Rees, Robert Michael, Lease based safety protocol for distributed system with multiple networks.
Richard Alan Diedrich ; Harvey Gene Kiel, Method and apparatus for multimedia data interchange with pacing capability in a distributed data processing system.
Shtayer Ronen (Tel-Aviv ILX) Alon Naveh (Ranat Hashnron ILX) Alexander Joffe (Rehovot ILX), Method and apparatus for pacing asynchronous transfer mode (ATM) data cell transmission.
Crawley Eric S. ; Zhang Zhaohui ; Salkewicz William M. ; Sanchez Cheryl A., Method and apparatus for providing quality of service routing in a network.
Levin Vladimir K.,RUX ; Karatanov Vjacheslav V.,RUX ; Jalin Valerii V.,RUX ; Titov Alexandr,RUX ; Agejev Vjacheslav M.,RUX ; Patrikeev Andrei,RUX ; Jablonsky Sergei V.,RUX ; Korneev Victor V.,RUX ; M, Method for deadlock-free message passing in MIMD systems using routers and buffers.
Arimilli, Lakshminarayana B.; Arimilli, Ravi K.; Rajamony, Ramakrishnan; Speight, William E., Performing collective operations using software setup and partial software execution at leaf nodes in a multi-tiered full-graph interconnect architecture.
Archer, Charles J.; Blocksome, Michael A.; Peters, Amanda E.; Ratterman, Joseph D.; Smith, Brian E., Reducing power consumption while performing collective operations on a plurality of compute nodes.
Daruwalla, Feisal; Forster, James R.; Roeck, Guenter E.; Woundy, Richard M.; Thomas, Michael A., Routing protocol based redundancy design for shared-access networks.
Ray, Amar N.; Bugenhagen, Michael K.; Morrill, Robert J.; Chakravarthy, Cadathur V., System and method for adjusting the window size of a TCP packet through network elements.
Blandy Geoffrey Owen ; Saba Maher Afif, System and method for instruction burst performance profiling for single-processor and multi-processor systems.
Verbeke,Jerome M.; Nadgir,Neelakanth M.; Ruetsch,Gregory R.; Sharapov,Ilya A.; Vernik,Michael J.; Trang,Vu, System and method for submitting and performing computational tasks in a distributed heterogeneous networked environment.
Schumacher, Larry Lee; Gonzales-Tuchmann, Agustin; Yogman, Laurence Tobin; Dingman, Paul C., System for deadlock condition detection and correction by allowing a queue limit of a number of data tokens on the queue to increase.
Levy Henry M. ; Feeley Michael J.,CAX ; Karlin Anna R. ; Morgan William E. ; Thekkath Chandramohan A., Using global memory information to manage memory in a computer network.
Advani Deepak Mohan ; Byron Michael Justin ; Hansell Steven Robert ; Ming Chun Li Todd ; Marino John Paul ; Panda Rajendra Datta ; Pierce James Andrew ; Wang Ko-Yang ; Weinel Dennis George ; Welch Ro, Visualization tool for graphically displaying trace data.
Advani Deepak Mohan ; Byron Michael Justin ; Hansell Steven Robert ; Li Todd Ming Chun ; Marino John Paul ; Panda Rajendra Datta ; Pierce James Andrew ; Wang Ko-Yang ; Weinel Dennis George ; Welch Ro, Visualization tool for graphically displaying trace data produced by a parallel processing computer.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.