fintanr's weblog

Archives

« May 2008
MonTueWedThuFriSatSun
   
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
       
Today

the links




















20080507 Wednesday May 07, 2008

uperf - opensource network benchmark
I noted that the availability of uPerf, has just been announced over on perf-discuss. I had the opportunity to play with uperf a little bit in my previous role, its an extremely powerful and useful network benchmarking tool. If you need to measure networking performance with "real world" type workloads (and lets face it thats what you need to be doing) uPerf is well worth checking out.
(2008-05-07 08:49:18.0) Permalink Comments [0]

20080410 Thursday April 10, 2008

xVM and the art of beer maintenance
We all know global warming is occurring, and from individual's to corporations we can all make a contribution to containing, and eventually reversing climate change, and save a bit of cash along the way as well. Seems like a win, win deal to me. But now the urgency has grown, a colleague of mine forwarded on an article about the price of beer. The price of beer I hear you ask? From the AP release

Jim Salinger, a climate scientist at New Zealand's National Institute of Water and Atmospheric Research, said climate change likely will cause a decline in the production of malting barley in parts of New Zealand and Australia. Malting barley is a key ingredient of beer.

"It will mean either there will be pubs without beer or the cost of beer will go up," Mr. Salinger told the Institute of Brewing and Distilling convention.

Now considering the fact, to borrow a quote the folks over on Goats, that

Beer is the salvation of all mans souls

this is a matter of some urgency for all of us in the technology industry to address. Luckily for us the most complete suite of technologies, services and solutions to address these problems is available from Sun.

Virtualization & Consolidation

There is virtualization from the management layer with Sun xVM Ops Center, to our hypervisor level offering xVM, based on the work of the openxVM community, to logical domains with LDoms on our award winning CoolThreads servers, to software level virtualization with Solaris Zones and desktop level virtualization with Sun xVM VirtualBox.

Using xVM and our range of x64 and Sun Blade Systems you can consolidate your existing Solaris, Windows and Linux environments into one environment. Personally I still have a soft spot for the Sun Fire x4600 M2, but given the choice I would go for the Sun Blade 6000 with Sun Blade x6220 Server Modules for x64 and x86 consolidation.

Why the Sun Blade 6000? Very simple, because I can use the same blade chassis with LDoms and the Sun Blade T6320 Server Module to consolidate my existing Sparc applications. Of course if you don't feel that xVM is the right choice for your Windows or Linux consolidation all of our x64 servers are VMWare certified, and you can get your support and services directly from Sun.

Sometimes however its not possible to migrate your ISV application to the latest version of Solaris, we are all aware of the application that was certified on with database X, jvm y and os z that no one wants to get recertified due to the costs, but you know that the old machine thats there is just not efficient any more, users would like better performance that can only come from a hardware upgrade, but the new hardware doesn't support the old OS - fear not as Solaris 8 Containers, building on the excellent work of the Zones and BrandZ communities over at OpenSolaris allows you to safely consolidate applications certified for Solaris 8 and Solaris 9 applications using Solaris 10 Containers, using any of our servers, from the most energy efficent servers on the market, Suns CoolThreads servers, to our high end offerings.

If your not sure if this is for you or uncertain if you want to undertake a migration, why not get one of our newly launched Sun Sparc Enterprise T5140 Servers on our Try & Buy program, contact our Professional Services group about our Enterprise Migration service, and see how much you could save on power, maintenance and support. Your boss will thank you for saving your business money and more importantly you will be helping to protect the global beer supply, which we all know is the real issue here :).
(2008-04-10 05:43:10.0) Permalink

20080123 Wednesday January 23, 2008

HTML 5 Draft Spec
Just noted that w3 sent out a press release about HTML 5 yesterday. The draft spec is well worth a look if you are in any way interested in the direction of HTML 5.
(2008-01-23 07:00:46.0) Permalink

20080118 Friday January 18, 2008

17th Irish OpenSolaris Users Group Meeting
Tim have been busy planning the next IE-OSUG meeting

Topic           News from December/January, Lightning talks
		& generally being social!

Date            Thursday January 31st
Time            7:00pm onwards
Location        DIT, Kevin Street, room KE: 1-008
	        (unless I hear otherwise from the nice folks at DIT)

This month, we don't actually have a main speaker organised, so we're
just going to wing it.


Along with presenting the OpenSolaris news which we didn't get to talk
about in December[1], we'll also cover January's news items, which are
already starting to mount up!

In addition, we could use the extra time to host some ad-hoc Lightning
Talks[2] - these worked pretty well the last time we did these, and we
think the casual atmosphere was a good one:
http://www.opensolaris.org/os/project/ie-osug/meetings/11/
If you've slides in advance that you want to send on, drop Tim a mail,
or feel free to just bring them along on the night.

We'll update this month's web page at:

http://www.opensolaris.org/os/project/ie-osug/meetings/17/

with any Lightning Talk topics we get in advance -- all volunteers
welcome!

As always, we'll be recording the talk and adding it to our
podcast feed as well as posting the slides here, in case you can't make
it to the meeting.

Note this month, we're holding the meeting on a Thursday this month -
we've had a few people say that Tuesdays don't suit, so perhaps it would
be better switching the day the meetings on each month to better
accommodate people ?

Many thanks to the nice folks at DIT for hosting our meeting, please let
me know if the change of date doesn't suit?


A link to this announcement is: 
http://www.opensolaris.org/os/project/ie-osug/meetings/17/
there's a PDF poster on the page you can use to further publicise the
meeting.

(2008-01-18 04:04:28.0) Permalink

20080111 Friday January 11, 2008

[ music ] A bit of trad
[ cross post from the other side, but its for a good cause ]

... or a blatant plug. A cousin of mine Niamh Ni Charra is playing a showcase gig during the upcoming Temple Bar Trad festival in Dublin.

You can hear some of Niamh's tunes over on myspace. And yes, you can make this, and then go on to Explosions In The Sky, all in one night ;).
(2008-01-11 07:23:40.0) Permalink Comments [2]

20071221 Friday December 21, 2007

DTrace ip Network Provider I see that Brendan Gregg has posted a draft PSARC case for the first part of the DTrace Network Provider over on DTrace-discuss. I can't even begin to describe how useful this will be.

Technorati Tag(s) : ,

(2007-12-21 07:33:30.0) Permalink

20071205 Wednesday December 05, 2007

DTrace and the case of the slow login...

An interesting little problem came my way earlier on today which yet again let me show just how useful DTrace is. Way back when I did a bit of work with a customer around a small webapp they migrated to Solaris from Linux. Anyway I got a mail from them earlier today, they split out the webserver onto a seperate box a while back, and recently the initial connections to the database tier have gotten very slow, for no obvious reasons.

They were looking into things like large logs and slow writes etc, but nothing obvious was popping up. So we went through a couple of initial steps to see if anything obvious jumped out - the various *stat tools showed everything running normally so time to reach for DTrace. A quick oneliner showed up exactly where the problem was, and while its a simple fix I thought I'd share it as an example here. The key point here is that this isn't a resource starvation issue, which is when people generally reach for DTrace, rather its a nasty side effect of a simple change that doesn't manifest itself in an obvious manner. Right, enough typing, the oneliner was...

dtrace -n 'syscall:::entry { @sc[ustack()] = count(); } tick-5sec { printa(@sc); }'

Looking at the output the first thing that I spotted were some stacks similar to

			  libc.so.1`_so_send+0x7
              libresolv.so.2`send_dg+0xe5
              libresolv.so.2`res_nsend+0x45b
              libresolv.so.2`res_nquery+0xc9
              libresolv.so.2`ho_byaddr+0x379
              libresolv.so.2`ho_byaddr+0x80
              libresolv.so.2`gethostbyaddr_p+0x8e
              libresolv.so.2`res_gethostbyaddr+0x26
              nss_dns.so.1`_gethostbyaddr+0x21
              nss_dns.so.1`__nss_dns_getbyaddr+0x91
              nss_dns.so.1`getbyaddr+0x1b
              libc.so.1`nss_search+0x17d
              libnsl.so.1`_switch_gethostbyaddr_r+0x71
              libnsl.so.1`_uncached_gethostbyaddr_r+0x2a
              nscd`gethost_lookup+0x3dc
              nscd`0x80541da
and
              libc.so.1`stat64+0x7
              nss_files.so.1`getbygid+0x2e
              libc.so.1`nss_search+0x17d
              libc.so.1`_uncached_getgrgid_r+0x63
              nscd`getgr_lookup+0x3b2
              nscd`0x8054852
              libc.so.1`_thr_setup+0x4e
              libc.so.1`_lwp_start
Hmmm, so nscd is busy. The next question was "have there been any network changes?", they weren't aware of any but on some digging there was some reconfiguration work done recently on the DNS server they use. Anyway the temporary solution that they have put in place until the DNS issues are resolved is to add the new webserver machine directly to /etc/hosts.

Without DTrace the root cause would have been a lot more painful to find, instead this exchange was a couple of e-mails in the background while I got on with the day job. Gotta love DTrace ;).

Technorati Tag(s) : ,

(2007-12-05 09:05:27.0) Permalink

20071204 Tuesday December 04, 2007

Easing control....

APOC, A Point of Control, has just been opensourced. Alberto Ruiz has posted a blog with all the details. Very cool. Take a look at the project website over on FreeDesktop for more details.
(2007-12-04 08:34:47.0) Permalink

20071120 Tuesday November 20, 2007

IPS @ 16th IE-OSUG
Tim has been busy organising the next Irish OpenSolaris Users Group meeting. The announcement mail is here, but for your ease of viewing..

I'm happy to announce the 16th Irish OpenSolaris User Group meeting:

Topic           Image Packaging System (IPS)
Date            Tuesday November 27th
Time            7:00pm onwards
Location        DIT, Kevin Street, room KE: 1-008

This month, Michal Pryc has kindly offered to give a talk on the Image
Packaging System[1] - a new package management system for OpenSolaris
that will ease the pain of package installation and upgrade.

The project is still in it's early stages, but you can try it out now by
downloading and experimenting with Indiana[2]. Come along to the meeting
to find out more!

Michal plans to give a quick outline of:

  * IPS structure
  * client/server side tools
  * limitations (some would say benefits ;-)
  * portability

as well as a GUI tool he's been working on. He's asked if people have
specific questions about IPS before the meeting, to feel free to post
them to the list and he'll try to prepare them for the meeting.

This should be a pretty interesting talk, and I'd definitely encourage
you to come along – please feel free to pass this message around and
spread the word.


As always, we'll also give a quick run down of OpenSolaris news
over the past month, and will be recording the talk and adding it to our
podcast feed as well as posting the slides here, in case you can't make
it to the meeting.

As always, many thanks to the nice folks at DIT for offering to host
our meeting!

A link to this announcement is:
http://www.opensolaris.org/os/project/ie-osug/meetings/16/


Look forward to seeing you there!   There's a poster on my blog if you'd
like to help us publicise this meeting.

        cheers,
                        tim

[1] http://opensolaris.org/os/project/pkg
[2] http://opensolaris.org/os/project/indiana/resources/getit

(2007-11-20 06:11:28.0) Permalink Comments [1]

20071101 Thursday November 01, 2007

Swapping communities, but still the same community
Among the many great reasons for working in Sun, the ability to forge your own career while working with incredibly talented people has got to be the single best one I can think of. Over the years I have had the privilege of working with some of the most talented engineers on the planet, who are creating some of the most innovative products on the market, from Suns incredible hardware platforms such as the T5220, industry redefining storage platforms such as the x4500, to cutting edge innovations in Solaris and our leading middleware stack the Java Enterprise System.

However my time as a direct paid up member of the more hardcore side of the engineering community has drawn to a close. A few months back I decided that it was time to learn about different areas of Sun's business, and started to keep an eye out for any relevant internal opportunities. This being Sun an awful lot of opportunities exist (go on, take a look), and a role that matched everything that I was looking for, and more, came up. I applied, went through the process and started in my new role at the start of October.

So what are you doing now I hear you ask. I am now working within our Global Sales Organisation for a team in Services Marketing, which works with the both our internal sales and marketing communities and our larger partner community. The role in itself has quite a large technical aspect, but with a primary focus on direct day to day business problems and longer term business processes and strategy. As you might have guessed its the business side of the equation that I am focused on expanding. I am just beginning to get my bearings in this new role, and there is an awful lot to learn, but thats the challenge that I decided to take on, and its a challenge that I am looking forward to embracing.

However in many ways this new job is almost identical to my previous role. I am working with a group of incredibly talented individuals, there is a community of users whom we interact with, there are internal and external customers and there is an overarching goal of delivering the best possible service, product or solution to both our existing, and potential, customers - the same people that make up the community we work with, and work for, every day. So really the only part I am swapping is the immediate team I work with, other than that the end goal, and the overall community remains the same.

And speaking of communities, one that I will still be active in is the OpenSolaris community. If you haven't heard yet the folks in the Indiana project released their first OpenSolaris Developer Preview last night. Go forth, download and participate - I know I will.


(2007-11-01 12:16:24.0) Permalink

20071017 Wednesday October 17, 2007

Solaris Developer Express on Acer 5613 AWLMi
This post is a bit out of date as there have been several more builds of Solaris Express since I originally started to create this entry, but it should provide a good starting point for anyone with a similar laptop. While installing Solaris Developer Express on an Acer 5613 I ran into a couple of issues that took a bit of time to resolve, so rather than having someone else having to do the same digging I've listed the relevant details here. The installation discussed here was done with a Solaris Express Developer Edition 9/07 dvd.

Initial Boot

The intial bootup from the dvd goes through fine until we start to configure /dev. Now it turns out that Acer bioses have a history of being a bit funky in regards to ACPI, and the workaround is documented in 6505915. You need to add the following options to your Grub menu options before starting the installation.
-B acpi-user-options=8
If your curious about ACPI on Solaris Dana Myers has a nice blog posting from way back on how to configure Solaris ACPI at boottime. In the above workaround we have just switched our acpi mode to legacy.

Networking

The onboard nic is a BCM4401-B0 Broadcom, which is supported by the bfe driver.

Wireless networking proved to be problematic, initially I had suspected something odd with the chipset, but it is supported. I logged 6614097 which after some analysis with the help of the wifi nic folks was shown to be a side effect of to the ACPI problems noted above.

This problem has been root caused to an inability to switch on the RF switch from Solaris due to having to disable ACPI, unfortunately there is no workaround for this. My solution has been to purchase an atheros based pcmcia wireless card which works perfectly.

I/O Resource Warnings

On the initial boot we get a warning message similar to
	WARNING: out of I/O resources on bridge: bus 0x20, dev 0x3, func 0x0, for secondary bus 0x23
Which is 6573171 - unnecessary I/O resource warnings on some machines. A fix for this issue integrated into Nevada 75, but its nothing to worry about anyway.

Grub Entries for Windows & ACPI Workaround

I decided to keep the Vista partition on this laptop, and while the installer picked up the windows partition, it didn't add it to my grub menu. As far as I am aware this has been fixed, but just in case I added the following to my /boot/grub/menu.lst under the unknown partition id section.
# Unknown partition of type 6 found on /dev/rdsk/c0d0p0 partition: 2
# It maps to the GRUB device: (hd0,1) .
title Windows Vista
rootnoverify (hd0,1)
chainloader +1
We also need to pass the acpi option listed above into Solaris, which gave me the following
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Solaris Express Developer Edition 9/07 snv_70b X86
kernel$ /platform/i86pc/kernel/$ISADIR/unix -B acpi-user-options=8
module$ /platform/i86pc/$ISADIR/boot_archive
#---------------------END BOOTADM--------------------
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Solaris failsafe
kernel /boot/platform/i86pc/kernel/unix -s -B acpi-user-options=8
module /boot/x86.miniroot-safe
#---------------------END BOOTADM--------------------
Technorati Tag(s) : ,

(2007-10-17 12:47:16.0) Permalink

20070920 Thursday September 20, 2007

Ldoms @ IE-OSUG
The fourteenth Irish OpenSolaris Users Group meeting is on next Tuesday. Liam Merwick will be presenting on Logical Domains. If you have any machines with Coolthreads technology, this will definately be of interest to you.

The good folks at the Dublin Institute of Technology are hosting the meeting.

Logical Domains @ IE-OSUG
DIT, Kevin St, @ 7.00 PM, September 25th 2007

Technorati Tag(s) : ,

(2007-09-20 02:08:29.0) Permalink

20070913 Thursday September 13, 2007

Stream and the performance impact of compiler optimization

Introduction

A couple of weeks back there was a discussion on the perf-discuss alias over on opensolaris.org around memory bandwidth/throughput benchmarks, and as is customary in such a discussion stream got a mention. During the discussion a couple of suggestions were made regarding various compiler options to use with stream. Seeing as we gather some of this data on an ongoing basis as part of Suns Performance Lifestyle, I decided at the time to throw in a couple of extra experiments so that we can demonstrate the kind of impact that various compiler options can have.

Now in order to keep the test in the realms of reproducability for most people (and of course within the bounds of not annoying other people by taking up valuable test cycles on some of our larger machines, I would have liked to give one of our Sun Fire X4600's a run with all of these experiments, but they are incredibly highly utilised by the various engineering groups we work with) the numbers which I based this post on were generated on a Sun Fire X2100 M2 Server, which is a single cpu, dual core amd64 box. The ARRAY_SIZE for our problems was set using the l2 cache size script mentioned previously.

Secondly, as mentioned before, my group does not generate benchmark numbers for publication, in general we run stream with -xopenmp -fast as a more out of the box type compilation, however here we are taking a baseline with no compiler options passed in, which consists of twenty iterations of stream, and calling that our 100% point, and finally expressing our results as a percentage of our baseline. Now with all of that aside, lets move onto the experiments.

Experiment Details

The rig, as mentioned above is a Sun Fire X2100, 1 x 2400Mhz M2 chip, 1Gb of ram. The OS used is the latest version of Solaris Developer Express (Nevada 70b for those following from OpenSolaris). The compiler is Sun Studio 12, 2007/05.

The compiler options used here do not represent an exhaustive comparison of the various compiler options, rather a more general indications of the kind of optimization that Studio 12 can do, and the impact that your compiler can have on the performance of your application. It should be noted though that Stream is a benchmark which is highly suited to be being optimized. For a more accurate set of results we use OpenMP. We have two tables of results below, one with OMP_NUM_THREADS set to the core count (two in this case) and one with OMP_NUM_THREADS set to the physical processor count (one in this case).

The Results

The data here is pretty self explanatory, the darker the green the better the number. Of the experiments we did here, the most optimal options were -fast -xopenmp -xvector=simd -xprefetch -xprefetch_level=3 and running with our environment set to include OMP_NUM_THREADS=2.

1 OpenMP Thread
metric no options -fast -fast -xopenmp -fast -xopenmp
-xvector=simd
-fast -xopenmp
-xvector=simd -xprefetch
-xprefetch_level=3
-fast -xvector=simd
-xprefetch -xprefetch_level=3
add 100.00% 118.50% 117.04% 130.08% 188.93% 187.18%
copy 100.00% 126.39% 124.94% 217.72% 214.05% 214.68%
scale 100.00% 123.97% 122.48% 214.20% 210.21% 212.20%
triad 100.00% 118.34% 116.67% 129.84% 186.03% 188.86%

2 OpenMP Thread's
metric no options -fast -fast -xopenmp -fast -xopenmp
-xvector=simd
-fast -xopenmp
-xvector=simd -xprefetch
-xprefetch_level=3
-fast -xvector=simd
-xprefetch -xprefetch_level=3
add 100.00% 118.50% 177.71% 245.01% 301.24% 187.33%
copy 100.00% 126.44% 181.02% 323.97% 324.35% 214.55%
scale 100.00% 124.10% 175.78% 319.18% 319.12% 212.20%
triad 100.00% 118.41% 177.07% 245.63% 298.91% 188.94%

Compiler Options

The compiler options used here represent a small subset of what you can do with Sun Studio 12, and are covered in a lot more detail in the extensive documentation. Most of the options used above are self explanatory, but the two that maybe of interest are -xvector and -xprefetch.

-xvector=simd Instructs the compiler to use SIMD, Single Instruction Multiple Data. Basically this allows us to deal with several chunks of data in one operation rather than multiple ones. Stream is heavily vector orienated, so this gives us a sizeable performance gain.
-xprefetch -xprefetch_level=3 This option enables prefetching, at the highest level the compiler supports. Prefetching is a mechanism by which data is speculatively is fetched from memory into the cpu cache. Certain processor architectures (ie Sparc, and in this case amd64) will do an amount of prefetching, but you can instruct the compiler to insert even more prefetch instructions. In the case of stream we are processing large arrays which lends itself very well to this kind of optimization, but its one that should be used with some caution.

Further Reading

The compiler folks are continuously publishing new articles which contain various tips and suggestions on how to get the most out of your compiler which are well worth reading, and its also worth signing up to the Sun Developer Netowrk to get the free downloads of Studio 12.
Technorati Tag(s) : ,

(2007-09-13 07:38:13.0) Permalink Comments [5]

20070821 Tuesday August 21, 2007

Quick grab of L2-Cache sizes on x64 for stream
One of the benchmarks we run on a regular basis is stream, which needs you to set up some feasible values based on the size of your L2 cache. Following a recent discussion over on perf-discuss I figured a bit of background and sharing was called for. Now we get access to a lot of random hardware, both new and old, particularly in the x64 space, and you generally just want to get things up and running without thinking about every small config detail, so enter smbios(1M). As an example the L2-Cache entry on a box I'm looking at currently is

ID    SIZE TYPE
6     27   SMB_TYPE_CACHE (processor cache)

  Location Tag: L2-Cache

  Level: 2
  Maximum Installed Size: 1048576 bytes
  Installed Size: 1048576 bytes
  Speed: Unknown
  Supported SRAM Types: 0x10
        SMB_CAT_PBURST (pipeline burst)
  Current SRAM Type: 0x10 (pipeline burst)
  Error Correction Type: 5 (single-bit ECC)
  Logical Cache Type: 5 (unified)
  Associativity: 5 (4-way set associative)
  Mode: 2 (varies by address)
  Location: 0 (internal)
  Flags: 0x1
        SMB_CAF_ENABLED (enabled at boot time)

Now smbios is incredibly useful, but it still doesn't give us a generic solution that works most of the time for the task at hand, so enter Perl, and getl2cachesize. Its short and sweet, but if your running stream it will give you a good starting point for your array sizes. A couple of other pointers, I'll leave compiler optimizations for your on reading, but as a warning stream is very variant, so get a lot of runs, generally we get twenty iterations, average that as a single run, reboot, and get at least five runs.
(2007-08-21 03:39:07.0) Permalink

20070814 Tuesday August 14, 2007

DTrace for #!/bin/sh
Now this is seriously handy - Alan Hargreaves has released a DTrace provider for sh over on opensolaris.org. No more hiding under the excuse "its the shell" - bad shell scripts will now be exposed :).
(2007-08-14 09:35:31.0) Permalink