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 ap­pli­ances through the night: noise dis­tur­bances from neighbors are something that all of us have ex­pe­ri­enced in life. But when these dis­tur­bances are par­tic­u­lar­ly dis­rup­tive or occur regularly, they can have an enormous impact on your living en­vi­ron­ment and daily life. But the problem of noisy neighbors having a negative impact on rented resources isn’t ex­clu­sive­ly contained within your four walls at home: this phe­nom­e­non has also spread to the virtual server en­vi­ron­ment 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 stand­alone 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 ad­di­tion­al ad­min­is­tra­tive costs included – both of which are typically lower in an apartment block.

Searching for a suitable home for your web project or company IT in­fra­struc­ture 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 man­age­ment of your server. If you turn to vir­tu­al­ized resources to save costs, you share the base of your project with others – which can lead to oc­ca­sion­al fluc­tu­a­tion in per­for­mance.

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 phe­nom­e­non of a per­for­mance-impairing ‘neighbor’ instantly, par­tic­u­lar­ly in flexible cloud computing, which is built on the presence of a multi-tenancy, or multi-instance ar­chi­tec­ture (par­tic­u­lar­ly the public clouds).

The ‘noisy neighbor’ problem in a virtual server en­vi­ron­ment

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 tech­nol­o­gy began. The problem of noisy neighbors was first es­tab­lished as early as the foun­da­tion of tra­di­tion­al shared hosting between a hosting provider and clients. If a par­tic­i­pant con­scious­ly or un­con­scious­ly uses more resources than was orig­i­nal­ly allocated, it means that at least one other par­tic­i­pant is tem­porar­i­ly re­strict­ed – this is par­tic­u­lar­ly true of memory space. In the meantime, the hy­per­vi­sors, which serve as a mediation layer between the physical resources and the virtual machines, have become so so­phis­ti­cat­ed that it’s almost im­pos­si­ble for in­di­vid­ual users to avoid the limiting of resources.

Modern cloud hosting, on the other hand, whose great advantage is its very flexible scal­a­bil­i­ty, has its own ‘noisy neighbor’ problem: although the capacity and access times of storage tech­nol­o­gy has improved greatly, storage re­quire­ments regarding the cloud have grown more ex­po­nen­tial­ly. 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 im­pair­ment. 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 reper­toire yet.

There’s also another noisy neighbor effect present in cloud computing, one which results from the behavior of the hy­per­vi­sor and the proces­sors. While the hy­per­vi­sor has no access to the local storage or the cache of the proces­sors, these con­verse­ly don’t have much in­for­ma­tion about what happens beyond the network layer. For this reason, the proces­sors decide which data is cached them­selves. Ad­di­tion­al­ly, modern, multi-core proces­sors prefer to assign in­di­vid­ual virtual machines to the L3 cache, which speeds up the data exchange between the cores. The con­se­quence of this is that all other op­er­a­tions for the remaining machines that also access to same processor take con­sid­er­ably more time to complete.

‘Noisy neighbors’ in cloud computing: solutions

To avoid the ‘noisy neighbor’ problem and optimize the per­for­mance of all hosted projects for the long term, some cloud providers have switched to an all-flash storage in­fra­struc­ture. This storage concept involves replacing all of the tra­di­tion­al 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 com­plete­ly 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 suc­cess­ful 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 in­di­vid­u­al­ly cus­tomiz­able ap­pli­ca­tion layer. This means that the cloud provider or the operator of an in­di­vid­ual cloud can co­or­di­nate and keep tabs on the data transfer between the different virtual machines.

If the de­vel­op­ment of your project is difficult to estimate, you should be aware of the upgrading and down­grad­ing options for your chosen rented resources. Otherwise, you may quickly discover that you’re paying for storage and CPU per­for­mance 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 dis­rupt­ing other cloud users in the process.

Tip

Since October 2015, IONOS offers an all-flash array storage solution for the cloud hosting service. The SolidFire tech­nol­o­gy used guar­an­tees the best possible per­for­mance for all hosted projects and offers users an af­ford­able per­for­mance package that’s perfectly tailored to their needs and that can be upgraded or down­grad­ed any time.

You are in­ter­est­ed in a virtual server cloud and want to avoid the “Noisy Neighbor Effect”, then find out here about the IONOS server portfolio.

Go to Main Menu