What is the noisy neighbor effect?
Whether it’s a TV turned up too loud, thumping bass from music, crying babies, crazy parties, barking dogs, or even the whirring of kitchen appliances through the night: noise disturbances from neighbors are something that all of us have experienced in life. But when these disturbances are particularly disruptive or occur regularly, they can have an enormous impact on your living environment and daily life. But the problem of noisy neighbors having a negative impact on rented resources isn’t exclusively contained within your four walls at home: this phenomenon has also spread to the virtual server environment too. For this reason, it’s referred to as the ‘noisy neighbor problem’.
What is the ‘noisy neighbor’ effect?
When choosing where to live, you generally have two options: either you can buy or rent a standalone house, or you can live in an apartment in a shared block. With the former your neighbors are much less likely to be an issue, with the later you tend to have a lot more regular contact with them in an apartment in a shared building. But the price you pay for the added privacy of a house is usually higher, with additional administrative costs included – both of which are typically lower in an apartment block.
Searching for a suitable home for your web project or company IT infrastructure is similar in several aspects: running your own physical server (either on your own or hosted by a provider), including all the necessary software and hardware, is an expensive solution and requires greater effort, but it does mean you remain 100% in control of the resources and management of your server. If you turn to virtualized resources to save costs, you share the base of your project with others – which can lead to occasional fluctuation in performance.
The cause for this is usually too much strain being placed on resources by a co-tenant, which has led to the use of the term ‘the ‘noisy neighbor’ effect’. Today, you can witness the phenomenon of a performance-impairing ‘neighbor’ instantly, particularly in flexible cloud computing, which is built on the presence of a multi-tenancy, or multi-instance architecture (particularly the public clouds).
The ‘noisy neighbor’ problem in a virtual server environment
The ‘noisy neighbor’ effect has been in existence longer than the discovery of the cloud though – the term was coined when resource sharing in internet technology began. The problem of noisy neighbors was first established as early as the foundation of traditional shared hosting between a hosting provider and clients. If a participant consciously or unconsciously uses more resources than was originally allocated, it means that at least one other participant is temporarily restricted – this is particularly true of memory space. In the meantime, the hypervisors, which serve as a mediation layer between the physical resources and the virtual machines, have become so sophisticated that it’s almost impossible for individual users to avoid the limiting of resources.
Modern cloud hosting, on the other hand, whose great advantage is its very flexible scalability, has its own ‘noisy neighbor’ problem: although the capacity and access times of storage technology has improved greatly, storage requirements regarding the cloud have grown more exponentially. If multiple user instances are connected to a cloud solution, and one or more virtual machines burden the physical server memory with excessive input/output values, this may cause some memory impairment. SSDs work to prevent this problem occuring, but they can’t halt the negative effects entirely; they’re also not a standard component of every cloud hosting provider’s repertoire yet.
There’s also another noisy neighbor effect present in cloud computing, one which results from the behavior of the hypervisor and the processors. While the hypervisor has no access to the local storage or the cache of the processors, these conversely don’t have much information about what happens beyond the network layer. For this reason, the processors decide which data is cached themselves. Additionally, modern, multi-core processors prefer to assign individual virtual machines to the L3 cache, which speeds up the data exchange between the cores. The consequence of this is that all other operations for the remaining machines that also access to same processor take considerably more time to complete.
‘Noisy neighbors’ in cloud computing: solutions
To avoid the ‘noisy neighbor’ problem and optimize the performance of all hosted projects for the long term, some cloud providers have switched to an all-flash storage infrastructure. This storage concept involves replacing all of the traditional hard disk drives (HDDs) with the more powerful (but also more expensive) solid state drives (SSDs). But even this modern flash storage medium can’t completely stop the ‘noisy neighbor’ effect, despite its higher input/output rate. As a result, database storage systems that contain several flash memory drives – known as all-flash arrays – have proven to be successful ways to operate storage structure without HDDs. These arrays have a built-in storage quota for the input and output of data that can be managed via an individually customizable application layer. This means that the cloud provider or the operator of an individual cloud can coordinate and keep tabs on the data transfer between the different virtual machines.
If the development of your project is difficult to estimate, you should be aware of the upgrading and downgrading options for your chosen rented resources. Otherwise, you may quickly discover that you’re paying for storage and CPU performance that you don’t really need – or that you yourself have become a ‘noisy neighbor’ due to using more resources than you’ve been allocated and disrupting other cloud users in the process.
Since October 2015, IONOS offers an all-flash array storage solution for the cloud hosting service. The SolidFire technology used guarantees the best possible performance for all hosted projects and offers users an affordable performance package that’s perfectly tailored to their needs and that can be upgraded or downgraded any time.