<sorry>I'll apologize early for what will basically turn into a ranting session on my hatred of graphical user interfaces (GUI's) when people attempt to apply them in the high performance computing (HPC) space.</sorry>
I was doing some investigation into some of the advanced options on the service processors we are using (especially virtual cd-rom mode), and came across something very disturbing. Apart from the basic node control (e.g. power on/off/cycle) which can be accessed on the command line (either through IPMI or the ssh-command line), these other options can only be accessed via an embedded web server on the service processor. Even worse, there's a java web start requirement to even properly see these pages (thus making expect or perl scripts to access it somewhat difficult).
So, the question is, how can we fix this? In the HPC space (think hundreds to thousands of nodes) how can we think that this is acceptable to manage these systems? Moreso, in a lights out facility with limited access, we're requiring an administrator to X11-forward a web browser from the internal network to check on these settings when there could just as easily be a command line equivalent.
There is this GUI frame of mind that everyone seems to be in. GUI's are nice to look at and give everyone a warm and fuzzy feeling because there's a button to click, but in the end GUI's are not scalable and slow down process. I've seen it range from cluster installation tools, to node management tools, to job launchers, to even some companies only providing power features through the embedded web services (at least this one has mostly gone away). How is this acceptable? Windows clusters with their fancy buttons and <insert whatever feature you actually get from it> are nice and all, but there's a reason that most of the HPC community is using Linux and AIX.
If I have one request, it's that we finally realize that GUI's have a purpose but are not THE solution to everything. Also, HTTP (and whatever else goes with it) is great for online banking and reading the occasional educational material, shouldn't be the sole source of the management of a large-scale HPC system. The command line interface isn't as scary as it's made out to be.
As an aside, this isn't just tools and applications. This includes all those special interfaces to switches and everything else that requires configuration through a web application. We all have to start thinking large scale (managing hundreds rather than tens).





I imagine that this general argument has been around for decades, but the same thing has happened to me recently over at Scrabulous.com; they removed a CLI and replaced it with a GUI which has fewer features and naturally is less flexible.
Bah! CLIers of the world, unite!
Posted by Max on March 28, 2008 at 02:15 PM EDT #