2.1.1 Should I run 32 or 64 bit ASE with Solaris?
2.1.2 What is Intimate Shared Memory or ISM?
The following was written by the prior maintainer, David Owen:
Sybase' first forray into 64-bit was with release 11.9.3. I do not know
much about that release, but I seem to remember that it was always
lagging behind its sister release of 11.9.2.
With ASE 12, Sybase have both 32-bit and 64-bit versions at the same
release level. This is a big improvement, since it cuts out some concern
that was prevelant with 11.9.3 as to why they were on different numbers.
The releases are supposed to be identical in terms of functionality, save
the fact that the 64-bit version can address more memory.
So, why not just be done with it and have just the one version? Firstly,
I suppose that not everyone who can run Solaris has the capability to
run the 64-bit version. There are still a lot of 32-bit Sparc chips
around and a lot of people use them. It is also possible to run 32-bit
Solaris on a 64-bit machine. In order to be able to run 64-bit Sybase
you will have to be running 64-bit Solaris.
If you have a 64-bit environment, you still need to choose between which
Sybase version to run. If you have more than 4G bytes of memory on your
machine and you would like Sybase to take advantage of it, then the
64-bit version is for you. If not, then the word on the street, and from
Sybase themselves, is that in identical environments, the 32-bit version
runs slightly faster. I have heard a couple of explanations as to why
this is so, but nothing that I find 100% convincing.
Today it is probably fair to say that unless you are running on older
hardware, there's no real reason to not use the 64-bit version if given the
choice. Why? Because the machines nowadays come with significant amounts of
memory, and that memory is unusable unless your are either running the
64-bit version of ASE, or deploying multiple ASE dataservers on the
machine. Since databases are getting larger and larger, and physical I/Os
are slower than logical I/Os, it makes more sense to take advantage of the
additional memory available on the newer machines to reduce these I/Os. Thus,
64-bit is the way to go.
Back to top
Intimate Shared Memory or ISM is a specific feature of Sun Solaris. The
feature was developed so that when multiple processes (at OS level) try to
access a shared memory region, they do not use multiple TLBs (Transalation
Lookaside Buffers) at OS kernel level. This saves lot of kernel memory
space.
I don't think that does a whole lot for Sybase, more for Oracle I
suppose. However, there is a side effect that is useful. If there is
enough memory available on the machine, typically Solaris will not
swap out process memory marked as ISM if it can possibly help it.
Swapping in Solaris is done in three phases, reserved, allocated and
used. Locking the shared memory has the advantage of increasing
performance. Of course, if there are lot's of processes on the machine and
if new processes starve for memory, there is a potential that ISM will get
swapped.
For performance reasons, it is worth ensuring that Sybase can allocated
its shared memory segment using ISM. ASE tries by default to use ISM and
will display an error message during start up if this is not possible. It
is probably worth starting Sybase soon after a machine is rebooted to give
it the best possible chance of using ISM.
More information can be found on the following sites:
Back to top
|