Cool News: This post was a blogging contest winner!
Thank you Sun!
Update: What a pleasant surprise to find that my entry for the Sun Studio blogging contest was selected as one of the winners, and announced on the Sun Studio Developers Site. As promised, Sun sent along $500, marking the first money I’ve made with this blog, and while my purpose in blogging is not focused on making money, it nonetheless was a nice side effect. I certainly enjoyed writing about my initial experience with using Sun Studio 12, and to have been selected as one of the contest winners was certainly a bonus. Thank you Sun Microsystems for holding the contest, and of course for making Sun Studio available to the community.
Every now and again I get emails from Sun Microsystems for guides or other promotions for this or that product: ZFS, Solaris containers, DTrace, etc. Some of them are actually quite interesting and it is a list I like being on.
The other day I received an announcement for the release of Sun Studio 12 Update 1. Well, this was perfect as I have been wanting to test drive Sun Studio for a while, and have been meaning to get to it – but it gets even better: they are having a blogging contest and will actually be paying 10 lucky winners who blog about their experience with it!
Well, let’s see: try out and write about a product which I had intended to do anyway, and perhaps win some cash too – how can one possibly go wrong?
Why Try It?
I’m neither a developer nor programmer. If that fits you as well, you might be thinking “So why bother?” Well, like a lot of folks out there who are Linux guys, sysadmin types, etc. I think it is always good to be familiar with available tools. The IDE I’ve used most is vim, and I’ve rarely even used Eclipse. But I, being an adventure loving soul, of course love checking out new things and was particularly interested in the Sun compiler as I wanted to compare its optimizations and the performance of binaries it compiles against the Intel (icc) and GNU (gcc) compilers. I previously wrote on comparing Intel Linux C complier and gcc binaries using the Crafty chess engine and was quite surprised at the benchmark differences, and have since then wanted to see how a Sun compiled binary would compare. So what a perfect opportunity to try it and find out.
Isn’t that a bit nebulous? One could even dare say Geeky?
While benching chess engine binaries might seem somewhat esoteric, it really gives a good idea of the possibilities. Translate this over to compiling your MySQL server or other performance critical app and it starts to get more interesting. In fact you can get MySQL binaries compiled with the Intel compiler for just this reason directly on the MySQL download page. One can’t help but wonder one MySQL binaries compiled with the Sun compiler might perform.
I tested out Sun Studio 12 on both Solaris 10 (2009.06 Nevada) and Linux (Suse 11.1) platforms. In both cases the install was seamless. On Solaris 10 it was simply a matter of using the new IPS packaging system and by running
$ pfexec pkg install sunstudio12u1
it was up and running in minutes.
On the Linux side I downloaded the SunStudio12u1-Linux-x86-rpms.tar.gz package and simply run the install wrapper script, which by default places everything in /opt/sun and the full path to the binary is then /opt/sun/sunstudio12.1/bin/sunstudio (you will need to add that to you PATH environmental.)
The GUI installer which ran in Linux went smoothly and gave basic options for which components to select, etc. You can also install install in non-interactively. The displayed warning was simply saying there was no guarantee it would work on this system (Suse 11.1) – but there were in fact no issues.
The full install (C and Fortran compilers, performance libs and IDE) comes to about 755MB on Linux and about 830Mb on Solaris – a bit larger than I expected.
Sun Studio IDE
Launching Sun Studio presents a clean and easy to navigate environment. Though never having used it before, it was pretty obvious where to find things. Several sample projects are available so you can test drive it right away, and there are links to guides presented on the main page. (There is also a comprehensive quick start guide here.)
I did have to play about a bit with adding existing directories of source code into a new project. It is easy enough once you do it. Once you import your source, you can click the build button and you are more or less off.
Of course, you will need to define the full path to the compiler you want to use in the CC= variable in the make file, or have this environmental defined and exported already. If you want to compile with gcc instead, it is no problem – just set cc=gcc In the Crafty make file you can simply set the $(MAKE) linux or $(MAKE) linux-icc to use gcc or icc compilers. I had no difficulty compiling Crafty with gcc this way.
Using the Sun Compiler
As I am utterly unfamiliar with CFlags for the Sun compiler I found it nice that just running the compiler with no arguments immediately tells you how to discover them easily enough with /opt/sun/sunstudio12.1/bin/suncc -flags
I had to figure out the CFLAGS still though, and found this site to be helpful for that.
One I had the correct options set in the Crafty Makefile, the Sun compiler launched into action for me. I used a basic set of CFLAGS:
$(MAKE) target=SUN \
CC=/opt/sun/sunstudio12.1/bin/cc CXX='$(CC)' \
CFLAGS='$(CFLAGS) -fast -xO5 -xunroll=20' \
LDFLAGS='$(LDFLAGS) -lpthread' \
Compile Benchmark Results
So how did it go? How did the Sun compiler perform? Well come back in a day or so and see the benchmarks. Meanwhile, you might enjoy reading about how the previous comparison between Intel icc and gcc tests went, which you can find here.
[Want to see the pictures? They are here!]
Kyle and I arrived to Seattle late Wednesday and my brother Robert picked us up. After staying the night at his place we got up Thursday morning and road tripped across the cascades toward Moses Lake. The trip through the mountains was very nice, with beautiful scenery. I’ve not been in the cascades in over 20 years, and it was a plesent change of scenery from my current Tampa bay scenery.
We navigated easily to the site, about :35 outside of town. The environment is farmland, with crops (hey and alfalfa it seems) stretching into the horizons. It is semi-arid and pretty hot, in the low 90’s, and extremely dusty.
First thing on arrival: Assemble and solder your camp pass – a few resisters and two LEDs on a PCB with an inducer – then test by swipping in front of a credit card reader. Blink blink, you are a go.
Presentations yesterday and the Ignite! Toorcamp talks last night were very good – ranging from OSX & Linux stack protection and memory randomization in compiled apps, a Spacepunk talk showing low earth photos taken with a home constructed satellite made with a Sony cybershot camera and deployed via balloon by Hackerbot Labs – they are on site and I’ll be seeing them for more info on this! Also a very interesting talk by Psychesonics on binomial sound waves to sync brain wave activity – hack your mind.
We went to town this morning for supplies, returning for the first talks. I’m sitting in an iptables firewall class now, to be followed by muti-channel bluetooth hacking and then SQL injection.
Bad news: Apparently camp coordinators did not have a contract with explicit access rights to the Missile Silo itself, leaving all authority up to the discretion of the owner. This is bad. As a result, before the conference even started some guys went into the silo unauthorised, the owner paniced and decided to revoke ALL access to the Silo yesterday – so all the talks yesterday that were to be given underground were given on the surface instead. Now, the owner has so graciously allowed one group of people so far to tour the underground silo. It is unknown yet if there will be more tours offered.
Moral of the story: When hosting an event at speciality locations, get a contract to ensure your access rights, etc. Otherwise – just use the national forest which costs nothing and has full public access rights. And it’s a hell of a lot more comfortable environmentally in the mountians!
But the conference itself, the data and the attendees are all very interesting and entertaining and there is a lot more goodness yet to come.
Will update more later.
Cloud computing is receiving increasing attention and shows great potential in the correct application. At Sago we are in a perfect situation to deploy clustering and cloud solutions and are currently conducting a feasibility analysis using a few different technologies and we wanted to let you know a bit more about these projects.
Virtualization has done a great deal of good in enterprise and data center environments, consolidating server footprints, increasing power efficiency, reducing hardware investment and maintenance costs and offering low priced virtual private servers to customers who do not require dedicated hardware. Despite the many advantages of virtualization however, it remains true that no virtual machine can exceed the resources of the underlying hardware. This is where dynamic or cloud computing can come into play, provisioning additional resources dynamically to meet changing requirements.
We are currently deploying a cluster of Linux servers using Rocks Clusters. This allows for easily adding nodes to the cluster and managing them. Cluster solutions in the past have been fairly complicated affairs and the stability and manageability was not optimum – and I am happy to say we have been extremely impressed with Rocks. If you have any clustering projects, or would like to learn more about clustering I would encourage you to check out this project. We are also experimenting with Eucalyptus cloud computing, which holds significant potential in flexible computing that can open the door to our offering completely new services to suit our customers needs. In the future, you might be able to run your servers as Virtual Machines in a cloud – responding to higher load demands and increased traffic by smoothly provisioning additional resources, without incurring the long term cost of permanently adding new hardware.
Eucalyptus is going to play a central role in the October release of Ubuntu 9.10 Karmic Koala, the release announcement of which caused a stir of interest in the Ubuntu community. There is a distinct buzz in the IT community about the possibilities of Cloud Computing and how it can help businesses in many ways, integrating with SaaS and SOA platforms, etc. Being able to leverage Cloud Computing in your business, or offer it to your customers could be a distinct advantage in the near future.
We will continue to build out our existing cluster, testing it in a variety of scenarios and deploying Amazon AMIs on our internal Eucalyptus cloud and will tell you more about this in the near future and let you know about what Cloud services we may be offering soon. See you up there!
For some time I have wanted to benchmark our Sago servers. This is the only way to know what servers are best suited for certain applications, and I am very happy to say this has now been done.
Sago Labs is pleased to announce an exciting new project now available to you. This can help existing Sago customers and well as those considering getting dedicated servers with us.
We have now made available detailed benchmarks on on performance class servers and a knowledge base article anyone can use to use the same benchmark tools we used. This way you can compare your existing server to our results, determine which server best suits your needs, and learn more about performance benchmarking.
For details on how to use the benchmarking tool Phoronix Test Suite and more information on the benchmarks we ran, please see the knowledge base article. Additional information on this benchmark suite can also be found at the official Phoronix site.
In the upcoming weeks we will benchmark our Enterprise Class servers as well, in addition to providing additional information on our Performance Class.
Benchmarks Results Online
Benchmarks results of our servers can be found on line at the Phoronix web site, under the SagoLabs account. You may view them at:
And our RSS feed is at:
Sago Server Comparisons
While the full benchmark reports are available at the above links, it is nice to have graphs which compare different servers. That way you don’t have to flip back and forth between many browser tabs. To make that easier we have selected some key results and here you can see all our performance class servers and how they compare to each other. Please note that one bargain class server, is also included – the Bargain Dual Xeon 2.8 for reference as well. Also there are results for both the 2.8 and 3.0 version of our Performance P4 system.
Here are graphs of some key benchmarks starting with some compile times for Apache and PHP. (continue reading…)
I’ve been tinkering with my new Acer Aspire One for a while now, long enough to give some more feedback on it in addition to my earlier post.
I continue to find the hardware delightful. Love the screen and keyboard and the dual sd card readers, etc. Really, from a hardware perspective I can’t find much to fault, other than the crappy 2 hour batter life on the 2200 mAh. Also you do have to disassemble it completely for a memory upgrade, not a big deal for me but certainly not something every user would want to do. If you do, as might as well upgrade the SSD / SDHD 8GB drive while you are at it as you must remove it to access the SODIMM slot. There are YouTube videos to guide you.
I find I do like the narrow open separation between the keyboard and screen. At first I didn’t like the look, but I found it perfect to slip your fingers through when holding it, making it extremely easy to hold in one hand when standing.
Now, as to the software. After giving it a very honest trial, I have to say the default Linpus OS simply has to go. It is not that I don’t like Fedora. And the Linpus GUI is actually pretty good. But given that most people who buy the Linux one are going to likely use XFCE, you are going to have trouble – guaranteed. Even if a user stays with the Linpus GUI, the software updates are going to be a problem.
This is silly. There are numerous Linpus modified packages, but no Linpus repository. If you try to use the built in updater after your first round of updates you will get a dependency problem with gnome-menus, which is easily resolved, but it seems odd that out of the box the update breaks almost immediately.
The next round of updates you will likely discover a problem with Firefox and gecko-libs. Now, this takes manually removing Firefox as it is not a yum package, but an rpm and then sym linking the new Firefox so the other packages think the old version is still there. A new Linux user is expected to resolve this? Right.