Blogs

RSS

An aggregation of our Blog Roll, made up of acmqueue authors.   more

All Postings, Bart Smaalders:  (65 posts)

Source blog: The view from the Engine Room

Thu, 25 Oct 2012 01:40:05 UTC

Controlling server configurations with IPS

Posted By Bart Smaalders

I recently received a customer question regarding how they best could control which packages and which versions were used on their production Solaris 11 servers.  They had considered pointing each server at its own software repository - a common initial approach.  A simpler method leverages one of dependency mechanisms we introduced with Solaris 11, but is not immediately obvious to most people. Typically, most internal IT departments qualify particular versions for production use.  What this customer wanted to do was insure that their operations staff only installed internally qualified versions of Solaris on their servers.  The easiest way of doing this is to leverage the 'incorporate' type of dependency in a small package defined for each server type.  From the reference " Packaging and Delivering Software With the Image Packaging System in Oracle® Solaris 11.1":  The incorporate dependency specifies that if the given package is installed, ...

Wed, 09 Nov 2011 02:00:51 UTC

New York

Posted By Bart Smaalders

I'm in New York this week, visiting Solaris customers and preparing for tomorrow's launch of Solaris 11. As readers of my occasional blog may know, I've been working on IPS, the new packaging system used in Solaris 11.  We've recently finished the first version of the developer's guide for IPS.  For those folks interested in how to use IPS to deliver their own software, or just want to better understand how Solaris uses IPS, we hope the developer's guide will be useful reading. You can find the new guide here.

Wed, 09 Nov 2011 02:00:51 UTC

New York

Posted By Bart Smaalders

I'm in New York this week, visiting Solaris customers and preparing for tomorrow's launch of Solaris 11. As readers of my occasional blog may know, I've been working on IPS, the new packaging system used in Solaris 11.  We've recently finished the first version of the developer's guide for IPS.  For those folks interested in how to use IPS to deliver their own software, or just want to better understand how Solaris uses IPS, we hope the developer's guide will be useful reading. You can find the new guide here.

Tue, 10 May 2011 00:08:37 UTC

OTN Sys Admin Day

Posted By Bart Smaalders

I'll be at the Hyatt in San Diego on Tuesday, May 17 to introduce the first OTN (Oracle Technology Network) Sys Admin day; we'll be focusing on Solaris 11 Express this time around.  This is a free technical seminar w/ hands-on labs, and is a great chance to try out some of the new technology in Solaris 11.   You can also offer feedback to both technical folks and Marketing (er, Product Management).  I'll talk about some of the changes in S11 Express of particular interest to system administrators, and discuss the new packaging system and installers. More info, including location and registration link can be found here.

Mon, 09 May 2011 22:08:37 UTC

OTN Sys Admin Day

Posted By Bart Smaalders

I'll be at the Hyatt in San Diego on Tuesday, May 17 to introduce the first OTN (Oracle Technology Network) Sys Admin day; we'll be focusing on Solaris 11 Express this time around.  This is a free technical seminar w/ hands-on labs, and is a great chance to try out some of the new technology in Solaris 11.   You can also offer feedback to both technical folks and Marketing (er, Product Management).  I'll talk about some of the changes in S11 Express of particular interest to system administrators, and discuss the new packaging system and installers. More info, including location and registration link can be found here.

Tue, 05 Apr 2011 14:32:27 UTC

OTN focus on IPS

Posted By Bart Smaalders

The marketing (er, product management) folks have been putting together  various pieces of information on IPS.  You can find all the information at this link.  Thanks guys!

Tue, 05 Apr 2011 14:32:27 UTC

OTN focus on IPS

Posted By Bart Smaalders

The marketing (er, product management) folks have been putting together  various pieces of information on IPS.  You can find all the information at this link.  Thanks guys!

Tue, 05 Apr 2011 12:32:27 UTC

OTN focus on IPS

Posted By Bart Smaalders

The marketing (er, product management) folks have been putting together  various pieces of information on IPS.  You can find all the information at this link.  Thanks guys!

Mon, 28 Mar 2011 21:19:18 UTC

Publishing your own packages with IPS - getting started.

Posted By Bart Smaalders

It's been a while since I blogged on packaging... and we've been busy. I've had several people ask for our developers documentation, but that's still being written, so I thought I'd blog about how to publish a simple package with IPS. I've been having mysterious networking issues (somewhere, a router doesn't like my system), so I decided I'd package a tool I use often to diagnose flaky networks - mtr. Like many open source programs, it needed some work to get it to compile properly on Solaris. The primary issue is that we've currently hidden libncurses off in /usr/gnu/lib, which is silly - there is no "Solaris" version in /usr/lib, so it should have gone there.

Mon, 28 Mar 2011 21:19:18 UTC

Publishing your own packages with IPS - getting started.

Posted By Bart Smaalders

It's been a while since I blogged on packaging... and we've been busy. I've had several people ask for our developers documentation, but that's still being written, so I thought I'd blog about how to publish a simple package with IPS. I've been having mysterious networking issues (somewhere, a router doesn't like my system), so I decided I'd package a tool I use often to diagnose flaky networks - mtr. Like many open source programs, it needed some work to get it to compile properly on Solaris. The primary issue is that we've currently hidden libncurses off in /usr/gnu/lib, which is silly - there is no "Solaris" version in /usr/lib, so it should have gone there.

Mon, 28 Mar 2011 19:19:18 UTC

Publishing your own packages with IPS - getting started.

Posted By Bart Smaalders

It's been a while since I blogged on packaging... and we've been busy. I've had several people ask for our developers documentation, but that's still being written, so I thought I'd blog about how to publish a simple package with IPS. I've been having mysterious networking issues (somewhere, a router doesn't like my system), so I decided I'd package a tool I use often to diagnose flaky networks - mtr. Like many open source programs, it needed some work to get it to compile properly on Solaris. The primary issue is that we've currently hidden libncurses off in /usr/gnu/lib, which is silly - there is no "Solaris" version in /usr/lib, so it should have gone there.

Fri, 04 Dec 2009 22:35:21 UTC

SATisfaction

Posted By Bart Smaalders

During pkg(5) development it has become quite clear that computing the correct set of packages to install or upgrade is a non-trivial task.  Initially, we started delivering pkg(5) with a solution engine that simply took the latest available packages.  This worked so long as we only delivered packages that were all compatible, no third party publishers existed, and users were happy staying on the bleeding edge. Since none of these conditions were maintainable, a more sophisticated solution was essential.  We gained some breathing room with the introduction of incorporation dependencies.  Such a dependency in a package specifies the version (at a variable level of precision) of compatibility with another package.   We have used a package full of these dependencies (termed an incorporation ) during OpenSolaris development to insure that the various operating system packages from pkg.opensolaris.org  come from the same build - that there's no way to get build 123's ...

Fri, 04 Dec 2009 22:35:21 UTC

SATisfaction

Posted By Bart Smaalders

During pkg(5) development it has become quite clear that computing the correct set of packages to install or upgrade is a non-trivial task.  Initially, we started delivering pkg(5) with a solution engine that simply took the latest available packages.  This worked so long as we only delivered packages that were all compatible, no third party publishers existed, and users were happy staying on the bleeding edge. Since none of these conditions were maintainable, a more sophisticated solution was essential.  We gained some breathing room with the introduction of incorporation dependencies.  Such a dependency in a package specifies the version (at a variable level of precision) of compatibility with another package.   We have used a package full of these dependencies (termed an incorporation ) during OpenSolaris development to insure that the various operating system packages from pkg.opensolaris.org  come from the same build - that there's no way to get build 123's ...

Fri, 04 Dec 2009 20:35:21 UTC

SATisfaction

Posted By Bart Smaalders

During pkg(5) development it has become quite clear that computing the correct set of packages to install or upgrade is a non-trivial task.  Initially, we started delivering pkg(5) with a solution engine that simply took the latest available packages.  This worked so long as we only delivered packages that were all compatible, no third party publishers existed, and users were happy staying on the bleeding edge. Since none of these conditions were maintainable, a more sophisticated solution was essential.  We gained some breathing room with the introduction of incorporation dependencies.  Such a dependency in a package specifies the version (at a variable level of precision) of compatibility with another package.   We have used a package full of these dependencies (termed an incorporation ) during OpenSolaris development to insure that the various operating system packages from pkg.opensolaris.org  come from the same build - that there's no way to get build 123's ...

Wed, 04 Feb 2009 23:56:02 UTC

Fattening packages - supporting multiple variants in a single package

Posted By Bart Smaalders

Dealing with parts of a package Traditionally, packaging systems have placed optional components of a package in separate packages, and established conventions for naming such components, such as -localization, -locale, -devel, -doc, etc. This method of ad-hoc decomposition makes it more difficult for GUI programs to offer the appropriate choices when selecting components, makes the introduction of new optional components difficult and makes installing documentation after the fact a painful process. Packaging options also exist which are mutually exclusive; the typical example is which architecture the package supports. One cannot select both sparc and x86, since the two architecture's files collide - /usr/bin/ls is either a sparc binary or a i386 binary.

Wed, 04 Feb 2009 23:56:02 UTC

Fattening packages - supporting multiple variants in a single package

Posted By Bart Smaalders

Dealing with parts of a package Traditionally, packaging systems have placed optional components of a package in separate packages, and established conventions for naming such components, such as -localization, -locale, -devel, -doc, etc. This method of ad-hoc decomposition makes it more difficult for GUI programs to offer the appropriate choices when selecting components, makes the introduction of new optional components difficult and makes installing documentation after the fact a painful process. Packaging options also exist which are mutually exclusive; the typical example is which architecture the package supports. One cannot select both sparc and x86, since the two architecture's files collide - /usr/bin/ls is either a sparc binary or a i386 binary.

Wed, 04 Feb 2009 21:56:02 UTC

Fattening packages - supporting multiple variants in a single package

Posted By Bart Smaalders

Dealing with parts of a package Traditionally, packaging systems have placed optional components of a package in separate packages, and established conventions for naming such components, such as -localization, -locale, -devel, -doc, etc. This method of ad-hoc decomposition makes it more difficult for GUI programs to offer the appropriate choices when selecting components, makes the introduction of new optional components difficult and makes installing documentation after the fact a painful process. Packaging options also exist which are mutually exclusive; the typical example is which architecture the package supports. One cannot select both sparc and x86, since the two architecture's files collide - /usr/bin/ls is either a sparc binary or a i386 binary.

Wed, 13 Feb 2008 03:23:02 UTC

Indiana Preview 2 - my new desktop

Posted By Bart Smaalders

This weekend I decided to bite the bullet and convert my desktop to Indiana Preview 2. Since unlike most people at Sun my desktop machine also receives my email, and hosts both my home directory and calendar server, the switch-over needed some quiet concentration on my part to insure nothing important got left behind. The installation of Preview 2 (now available here) went smoothly ¿ not surprising, since I'd tested many trial builds on the same machine, a 2 x 2.8GHz Ultra 40. After installation completed and the machine rebooted, I created a second zpool with the two remaining drives; I use this for my home directory, mail spool, tunes and pkg server.

Wed, 13 Feb 2008 03:23:02 UTC

Indiana Preview 2 - my new desktop

Posted By Bart Smaalders

This weekend I decided to bite the bullet and convert my desktop to Indiana Preview 2. Since unlike most people at Sun my desktop machine also receives my email, and hosts both my home directory and calendar server, the switch-over needed some quiet concentration on my part to insure nothing important got left behind. The installation of Preview 2 (now available here) went smoothly ¿ not surprising, since I'd tested many trial builds on the same machine, a 2 x 2.8GHz Ultra 40. After installation completed and the machine rebooted, I created a second zpool with the two remaining drives; I use this for my home directory, mail spool, tunes and pkg server.

Wed, 13 Feb 2008 01:23:02 UTC

Indiana Preview 2 - my new desktop

Posted By Bart Smaalders

This weekend I decided to bite the bullet and convert my desktop to Indiana Preview 2. Since unlike most people at Sun my desktop machine also receives my email, and hosts both my home directory and calendar server, the switch-over needed some quiet concentration on my part to insure nothing important got left behind. The installation of Preview 2 (now available here) went smoothly  not surprising, since I'd tested many trial builds on the same machine, a 2 x 2.8GHz Ultra 40. After installation completed and the machine rebooted, I created a second zpool with the two remaining drives; I use this for my home directory, mail spool, tunes and pkg server.

Tue, 06 Nov 2007 04:52:29 UTC

A programmer's ABCs

Posted By Bart Smaalders

Several years ago, before blogging, I cons'd up a programmer's ABC for Stephen Hahn's first child, Benjamin.  I'd forgotten about this until Stephen mentioned last week and mailed me a link to the image; I'd lost the original.  It's a little SPARC-centric, but so was I at the time:  A Programmer's ABC A is for algorithm, patented or not. B is for break, to jump out of this rot. C is for continue, to jump to the top of one's loops. D is for default, the case that handles the oops. E is for else, the predicate's inversion. F is for for, of the loops the most popular version.

Tue, 06 Nov 2007 04:52:29 UTC

A programmer's ABCs

Posted By Bart Smaalders

Several years ago, before blogging, I cons'd up a programmer's ABC for Stephen Hahn's first child, Benjamin.  I'd forgotten about this until Stephen mentioned last week and mailed me a link to the image; I'd lost the original.  It's a little SPARC-centric, but so was I at the time:  A Programmer's ABC A is for algorithm, patented or not. B is for break, to jump out of this rot. C is for continue, to jump to the top of one's loops. D is for default, the case that handles the oops. E is for else, the predicate's inversion. F is for for, of the loops the most popular version.

Tue, 06 Nov 2007 02:52:29 UTC

A programmer's ABCs

Posted By Bart Smaalders

Several years ago, before blogging, I cons'd up a programmer's ABC for Stephen Hahn's first child, Benjamin.  I'd forgotten about this until Stephen mentioned last week and mailed me a link to the image; I'd lost the original.  It's a little SPARC-centric, but so was I at the time:  A Programmer's ABC A is for algorithm, patented or not. B is for break, to jump out of this rot. C is for continue, to jump to the top of one's loops. D is for default, the case that handles the oops. E is for else, the predicate's inversion. F is for for, of the loops the most popular version.

Wed, 25 Jul 2007 22:56:54 UTC

Rethinking patching

Posted By Bart Smaalders

As Stephen mentioned recently, several of us have been thinking about revising the way we manage software change on Solaris.  I've been particularly focused on the difficulties Sun and it's customers have with the patching process, and the kinds of changes we need to make as a result in our technology and development processes. Today, most customers don't run OpenSolaris; they run a supported version of Solaris such as Solaris 8, 9 or 10.  A supported release means that someone will answer the phone, and that patches for problems are available.Patches are a separate software change control mechanism distinct from package versions in Solaris.  Each patch may affect portions of several packages; patches are intended to include all the files necessary to fix one or more problems, either directly or by specifying dependencies.  If a patch affects packages which are not installed on this system (typically because it has been minimized), ...

Wed, 25 Jul 2007 22:56:54 UTC

Rethinking patching

Posted By Bart Smaalders

As Stephen mentioned recently, several of us have been thinking about revising the way we manage software change on Solaris.  I've been particularly focused on the difficulties Sun and it's customers have with the patching process, and the kinds of changes we need to make as a result in our technology and development processes. Today, most customers don't run OpenSolaris; they run a supported version of Solaris such as Solaris 8, 9 or 10.  A supported release means that someone will answer the phone, and that patches for problems are available.Patches are a separate software change control mechanism distinct from package versions in Solaris.  Each patch may affect portions of several packages; patches are intended to include all the files necessary to fix one or more problems, either directly or by specifying dependencies.  If a patch affects packages which are not installed on this system (typically because it has been minimized), ...

Wed, 25 Jul 2007 20:56:54 UTC

Rethinking patching

Posted By Bart Smaalders

As Stephen mentioned recently, several of us have been thinking about revising the way we manage software change on Solaris.  I've been particularly focused on the difficulties Sun and it's customers have with the patching process, and the kinds of changes we need to make as a result in our technology and development processes. Today, most customers don't run OpenSolaris; they run a supported version of Solaris such as Solaris 8, 9 or 10.  A supported release means that someone will answer the phone, and that patches for problems are available.Patches are a separate software change control mechanism distinct from package versions in Solaris.  Each patch may affect portions of several packages; patches are intended to include all the files necessary to fix one or more problems, either directly or by specifying dependencies.  If a patch affects packages which are not installed on this system (typically because it has been minimized), ...

Sat, 02 Jun 2007 01:31:12 UTC

Friday afternoon SPARKFUN

Posted By Bart Smaalders

Mike Pogue mentioned he was considering using a USB-connected PIC controller to drive some stepper motors from a PC.  He'd ordered out a USB Bit Wacker , which plugs right into a USB port and looks like a serial port to the host OS, and gives you 14 ports that can either be digital in, out or analog in.  The host sends simple ASCII commands down, and the Bit Whacker sends back status/port data. Cool!  Earlier this afternoon, he brought it in and we plugged it into my Tyan whitebox running Nevada 64a using a mini-USB cable.  I was running a tail -f on /var/adm/messages, and saw:Jun  1 15:29:34 cyber usba: [ID 912658 kern.info] USB 2.0 device (usb4d8,a) operating at full speed (USB 1.x) on USB 1.10 root hub: communications@1, usb_mid6 at bus address 3Jun  1 15:29:34 cyber usba: [ID 349649 kern.info]       Microchip Technology Inc.

Sat, 02 Jun 2007 01:31:12 UTC

Friday afternoon SPARKFUN

Posted By Bart Smaalders

Mike Pogue mentioned he was considering using a USB-connected PIC controller to drive some stepper motors from a PC.  He'd ordered out a USB Bit Wacker , which plugs right into a USB port and looks like a serial port to the host OS, and gives you 14 ports that can either be digital in, out or analog in.  The host sends simple ASCII commands down, and the Bit Whacker sends back status/port data. Cool!  Earlier this afternoon, he brought it in and we plugged it into my Tyan whitebox running Nevada 64a using a mini-USB cable.  I was running a tail -f on /var/adm/messages, and saw:Jun  1 15:29:34 cyber usba: [ID 912658 kern.info] USB 2.0 device (usb4d8,a) operating at full speed (USB 1.x) on USB 1.10 root hub: communications@1, usb_mid6 at bus address 3Jun  1 15:29:34 cyber usba: [ID 349649 kern.info]       Microchip Technology Inc.

Fri, 01 Jun 2007 23:31:12 UTC

Friday afternoon SPARKFUN

Posted By Bart Smaalders

Mike Pogue mentioned he was considering using a USB-connected PIC controller to drive some stepper motors from a PC.  He'd ordered out a USB Bit Wacker , which plugs right into a USB port and looks like a serial port to the host OS, and gives you 14 ports that can either be digital in, out or analog in.  The host sends simple ASCII commands down, and the Bit Whacker sends back status/port data. Cool!  Earlier this afternoon, he brought it in and we plugged it into my Tyan whitebox running Nevada 64a using a mini-USB cable.  I was running a tail -f on /var/adm/messages, and saw:Jun  1 15:29:34 cyber usba: [ID 912658 kern.info] USB 2.0 device (usb4d8,a) operating at full speed (USB 1.x) on USB 1.10 root hub: communications@1, usb_mid6 at bus address 3Jun  1 15:29:34 cyber usba: [ID 349649 kern.info]       Microchip Technology Inc.

Wed, 17 Jan 2007 23:53:03 UTC

New home server

Posted By Bart Smaalders

Building a new household server.... Like a lot of families these days, our household IT infrastructure has had to adapt as we all became more and more fond of computers for work, school and recreation.  With digital photograpy, ripping hundreds of CDs, describing our various activities and travels on web pages,  two teenagers and the heavy use of email, and the need to provide stable storage for homework and digital art, we've been playing catchup for a while.  This led us directly to designing and building a new server to handle storage of all the digital media, web-serving and email.  At the same time, I was tired of the whine from the surplus X1 rack-mount server I had stuffed in the closet, and decided to merge my home desktop and server together to reduce power consumption.  With some thinking we arrived at the following hardware design: Tyan 2865 ...

Wed, 17 Jan 2007 23:53:03 UTC

New home server

Posted By Bart Smaalders

Building a new household server.... Like a lot of families these days, our household IT infrastructure has had to adapt as we all became more and more fond of computers for work, school and recreation.  With digital photograpy, ripping hundreds of CDs, describing our various activities and travels on web pages,  two teenagers and the heavy use of email, and the need to provide stable storage for homework and digital art, we've been playing catchup for a while.  This led us directly to designing and building a new server to handle storage of all the digital media, web-serving and email.  At the same time, I was tired of the whine from the surplus X1 rack-mount server I had stuffed in the closet, and decided to merge my home desktop and server together to reduce power consumption.  With some thinking we arrived at the following hardware design: Tyan 2865 ...

Wed, 17 Jan 2007 21:53:03 UTC

New home server

Posted By Bart Smaalders

Building a new household server.... Like a lot of families these days, our household IT infrastructure has had to adapt as we all became more and more fond of computers for work, school and recreation.  With digital photograpy, ripping hundreds of CDs, describing our various activities and travels on web pages,  two teenagers and the heavy use of email, and the need to provide stable storage for homework and digital art, we've been playing catchup for a while.  This led us directly to designing and building a new server to handle storage of all the digital media, web-serving and email.  At the same time, I was tired of the whine from the surplus X1 rack-mount server I had stuffed in the closet, and decided to merge my home desktop and server together to reduce power consumption.  With some thinking we arrived at the following hardware design: Tyan 2865 ...

Wed, 16 Nov 2005 17:00:00 UTC

Some thoughts on ZFS's impact on Solaris

Posted By Bart Smaalders

So ZFS is now available and we've put together lots of blogs and demos to show everyone the neat kinds of things ZFS supports - snapshots, writable snapshots (clones), simple disk management, protection against hardware and firmware errors, etc. Rather than discuss some other neat feature of ZFS or do some extreme performance demos, I thought it might be interesting to mull over some of the possible implications of this new technology on the rest of Solaris and other applications. We don't yet support booting ZFS quite yet, so some of the ideas below will have to wait a bit for implementation - but it's certainly time to start thinking about them.

Wed, 16 Nov 2005 17:00:00 UTC

Some thoughts on ZFS's impact on Solaris

Posted By Bart Smaalders

So ZFS is now available and we've put together lots of blogs and demos to show everyone the neat kinds of things ZFS supports - snapshots, writable snapshots (clones), simple disk management, protection against hardware and firmware errors, etc. Rather than discuss some other neat feature of ZFS or do some extreme performance demos, I thought it might be interesting to mull over some of the possible implications of this new technology on the rest of Solaris and other applications. We don't yet support booting ZFS quite yet, so some of the ideas below will have to wait a bit for implementation - but it's certainly time to start thinking about them.

Wed, 16 Nov 2005 15:00:00 UTC

Some thoughts on ZFS's impact on Solaris

Posted By Bart Smaalders

So ZFS is now available and we've put together lots of blogs and demos to show everyone the neat kinds of things ZFS supports - snapshots, writable snapshots (clones), simple disk management, protection against hardware and firmware errors, etc. Rather than discuss some other neat feature of ZFS or do some extreme performance demos, I thought it might be interesting to mull over some of the possible implications of this new technology on the rest of Solaris and other applications. We don't yet support booting ZFS quite yet, so some of the ideas below will have to wait a bit for implementation - but it's certainly time to start thinking about them.

Fri, 05 Aug 2005 17:12:55 UTC

libMicro opensourced

Posted By Bart Smaalders

I've been busy with libMicro lately. LibMicro is a set of portable OS (kernel/library) benchmarks developed as part of the Solaris 10 performance effort. I've been working on a set of changes for a while to fix up some of the statistics and improve repeatability and prepare for open sourcing under the CDDL license. You can find libMicro in the performance community at opensolaris.org. There's still a lot to do on libMicro, starting with documentation on how to add new benchmarks, and how the whole thing works...

Fri, 05 Aug 2005 17:12:55 UTC

libMicro opensourced

Posted By Bart Smaalders

I've been busy with libMicro lately. LibMicro is a set of portable OS (kernel/library) benchmarks developed as part of the Solaris 10 performance effort. I've been working on a set of changes for a while to fix up some of the statistics and improve repeatability and prepare for open sourcing under the CDDL license. You can find libMicro in the performance community at opensolaris.org. There's still a lot to do on libMicro, starting with documentation on how to add new benchmarks, and how the whole thing works...

Fri, 05 Aug 2005 15:12:55 UTC

libMicro opensourced

Posted By Bart Smaalders

I've been busy with libMicro lately. LibMicro is a set of portable OS (kernel/library) benchmarks developed as part of the Solaris 10 performance effort. I've been working on a set of changes for a while to fix up some of the statistics and improve repeatability and prepare for open sourcing under the CDDL license. You can find libMicro in the performance community at opensolaris.org. There's still a lot to do on libMicro, starting with documentation on how to add new benchmarks, and how the whole thing works...

Thu, 16 Jun 2005 03:40:59 UTC

Most common recent benchmarking mistake

Posted By Bart Smaalders

Most frequently asked performance question of late: Why is this trivial piece of code slower on Solaris than on Linux with both OSes running on the same Opteron box? Often this is because the default compilation mode using /usr/sfw/bin/gcc (or Studio, for that matter) on Solaris is always a portable binary - and 64 bit Solaris x86 isn't seen as a different architecture, since all the 32 bit programs still work just fine. So gcc -o foo foo.c produces a 32 bit binary on Solaris amd64, and a 64 bit binary when compiled on a 64 bit Linux. No wonder there's a performance difference!

Thu, 16 Jun 2005 03:40:59 UTC

Most common recent benchmarking mistake

Posted By Bart Smaalders

Most frequently asked performance question of late: Why is this trivial piece of code slower on Solaris than on Linux with both OSes running on the same Opteron box? Often this is because the default compilation mode using /usr/sfw/bin/gcc (or Studio, for that matter) on Solaris is always a portable binary - and 64 bit Solaris x86 isn't seen as a different architecture, since all the 32 bit programs still work just fine. So gcc -o foo foo.c produces a 32 bit binary on Solaris amd64, and a 64 bit binary when compiled on a 64 bit Linux. No wonder there's a performance difference!

Thu, 16 Jun 2005 01:40:59 UTC

Most common recent benchmarking mistake

Posted By Bart Smaalders

Most frequently asked performance question of late: Why is this trivial piece of code slower on Solaris than on Linux with both OSes running on the same Opteron box? Often this is because the default compilation mode using /usr/sfw/bin/gcc (or Studio, for that matter) on Solaris is always a portable binary - and 64 bit Solaris x86 isn't seen as a different architecture, since all the 32 bit programs still work just fine. So gcc -o foo foo.c produces a 32 bit binary on Solaris amd64, and a 64 bit binary when compiled on a 64 bit Linux. No wonder there's a performance difference!

Wed, 15 Jun 2005 01:10:21 UTC

Doing the Jitter Bug

Posted By Bart Smaalders

One of the nice things about finally having OpenSolaris properly launched is that I can share Solaris source code with everyone when talking about Solaris. Since Solaris is the code, not being able to show people the code has been like having a discussion about various aspects of the flavors of wine without actually tasting any - possible perhaps, but a rather dry (heh) and uninteresting narrative.... I was happily (as I don't get to write nearly enough code) whacking away on a revised version of malloc to fix some longstanding performance and scalabilty issues when one of our marketing folks darted in asking about telcos, real time, and latency bubbles [I'll write about our malloc findings later on].

Wed, 15 Jun 2005 01:10:21 UTC

Doing the Jitter Bug

Posted By Bart Smaalders

One of the nice things about finally having OpenSolaris properly launched is that I can share Solaris source code with everyone when talking about Solaris. Since Solaris is the code, not being able to show people the code has been like having a discussion about various aspects of the flavors of wine without actually tasting any - possible perhaps, but a rather dry (heh) and uninteresting narrative.... I was happily (as I don't get to write nearly enough code) whacking away on a revised version of malloc to fix some longstanding performance and scalabilty issues when one of our marketing folks darted in asking about telcos, real time, and latency bubbles [I'll write about our malloc findings later on].

Tue, 14 Jun 2005 23:10:21 UTC

Doing the Jitter Bug

Posted By Bart Smaalders

One of the nice things about finally having OpenSolaris properly launched is that I can share Solaris source code with everyone when talking about Solaris. Since Solaris is the code, not being able to show people the code has been like having a discussion about various aspects of the flavors of wine without actually tasting any - possible perhaps, but a rather dry (heh) and uninteresting narrative.... I was happily (as I don't get to write nearly enough code) whacking away on a revised version of malloc to fix some longstanding performance and scalabilty issues when one of our marketing folks darted in asking about telcos, real time, and latency bubbles [I'll write about our malloc findings later on].

Thu, 28 Apr 2005 02:00:00 UTC

Putting developer-defined DTrace probe points in an application

Posted By Bart Smaalders

Well, it's been a while since blogging - time to post another example. As part of the Solaris 10 developer BOF at Usenix a couple of weeks ago, Liane asked me to put together a quick DTrace demo, so I cons'ed up a quick example of how to put static probes into an application. This technique is simple and can avoid the need for debug flags, conditional logging, etc in the application. In order to have something to work with, I wrote a quick version of wc that I instrumented with two dtrace probe points.  These two probe points are defined in a file called simple_probes.d: provider simple { probe saw__word(int); probe saw__line(int);}; Note that dtrace treats double underscores specially in such definitions; they're converted to dash "-" characters in the finished probe names.

Thu, 28 Apr 2005 02:00:00 UTC

Putting developer-defined DTrace probe points in an application

Posted By Bart Smaalders

Well, it's been a while since blogging - time to post another example. As part of the Solaris 10 developer BOF at Usenix a couple of weeks ago, Liane asked me to put together a quick DTrace demo, so I cons'ed up a quick example of how to put static probes into an application. This technique is simple and can avoid the need for debug flags, conditional logging, etc in the application. In order to have something to work with, I wrote a quick version of wc that I instrumented with two dtrace probe points.  These two probe points are defined in a file called simple_probes.d: provider simple { probe saw__word(int); probe saw__line(int);}; Note that dtrace treats double underscores specially in such definitions; they're converted to dash "-" characters in the finished probe names.

Thu, 28 Apr 2005 00:00:00 UTC

Putting developer-defined DTrace probe points in an application

Posted By Bart Smaalders

Well, it's been a while since blogging - time to post another example. As part of the Solaris 10 developer BOF at Usenix a couple of weeks ago, Liane asked me to put together a quick DTrace demo, so I cons'ed up a quick example of how to put static probes into an application. This technique is simple and can avoid the need for debug flags, conditional logging, etc in the application. In order to have something to work with, I wrote a quick version of wc that I instrumented with two dtrace probe points.  These two probe points are defined in a file called simple_probes.d: provider simple { probe saw__word(int); probe saw__line(int);}; Note that dtrace treats double underscores specially in such definitions; they're converted to dash "-" characters in the finished probe names.

Thu, 16 Sep 2004 04:44:19 UTC

Burning Man - what a foreign place!

Posted By Bart Smaalders

I've been back from my first trip to Burning Man for more than a week, and I'm still finding it coming up in conversations and mid-meeting daydreams/doodles. Art show, rave fest, communal desert camping experience - I'm still not sure exactly what it is... I just get the feeling I'll have forgotten all about the heat, dust and porta-potties come end of August, and I'll go back for another visit. The folks are friendly there. For some images of this year's events, try here, here and here. I guess you really need a nice techno dub to get the full flavor (not to mention a snootful of playa dust :-), but I'm not really sure how to do either in roller :-).

Thu, 16 Sep 2004 04:44:19 UTC

Burning Man - what a foreign place!

Posted By Bart Smaalders

I've been back from my first trip to Burning Man for more than a week, and I'm still finding it coming up in conversations and mid-meeting daydreams/doodles. Art show, rave fest, communal desert camping experience - I'm still not sure exactly what it is... I just get the feeling I'll have forgotten all about the heat, dust and porta-potties come end of August, and I'll go back for another visit. The folks are friendly there. For some images of this year's events, try here, here and here. I guess you really need a nice techno dub to get the full flavor (not to mention a snootful of playa dust :-), but I'm not really sure how to do either in roller :-).

Thu, 16 Sep 2004 02:44:19 UTC

Burning Man - what a foreign place!

Posted By Bart Smaalders

I've been back from my first trip to Burning Man for more than a week, and I'm still finding it coming up in conversations and mid-meeting daydreams/doodles. Art show, rave fest, communal desert camping experience - I'm still not sure exactly what it is... I just get the feeling I'll have forgotten all about the heat, dust and porta-potties come end of August, and I'll go back for another visit. The folks are friendly there. For some images of this year's events, try here, here and here. I guess you really need a nice techno dub to get the full flavor (not to mention a snootful of playa dust :-), but I'm not really sure how to do either in roller :-).

Sat, 31 Jul 2004 06:51:15 UTC

Photos of OSCON SOlaris 10 BOF from jimgris

Posted By Bart Smaalders

Look here for some candid shots of some of us kernel types talking at the OSCON Solaris 10 BOF. I was sure whacked by this point if the pictures are any indication... We'd spent a while sitting in the sun during lunch and then the airconditioning couldn't keep up in our 16th floor meeting room - it was more of a group sauna than . Kudos to everyone for dealing with the heat...

Sat, 31 Jul 2004 06:51:15 UTC

Photos of OSCON SOlaris 10 BOF from jimgris

Posted By Bart Smaalders

Look here for some candid shots of some of us kernel types talking at the OSCON Solaris 10 BOF. I was sure whacked by this point if the pictures are any indication... We'd spent a while sitting in the sun during lunch and then the airconditioning couldn't keep up in our 16th floor meeting room - it was more of a group sauna than . Kudos to everyone for dealing with the heat...

Sat, 31 Jul 2004 05:39:38 UTC

Back from OSCON - misc. thoughts

Posted By Bart Smaalders

Spent the last few days at OSCON attending keynotes, presentations, BOFs and meetings. Thanks to the Apple folks providing a lounge w/ good old wired internet service, I was able to stay sort of caught up w/ the usual firehose of email back at Sun using my Tecra 9100 laptop running Solaris 10 & a vpn tunnel running via IPSec through NAT. Such a nice feature - another S10 special :-).... Now I really want to get the Cisco Aironet card that's built into the Tecra working w/ Solaris so I can be like the cool kids and surf related sites while attending talks...

Sat, 31 Jul 2004 05:39:38 UTC

Back from OSCON - misc. thoughts

Posted By Bart Smaalders

Spent the last few days at OSCON attending keynotes, presentations, BOFs and meetings. Thanks to the Apple folks providing a lounge w/ good old wired internet service, I was able to stay sort of caught up w/ the usual firehose of email back at Sun using my Tecra 9100 laptop running Solaris 10 & a vpn tunnel running via IPSec through NAT. Such a nice feature - another S10 special :-).... Now I really want to get the Cisco Aironet card that's built into the Tecra working w/ Solaris so I can be like the cool kids and surf related sites while attending talks...

Sat, 31 Jul 2004 04:51:15 UTC

Photos of OSCON SOlaris 10 BOF from jimgris

Posted By Bart Smaalders

Look here for some candid shots of some of us kernel types talking at the OSCON Solaris 10 BOF. I was sure whacked by this point if the pictures are any indication... We'd spent a while sitting in the sun during lunch and then the airconditioning couldn't keep up in our 16th floor meeting room - it was more of a group sauna than . Kudos to everyone for dealing with the heat...

Sat, 31 Jul 2004 03:39:38 UTC

Back from OSCON - misc. thoughts

Posted By Bart Smaalders

Spent the last few days at OSCON attending keynotes, presentations, BOFs and meetings. Thanks to the Apple folks providing a lounge w/ good old wired internet service, I was able to stay sort of caught up w/ the usual firehose of email back at Sun using my Tecra 9100 laptop running Solaris 10 & a vpn tunnel running via IPSec through NAT. Such a nice feature - another S10 special :-).... Now I really want to get the Cisco Aironet card that's built into the Tecra working w/ Solaris so I can be like the cool kids and surf related sites while attending talks...

Tue, 27 Jul 2004 18:45:00 UTC

Off to Portland for OSCON

Posted By Bart Smaalders

Several Sun kernel people will be at OSCON this week, learning about some of the open source communities and talking to people about open sourcing Solaris. We're sponsoring a BOF on Thursday night to talk about Solaris 10 and Open Source. If you're there, stop by and talk to Andy Tucker, Adam Leventhal, Eric Scrock or me... as the BOF description says: There will be plenty of food, T-shirts, and demos. And perhaps some controversy, too.

Tue, 27 Jul 2004 18:45:00 UTC

Off to Portland for OSCON

Posted By Bart Smaalders

Several Sun kernel people will be at OSCON this week, learning about some of the open source communities and talking to people about open sourcing Solaris. We're sponsoring a BOF on Thursday night to talk about Solaris 10 and Open Source. If you're there, stop by and talk to Andy Tucker, Adam Leventhal, Eric Scrock or me... as the BOF description says: There will be plenty of food, T-shirts, and demos. And perhaps some controversy, too.

Tue, 27 Jul 2004 16:45:00 UTC

Off to Portland for OSCON

Posted By Bart Smaalders

Several Sun kernel people will be at OSCON this week, learning about some of the open source communities and talking to people about open sourcing Solaris. We're sponsoring a BOF on Thursday night to talk about Solaris 10 and Open Source. If you're there, stop by and talk to Andy Tucker, Adam Leventhal, Eric Scrock or me... as the BOF description says: There will be plenty of food, T-shirts, and demos. And perhaps some controversy, too.

Wed, 21 Jul 2004 05:11:05 UTC

Entry #2 - Event ports

Posted By Bart Smaalders

According to Adam, event ports are the 20 th neatest thing in Solaris 10. in Solaris 10. Event ports allow programmers to wait in a single call for events from disjoint sources in a scalable fashion. Traditionally, programmers on Unix systems use poll(2) or select(3) to wait for IO from sockets,pipes or streams. Unfortunately, when the AIO interfaces were designed, new wait paradigms that didn't combine with poll(2) were introduced.  Posix extended the confusion with the introduction of timers, which provide a variety of notification mechanisms - but these cannot be combined with poll or select. Furthermore, the design of poll and select left something to be desired.  Since the interface is idempotent,  the desired set of file descriptors to be checked had to be passed into the kernel on each call to poll.

Wed, 21 Jul 2004 05:11:05 UTC

Entry #2 - Event ports

Posted By Bart Smaalders

According to Adam, event ports are the 20 th neatest thing in Solaris 10. in Solaris 10. Event ports allow programmers to wait in a single call for events from disjoint sources in a scalable fashion. Traditionally, programmers on Unix systems use poll(2) or select(3) to wait for IO from sockets,pipes or streams. Unfortunately, when the AIO interfaces were designed, new wait paradigms that didn't combine with poll(2) were introduced.  Posix extended the confusion with the introduction of timers, which provide a variety of notification mechanisms - but these cannot be combined with poll or select. Furthermore, the design of poll and select left something to be desired.  Since the interface is idempotent,  the desired set of file descriptors to be checked had to be passed into the kernel on each call to poll.

Wed, 21 Jul 2004 03:11:05 UTC

Entry #2 - Event ports

Posted By Bart Smaalders

According to Adam, event ports are the 20 th neatest thing in Solaris 10. in Solaris 10. Event ports allow programmers to wait in a single call for events from disjoint sources in a scalable fashion. Traditionally, programmers on Unix systems use poll(2) or select(3) to wait for IO from sockets,pipes or streams. Unfortunately, when the AIO interfaces were designed, new wait paradigms that didn't combine with poll(2) were introduced.  Posix extended the confusion with the introduction of timers, which provide a variety of notification mechanisms - but these cannot be combined with poll or select. Furthermore, the design of poll and select left something to be desired.  Since the interface is idempotent,  the desired set of file descriptors to be checked had to be passed into the kernel on each call to poll.

Thu, 17 Jun 2004 21:39:31 UTC

logbook entry #1 - background

Posted By Bart Smaalders

I'm an engineer in the Solaris kernel group. I've been at Sun some 15+ years, working on a wide variety of projects including: Helping out on the amd64 Solaris port - getting Solaris running on Opteron.

Thu, 17 Jun 2004 21:39:31 UTC

logbook entry #1 - background

Posted By Bart Smaalders

I'm an engineer in the Solaris kernel group. I've been at Sun some 15+ years, working on a wide variety of projects including: Helping out on the amd64 Solaris port - getting Solaris running on Opteron.

Thu, 17 Jun 2004 19:39:31 UTC

logbook entry #1 - background

Posted By Bart Smaalders

I'm an engineer in the Solaris kernel group. I've been at Sun some 15+ years, working on a wide variety of projects including: Helping out on the amd64 Solaris port - getting Solaris running on Opteron.