Browse Prior Art Database

Method and System for Optimizing Spare Cores in an Enterprise System

IP.com Disclosure Number: IPCOM000198327D
Publication Date: 2010-Aug-04
Document File: 2 page(s) / 23K

Publishing Venue

The IP.com Prior Art Database

Abstract

A method and system is disclosed for optimizing designated spare cores in an enterprise system to improve memory affinity in a virtualized environment. The designated spare cores, in the local node where memory is located, are used in place of remote cores dynamically to improve performance of the system.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 58% of the total text.

Page 1 of 2

Method and System for Optimizing Spare Cores in an Enterprise System

Disclosed is a method and system for optimizing designated spare cores in an enterprise system where multi-nodes packed with a large number of cores are inter-connected through pipes that may have constrained bandwidth. The spare cores are defined in such an enterprise system where partitions or virtual machines could use the spare cores in-lieu of remote cores to improve performance of virtual machines. The spare core can be a fraction of available core on any chip.

The system performance benefit is measure using the memory affinity gained using the spare cores in a virtual machine or partition. The affinity gain is determined by using the local memory access resulted from using spare cores in relation to remote memory access if spare cores were not used. The spare cores usage in a virtual machine or partition may be defined by using the following logic:

Function num

_cores

_spreadout(num

_

cores, num

_books,

partition

_size

)

Dim res Dim num

_

partition

s

Dim left

_over

Dim spares
spares = (32 - (num

_cores

/

num

_books

) + 1

num

_

partition

s

= Int(num

_cores

/

partition

)_size

)

res = Int(32

/

partition

_size

left

_

over = 32 - (res *

partition

)_size

)

If (res *

partition

_

size = 32

)

Then

num

_cores

_

spreadout = 0

Else

If (res * num

books > num

_

partition

s

)

Then

num

_cores

_

_spreadout = 0

Else

num

_cores

spreadout = num

_

cores - (res *

partition

_

size * num

_books

)

If (num

_cores

_...