Patent ID: 9183245
Filing Date: 2015-11-10
Classification: G06F

Abstract:
1. A non-transitory computer program product storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising: receiving, in a data storage application including a plurality of log buffers, an indication of the number of input/output (I/O) requests that an I/O subsystem is capable of concurrently processing; determining, based on the indication of the number of I/O requests that the I/O subsystem is capable of concurrently processing, a number k of active parallel I/Os for a plurality of log partitions; loading, in the data storage application including a plurality of log buffers, first k log buffers with exactly one database transaction into memory, each log buffer being written to one of the plurality of log partitions, each log partition being stored in a separate physical storage device; sending each of the log buffers to the I/O subsystem upon each log buffer being respectively loaded with a single transaction; accumulating, after sending the k log buffers to the I/O subsystem, transactions in respective new log buffers; and sending all of the log buffers with the accumulated transactions to the I/O subsystem when the earlier occurs of (i) the respective new log buffer being full or (ii) a number of incomplete input/output requests handled by the I/O subsystem falls below k.