Solaris vs AIX (2)
From a technical perspective, of course, the right way to compare AIX to Solaris is to
look at the technology. That might seem like it should be
a lot of work but a
long article by IBM's Shiv Dutta:
AIX 5L Version 5.3: What's in it for you? on the developer works
site largely eliminates the need, or at least the incentive, for doing it.
Dutta's article is about listing improvements from AIX 5L V5.2 to V5.3 and contains
441 instances of <li> - most of them
signaling individually listed AIX improvements.
To quote 13 representative examples:
- Increased inter-process communication (IPC) limits
In AIX, the individual IPC data structures are allocated and deallocated as needed, so memory
requirements
depend on the current system usage. Prior AIX releases defined the maximum number of semaphore IDs,
shared
memory segment IDs, and message queue IDs to be 131072 (128 K) for the 64-bit kernel. To cope with
anticipated future scalability demands, AIX 5L Version 5.3 increases the maximum number of data
structures
for each of the IPC identifier types to 1048576 (1024 K).
- Thread support in gmon.out
When applications consisting of multiple steps in which different executables (all built with -p or -pg
flags to generate profiling information) are invoked in a sequence, each executable causes the previous
gmon.out file to be overwritten. In AIX 5L Version 5.3, the gmon.out file has been made thread-safe so
that each thread from a multi-threaded application has its data in it.
- DBX malloc command
Malloc debugging features have been integrated into DBX command. This would allow a developer to query
the current state of the malloc subsystem without having to create complex, unwieldy scripts requiring
internal knowledge of the malloc subsystem.
tcpdump
upgrade to latest level
The tcpdump
command has been upgraded to Version 3.8. As a consequence of this upgrade,
iptrace
and ipreport
were also changed to use the new upgraded libcap library
(Version 0.8) for packet capture and dump reading. AIX tcpdump
, prior to AIX 5L Version
5.3,
displayed packet timestamps down to 1ns (10-9 s). The open source tcpdump
displays
timestamps at 10-6s. The new AIX tcpdump
has 10-6s timestamp
resolution.
A number of new flags have been added to tcpdump
. Also, a total of 87 protocol printers
have
been included to facilitate printing when using tcpdump
.
- Volume group pbuf pools
In previous AIX releases, the pbuf pool was a system-wide resource. In AIX 5L Version 5.3, the Logical
Volume Manager (LVM) assigns and manages one pbuf pool per volume group. Version 5.3 has introduced the
lvmo
command, which can be used to display pbuf and blocked I/O statistics as well as the
settings for pbuf tunables.
- Scalable volume groups
AIX 5L Version 5.3 offers a new volume group type called scalable volume group (VG). The scalable VG can
accommodate a maximum of 1024 physical volumes and raises the limit for the number of logical volumes
(LVs) to 4096. The maximum number of physical partitions (PPs) is no longer defined on a per disk basis,
but applies to the entire VG. The scalable VG can hold up to 2,097,152 (2048 K) PPs. The range of the PP
size starts at 1 MB and goes up to 131,072 (128 GB), which is more than two orders of magnitude above
the 1024 (1 GB) maximum available in AIX 5L Version 5.2.
- Variable logical track group
AIX 5L Version 5.2 accepted logical track group (LTG) values of 128 KB, 256 KB, 512 KB, and 1024 KB. To
support larger sizes of many disks and better disk I/O performance, AIX 5L Version 5.3 accepts values of
128 KB, 256 KB, 512 KB, 1 MB, 2 MB, 4 MB, 8 MB, and 16 MB for the LTG size. Version 5.3 also allows the
stripe size of an LV to be larger than the LTG size in use and extends support for stripe sizes for 2
MB, 4 MB, 8 MB, 16 MB, 32 MB, 64 MB, and 128 MB to complement the 4 KB, 8 KB, 16 KB, 32 KB, 64 KB, 128 KB,
256KB, 512 KB, and 1 MB options available in prior releases of AIX.
- Striped column support for LVs
In previous AIX releases, you could enlarge the size of a striped LV as long as enough PPs were
available
within the group of disks which defined the RAID disk array. Also, rebuilding the entire LV was the only
way to expand a striped LV beyond the hard limits imposed by the disk capacities. To overcome the
disadvantages of this rather time-consuming procedure, AIX 5L Version 5.3 introduces the concept of
striped columns for LVs. In prior releases of AIX, it was not permitted to configure a striped LV with
an
upper bound larger than the stripe width. In Version 5.3, the upper bound can be a multiple of the
stripe
width. One set of disks, as determined by the stripe width, is considered as one striped column. If you
use the extendlv
command to extend a striped LV beyond the physical limits of the first
striped column, an entire new set of disks will be used to fulfill the allocation request for additional
logical partitions, as long as you stay within the upper bound limit. The -u flag of the
chlv
, extendlv
, and mklvcopy
commands now allow the upper bound
to be a multiple of the stripe width.
- The performance monitoring tool introduced in AIX 5L Version 5.3
called procmon displays a dynamic, sorted list of processes and information about them. It allows
execution of basic administration commands such as
kill
, renice
, and
svmon
on these processes. The procmon tool is an Eclipse plug-in and has been mentioned
under
Application development section. The command to start the tool is called
perfwb
(/usr/bin/perfwb). This launches Eclipse with the procmon plug-in. The
perfwb
command is contained in the fileset bos.perf.gtools.perfwb.
- In the previous versions of AIX, there were no tools available to
monitor the AIO (Asynchronous I/O). In Version 5.3, the performance kernel libraries have been modified
to
obtain AIO statistics. The enhanced
iostat
command can be used as well to monitor AIO
statistics.
- A new flag has been added to the
tar
command, which
would specify the list of files and/or directories to be excluded from the tar file being created,
extracted, or listed.
- Flags have been added to the
tar
command to process a
directory of files recursively. An option has also been added to specify an input file for tar
extraction
much like that can be used for tar creation.
- Search highlighting has been added for the
more
command.
When matching a search pattern, all matches of the search pattern are now highlighted. Highlighting is
the default; new '-H' option disables highlighting. 'H' can also be used as a subcommand in an active 'more'
session to toggle highlighting on or off.
Although AIX Version 6.0 is either into, or just about ready for, its
beta release, 5L V5.3 is the current production toolset - and changes like those
shown for iostats, tar, more, dbx, and many other common tools hardly play catch
up ball to SuSe 7.1, Solaris 2.5.1, or even HP-UX 11.
This doesn't mean V5.3 isn't better than V5.2 -
if you've ever struggled with a database engine, like
Sybase 11, requiring manual extent assignment
5.3's lifting of the 1GB partition limit will provide magical relief. Unfortunately, however,
that effect only applies if you're coming from 5.2 because
if you used any other Unix you wouldn't
have seen this kind of problem since the early nineties - and that's really
the bottom line on the entire comparison: the improvements to AIX -all that volume management stuff, for example-
mostly invoke that same deja vue feeling from ten and fifteen years ago.
So what makes AIX, AIX? Two things: first
a focus on controls making what Oracle does with ACLs look attractive, and secondly
the typical mainframer's obsession with processor based systems virtualization.
Thus (to continue quoting Dutta's work) System
V 5.3L has many new features like:
- Disk quotas support for JFS2
AIX 5L Version 5.3 extends the JFS2 functionality by implementing disk usage quotas to control usage of
persistent storage.
Disk quotas might be set for individual users or groups on a per file system basis.
Version 5.3 also introduces the concept of Limit Classes. It
allows the configuration of per file system limits, provides a method to remove old or stale quota
records, and offers comprehensive support through dedicated SMIT panels. It also provides a method to
define a set of hard and soft disk block and file allocation limits and the grace periods before the
soft limit becomes enforced as the hard limit.
The quota support for JFS2 and JFS can be used on the same
system.
- Micro-Partitioning: Allows a single processor to be shared by
up to 10 partitions and supports up to 254 such partitions.
- Virtual I/O: Supports the I/O needs of client partitions
(AIX® and Linux®) without having to dedicate separate I/O slots for network connections and
storage devices for each client partition. You can boot and run the partitions from Virtual SCSI devices
and achieve network connections using the Virtual Ethernet and Shared Ethernet Adapter.
- Shared Ethernet Adapter (SEA) Failover: Provides Shared
Ethernet Adapter High Availability by offering the ability to create a backup SEA on a different Virtual
I/O server that will bridge, should the primary SEA become inactive.
- SMT: Version 5.3 supports the SMT mode of POWER5 processors.
When you enable this mode, a single physical POWER5 processor appears to the operating system to be two
logical processors, independent of the partition type. A partition with one dedicated processor would
behave as a logical 2-way by default. A shared partition with two virtual processors would behave as a
logical 4-way by default. You can turn the mode on or off for a specific partition either immediately or
on a subsequent boot of the system.
Notice here that what IBM means by virtualization is exactly
the opposite
of what Sun means and that this therefore presents an absolutely basic distinction between the
ideas embedded in the two architectures.
When IBM says "virtualization" it means the 1960s idea of breaking a multi-million
dollar processor complex into independently managed chunks. In contrast
the Unix idea of virtualization focuses on processes to make them manageable independently
of the hardware.
Thus virtualization in the IBM sense increases complexity while Unix virtualization
reduces it - and IBM's approach lets you break one physical machine into multiple
virtual ones while the Unix ideas embedded in Sun products like N1 allow you to
treat many small machines as one larger one.
Cut to the bottom line and what you have is Sun pursuing the second generation Unix ideas
embedded in Plan9: in which the network is the computer and all resources are accessible by everyone;
while IBM is still selling pre-Unix VM ideas for protecting one application from another on the same
hardware.
Paul Murphy wrote and published The Unix Guide to Defenestration.
Murphy is a 25-year veteran of the I.T. consulting industry, specializing in Unix and Unix-related
management issues.