2

I see the terms being used together in the context of QoS and compute resource usage in the cloud, but I am lacking a formal definition of the terms and how they relate.

For example, this documentation states:

In an overcommitted environment, it is possible that the pods on the node will attempt to use more compute resource than is available at any given point in time.

and

Eventually, if there is not enough swap space, processes in the pods can be terminated due to the system being oversubscribed.

My understanding so far has been that a resource is considered to be overcommitted if promises have been made that, when reclaimed on their totality, will cause oversubscription of the said resource. On the other hand, a resource is said to be oversubscribed if it is unable to serve all the work it has committed to.

I am new to the subject, and I wonder if is there any seminal paper on the subject that I should refer to

  • 1
    Oversubscription generally refers to communication resources. For example, the old telephone network had more users than circuits, but you would normally not get more active users at once, and the `all circuits are busy, please try again later" message was fairly rare. ISPs sell much more bandwidth to customers than they have to other ISPs, so they are oversubscribed. Access switches in a network almost always have more access bandwidth than uplink bandwidth, so they are over subscribed. – Ron Maupin Jan 25 '20 at 19:22

2 Answers2

4

They basically mean the exactly same thing, but the difference is in the angle of view:

  • subscription (or oversubscription) is a term that defines the situation looking through the lenses of clients (whatever or whoever they are) in the relation to the system/service they are trying to use. E.g. as @Ron Maupin described in a comment to the question, if you market your service to more users that you can handle simultaneously, you are oversubscribing them.

  • commitment (or overcommitment) is a term that defines the same situation looking through the lenses of the system/service in relation to the resources needed to serve clients. E.g. the bouncer at the bar let more people in than the capacity of the bar (somebody oversubscribed the patrons, hence they arrived at bar's door, but the bouncer overcommitted by letting them in :) ).

However, there is also a different opinion on the topic, e.g. Benjamin Armstrong argues that "overcommitment" is when the resources are already allocated (e.g. as in my example the bar is already full and out of capacity) and is a bad thing, while "oversubscription" is just a promise to have a spot and is a good thing (from virtualisation point of view).

galaxy
  • 1,974
  • 1
  • 13
  • 15
0

The terms are used interchangeably. In the Dell Software article: Best Practices for Oversubscription of CPU, Memory and Storage in vSphere Virtual Environments, the author defines the concept:

...administrators can oversubscribe the physical resources on a host in order to maximize the number of workloads that can run on a host. In other words, they can assign to virtual machines, in aggregate, more resources than are actually available on the host.

And uses both words interchangeably in several places, like so:

Oversubscribing memory resources

The common wisdom

Oversubscribing RAM is one of the more controversial resource oversubscription options. Whereas CPU and storage resources are often overcommitted, there seems to be some conservatism when it comes to overcommitting RAM.

EricC
  • 91
  • 1
  • 4