Virtual resource partitioning
# Virtual resource partitioning

Virtual resource partitioning (VRP) is an operating system-level virtualization technology that allocates computing resources (such as CPU & I/O) to transactions. Conventional virtualization technologies allocate resources on an operating system (Windows, Linux...) wide basis. VRP works 2 levels deeper by allowing regulation and control of the resources used by specific transactions within an application.

In many computerized environments, a single user, application, or transaction can appropriate all server resources and by that, affect the quality of service & user experience of other active users, applications or transactions. For example, a single report in a data warehouse environment can monopolize data access by demanding large amounts of data. Similarly, a CPU-bound application may consume all server processing power and starve other activities.

VRP allows balancing, regulating and manipulating the resource consumption of individual transactions, and by that, improving the overall quality of service, compliance with service level agreements, and the ultimate end user experience.

## Technology overview

VRP is usually implemented in the OS in a way that is completely transparent to the application or transaction. The technology creates virtual resource "lanes", each of which has access to a controllable amount of resources, and redirects specific transactions to those lanes allowing them to take more or less resources.

VRP can be implemented in any OS and is available on Windows, Red Hat, Suse, HP-UX, Solaris, tru64, AIX and others.

In any OS, the application communicates with the OS kernel in a specific way which requires a different VRP implementation. A safe implementation of VRP usually combines several resource allocation techniques. VRP implementations depend on rapidly varying transaction type, consumed resource and kernel state. The VRP implementation must adapt to such changes in real-time.

