Patents by Inventor Anil Ravindranath

Anil Ravindranath 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: 11521042
    Abstract: A system and method for dynamically and automatically sharing resources of a coprocessor AI accelerator based on workload changes during training and inference of a plurality of neural networks. The method comprising steps of receiving a plurality of requests from each neural network and high-performance computing applications (HPCs) through a dynamic adaptive scheduler module. The dynamic adaptive scheduler module morphs the received requests into threads, dimensions and memory sizes. The method then receives the morphed requests from the dynamic adaptive scheduler module through client units. Each of the neural network applications is mapped with at least one of the client units on a graphics processing unit (GPU) hosts. The method then receives the morphed requests from the plurality of client units through a plurality of server units. Further, the method receives the morphed request from the plurality of server units through one or more coprocessors.
    Type: Grant
    Filed: May 21, 2019
    Date of Patent: December 6, 2022
    Inventor: Anil Ravindranath
  • Patent number: 10719245
    Abstract: In one embodiment, a storage system includes a processor, a memory coupled to the processor to store instructions for execution, and an IO tagging module executed by the processor to determine a plurality of child IO requests required to complete a plurality of received IO request transactions and to tag the IO request transaction and/or the associated child IO requests with a tag identifier uniquely identifying the IO request transaction. The system includes an IO scheduler module executed by the processor to prioritize the IO request transactions according to a policy by grouping the child IO requests based on the associated tag identifier. The grouped child IO requests of the IO request transactions are serviced by a plurality of storage devices of the storage system for an optimal performance.
    Type: Grant
    Filed: July 13, 2017
    Date of Patent: July 21, 2020
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Krishna Chaitanya Gudipati, Anil Ravindranath, Rahul Ugale
  • Patent number: 10671293
    Abstract: Described is a system (and technique) to determine an appropriate path to a storage device and scheduling a data transfer by taking into consideration bandwidth, device performance, and the nature of the transfer. The system may use an efficient implementation to reduce overhead when making such a determination by utilizing a reservation table and selecting a dispatch that is efficient for a particular data transfer. For example, the system may determine a first-fit and a future-fit scheduling for an I/O request for each path to a storage device. The system may determine completion times for each of the types of scheduling for each of the paths, and accordingly, select the path and schedule with the earliest completion time.
    Type: Grant
    Filed: January 28, 2019
    Date of Patent: June 2, 2020
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Krishna Gudipati, Charles Hickey, Anil Ravindranath
  • Patent number: 10599340
    Abstract: In one embodiment, a storage system receives a number of input/output (IO) request transactions at the storage system having multiple storage devices. For each of the IO request transactions, the system determines a number of child IO requests required to complete the IO request transaction and tags the IO request transaction and/or the associated child IO requests with a tag identifier uniquely identifying the IO request transaction within the same session. The system prioritizes the IO request transactions based on a service priority level associated with each of the IO request transaction. The system dispatches the prioritized child IO requests of the IO request transaction to storage devices, including grouping the associated child IO request to be dispatched together.
    Type: Grant
    Filed: July 13, 2017
    Date of Patent: March 24, 2020
    Assignee: EMC IP Holding LLC
    Inventors: Krishna Chaitanya Gudipati, Anil Ravindranath, Rahul Ugale
  • Patent number: 10592123
    Abstract: In one embodiment, a storage system receives a number of input/output (IO) request transactions at the storage system having multiple storage devices, the IO request transactions including at least a read and a write. For each of the IO request transactions, the system determines a number of child IO requests required to complete the IO request transaction, where the child IO requests includes a write child IO request and a read child IO request. The system tags the associated child IO requests with a tag identifier uniquely identifying the IO request transaction within the same session. The system prioritizes the IO request transactions based on a service priority level and completeness of each of the IO request transactions dynamically determined at a point in time and services the child IO requests according to a prioritized order to reduce a time to complete the IO request transaction.
    Type: Grant
    Filed: July 13, 2017
    Date of Patent: March 17, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Krishna Chaitanya Gudipati, Anil Ravindranath, Rahul Ugale
  • Patent number: 10509739
    Abstract: In one embodiment, a storage system receives a number of input/output (IO) request transactions at the storage system having multiple storage devices. For each of the plurality of IO request transactions, the system determines a number of child IO requests required to complete the IO request transaction. The system tags the IO request transaction and/or the associated child IO requests with a tag identifier. For each of the child requests that is a write IO request, the system determines an optimal write IO request size, segments the write IO request into a number of sub-IO write requests, each having an optimal request size, and interleaves sub-IO write requests with read IO requests for servicing to avoid impact in performance to read IO requests for a mixed IO workload.
    Type: Grant
    Filed: July 13, 2017
    Date of Patent: December 17, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Krishna Chaitanya Gudipati, Anil Ravindranath, Rahul Ugale
  • Patent number: 10474371
    Abstract: One embodiment is related to a method for implementing a staggered solid-state drive (SSD) replacement schedule, comprising: determining whether more than a first threshold number of SSDs within an array are expected to reach End of Life (EOL) at approximately a same time; determining that the staggered SSD replacement schedule is to be engaged in response to determining that more than the first threshold number of SSDs within the array are expected to reach EOL at approximately the same time; determining the staggered SSD replacement schedule for the SSDs that are expected to reach EOL at approximately the same time; and raising replacement alerts according to the determined staggered SSD replacement schedule to prompt a user to replace the SSDs.
    Type: Grant
    Filed: June 30, 2016
    Date of Patent: November 12, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Anil Ravindranath, Krishna Gudipati
  • Publication number: 20190272461
    Abstract: A system and method for dynamically and automatically sharing resources of a coprocessor AI accelerator based on workload changes during training and inference of a plurality of neural networks. The method comprising steps of receiving a plurality of requests from each neural network and high-performance computing applications (HPCs) through a dynamic adaptive scheduler module. The dynamic adaptive scheduler module morphs the received requests into threads, dimensions and memory sizes. The method then receives the morphed requests from the dynamic adaptive scheduler module through client units. Each of the neural network applications is mapped with at least one of the client units on a graphics processing unit (GPU) hosts. The method then receives the morphed requests from the plurality of client units through a plurality of server units. Further, the method receives the morphed request from the plurality of server units through one or more coprocessors.
    Type: Application
    Filed: May 21, 2019
    Publication date: September 5, 2019
    Applicant: Rapt.ai Inc.
    Inventor: Anil Ravindranath
  • Publication number: 20190235763
    Abstract: Described is a system (and technique) to determine an appropriate path to a storage device and scheduling a data transfer by taking into consideration bandwidth, device performance, and the nature of the transfer. The system may use an efficient implementation to reduce overhead when making such a determination by utilizing a reservation table and selecting a dispatch that is efficient for a particular data transfer. For example, the system may determine a first-fit and a future-fit scheduling for an I/O request for each path to a storage device. The system may determine completion times for each of the types of scheduling for each of the paths, and accordingly, select the path and schedule with the earliest completion time.
    Type: Application
    Filed: January 28, 2019
    Publication date: August 1, 2019
    Inventors: Krishna Gudipati, Charles Hickey, Anil Ravindranath
  • Patent number: 10346054
    Abstract: In one embodiment, a storage system receives a number of input/output (IO) request transactions at the storage system having multiple storage devices. The system detects storage events associated with the storage devices, the storage events include storage device error events, storage device path error events, and solid state storage device high write amplification events. For each of the IO request transactions, the system tags a number of associated child IO requests with a tag identifier and predicts a completion time for the IO request transaction based on a completeness of the IO request transaction and detected events associated with the storage devices. The system sends the child IO requests to the storage devices to be serviced in a first order based on the predicted completion time and an arrival time of the IO request transaction so that the IO request transactions are resilient to storage events.
    Type: Grant
    Filed: July 13, 2017
    Date of Patent: July 9, 2019
    Assignee: EMC IP HOLDING COMPANY LLC
    Inventors: Krishna Chaitanya Gudipati, Anil Ravindranath, Rahul Ugale
  • Publication number: 20190073127
    Abstract: A system and method for providing a byte addressable memory for a neural network. The method comprises a step of initiating reading and writing input-output (I/O) request of a file through a neural network application. The method then accesses the file through POSIX APIs. The method maps the accessed file to bytes of a primary memory unit by utilizing load/store CPU instructions. The method maps the bytes to a secondary memory unit through an MMU. The method transmits instructions to a persistent memory aware file system with the MMU mappings and then the instructions are transmitted to the persistent unit. The method receives the reading and writing I/O request from the persistent unit through VFIO driver. The method receives the reading and writing I/O request from VFIO driver through DMA. The method then receives the reading and writing I/O request from the DMA through a memory pertaining to coprocessors.
    Type: Application
    Filed: November 5, 2018
    Publication date: March 7, 2019
    Applicant: Rapt.ai Inc.
    Inventor: Anil Ravindranath
  • Patent number: 10216425
    Abstract: Described is a system (and technique) to determine an appropriate path to a storage device and scheduling a data transfer by taking into consideration bandwidth, device performance, and the nature of the transfer. The system may use an efficient implementation to reduce overhead when making such a determination by utilizing a reservation table and selecting a dispatch that is efficient for a particular data transfer. For example, the system may determine a first-fit and a future-fit scheduling for an I/O request for each path to a storage device. The system may determine completion times for each of the types of scheduling for each of the paths, and accordingly, select the path and schedule with the earliest completion time.
    Type: Grant
    Filed: September 30, 2016
    Date of Patent: February 26, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Krishna Gudipati, Charles Hickey, Anil Ravindranath
  • Patent number: 10216591
    Abstract: One embodiment is related to a method for determining a faulty hardware component within a data storage system, comprising: collecting data relating to a plurality of input/output (IO) errors associated with a first storage processor within the data storage system; compiling IO error statistics based on the data relating to the plurality of IO errors; and determining a faulty hardware component based on the IO error statistics, wherein the determining of the faulty hardware component comprises utilizing a second storage processor of the data storage system independent from the first storage processor.
    Type: Grant
    Filed: June 30, 2016
    Date of Patent: February 26, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Anil Ravindranath, Krishna Gudipati
  • Patent number: 9785360
    Abstract: Embodiments are directed to a method of optimizing input/output (I/O) operations to a storage device having mixed read and write operations by determining a current queue state for the read and write operations with respect to defined optimum values of I/O operations per second (IOPS) and latency for the I/O operations, determining device characteristics of the storage device by determining read/write response times, queue depths and dispatch time intervals for an initial read/write operation, and modifying at least one of a wait time or batch size for subsequent read/write operations to meet the defined optimum values of IOPS and latency.
    Type: Grant
    Filed: June 29, 2015
    Date of Patent: October 10, 2017
    Assignee: EMC IP Holding Company LLC
    Inventors: Anil Ravindranath, Krishna Gudipati
  • Patent number: 9645872
    Abstract: A system for handling errors during interfacing with storage devices comprises a communications interface and an error handler. The error handler is for: indicating to provide a first instruction to the first storage device using the first path; determining whether an error or time out message is received; in the event the error handler determines that either message is received: indicating to provide a second instruction to the first storage device using a second path; determining whether a second error or second time out message is received; in the event the error handler determines that either message is received, indicating to provide a likely first storage device error message; and in the event the error handler determines that either message is not received, indicating to provide a likely first path error message and indicating to communicate using the second path.
    Type: Grant
    Filed: March 27, 2015
    Date of Patent: May 9, 2017
    Assignee: EMC IP Holding Company LLC
    Inventors: Anil Ravindranath, Krishna Gudipati