Patents by Inventor Yinan Jiang
Yinan Jiang 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).
-
Publication number: 20250245052Abstract: The disclosed computer-implemented method can include (i) receiving a plurality of submissions from respective virtual functions requesting at least some resources from a hardware accelerator, (ii) scheduling, by a scheduler, divisions of the resources to the respective virtual functions based on a total actual execution time slice of each respective virtual function, and (iii) allocating the divisions of the resources to the respective virtual functions according to the scheduling. Various other methods, systems, and computer-readable media are also disclosed.Type: ApplicationFiled: September 28, 2022Publication date: July 31, 2025Applicants: Advanced Micro Devices, Inc., ATI Technologies ULCInventors: Yinan Jiang, Chang HaiJun
-
Patent number: 12346728Abstract: Systems and methods are provided related to a scheduler to receive a job request from a virtual function associated with a tenant for execution by at least one processing unit. The scheduler validates the job request in accordance with one or more defined restrictions associated with the tenant and, responsive to successful validation, provides the job request for execution by the processing unit via one or more physical functions associated with the processing unit. In certain embodiments, multi-level enforcement of the defined restrictions are provided via user-mode and kernel-mode drivers associated with the virtual function that are also enabled to validate job requests based on the defined restrictions.Type: GrantFiled: December 1, 2022Date of Patent: July 1, 2025Assignee: ATI TECHNOLOGIES ULCInventors: Ahmed M. Abdelkhalek, Rutao Zhang, Bokun Zhang, Min Zhang, Yinan Jiang, Jeffrey G. Cheng
-
Publication number: 20250173172Abstract: A device includes a parallel processor and a context switch scheduling circuit that is part of or separate from the parallel processor. The parallel processor is configured to execute requests from a plurality of virtual functions. The context switch scheduling circuit is configured to, responsive to a first virtual function of the plurality of virtual functions becoming idle during a first time slice at the parallel processor, perform a context switch for a second virtual function of the plurality of virtual functions before expiration of the first time slice, and assign a second time slice at the parallel processor to the second virtual function.Type: ApplicationFiled: November 27, 2023Publication date: May 29, 2025Inventors: Peng Ju Zhou, HaiJun Chang, Yinan Jiang, JinYun Liu, XiaoJian Yang
-
Patent number: 12293092Abstract: A method and apparatus of managing memory includes storing a first memory page at a shared memory location in response to the first memory page including data shared between a first virtual machine and a second virtual machine. A second memory page is stored at a memory location unique to the first virtual machine in response to the second memory page including data unique to the first virtual machine. The first memory page is accessed by the first virtual machine and the second virtual machine, and the second memory page is accessed by the first virtual machine and not the second virtual machine.Type: GrantFiled: December 16, 2022Date of Patent: May 6, 2025Assignees: Advanced Micro Devices, Inc., ATI Technologies ULCInventors: Lu Lu, Anthony Asaro, Yinan Jiang
-
Publication number: 20250110930Abstract: A computer-implemented method for ensuring processing unit hardware state integrity in live migration can include participating as a source, by a processing unit, in a live migration procedure by injecting, into a live migration data package containing a state of the processing unit, a signature verifying the state. The method can additionally include participating as a target, by the processing unit, in an additional live migration procedure migrating an additional live migration data package containing an additional state of an additional processing unit by performing an integrity check based on an additional signature, in the additional live migration data package, verifying the additional state. Various other methods, systems, and computer-readable media are also disclosed.Type: ApplicationFiled: September 29, 2023Publication date: April 3, 2025Applicant: ATI Technologies ULCInventors: Yinan Jiang, Dmytro Chenchykov, Shaoyun Liu, Vignesh Chander
-
Patent number: 12265510Abstract: A computer-implemented method for ensuring processing unit hardware state integrity in live migration can include participating as a source, by a processing unit, in a live migration procedure by injecting, into a live migration data package containing a state of the processing unit, a signature verifying the state. The method can additionally include participating as a target, by the processing unit, in an additional live migration procedure migrating an additional live migration data package containing an additional state of an additional processing unit by performing an integrity check based on an additional signature, in the additional live migration data package, verifying the additional state. Various other methods, systems, and computer-readable media are also disclosed.Type: GrantFiled: September 29, 2023Date of Patent: April 1, 2025Assignee: ATI Technologies ULCInventors: Yinan Jiang, Dmytro Chenchykov, Shaoyun Liu, Vignesh Chander
-
Publication number: 20250103371Abstract: The disclosed computing device can include host circuitry configured to provide a physical function and guest circuitry configured to provide a virtual function. The host circuitry is configured to dynamically assign request identifiers for accessing at least the host circuitry in a manner that allows the request identifiers to change on a command-to-command basis instead of a time-to-time basis that uses fixed value request identifiers in time slices. Various other methods, systems, and computer-readable media are also disclosed.Type: ApplicationFiled: September 22, 2023Publication date: March 27, 2025Applicants: Advanced Micro Devices, Inc., ATI Technologies ULCInventors: JinYun Liu, Yinan Jiang, HaiJun Chang
-
Patent number: 12210891Abstract: A processing system includes physical function circuitry to execute virtual functions and a processing unit configured to operate in a first mode that allows more than one virtual function to execute on the physical function circuitry and a second mode that constrains the physical function circuitry to executing a single virtual function. A first virtual function modifies a state of the processing unit in response to the processing unit being in the second mode. A host driver executing on the processing unit modifies an operating mode indicator to indicate that the processing unit is operating in the first mode or to indicate that the processing unit is operating in the second mode. Microcode executing on the processing unit accesses the operating mode indicator to determine whether the processing unit is operating in the first mode or the second mode.Type: GrantFiled: December 18, 2020Date of Patent: January 28, 2025Assignees: ADVANCED MICRO DEVICES (SHANGHAI) CO., LTD., ATI TECHNOLOGIES ULCInventors: Yinan Jiang, ZhenYu Min, WenWen Tang
-
Publication number: 20250028371Abstract: A virtual function (VF) of a virtual machine is enabled to directly reset a processing portion of a processing unit. The VF initiates the reset of the processing portion directly and a host driver associated with the processing unit is bypassed during the reset process. By allowing for a direct reset of the processing portion, a processing system reduces the overhead associated with the reset process, enhances system security, and improves overall VM and hardware isolation at the processing system.Type: ApplicationFiled: July 11, 2024Publication date: January 23, 2025Inventor: Yinan JIANG
-
Patent number: 12169731Abstract: A processing system selects a reset sequence based on a sideband connected configuration of a plurality of processing units. The processing system identifies whether the plurality of processing units is in the sideband connected configuration, so that the plurality of processing units works together on assigned operations. Based on the identification, the processing system selects and executes one of a plurality of available reset sequences. The processing system is thus able to tailor the executed reset sequence for the configuration of the plurality of processing units, thereby reducing the number of overall system resets and improving processing efficiency.Type: GrantFiled: December 28, 2021Date of Patent: December 17, 2024Assignee: ATI TECHNOLOGIES ULCInventors: Yinan Jiang, Shaoyun Liu, Aranyak Mishra, Maria Joo
-
Patent number: 12169729Abstract: A technique for varying firmware for different virtual functions in a virtualized device is provided. The virtualized device includes a hardware accelerator and a microcontroller that executes firmware. The virtualized device is virtualized in that the virtualized device performs work for different virtual functions (with different virtual functions associated with different virtual machines), each function getting a “time-slice” during which work is performed for that function. To vary the firmware, each time the virtualized device switches from performing work for a current virtual function to work for a subsequent virtual function, one or more microcontrollers of the virtualized device examines memory storing addresses for firmware for the subsequent virtual function and begins executing the firmware for that subsequent virtual function. The addresses for the firmware are provided by a corresponding virtual machine at configuration time.Type: GrantFiled: November 2, 2021Date of Patent: December 17, 2024Assignee: ATI Technologies ULCInventors: Yinan Jiang, Ahmed M. Abdelkhalek, Guopei Qiao, Andy Sung, Haibo Liu, Dezhi Ming, Zhidong Xu
-
Publication number: 20240395152Abstract: A large-scale UAV mission planning method includes constructing an objective function and its constraints; initializing a mission sequence and inserting customers into the mission sequence with the smallest objective function value to obtain a plurality of initial mission sequences; iteratively performing the update operations on the plurality of initial mission sequences. Fast acquisition of optimal missions is achieved by the invention. This invention solves the existing problem of not being able to obtain the optimal mission due to the complex and time-consuming calculation method and the difficulty of convergence of the algorithm.Type: ApplicationFiled: December 18, 2023Publication date: November 28, 2024Applicant: Beihang UniversityInventors: Yumeng LI, Ruofei SUN, Tong GUO, Yinan JIANG, Shenwen CHEN, Wenbo DU
-
Patent number: 12045106Abstract: A virtual function (VF) of a virtual machine is enabled to directly reset a processing portion of a processing unit. The VF initiates the reset of the processing portion directly and a host driver associated with the processing unit is bypassed during the reset process. By allowing for a direct reset of the processing portion, a processing system reduces the overhead associated with the reset process, enhances system security, and improves overall VM and hardware isolation at the processing system.Type: GrantFiled: December 28, 2021Date of Patent: July 23, 2024Assignee: ATI TECHNOLOGIES ULCInventor: Yinan Jiang
-
Publication number: 20240211291Abstract: A host processing system assigns unequal time slices at a parallel processor to virtual functions based on profiles of applications executing at the virtual functions and an available budget of the parallel processor. The host processing system calculates a world switch cycle interval and assesses an available processing budget of the parallel processor. The available budget indicates the amount of graphics processing time the parallel processor has not yet allocated to virtual functions for each world switch cycle interval.Type: ApplicationFiled: December 27, 2022Publication date: June 27, 2024Inventors: Yuping Shen, Min Zhang, Yinan Jiang, Jeffrey G. Cheng
-
Publication number: 20240211290Abstract: A processing system aligns rendering timing of an application executing at a guest virtual function to world switch timing of a host virtual machine. The host virtual machine sets a world switch interval based on a number of virtual functions (VFs) that share the parallel processor and a target maximum frame rate. The processing system delays submission of jobs for a VF to the parallel processor by an offset with respect to the world switch timing to ensure that the application starts generating a job for the parallel processor before the VF gains a time slice so the job will be ready for the parallel processor when the VF gains the time slice.Type: ApplicationFiled: December 27, 2022Publication date: June 27, 2024Inventors: Yuping Shen, Min Zhang, Yinan Jiang, Jeffrey G. Cheng
-
Publication number: 20240211309Abstract: A parallel processor is configured to enforce job limits for virtual functions to facilitate an expected quality of service for each of the virtual functions assigned to a virtual machine executing at the processing unit. A scheduler schedules well-behaving virtual functions prior to badly-behaving virtual functions to prevent badly-behaving virtual functions from consuming a disproportionate share of hardware resources, thereby mitigating an impact of the badly-behaving virtual functions on the quality of service of the well-behaving virtual functions.Type: ApplicationFiled: December 21, 2022Publication date: June 27, 2024Inventors: Ahmed M. Abdelkhalek, Rutao Zhang, Min Zhang, Yinan Jiang, Jeffrey G. Cheng, Yuping Shen, Mikhail Mironov
-
Publication number: 20240202015Abstract: In a computing device, a hardware device (e.g., a parallel accelerated processor or graphics processing unit) is coupled to a bus, such as a peripheral component interconnect express (PCIe) bus. The hardware device supports physical partitioning that allows physical resources of the hardware device to be separated into different partitions. Examples of such physical resources include engine resources (e.g., compute resources, direct memory access resources), memory resources (e.g., random access memory), and so forth. Each physical partition is mapped to a physical function that is exposed to a host on the computing device in a manner that is compliant with the bus protocol, allowing software to access the physical partition in a conventional manner based on the bus protocol.Type: ApplicationFiled: December 14, 2022Publication date: June 20, 2024Inventors: Lu Lu, Anthony Asaro, Gia Tung Phan, Gongxian Cheng, Philip Ng, Yinan Jiang, Felix Kuehling
-
Publication number: 20240201876Abstract: A method and apparatus of managing memory includes storing a first memory page at a shared memory location in response to the first memory page including data shared between a first virtual machine and a second virtual machine. A second memory page is stored at a memory location unique to the first virtual machine in response to the second memory page including data unique to the first virtual machine. The first memory page is accessed by the first virtual machine and the second virtual machine, and the second memory page is accessed by the first virtual machine and not the second virtual machine.Type: ApplicationFiled: December 16, 2022Publication date: June 20, 2024Applicants: Advanced Micro Devices, Inc., ATI Technologies ULCInventors: Lu Lu, Anthony Asaro, Yinan Jiang
-
Publication number: 20240193016Abstract: An apparatus and method for efficiently executing multiple processes by reducing an amount of memory usage of the processes. In various implementations, a computing system includes a first processor and a second processor that support parallel data applications stored on a remote server that provides cloud computing services to multiple users. The first processor creates multiple processes, referred to as “instances” in parallel computing platforms, for a particular application as users request to execute the application. When the first processor detects a function call of the application within a particular instance, the first processor searches for shareable data objects to be used by the second processor when executing the first instance of the function call, and frees data storage allocated to data objects that are already shared by one or more instances. Therefore, an amount of memory allocated for the multiple instances of the application is reduced.Type: ApplicationFiled: December 9, 2022Publication date: June 13, 2024Inventors: AnZhong Huang, Zhengsan Jian, Yinan Jiang
-
Publication number: 20240184623Abstract: Systems and methods are provided related to a scheduler to receive a job request from a virtual function associated with a tenant for execution by at least one processing unit. The scheduler validates the job request in accordance with one or more defined restrictions associated with the tenant and, responsive to successful validation, provides the job request for execution by the processing unit via one or more physical functions associated with the processing unit. In certain embodiments, multi-level enforcement of the defined restrictions are provided via user-mode and kernel-mode drivers associated with the virtual function that are also enabled to validate job requests based on the defined restrictions.Type: ApplicationFiled: December 1, 2022Publication date: June 6, 2024Inventors: Ahmed M. Abdelkhalek, Rutao Zhang, Bokun Zhang, Min Zhang, Yinan Jiang, Jeffrey G. Cheng