Tuesday Nov 18, 2008

Sun HPC Linux Stack on VirtualBOX

Our team just recently released Sun HPC Software Linux Edition 1.1 release. For those who are interested in trying out the stack but have no access to many hardware, Sun xVM VirtualBox could turn your laptop into a HPC development platform. VirtualBox 2.0.4 supports 64bit virtualization on top of 64bit host OS. Unfortunately Mac OS users have to wait for later release to 64bit guest OS support.

Here is the specs of my laptop and a list of software I used.

My Laptop - Levovo T61

Hardware Specification
Softare Configuration
Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz
250G harkdisk
Ubuntu 8.10
Sun xVM VirtualBox 2.0.4 amd64 edition

Note: Some computers' motherboards might not have Intel VT or AMD-V enabled. In order to support 64 bit vitualization, these options must be enabled. Thank Liu Lei for pointing it out! (Nov 22 2008)

1. Setup Testing platform

1. Get Sun HPC 1.1 iso and CentOS-5.2-x86_64-bin-DVD.iso

2. Create a virtual machine “CentOS-mgmt1” in VirtualBox. I assigned 512MB ram and created 20G virtual disk image for it. Since I choose to use dynamic disk, it actually does not occupy that much disk space.

3. Mount CentOS-5.2-x86_64-bin-DVD.iso image to CD/DVD Drive

4. Tick "VT-x/AMD-V" feature

5. Enable to two network adapters. Adapter1 is attached NAT and Adapter2 is attached to the  internal network noted as "intnet".

5. Start the virtual machine and install RHEL 5.2 on it. Installation procedure should be pretty straightforward with RHEL wizard. I basically click next all the way except assigning hosts name as "mgmt1".

6. During the post installation configuration after reboot,  I disabled both firewall and selinux since I am not interested in testing security features.

7. Restart the virtual machine. By default network adapter 2, "eth1", is likely deactivated.

[root@mgmt1 ~]# uname -r
[root@mgmt1 ~]# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 08:00:27:63:5A:4F 
          inet addr:  Bcast:  Mask:
          inet6 addr: fe80::a00:27ff:fe63:5a4f/64 Scope:Link
          RX packets:89 errors:0 dropped:0 overruns:0 frame:0
          TX packets:100 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:9008 (8.7 KiB)  TX bytes:15225 (14.8 KiB)
          Interrupt:177 Base address:0xc020

eth1      Link encap:Ethernet  HWaddr 08:00:27:95:5E:AE 
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:185 Base address:0xc060

We need to assign static IP address for eth1 in order to active it. We could use Network Configuration tool in Gnome.

Select "eth1" and click "Edit". Then type in static IP address as below

Tick the option of "Activate devices when computer starts.

After that, it is a bit tricky to find "OK" button because of resolution of screen. The solution is to press ALT key first and we can move the window position.

Click "Active" to activate eth1.

Now we should both Internet access through eth0 and an internal network on eth1.

[root@mgmt1 ~]# wget www.sun.com
--12:40:24--  http://www.sun.com/
Resolving www.sun.com...
Connecting to www.sun.com||:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `index.html.1'

    [       <=>                              ] 30,441      10.2K/s   in 2.9s  

12:40:34 (10.2 KB/s) - `index.html.1' saved [30441]

8. Enable ssh access to mgmt1

I personally find it very convenient to be able to connect to the virtual box through SSH. In particular, I could copy & paste some long commands in the ssh terminal before I install Guest Additions.

Open a terminal on the host machine and enter the following commands:

zhiqi@tao:~$ VBoxManage setextradata "CentOS-mgmt1" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP
VirtualBox Command Line Management Interface Version 2.0.4
(C) 2005-2008 Sun Microsystems, Inc.
All rights reserved.

zhiqi@tao:~$ VBoxManage setextradata "CentOS-mgmt1" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 22
VirtualBox Command Line Management Interface Version 2.0.4
(C) 2005-2008 Sun Microsystems, Inc.
All rights reserved.

zhiqi@tao:~$ VBoxManage setextradata "CentOS-mgmt1" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 2301
VirtualBox Command Line Management Interface Version 2.0.4
(C) 2005-2008 Sun Microsystems, Inc.
All rights reserved.

Then, we could use ssh and sftp to access virtual machine "rhel-mgmt1".

zhiqi@tao:~$ ssh -p 2301 root@localhost
root@localhost's password:
Last login: Wed Nov  5 17:50:01 2008
[root@mgmt1 ~]#

zhiqi@tao:~$ sftp -o port=2301 root@localhost
Connecting to localhost...
root@localhost's password:

9. Update to the latest kernel
In order to install Sun HPC stack release 1.1, mgmt1 must run on the supported kernel. Red Hat and CentOS released a kernel update, kernel-2.6.18-92.1.17.el5. We have been working on to support this version in release 1.1.1. Before we release the updates to support that kernel, please update kernel manually.

[root@mgmt1 ~]# wget http://mirror.pacific.net.au/linux/CentOS/5.2/updates/x86_64/RPMS/kernel-2.6.18-92.1.13.el5.x86_64.rpm

[root@mgmt1 ~]# rpm -ivh kernel-2.6.18-92.1.13.el5.x86_64.rpm

Once the update finished, reboot mgmt1. The kernel should be 2.6.18-92

[root@mgmt1 ~]# uname -r

The virtual machine, "rhel-mgmt1", is ready to be the head node of virtual clusters.

2. Install Sun HPC software stack

1. Mount Sun HPC 1.1 release ISO on CD/DVD drive
Once we login to the Gnome desktop environment, Gnome automount feature would automatically mount Sun HPC 1.1 release at /media/sun_hpc_release.

[root@mgmt1 ~]# ls /media/sun_hpc_linux/
repodata  rhel5.cfg  SunHPC  sun-linux-hpc-1.1beta-Install-Guide.pdf  usb.cfg

2. Install Sun HPC 1.1 release stack

[root@mgmt1 ~]# rpm -ivh /media/sun_hpc_linux/SunHPC/sunhpc-release.rpm
Preparing...                ########################################### [100%]
   1:sunhpc-release         ########################################### [100%]

3. Install software on the head node

[root@mgmt1 ~]# sunhpc_installer

Type "c" to continue installation

Note: Java-1.4.2-gcj-compat and packages having dependence with it would be removed during installation because of conflict. java-1.4.2-gcj-compat with Sun Java Runtime Environment.

The total installation process varies largely depending on the network connection to CentOS repository.

3. Prepare Cobbler provision server

Cobbler is a Linux provisioning server that provides tools for automating software installation on large numbers of Linux systems, including PXE configurations and boots, re-installation, and virtualization. For more information about using Cobbler, see https://fedorahosted.org/cobbler .

1. Turn off IP Table on the head node.

iptables are disabled to allow full access by all networking devices to the management Ethernet network.

[root@mgmt1 ~]# /etc/init.d/iptables stop

[root@mgmt1 ~]# /etc/init.d/ip6tables stop

[root@mgmt1 ~]# chkconfig --level 2345 iptables off

[root@mgmt1 ~]# chkconfig --level 2345 ip6tables off

[root@mgmt1 ~]# chkconfig --list | grep tables
ip6tables          0:off    1:off    2:off    3:off    4:off    5:off    6:off
iptables           0:off    1:off    2:off    3:off    4:off    5:off    6:off

2. Configure Cobbler

In order to make cobbler working, we need to configure cobbler dhcp server ("server";), tftp se server ("next_server";) and provisioning network interface ("ksdevice";) in /etc/cobbler/settings. Since we use the head node (mgmt1) to serve both dhcp server and tftp server, we assign both "server" and "next_server" with the ip address of mgmt1's. Since we use eth0 as the interface to the internet and eth1 as the interface to the internal network interface to other nodes in the cluster, we assign "ksdevice" with "eth1"

[root@mgmt1 ~]# vi /etc/cobbler/settings

ksdevice: eth1
next_server: ''
server: ''

We also need to modify the dhcpd.template file for the provisioning network. In this example, the subnet starts at and the subnet mask is In the dhcpd.template file, we need to edit subnet and netmask field accordingly.

[root@mgmt1 ~]# vi /etc/cobbler/dhcp.template

- snip -
subnet netmask {
     option subnet-mask;
- snip -
option root-path "$next_server:/var/lib/oneSIS/image/centos5.2,v3,tcp,hard";
- snip -

4. Provision diskless clients

1. Create one virtual machine "centOS-dllcn001" and attach its network adapter1 to internal network.

serve as a diskful client.
- Created 8G virtual disk for this one.
- Tick "VT-x/AMD-V" feature (Refer to section 1 step 4 )
- Make sure rhel-dflcn001 to boot from network

- Change network adapter 1 to Internal Network and write down the MAC address of this adapter, "080027D24CA2", which would be used as "08:00:27:D2:4C:A2" later on.

2. Make sure cobblerd, dhcpd and httpd up and running

Cobbler uses dhcpd service to assign IP addresses for the clients to be provisioned and httpd service to transfer system packages over network.

[root@mgmt1 ~]# cobbler sync

[root@mgmt1 ~]# /etc/init.d/dhcpd restart

[root@mgmt1 ~]# /etc/init.d/cobblerd restart

[root@mgmt1 ~]# /etc/init.d/httpd restart

3. Create oneSIS image for diskless clients

[root@mgmt1 ~]# onesis_setup --rootfs=/var/lib/oneSIS/image/centos5.2 --config=/usr/share/oneSIS/includes/sysimage.conf.rhel5.2 --exclude=/var/www/cobbler

4. Register the oneSIS root image and create a Cobbler profile for diskless clients.

[root@mgmt1 media]# cobbler distro add --name=onesis_centos5.2 --kernel=/tftpboot/vmlinuz-2.6.18-92.1.13.el5 --initrd=/tftpboot/initrd-2.6.18-92.1.13.el5.img

[root@mgmt1 media]# cobbler profile add --name=lustre_client --distro=onesis_centos5.2 --kopts="selinux=0 root=/dev/nfs"

5. Add dllcn001 cobbler system configuration

[root@mgmt1 ~]# cobbler system add --name=dllcn001 --mac=08:00:27:D2:4C:A2 --ip= --hostname=dllcn001 --profile=lustre_client

[root@mgmt1 ~]# cobbler sync

[root@mgmt1 ~]# /etc/init.d/dhcpd restart

[root@mgmt1 ~]# /etc/init.d/cobblerd restart

[root@mgmt1 ~]# /etc/init.d/httpd restart

6. Start centos-dllcn001 with network boot and dllcn001 would automatically start as a diskless client.

5. Create oneSIS rootfs image for Lustre Server nodes

Lustre Server nodes include MDS (Medtadata Server) and OSS (Object Storage Server) which builds lustre file system clusters. To use the Lustre filesystem option with oneSIS as the provisioning system, we need to create a separate oneSIS rootfs image for the Lustre server nodes.

1. Create a copy of the base rootfs and install Lustre server packages

[root@mgmt1 ~]# onesis_lustre_rootfs /var/lib/oneSIS/image/centos5.2 /var/lib/oneSIS/image/centos5.2-lustre

2. Point tftp server to onesis lustre image

[root@mgmt1 ~]# vi /etc/cobbler/dhcp.template
- snip -
      #option root-path "$next_server:/var/lib/oneSIS/image/centos5.2,v3,tcp,hard";
        option root-path "$next_server:/var/lib/oneSIS/image/centos5.2-lustre,v3,tcp,hard";
- snip -

3. Create virtual machine, "centos-dlmds01", as a diskless Lustre server node (similar to Section 4 step 1)
- Created 8G virtual disk for this one.
- Tick "VT-x/AMD-V" feature
- Change network adapter 1 to Internal Network and write down the MAC address of this adapter, "080027D89A5C", which would be used as "08:00:27:D8:9A:5C" later on.
- Make sure rhel-dlmds01 to boot from network

4. Add a profile for diskless Lustre servers

[root@mgmt1 tftpboot]# cobbler distro add --name=onesis_centos5.2-lustre --kernel=/tftpboot/vmlinuz-2.6.18-92.1.10.el5_lustre.1.6.6 --initrd=/tftpboot/initrd-2.6.18-92.1.10.el5_lustre.1.6.6.img
[root@mgmt1 tftpboot]# cobbler profile add --name=onesis_lustre_server --distro=onesis_rhel5.2-lustre --kopts="selinux=0 root=/dev/nfs"

[root@mgmt1 tftpboot]# cobbler system add --name=dlmds01 --mac=08:00:27:D8:9A:5C --ip= --hostname=dlmds01 --profile=onesis_lustre_server

[root@mgmt1 tftpboot]# cobbler sync

[root@mgmt1 ~]# /etc/init.d/dhcpd restart

[root@mgmt1 ~]# /etc/init.d/cobblerd restart

[root@mgmt1 ~]# /etc/init.d/httpd restart

5. Boot rhel-dlmds001

Repeat the similar process to provision more client nodes and then you will be ready to try out Lustre File System, which powers seven out of ten world's largest super computers on the latest top500 list, and test your mpi programs.


  • Sun xVM VirtualBox 2.0.4:
The best desktop virtualization software supports most of popular OS platforms and 64bit Guest OSs on 64bit Linux, Solaris and Windows host OS.

  • Sun HPC Software Linux Edition
An integrated, open-source software solution for Sun HPC clusters simplifies the deployment of HPC clusters by providing a ready-made framework of software components to use to turn a bare-metal system into a running HPC cluster.
  • Sun Lustre Filesystems
An object-based cluster file system redefines scalability and provides groundbreaking I/O and metadata throughput. The  majority of top 10 of world largest super computers are powered by Lustre.
If there is anyone out there who still puzzles how to store one 10 TeraByte file, who still struggles to reach several hundreds GigaByte per second read/write, who still suffers from the hidden problems on the Proprietary file systems, Lustre is your answer.  [yes, I learned this sentence from Obama. :-) ]

Change log:

  1. It is not necessary to run "yum --exclude=kernel -y update" since Whateverpackages are needed by SunHPC stack packages would be pulled together via dependence check. This could save a considerable amount of time for the case of limited Internet bandwidth. Thank Liu Lei for this observation! (Nov 23 2008)

Tuesday Sep 16, 2008

Farewell Campus Ambassador program and move to HPC

It was a very enjoyable experience for me to be a part of the ambassador program. The time spent working with Sun technologies is extreme fulfilling. I do feel that CA community is a large family and we look after each other.

I must say, I sincerely appreciate my program manager, Ganesh Hiregoudar, the most. Although I have not had the honor to meet him in person yet, I learned countless from his supervision and wisdom.

I've now joined Linux HPC stack team full time. If you or any of students and staffs in your universities are interested in cluster computing, high performance computing and distributed file systems, please for sure recommend Sun HPC technologies, particularly, Lustre file systems, which is the only real competitor to IBM's GPFS. 7 out of 10 world fastest super computers are powered by Lustre. And, it is Sun technology, of course it is open source!


I have passed on the Campus Ambassador role in University of Melbourne to Mohammed Jubaer Arif. He is very passionate about Sun technologies. I believe his contribution of campus ambassador program would be exceptional. In a very short time that he is on this role, Arif has already made several interesting proposals.

To everyone in the CA program: great job! My best wishes to all of you!

Tuesday Aug 19, 2008

The world’s largest life sciences supercomputer will be in Melbourne

It's so excite to know that Victoria state government and the University of Melbourne jointly invest $100 million to build Australia’s largest supercomputer and the world’s largest life sciences supercomputer facility. This will certainly make Victoria one of the world's key locations for biotechnology. Hopefully we see new inventions and drugs emerging from this initiative. So for the folks who are doing or planning to do life science research, you know where to go. You might be the next Nobel prize winner. :)

According to Victoria's Life Sciences Strategy, there will be many more to come. Good on you Victorians! This is the Place to Be

News source:

ITnews.com.au: Melbourne to host Australia's largest supercomputer

News.com.au: Victorian Life Sciences Computation Initiative gets boost

Login in OpenSolaris as root user

"How to login Solaris as root?" is a question I have been searching for a while. Thanks for Pradhap's new post

#rolemod -K type=normal root

Many useful tips on Pradhap's blog.

Wednesday Jul 02, 2008

Yes, I am a winner


My review of Open Solaris wins me a prize at OpenSolaris and NetBeans Student Reviews Contest. Details is here.

Monday Jun 02, 2008

Open Solaris 2008.05: A big step towards public

On May 05, 2008 OpenSolaris 2008.05 was released. It is significantly different with Solaris Operating System in many aspects. My favorite change is that OpenSolaris is released as a bootable LiveCD. As I am living in Australia and all Internet Service Providers here charge the increditable price for download traffic, downloading one DVD or six CDs was really a headache to me. I felt much more comfortable to grab this version. Here is a bit of summaries of my experience after I have nearly run OpenSolaris on my Thinkpad T61 for a month.

1. Boot Into LiveCD Mode

Comparing with previous Solaris, I think OpenSolaris has a much more friendly interface on installation because I could give a try before I actually install it on my harddisk.

After I downloaded CD iso file, burned a CD and boot it from CDROM, I get a menu which gives three options: 1) Start OpenSolaris in GUI mode; 2) Start OpenSolaris in text concole; 3) Boot from harddisk.

After I selected the first option, a number of dots started to creep on the screen. I think they were meant to be an indication of system loading and I should just wait until these dots crept to the other end of screen. However, it would be nice to have a much meaningful indication, for example, a progress bar with text, say, "System loading" or "preparing Solaris".

Strangely the screen falled back to the Black & white mode and asked me to select me to the keyboard language. Although I perfectly understand the necessarity of using correct Keyboard, I was a bit worried about if the black & white screen might indicate something bad. For instance, my graphic card was not supported, which really gave me a hit when I tried with Nevada svn 64 several months ago.

Until the beautiful Nvidia logo popped up, I knew I could relief myself a bit.

Gnome panel then kicked in. 

License agreement was the first dialog window I met.

Immediately Network Automagic window popped up and listed a number of Wireless network for me to choose. How sweet! My Intel ABG 3956 wireless network card worked out of box.

OpenSolaris built in an excellent tool, "Device Driver Utility"  , to help collect what kind of drivers were missing. To run it, just double click the icon on the desktop. Unfortunately, the sound card and ACPI drivers were not included in this release. I certainly want to see them to work out of box in the next OpenSolaris release. So I clicked "Submit" button to submit a report. Hopefully Solaris kernel management team would consider them.

Apart from that, I could start to use OpenSolaris right away. It is a very smoothy platform. I did not notice much delay. It gave me a pretty good idea what it would look like after I installed OpenSolaris on my harddisk.

2. Installation is very straightforward.

There is an installation utility on desktop of OpenSolaris LiveCD mode . Simply double click this icon to start Installation. OpenSolaris 2008.05's installer is very similar to previous Nevada builds.

Select disk space. It would be nice that Gparted or similar tool is built in. So I don't have to reboot to other operating system to manipulate disk partitions.

Select time zone.

Set root passward, initial user name & password and system name.

Confirm detail. Simply click next button.

Have a cup of coffee and wait for completion.

Finish and click reboot button. However, during the reboot process there was no reminder to eject LiveCD from CDROM. Because I walk away after clicking reboot button, my laptop automatically reboot from CDROM again. I have to reboot it again and manually eject LiveCD.

Yeah, boot from harddisk. Grub automatically created entry for Windows and by default it select OpenSolaris 2008 05 which was labeled as "rc3" for some reaons.

System started to load in devices driver and services. I noticed that OpenSolaris 2008 05 is based on Nevada build 86.

Super User (Root) login is disabled by default. 

The login screen. 

The system is fully loaded. OpenSolaris default theme is pretty elegant. I like it a lot.

3. Post Installation configuration.

Since my sound card was not supported by default , I did some research and installed a customized Open Sound System driver to make it working as I wrote in previous blog entry. Hopefully Open Sound System driver will be built into OpenSolaris kernel in next release.

4. Install software

One of the most prominent feature of Image Packaging System. Most of day to day applications could be installed from IPS. Until today (2nd June 2008) there are 4464 packages on http://pkg.opensolaris.org.

However, there are still many applications which could not be installed from IPS, for example Mplayer, LaTex, KDE and etc al. I have to install them from Blastwave.org in an old fashion method, pkg-get. It would be nice to have Blastwave.org as alternative repository in IPS. Of course, Blastwave.org will need to make many modifications in order to aline OpenSolaris.org repository. For example, at this moment, I have to create menu shortcut for those software installed from Blastwave.org while OpenSolaris.org ones simply created menu shortcut automatically, which is a very nice feature.

5. ZFS

ZFS, the most advanced file system with advanced snapshotting capabilities, is activated by default. It provides a great option to build an Ultimate Home Storage Server. It's on my to-do list. Start to save money to stock up hard disks.

6. Others

Although OpenSolaris does build in Nvidia driver, which provides excellent support on many advance features, for example, 3D desktops, it seems that getting external projector working has proved to be difficult, especially those very low resolutions, e.g. 640x480. I learned this lesson in a hard way. Although, as many suggested, VESA is an safe option, preparing two sets of xorg.conf files and switching them over could be a tedious task. Hopefully future OpenSolaris release would address this issue and have an elegant solution.

Adding a printer and getting it work is still very challenging in OpenSolaris 2008 05. The default interface of managing printer offers little information. In fact I was sort of looking for sensible suggestion because I felt lost. Although Common UNIX Printing System (CUPS) could be installed from Blastwave.org, I still need to spend considerable time in order to get it fully functional. It would be nice to see that CUPS could be integrated in future OpenSolaris.

Although OpenSolaris has very support on File Allocation Table file system in that USB key would be recognized right away, accessing NTFS file system still requires some works. It could be very inconvenient to read or write data from Windows partitions or NTFS format portable disks. Some initial research shows that there are instructions to mount NTFS partition in read only mode. It appears to be in a very immature stage. I have good experience with NTFS-3G on linux. Some threads on OpenSolaris forum shows that there are a great deal of interests on porting NTFS-3G to Solaris. Hopefully it would be available on next OpenSolaris release.


In general OpenSolaris 2008 05 is a far more advanced release in term of how aggressive it moves forward to general public. Its excellent usability design makes non-geek users much easier to get started than previous Solaris releases. Most of hardware devices simply work out of box. I am expecially pleased to see that we are encouraging users to submit their hardware compability list, even in LiveCD mode. IPS is certainly a mile stone. Not only does it make software management easier but also it improved integration of software packages. I am much more comfortable to use software I installed from IPS. The questions are only how we add more packages and how to manage them in a more sensible way. Ultimately I am very happy that the first OpenSolaris is such close to a complete system to public. I hope within a few releases OpenSolaris could become the most popular operating system on the plant. Well, it is certainly on this way.

Wednesday May 28, 2008

Sun SPOT Presentation at Sun Melbourne Branch meeting

Today (28th May 2008) I went to present Sun SPOT at Sun Melbourne Branch meeting. What a great experience!

Since my audiences are mostly working in sales and marketing team, I designed a Sun SPOT presentation and left out most of technical details. I spent only a few slides on general introduction, such as what's Sun SPOT and why Sun SPOT was designed in the first place (Lots of great information from Roger Meike's early emails). I spent a majority of time on live demos, i.e. what we can do with Sun SPOT, which exactly suit my audience's interests.

Peng Deng, a research student from University of Melbourne, who has been using Sun SPOT for his research project, joined me today. He designed a new Gesture Based Human Computer Interface. What a great example of "think beyond the keyboard mouse and screen!" (again quote from Roger's early email)

Not only did our presentation go pretty well and we received a lot of applauses, but also I made quite a few friends with Sun Sales and marketing teams. They are all very nice folks and willing to support Campus Ambassador program. We might go to present Sun SPOT to other Australian research institutions afterwards and help Sun generate more revenue.

Nathan, the Sun System Engineer who joined me with "Solaris ZFS: The Best File System on the planet" tech demo, offered me to have three hours' long OpenSolaris seminar in the University of Melbourne. He planned to show from installation to getting  Obviously he was impressed with the passionate audience from previous ZFS talk and willing to help more. The timing is just fantastic because I am working with Melbourne University Computer Student Association to organize an OpenSolaris Instalfest in next semester. We are going to have a great time on this!

Presenation File: http://blogs.sun.com/tao/resource/CA-Demo/sunspot-melbourne.pdf

Thursday May 22, 2008

Sun SPOT Certificate

I got a Sun SPOT Certificate by attending an online Sun SPOTs Course. :) It's a great experience because this course synthesizes many good information about Sun SPOT.

Monday May 19, 2008

Solution of Lenovo Thinkpad T61 High Pitched Squeal issues

I have a Lenovo Thinkpad T61 laptop and I enjoy using it everyday. When I installed OpenSolaris on it, I noticed that the driver of sound card was not properly loaded.  After some research on various forums, I went to download Open Sound Systems driver.

While I immediately heard the sound, it was not a pleasant one but high squeal. I have to mute the speaker right away. Because T61 has a built-in microphone, it picked up the sound from speakers and sent it back to the speakers. As a result, they formed a positive feeback system, which generated the annoying high squeal.

While I did find out a temporary solution, e.g. type "ossmix misc.input-mixamp2 off" in a terminal, I'll have to mute the speaker during boot up in order to stop the squeal.

The great news is that we now have a much elegant solution from a thread in Open Sound System forum. Simply download the customized OSS driver package at http://www.adrive.com/public/467c92d490386f8bc49649607fccd9ad86f58ee2519caff77c23d641a8d9758c.html. Thanks kaiwai for creating this package!

If you have installed the original OSS driver, you might want to remove the original OSS driver by "pkgrm oss" and reboot the system firstly.  I experienced the "device busy" error when I tried to install the new driver without reboot.

After I installed this OSS package and reboot the system, I can enjoy music and flash video now.  

Thursday May 08, 2008

5th Tech Demo @ UNIMELB: Solaris ZFS -- The Best File System on the planet

On 8th May 2008 I hosted the fifth Sun Campus Ambassador demo titled "Solaris ZFS: The Best File System on the planet" at University of Melbourne. I was honored to have Sun System Engineer Nathan Kroenert and Sun Victoria Education & Research Industry Manager Nicholas (Nick) Griffith to join me in this seminar. The whole demo lasted about 60 minutes. 22 students and staff sent me their RSVP and 69 people eventually attended seminar. It was a great timing of having Solaris ZFS talk as OpenSolaris 200805 was released only two days ago. I manually burned 20 copies of OpenSolaris LiveCD and brought to the seminar. So the audience could take one to try out ZFS right after this seminar. Appearently many people found ZFS a very attractive topic. The theater was nearly full when the seminar began.

Firstly Nathan and I jointly presented ZFS tech talk.

We mostly reused Bill Moore's ZFS presentation at Sun ZFS learning center. We focused on the explanation of why ZFS was designed from scratch and brought revolution into storage industry. We retrospected the last 20 years development of IT industry and review what had changed. It turned out that, CPU was 1000 times faster, memory about 100 times and disks about 10 times. So relatively speaking, nowadays CPU is 100 times faster than relative to disks. As a result, what was considered completely intunable in 20 years ago became an obsolete assumption. We could spend a very percentage of CPU time to ensure the whole data integrity in a storage pool. We were also able to have more advanced pool storage mechanism than traditional volume management, which significantly ease administration effort. More detail explanation could be found at Bill's recorded talks.


I must applause Nathan for his exceptional knowledge and extensive experience in Solaris and ZFS. While I mostly repeated what I learned from previous Campus Ambassador training, Nathan added much insightful explanation and interesting examples. As the seminar went on, I learned a lot from Nathan's talk. Many "uh-huh" kept popping up from my mind.

Because we were delayed by setting up projector, we were behind our schedule. So we were a bit short of time after we passed along half of the slides. In order to cover the seminar content, which I personally thought it would be beneficial to audience, I asked Nathan to completely take over. It was amazing to see how he could address these technical points in such a concise manner. 

In demo section we used several USB flash drives to create a storage pool. I connected four USB flash drives to a laptop via a USB hub.

Somehow I could see two USBs from "rmformat" result. While I was scratching my head and trying to figure out what went wrong, Nathan used this opportunity to demonstrate how to narrow down and debug the issue in LIVE. It was so cool!!! It turned out that, two USB ports went bad at this VERY moment. We then moved along and demonstrated a number of ZFS administration tasks with rest of USB devices. Although we were not able to show a CSI:Munich clone as I planned, the audience and I had a much more practical lesson. It was such a great pleasure to have a master here.

Lastly we had the long expected IPod draw as the closure of today's seminar. Nick picked the luck audience from the lotter box. Look, how happy the lucky student is.

The discussion continued after we ended the seminar. Many audience just could not miss the opportunity to consult Sun expert.

Thanks for Peng Deng's help! He recorded several short videos in today's seminar.

My opening talks


Nathan added insightful input to my talks.


Nathan passionate talk on his favoriate slide: End-to-End Checksums



Presentation slides: http://blogs.sun.com/tao/resource/CA-Demo/solaris_zfs_v06May.pdf

Lessons learn:

1. Although I did many research on how to connect projector on an OpenSolaris laptop and was able to connect my OpenSolaris box with my LCD screen (Project is fundamentally another external screen, isn't it?), I was not able to have my OpenSolaris windows displayed nicely on the theatre projector today. The resolution of the projector was surprisingly low, only 640x480. I should have tried it before seminar. As Nathan suggested, VESA could automatically cope with many different projectors. I will put together a detail instruction in later blog.

2. Although I practiced live demo for many times, I only assumed that everything would go as I expected and failed to consider "raining" scenario. Fortunately I have Nathan to save my day. I should have considered more thoroughly.

Thursday May 01, 2008

4th Tech Demo @ UNIMELB: Visual Mobile Game with Netbeans 6.0

On 1st May 2008 I made my fourth Campus Ambassador demo titled "Visual Mobile Game with Netbeans 6.0" at University of Melbourne. The whole demo lasted about 55 minutes. 17 students and staff sent me their RSVP and 46 people eventually attended seminar. The turn up rate is a bit higher than my previous tech demo, which is fantastic!

As my view of Campus Ambassador role is to grow Sun technologies communities among students and staffs in universities, I always encouraged attendees to participate, not just listen to my lecture. Previously Peng Deng, a talented student who is using Sun SPOT on his final master project, co-presented Sun Spot with me in Feb. In today's talk I have Zheng Huang, a Master Student in Department of Computer Science and Software Engineering, joined me. Zheng has a lot of experience and passion on developing Java mobile games.

I firstly introduced Java Micro Edition in the context of Java Family and pointed out that, although Java ME is small in terms of its software size, it is actually the most ubiquitous application platform among Java family. For example, the devices includes PDA, Smart Electronic appliances, point of sale (POS) terminal, TV-set box and, of course, cell phone.

I explained Java ME's two main components, CLDC & MIDP in detail and introduce Sun Wireless toolkits which is a great development platform for J2ME applications.

Zheng Huang talked about his development experience and presented a comprehensive comparison of developing mobile on J2ME platform and .Net compact framework.


 His handdrawn slides are very amusing and brought audience a lot of mirth.

He also presented his works, a Java Mobile game which brought him a high scores in Mobile computing course. It is a very interesting game and could be launched in either single player mode or multiple player mode via Blue tooth connection. When he brought two emulators and demonstrated multiple player mode, everyone is amazed by the great features of Sun Wireless toolkits.


Then, I started Netbeans and demonstrated how to design Mobile game scene, tiled layers and movement of sprites in Netbeans. All of these tedious tasks are very straightforward because of the rich features of Mobile Visual Game builders. Thanks for Peng Deng's help! He recorded a short video during my demo.

In the end I finished my talk with standard promotion about Sun Academic Initiative program and then took a number of questions.

Presentation slides:  http://blogs.sun.com/tao/resource/CA-Demo/java_mobile_game.pdf

Demo script at Netbeans Wiki: Creating JavaME Games With Game Builder 

Friday Apr 25, 2008

3rd Tech Demo @ UNIMELB: Visual Web & AJAX with Netbeans 6.0

On 24th April 2008 I made my third Campus Ambassador demo titled "Visual Web & AJAX with Netbeans 6.0" at University of Melbourne. The whole demo lasted about 50 minutes. 21 students and staff sent me their RSVP and 37 people eventually attended seminar.

I mostly reused Sang Shin's great AXAJ online course slides. The focus of my talk is the demonstration of Netbeans' excellent drag and drop features. Netbeans Visual Web pack, which has been built into Netbeans 6.0, hides many implementation detail and allows users to concentrate the actual application.

I started my talk with introduction of Sun Campus Ambassador program and the upcoming tech demos.


To introduce AJAX technology, I compared rich user experience applications and conventional web applications. After reviewing all sort of drawbacks, I introduced the concept of rich internet application (RIA) and a number of rich internet application technologies, e.g. Java applet, Micromedia Flash, Java Web start, Dynamic HTML and AJAX. For each of these RIA technology, I demonstrated a real life example.


I thoroughly explained how, the most viable RIA technology, AJAX works through anatomy of an AJAX Interaction example, Data Validation.

Then I started Netbeans 6.1 and demonstrate how to implement a simple AJAX application, "auto completion" in live. I reused Dmitry Kushner's code, which is fantastic.

After I finished live demo, I pointed out rich resources in Netbeans.org and briefly compared Netbeans with other development tools.

In the end I finished my talk with standard promotion about Sun Academic Initiative program and then took a number of questions. 

Thanks for Peng Deng's help! He recorded a short video during my demo.

Presentation slides:  http://blogs.sun.com/tao/resource/netbeans_visual_web.pdf

Demo Code: Creating autocomplete entry field with Woodstock

Saturday Mar 22, 2008

Sun MySQL Meetup Mashup Meeting in Melbourne on 20th March

At Thursday night I went to attend Sun MySQL Meetup Mashup meeting at RMIT. I got to meet Colin Charles (MySQL Community Relations Manager APAC), Gary Pendergast (Support Engineer with MySQL AB) and a few MySQL Melbourne community members.

Meeting starts with Colin's talk. He talked through what would change and what wouldn't after Sun acquired MySQL. It seems that MySQL will basically operate the same way as before and dolphin will appear at various location under sun.com.

Gary then followed with some updates about MySQL support. There is little changes on support process and method. Sun will add a number of engineers to support MySQL.

In the end I introduced Sun Campus Ambassador program to MySQL community members and talked about my evangelistic works of Sun technologies. As I have received some inquiries about Sun's purchasing MySQL, it would be nice to organize a MySQL seminar in the University of Melbourne in coming months.

After meeting, we continued mash up at Oxford Scholar. During dinner and drinks we even swapped seats to have a nice and thorough talks to each other.

Thanks for Sun's budget! This mashup certainly brings us closer. :)

  The Stragglers who enjoyed the meeting until the end: (left to right) Colin Charles, Tristan Penman (MySQL Melbourne User Group coordinator), Gary Pendergast, Zhiqi Tao

Also Colin has one blog entry about Melbourne's Mashup.

Wednesday Mar 19, 2008

Develop Java Desktop application with Netbeans

On 20th March I made my second Campus Ambassador demo titled "Develop Java desktop applications with Netbeans 6.0" in the University of Melbourne. The whole demo lasted about 50 minutes. 23 students and staff sent me their RSVP and about 40 people eventually attended seminar, which is a great turned up rate.

I started with general discussion about Java programming language and played a video which I downloaded from youtube to demonstrate that Java is a very versatile language. It is virtually everywhere.

Demo Video:
Java Everywhere video


To clarify some misconception about Java performance, I played another video about Java Game, which is very fancy and eye-catching. I also downloaded a desktop strategy game, Tribal Trouble, and run it in live. I demonstrate how smooth it is during 3D rendering, zoom in and zoom out.

Demo Video:
Java Game

Tribal Trouble screen shot

To clarify the misconception about Java GUI, I demonstrated a few screen shot of Java GUI program run on different platforms and ran a complex musical program, Storm Music Studio, in live.

Then, I introduced Netbeans and created a simple Java Desktop program, a calculator in live.


Demo Code:
Create a simple Calculator with Netbeans

Thanks for Peng Deng's help! He recorded a short video during my demo.

In the end I finished my talk with standard promotion about Sun Academic Initiative program and then took a number of questions.

Demo Presentation File:

Things to try:
Create a simple DataBase application with Netbeans

Sunday Mar 16, 2008


If you are from an educational institutions and are looking for industry recognized training that can fast-track your career and increase your finance, you will not want to miss benefit from Sun Academic Initiative (SAI) program.

According to a Certification Magazine Salary Survey, Sun Certification increases earning power:

  • Sun Certified Programmers earn on average 8.3% more than the average programmer
  • Sun Certified Developers earn on average 14.3% more than the average developer
  • Sun Certified System Administrators earn on average 31% more than system administrators certified on other operating systems


So, how many Sun technologies related jobs are in demand? I did simple searches on a Australian leading job seeking website, SEEK.com.au,on key words, Java or Solaris. On 16th March 2008 the results are 3107 Java developer jobs and 692 Solaris administrator jobs.

As a Sun Academic Initiative (SAI) Program participant, Sun offers students, staff and faculty in the University of Melbourne the following special benefits:

If you find these offers interesting, here is an elaborate instruction for you to get access to SAI resources.

\*\*\* Please note that this instruction was written with the intention of helping students, staff and faculty in the University of Melbourne to take advantage of SAI offers. \*\*\*

I. Register yourself at Sun Learning Connection:

  1. Direct your browser to: https://learningconnection.sun.com/ . Please note: you must enable pop ups in your browser for this application.
  2. Click on "Register"
  3. Create your own Username and Password
  4. Company Name and Company I.D. are available on request. Please refer to the following figure.
  5. Click "Submit" at the bottom of the page and a NEWS (pop up) page will appear where you may select from the icons at the top of the page.

Congratulations and Welcome to the Sun Learning Connection!
When you select COURSES you will be presented with My Courses which lists all of the courses in the Sun Academic Initiative that are available to you at no cost. You may review them by Groups or use the Search function to locate a course.To enroll in a course, simply click on the name of the course and agree to the Click Through License Agreement and your module will begin.

If you are a first time user of an LMS you may want to download the Learner User Guide. When selecting the REFERENCE icon you may select the Learner User Guide which will download the PDF document to your system. Discount certification coupons and other offers may also be viewed by selecting REFERENCE and then SAI Member Offers.

You can retake each module, course or practice exam as often as you like. Upon completion of a course you can download a certificate of completion available through the Sun Learning Connection tool.

Please note, there is a 365 day expiration on each course starting when you enroll in the course. If you exceed the 365 day expiration time, simply click on the "help" button and ask for an extension and it will be granted.

II. Get Voucher number for discount certificate exam

Here's what you need to access the SAI-participant Certification test

  1. Log into the Sun Learning Connection
  2. Click on the "Reference" Tab located at the top menu selections
  3. Click on "SAI Member Offers"
  4. When you Click on "View| Certification test vouchers   Username: sun  Password: equals java" a new window will pop up with a new Login page.
  5. Enter Username: sun
  6. Enter Password: equals java
  7. This will allow you to enter the Certification test voucher tool/site
  8. Enter your name
  9. Select your geo location. For Australia, please select "Asia Pacific (Except Japan)"
  10. Select PROMETRIC to take the exam (VUE IS NO LONGER AVAILABLE)
III. Contact Prometric test center

  1. Register yourself at Prometric https://www.register.prometric.com/Login.asp.
  2. Go to Prometric website http://www.register.prometric.com/ClientProgram.asp
  3. Select  "Client" --> "Sun MicroSystems";
  4. Select "Program" --> "Sun Academic Initiative (212)" and click "Next"
  5. Click "Next"
  6. Select Exam you like to take. For example, "212-055 Sun Certified Programmer for the Java 2 Platform, SE 5.0".
  7. Select a test center you like and click "Schedule Appointment".
  8. Select available exam dates and time
  9. Payment Information page.  You will see a small table like this.

     Click "yes" and enter your voucher number there.

     10. You will see something like this.

     11. Now you have discounted price. Complete your booking and take exam.

     Please feel free to circulate among your friends/classmates. If any questions, please feel free to contact me. 


Occasionally I like to share some ideas or interesting news here.


« July 2016