Srinivas Vemuri - Sunnyvale CA, US Amit Ganesh - San Jose CA, US Arvind Nithrakashyap - San Mateo CA, US Roger Bamford - Woodside CA, US Jonathan Klein - Redwood City CA, US Vikram Joshi - Los Gatos CA, US
Assignee:
Oracle International Corporation - Redwood Shores CA
International Classification:
G06F017/30
US Classification:
707 8
Abstract:
A method and mechanism is disclosed for implementing transaction logging in a database system. In-memory undo records are maintained to log undo information for the database system. Redo records are batch processed, with multiple redo records for a transaction stored on disk at commit time.
Integrating Tablespaces With Different Block Sizes
Sreedhar Mukkamalla - San Mateo CA, US Arvind Nithrakashyap - San Mateo CA, US Tirthankar Lahiri - Santa Clara CA, US Alok Pareek - Brisbane CA, US Juan R. Loaiza - San Carlos CA, US J. William Lee - Foster City CA, US Gary C. Ngai - Saratoga CA, US
Assignee:
Oracle International Corporation - Redwood Shores CA
International Classification:
G06F 7/00
US Classification:
707204, 707101, 707 8
Abstract:
Provided herein is a mechanism that allows a given database system to access data blocks from another database system, where data blocks from the given database system and data blocks from the other database system have different sizes. According to an aspect of the present invention, a tablespace in the other database system contained the data blocks. The tablespace is detached from the other database system and integrated into the given database, which is capable of processing data stored in data blocks of a different sizes.
Method And Mechanism For Efficient Implementation Of Ordered Records
Wei Ming Hu - Palo Alto CA, US Juan R. Loaiza - Redwood City CA, US Roger J. Bamford - Woodside CA, US Vikram Joshi - Los Gatos CA, US Arvind Nithrakashyap - San Mateo CA, US Tudor Bosman - San Francisco CA, US Vinay Srihari - South San Francisco CA, US Alok Pareek - Brisbane CA, US
Assignee:
Oracle International Corporation - Redwood Shores CA
International Classification:
G06F 12/00
US Classification:
711158, 711161, 707202, 707203, 714 16, 714 20
Abstract:
An improved method, mechanism, and system for implementing, generating, and maintaining records, such as redo records and redo logs in a database system, are disclosed. Multiple sets of records may be created and combined into a partially ordered (or non-ordered) group of records, which are later collectively ordered or sorted as needed to create an fully ordered set of records. With respect to a database system, redo generation bottleneck is minimized by providing multiple in-memory redo buffers that are available to hold redo records generated by multiple threads of execution. When the in-memory redo buffers are written to a persistent storage medium, no specific ordering needs to be specified with respect to the redo records from the different in-memory redo buffers. While the collective group of records may not be ordered, the written-out redo records may be partially ordered based upon the ordered redo records from within individual in-memory redo buffers. At recovery, ordering and/or merging of redo records may occur to satisfy database consistency requirements.
Chi Ku - San Ramon CA, US Arvind Nithrakashyap - San Mateo CA, US Ari W. Mozes - San Carlos CA, US
Assignee:
Oracle International Corporation - Redwood Shores CA
International Classification:
G06F 17/30
US Classification:
707 2, 707100, 707200, 711133
Abstract:
A number, of the blocks of data to be prefetched into a buffer cache, is determined dynamically at run time (e. g. during execution of a query), based at least in part on the load placed on the buffer cache. An application program (such as a database) is responsive to the number (also called “prefetch size”), to determine the amount of prefetching. A sequence of instructions (also called “prefetch size daemon”) computes the prefetch size based on, for example, the number of prefetched blocks aged out before use. The prefetch size daemon dynamically revises the prefetch size based on usage of the buffer cache, thereby to form a feedback loop. Depending on the embodiment, at times of excessive use of the buffer cache, prefetching may even be turned off. Although in one embodiment described herein the prefetch size daemon is implemented in a database, in other embodiments other kinds of applications and/or the operating system itself can use a prefetch size daemon of the type described herein to dynamically determine and change prefetch behavior.
Techniques For Automated Allocation Of Memory Among A Plurality Of Pools
Tirthankar Lahiri - Santa Clara CA, US Poojan Kumar - Foster City CA, US Brian Hirano - Menlo Park CA, US Arvind Nithrakashyap - San Francisco CA, US Kant Patel - Foster City CA, US Kiran Goyal - Mountain View CA, US Juan R. Loaiza - Redwood City CA, US
Assignee:
Oracle International Corporation - Redwood Shores CA
International Classification:
G06F 12/00
US Classification:
711170, 711171, 707812, 718104
Abstract:
Allocation of memory is optimized across multiple pools of memory, based on minimizing the time it takes to successfully retrieve a given data item from each of the multiple pools. First data is generated that indicates a hit rate per pool size for each of multiple memory pools. In an embodiment, the generating step includes continuously monitoring attempts to access, or retrieve a data item from, each of the memory pools. The first data is converted to second data that accounts for a cost of a miss with respect to each of the memory pools. In an embodiment, the second data accounts for the cost of a miss in terms of time. How much of the memory to allocate to each of the memory pools is determined, based on the second data. In an embodiment, the steps of converting and determining are automatically performed, on a periodic basis.
Integrating Tablespaces With Different Block Sizes
Sreedhar Mukkamalla - San Mateo CA, US Arvind Nithrakashyap - San Mateo CA, US Tirthankar Lahiri - Santa Clara CA, US Alok Pareek - Foster City CA, US Juan Loaiza - San Carlos CA, US J. Lee - Foster City CA, US Gary Ngai - Saratoga CA, US
Assignee:
ORACLE INTERNATIONAL CORPORATION - REDWOOD SHORES CA
International Classification:
G06F 17/30
US Classification:
707010000
Abstract:
Provided herein is a mechanism that allows a given database system to access data blocks from another database system, where data blocks from the given database system and data blocks from the other database system have different sizes. According to an aspect of the present invention, a tablespace in the other database system contained the data blocks. The tablespace is detached from the other database system and integrated into the given database, which is capable of processing data stored in data blocks of different sizes.
Maintaining Item-To-Node Mapping Information In A Distributed System
Vikram Joshi - Los Gatos CA, US Alexander Tsukerman - Foster City CA, US Arvind Nithrakashyap - San Francisco CA, US Jia Shi - Redwood City CA, US Tudor Bosman - Mountain View CA, US
Assignee:
ORACLE INTERNATIONAL CORPORATION - REDWOOD SHORES CA
International Classification:
G06F 17/30
US Classification:
707 8
Abstract:
A method and apparatus for maintaining an item-to-node mapping among nodes in a distributed cluster is provided. Each node maintains locally-stored system-state information indicating that node's understanding of which master nodes are alive and dead. Instead of employing a global item-to-node mapping, each node acts upon a locally determined mapping based on its locally-stored system-state information. For any two nodes with the same locally-stored system-state information, the locally determined mapping is the same. A node updates its locally-stored system-state information upon detecting a node failure or receiving a message from another node indicating different locally-stored system-state information. The new locally-stored system-state information is transmitted on a need-to-know basis, and consequently nodes with different item-to-node mappings may operate concurrently. Mechanisms to avoid nodes assuming conflicting ownership of items are employed, thus allowing node failures to propagate via asynchronous messaging instead of requiring a cluster-wide synchronization event.
System And Method For Predicting Cache Performance
Tirthankar Lahiri - Santa Clara CA, US Juan R. Loaiza - Redwood City CA, US Arvind Nithrakashyap - San Mateo CA, US William H. Bridge - Alameda CA, US
Assignee:
Oracle International Corp. - Redwood Shores CA
International Classification:
G06G017/50
US Classification:
703 14, 703 13, 703 17, 703 21, 717128, 711118
Abstract:
A system and methods for simulating the performance (e. g. , miss rate) of one or more caches. A cache simulator comprises a segmented list of buffers, with each buffer configured to store a data identifier and an identifier of the buffer's segment. Data references, which may be copied from an operational cache, are applied to the list to conduct the simulation. Initial estimates of each cache's miss rate include the number of references that missed all segments of the list plus the hits in all segments not part of the cache. A correction factor is generated from the ratio of actual misses incurred by the operational cache to the estimated misses for a simulated cache of the same size as the operational cache. Final predictions are generated by multiplying the initial estimates by the correction factor. The size of the operational cache may be dynamically adjusted based on the final predictions.
Rocket Fuel Inc. Mar 1, 2010 - Jan 31, 2014
Senior Rocket Scientist
Rubrik, Inc. Mar 1, 2010 - Jan 31, 2014
Co-Founder and Chief Technology Officer
Purisma Oct 1, 2006 - Jun 1, 2009
Senior Software Engineer
Oracle Sep 1997 - Aug 2006
Principal Member of Technical Staff and Co-Founder Oracle Exadata
Education:
University of Massachusetts Amherst Sep 1995 - Aug 1997
Master of Science, Masters, Computer Science
Indian Institute of Technology, Madras Aug 1991 - Jul 1995
Bachelors, Computer Science
Sishya School
Skills:
San Software
Interests:
Bean Indian Institute of Technology Pastafarianism Madras (Iitm) Accent Architecture+Design Hubpages
Among others, Rubrik employs Arvind Jain, a former Google distinguished engineer who worked on Googles web crawling and indexing technology; Soham Mazumdar, who is credited as architect of Googles system for indexing the web on disk drives instead of memory; and Arvind Nithrakashyap, a cofounder