Patents by Inventor James Xenidis
James Xenidis has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 7748006Abstract: Loading software on a plurality of processors is presented. A processing unit (PU) retrieves a file from system memory and loads it into its internal memory. The PU extracts a processor type from the file's header which identifies whether the file should execute on the PU or a synergistic processing unit (SPU). If an SPU should execute the file, the PU DMA's the file to the SPU for execution. In one embodiment, the file is a combined file which includes both PU and SPU code. In this embodiment, the PU identifies one or more section headers included in the file which indicates embedded SPU code within the combined file. In this embodiment, the PU extracts the SPU code from the combined file and DMA's the extracted code to an SPU for execution.Type: GrantFiled: June 2, 2008Date of Patent: June 29, 2010Assignee: International Business Machines CorporationInventors: Maximino Aguilar, Jr., Alex Chunghen Chow, Michael Norman Day, Michael Stan Gowen, Mark Richard Nutter, James Xenidis
-
Publication number: 20100058358Abstract: A method and a system for allowing a guest operating system (guest OS) to modify an entry in a TLB directly without an involvement of a hypervisor are disclosed. Upon receiving a guest TLB miss exception, a guest OS issues a TLBWE (TLB Write Entry) instruction to logic. The logic executes the TLBWE instruction at a supervisor mode without invoking a hypervisor. The TLB may incorporate entries in a guest page table and entries in a host page table.Type: ApplicationFiled: August 27, 2008Publication date: March 4, 2010Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Hubertus Franke, Benjamin Herrenschmidt, Jon K. Kriegel, Andrew M. Theurer, James Xenidis
-
Publication number: 20100049883Abstract: A method and system for memory address translation and pinning are provided. The method includes attaching a memory address space identifier to a direct memory access (DMA) request, the DMA request is sent by a consumer and using a virtual address in a given address space. The method further includes looking up for the memory address space identifier to find a translation of the virtual address in the given address space used in the DMA request to a physical page frame. Provided that the physical page frame is found, pinning the physical page frame as long as the DMA request is in progress to prevent an unmapping operation of said virtual address in said given address space, and completing the DMA request, wherein the steps of attaching, looking up and pinning are centrally controlled by a host gateway.Type: ApplicationFiled: September 29, 2009Publication date: February 25, 2010Inventors: Shmuel Ben-Yehuda, Scott Guthridge, Orran Yaakov Krieger, Zorik Machulsky, Julian Satran, Leah Shalev, Ilan Shimony, James Xenidis
-
Patent number: 7653908Abstract: Grouping processors is presented. A processing unit (PU) initiates an application and identifies the application's requirements. The PU assigns one or more synergistic processing units (SPUs) and a memory space to the application in the form of a group. The application specifies whether the task requires shared memory or private memory. Shared memory is a memory space that is accessible by the SPUs and the PU. Private memory, however, is a memory space that is only accessible by the SPUs that are included in the group. When the application executes, the resources within the group are allocated to the application's execution thread. Each group has its own group properties, such as address space, policies (i.e. real-time, FIFO, run-to-completion, etc.) and priority (i.e. low or high). These group properties are used during thread execution to determine which groups take precedence over other tasks.Type: GrantFiled: March 4, 2008Date of Patent: January 26, 2010Assignee: International Business Machines CorporationInventors: Maximino Aguilar, Jr., Michael Norman Day, Mark Richard Nutter, James Xenidis
-
Patent number: 7636800Abstract: A method and system for memory address translation and pinning are provided. The method includes attaching a memory address space identifier to a direct memory access (DMA) request, the DMA request is sent by a consumer and using a virtual address in a given address space. The method further includes looking up for the memory address space identifier to find a translation of the virtual address in the given address space used in the DMA request to a physical page frame. Provided that the physical page frame is found, pinning the physical page frame al song as the DMA request is in progress to prevent an unmapping operation of said virtual address in said given address space, and completing the DMA request, wherein the steps of attaching, looking up and pinning are centrally controlled by a host gateway.Type: GrantFiled: June 27, 2006Date of Patent: December 22, 2009Assignee: International Business Machines CorporationInventors: Shmuel Ben-Yehuda, Scott Guthridge, Orran Yaakov Krieger, Zorik Machulsky, Julian Satran, Leah Shalev, Ilan Shimony, James Xenidis
-
Patent number: 7600093Abstract: A method for retrieving information from a storage unit, the method includes: receiving, by an input output memory management unit second-level translation information representative of a partition of a storage unit address space; receiving, by a input output memory management unit, a direct memory access request that comprises a consumer identifier and a second memory address that was first-level translated by a communication circuit translation entity; performing, by the input output memory management unit, a second-level translation of the second memory address such as to provide a third memory address, in response to the identity of the consumer; and accessing the storage unit using the third memory address.Type: GrantFiled: January 16, 2007Date of Patent: October 6, 2009Assignee: International Business Machines CorporationInventors: Shmuel Ben-Yehuda, Orran Yaakov Krieger, Jon David Mason, James Xenidis
-
Publication number: 20090216998Abstract: A novel and useful mechanism enabling a processor in a multiprocessor complex to function as a coprocessor to execute a specific function. The method includes a mechanism for activating a coprocessor to function as a coprocessor as well as a mechanism to execute a coprocessor request on the system. The present invention also provides a mechanism for efficient processor to processor communication for processors coupled to a common bus. Overall system performance is enhanced by significantly reducing the use of hardware interrupts for processor to processor communication.Type: ApplicationFiled: February 27, 2008Publication date: August 27, 2009Inventors: Zorik Machulsky, Julian Satran, Leah Shalev, Michael Steven Siegel, Gregory Scott Still, James Xenidis
-
Publication number: 20080235679Abstract: Loading software on a plurality of processors is presented. A processing unit (PU) retrieves a file from system memory and loads it into its internal memory. The PU extracts a processor type from the file's header which identifies whether the file should execute on the PU or a synergistic processing unit (SPU). If an SPU should execute the file, the PU DMA's the file to the SPU for execution. In one embodiment, the file is a combined file which includes both PU and SPU code. In this embodiment, the PU identifies one or more section headers included in the file which indicates embedded SPU code within the combined file. In this embodiment, the PU extracts the SPU code from the combined file and DMA's the extracted code to an SPU for execution.Type: ApplicationFiled: June 2, 2008Publication date: September 25, 2008Applicant: International Business Machines CorporationInventors: Maximino Aguilar, Alex Chunghen Chow, Michael Norman Day, Michael Stan Gowen, Mark Richard Nutter, James Xenidis
-
Patent number: 7415703Abstract: A processing unit (PU) retrieves a file from system memory and loads it into its internal memory. The PU extracts a processor type from the file's header which identifies whether the file should execute on the PU or a synergistic processing unit (SPU). If an SPU should execute the file, the PU DMA's the file to the SPU for execution. In one embodiment, the file is a combined file which includes both PU and SPU code. In this embodiment, the PU identifies one or more section headers included in the file which indicates embedded SPU code within the combined file. In this embodiment, the PU extracts the SPU code from the combined file and DMA's the extracted code to an SPU for execution.Type: GrantFiled: September 25, 2003Date of Patent: August 19, 2008Assignee: International Business Machines CorporationInventors: Maximino Aguilar, Jr., Alex Chunghen Chow, Michael Norman Day, Michael Stan Gowen, Mark Richard Nutter, James Xenidis
-
Publication number: 20080172543Abstract: A method for retrieving information from a storage unit, the method includes: receiving, by an input output memory management unit second-level translation information representative of a partition of a storage unit address space; receiving, by a input output memory management unit, a direct memory access request that comprises a consumer identifier and a second memory address that was first-level translated by a communication circuit translation entity; performing, by the input output memory management unit, a second-level translation of the second memory address such as to provide a third memory address, in response to the identity of the consumer; and accessing the storage unit using the third memory address.Type: ApplicationFiled: January 16, 2007Publication date: July 17, 2008Inventors: Shmuel Ben-Yehuda, Orran Yaakov Krieger, Jon David Mason, James Xenidis
-
Publication number: 20080155203Abstract: Grouping processors is presented. A processing unit (PU) initiates an application and identifies the application's requirements. The PU assigns one or more synergistic processing units (SPUs) and a memory space to the application in the form of a group. The application specifies whether the task requires shared memory or private memory. Shared memory is a memory space that is accessible by the SPUs and the PU. Private memory, however, is a memory space that is only accessible by the SPUs that are included in the group. When the application executes, the resources within the group are allocated to the application's execution thread. Each group has its own group properties, such as address space, policies (i.e. real-time, FIFO, run-to-completion, etc.) and priority (i.e. low or high). These group properties are used during thread execution to determine which groups take precedence over other tasks.Type: ApplicationFiled: March 4, 2008Publication date: June 26, 2008Inventors: Maximino Aguilar, Michael Norman Day, Mark Richard Nutter, James Xenidis
-
Patent number: 7389508Abstract: A system and method for grouping processors is presented. A processing unit (PU) initiates an application and identifies the application's requirements. The PU assigns one or more synergistic processing units (SPUs) and a memory space to the application in the form of a group. The application specifies whether the task requires shared memory or private memory. Shared memory is a memory space that is accessible by the SPUs and the PU. Private memory, however, is a memory space that is only accessible by the SPUs that are included in the group. When the application executes, the resources within the group are allocated to the application's execution thread. Each group has its own group properties, such as address space, policies (i.e. real-time, FIFO, run-to-completion, etc.) and priority (i.e. low or high). These group properties are used during thread execution to determine which groups take precedence over other tasks.Type: GrantFiled: September 25, 2003Date of Patent: June 17, 2008Assignee: International Business Machines CorporationInventors: Maximino Aguilar, Jr., Michael Norman Day, Mark Richard Nutter, James Xenidis
-
Publication number: 20080028408Abstract: A method, apparatus, and computer usable program code for logical partitioning and virtualization in heterogeneous computer architecture. In one illustrative embodiment, a portion of a first set of processors of a first type is allocated to a partition in a heterogeneous logically partitioned system and a portion of a second set of processors of a second type is allocated to the partition.Type: ApplicationFiled: July 25, 2006Publication date: January 31, 2008Inventors: MICHAEL N. DAY, Michael Karl Gschwind, Mark R. Nutter, James Xenidis
-
Publication number: 20070299990Abstract: A method and system for memory address translation and pinning are provided. The method includes attaching a memory address space identifier to a direct memory access (DMA) request, the DMA request is sent by a consumer and using a virtual address in a given address space. The method further includes looking up for the memory address space identifier to find a translation of the virtual address in the given address space used in the DMA request to a physical page frame. Provided that the physical page frame is found, pinning the physical page frame al song as the DMA request is in progress to prevent an unmapping operation of said virtual address in said given address space, and completing the DMA request, wherein the steps of attaching, looking up and pinning are centrally controlled by a host gateway.Type: ApplicationFiled: June 27, 2006Publication date: December 27, 2007Inventors: Shmuel Ben-Yehuda, Scott Guthridge, Orran Yaakov Krieger, Zorik Machulsky, Julian Satran, Leah Shalev, Ilan Shimony, James Xenidis
-
Patent number: 7290112Abstract: A system and method for virtualization of processor resources is presented. A thread is created on a processor and the processor's local memory is mapped into an effective address space. In doing so, the processor's local memory is accessible by other processors, regardless of whether the processor is running. Additional threads create additional local memory mappings into the effective address space. The effective address space corresponds to either a physical local memory or a “soft” copy area. When the processor is running, a different processor may access data that is located in the first processor's local memory from the processor's local storage area. When the processor is not running, a softcopy of the processor's local memory is stored in a memory location (i.e. locked cache memory, pinned system memory, virtual memory, etc.) for other processors to continue accessing.Type: GrantFiled: September 30, 2004Date of Patent: October 30, 2007Assignee: International Business Machines CorporationInventors: Maximino Aguilar, Jr., Michael Norman Day, Mark Richard Nutter, James Xenidis
-
Publication number: 20060095898Abstract: The present invention is a method for integrating multiple object codes from heterogeneous architectures. For a program on a first processor to reference a program from the name space of a second processor, the object code for the second-processor program is enclosed in a wrapper to create object code in the first-processor name space. The header of the wrapped object code defines a new symbol in the name space of the first processor, and the symbol points to the second-processor object code contained in the wrapped object code. Instead of directly referencing the second-processor object code, the referencing program on the first processor references the wrapped object code. A system tool can be used to wrap the object code which runs on the second processor.Type: ApplicationFiled: October 28, 2004Publication date: May 4, 2006Applicants: International Business Machines Corporation, Sony Computer Entertainment Inc., Toshiba America Electronic Components, Inc, Kabushiki Kaisha ToshibaInventors: Alex Chow, Michael Day, Michael Gowen, Keisuke Inoue, James Xenidis, Takayuki Uchikawa
-
Publication number: 20060069878Abstract: A system and method for virtualization of processor resources is presented. A thread is created on a processor and the processor's local memory is mapped into an effective address space. In doing so, the processor's local memory is accessible by other processors, regardless of whether the processor is running. Additional threads create additional local memory mappings into the effective address space. The effective address space corresponds to either a physical local memory or a “soft” copy area. When the processor is running, a different processor may access data that is located in the first processor's local memory from the processor's local storage area. When the processor is not running, a softcopy of the processor's local memory is stored in a memory location (i.e. locked cache memory, pinned system memory, virtual memory, etc.) for other processors to continue accessing.Type: ApplicationFiled: September 30, 2004Publication date: March 30, 2006Applicant: International Business Machines CorporationInventors: Maximino Aguilar, Michael Day, Mark Nutter, James Xenidis
-
Publication number: 20060070069Abstract: A system and method for sharing resources between real-time and virtualizing operating systems is presented. A computer system uses effective address mapping of support processors' local memory to share resources between separate operating systems. When threads are created for either operating system, the thread's corresponding processor memory is mapped into an effective address space. In doing so, the processor's local memory is accessible by the thread, regardless of whether the processor is running, or whether the processor is executing a different thread from a different operating system. For example, a computer system may have eight support processors and running two operating systems whereby the first operating system requires six support processors and the second operating system requires all eight support processors. In this example, resources are virtualized and shared between the two operating systems in order to meet the requirements of both operating systems.Type: ApplicationFiled: September 30, 2004Publication date: March 30, 2006Applicant: International Business Machines CorporationInventors: Maximino Aguilar, Michael Day, Mark Nutter, James Xenidis
-
Publication number: 20050251806Abstract: A system, method and computer program product for enhancing a real-time operating system (RTOS) with functionality normally associated with a general purpose operating system (GPOS). A hypervisor that is adapted to perform a real-time scheduling function supports concurrent execution of an RTOS and a GPOS on a system of shared hardware resources. The RTOS or its applications can utilize services provided by the GPOS. Such services may include one or more of file system organization, network communication, network management, database management, security, user-interface support and others. To enhance operational robustness and security, the hypervisor can be placed in read-only storage while maintaining the ability to update scheduling mechanisms. A programmable policy manager that is maintained in read-write storage can be used to dictate scheduling policy changes to the hypervisor as required to accommodate current needs.Type: ApplicationFiled: May 10, 2004Publication date: November 10, 2005Inventors: Marc Auslander, Boas Betzler, Dilma Da Silva, Michael Day, Orran Krieger, Paul McKenney, Michal Ostrowski, Bryan Rosenburg, Robert Wisniewski, James Xenidis
-
Publication number: 20050086655Abstract: A system and method for loading software on a plurality of processors is presented. A processing unit (PU) retrieves a file from system memory and loads it into its internal memory. The PU extracts a processor type from the file's header which identifies whether the file should execute on the PU or a synergistic processing unit (SPU). If an SPU should execute the file, the PU DMA's the file to the SPU for execution. In one embodiment, the file is a combined file which includes both PU and SPU code. In this embodiment, the PU identifies one or more section headers included in the file which indicates embedded SPU code within the combined file. In this embodiment, the PU extracts the SPU code from the combined file and DMA's the extracted code to an SPU for execution.Type: ApplicationFiled: September 25, 2003Publication date: April 21, 2005Applicant: International Business Machines CorporationInventors: Maximino Aguilar, Alex Chow, Michael Day, Michael Gowen, Mark Nutter, James Xenidis