Foraging for Resources in the Multicore Present and Future

HPC consultant Wolfgang Gentzsch has thoughtfully updated the case of multicore architectures in the HPC context. Over on LinkedIn, via one of the HPC discussion groups, I responded with:

I also enjoyed your article, Wolfgang – thank you. Notwithstanding the drive towards cluster-on-a-chip architectures, HPC customers will require workload managers (WLMs) that interface effectively and efficiently with O/S-level features/functionalities (e.g., MCOPt Multicore Manager from eXludus for Linux, to re-state your example). To me, this is a need well evidenced in the past: For example, various WLMs were tightly integrated with IRIX’s cpuset functionality (http://www.sgi.com/products/software/irix/releases/irix658.html) to allow for topology-aware scheduling in this NUMA-based offering from SGI. In present and future multicore contexts, the appetite for petascale and exascale computing will drive the need for such WLM-O/S integrations. In addition to the multicore paradigm, what makes ‘this’ future particularly interesting, is that some of these multicore architectures will exist in a hybrid (CPU/GPU) cloud – a cloud that may compliment in-house resources via some bursting capability (e.g., Bright’s cloud bursting, http://www.brightcomputing.com/Linux-Cluster-Cloud-Bursting.php). As you also well indicated in your article, it is incumbent upon all stakeholders to ensure that this future is a friendly as possible (e.g., for developers and users). To update a phrase originally spun by Herb Sutter (http://www.gotw.ca/publications/concurrency-ddj.htm) in the multicore context, not only is the free lunch over, its getting tougher to find and ingest lunches you’re willing to pay for!

We certainly live in interesting times!

April’s Contributions on Bright Hub

In April, I contributed two articles to the Web Development channel over on Bright Hub:

Google Chrome for Linux Articles on Bright Hub

I’ve recently started an article series over on Bright Hub. The theme of the series is Google Chrome for Linux, and the series blurb states:

Google Chrome is shaking up the status quo for Web browsers. This series explores and expounds Chrome as it evolves for the Linux platform.

So far, there are the following three articles in the series:

I intend to add more … and hope you’ll drop by to read the articles.

Juniper Seminar: Key Takeaways

Yesterday, I attended the Toronto session of a Juniper seminar focused on security and datacenter solutions.

The following are the key takeaways I extracted:

  • Juniper is standards-oriented. In the area of NAC, e.g., they are co-chairing with Symantec the Trusted Computing Group‘s Trusted Network Connect (TNC) effort. It’s not (yet) clear to me how the TCG interplays with the IETF … And speaking of IETF, Juniper’s Network and Security Manager (NSM) makes use of IETF’s NetConf standard in, e.g., simplifying the provisioning of new devices on the network.
  • Juniper has a comprehensive portfolio of offerings at the intersection of security and networking. Interestingly, Juniper’s Security Threat Response Manager (STRM) OEMs technology from Q1Labs.
  • 802.1x is a solid bet. Based on a number of trends, and a variety of requirements, Juniper promotes use of 802.1x. Even though this is a path we’ve already identified, it’s good to have it independently validated …
  • Security, and other services, can be offloaded to purpose-built devices in the core. Instead of inserting, e.g., a FWSM into a device (e.g., a Cisco 65xx) that is primarily providing routing and switching services, Juniper has recently introduced a new paradigm with its SRX series. Touted as a services gateway for the core, the purpose of the SRX is to offload from the routing/switching devices various services – e.g., firewall, VPN, etc. As I understand it, the SRX runs JUNOS with various enhancements from ScreenOS (their O/S from their firewall devices). Even if you don’t make use of Juniper solutions, it may make sense to understand and potentially apply the offloading-of-services concept/paradigm in your core.
  • Juniper allows for the virtualization of switches. Juniper Virtual Chassis (VC) is currently only available for their EX 4200 platform. With VC, it’s possible to virtualize up to 10 physically distinct EX 4200s into one. Within the next year, Juniper plans to provide VC on, e.g., their EX 8200 platform. Because vmWare’s vMotion requires layer-2 adjacency, server virtualization may prove to be a significant driver for switch virtualization. I expect that this will prove, e.g., to be particularly relevant in providing failover services (at the networking layer) between multiple, physically distinct, and geographically separated locations.

Even though the event appeared to be more of the sales-y/marketing-y variety, there was substantial technical content in evidence.

What You Will/Won’t Get with Stainless

Earlier today, I started to evaluate Stainless. In this post, it’s my intention to dig a little deeper by sharing more of what you will and won’t get with Stainless.

What you will get:
  • Private Browsing – On selecting “File \ New Private Browsing Window”, the Stainless browser that appears makes use of WebKit‘s private browsing mode. In this mode, global history, page caching and storing of AutoFill information are disabled. Spawned tabs and windows inherit the private-browsing mode.
  • Single-Point-of-Entry – Obviously you can type in a URL. However, you can also type in a text string (e.g., “Google Chrome”) to initiate a search via Google. In fact, via Stainless’ “Preferences”, you can choose to make use of Google, Yahoo!, Live Search, AOL or Ask.
  • Process Management – I alluded to the multiprocess capability of Stainless in the previous post. I’ve just realized that by selecting “Window \ Process Manager” you can monitor and even terminate processes via a simple GUI. Very nice!
What you (likely) won’t get:
  • Downloading Capability – I tried to download from a few sites … and all attempts FAILED!! I am shocked and amazed. I saw a Page loading error: Frame load interrupted message appear in the status bar each time … This is disappointing and will hopefully be fixed in version 0.2.
  • History – Via Stainless’ “Back” button, there is some notion of history, but that’s it.
  • URL Caching/Auto-Completion – URL caching and auto-completion are unavailable.
  • An Open Source Version – There’s a significant Open Source aspect to Chrome. Based on proprietary technology developed by Mesa Dynamics for their Hypercube personal-widgetsphere offering, Stainless and Open Source seem unlikely to resonate.
  • Cross-Platform Support – Stainless is available for Mac OS X Leopard. Will this offering will be broadened? Unknown.
  • Extensibility – This killer functionality is a core competence of Mozilla Firefox. It appears that Chrome will sport something analogous. Stainless? Unknown?
  • Offline Mode – I’m thinking of something along the lines of Google Gears … but I don’t see it arriving soon … I installed Gears for Safari. Unfortunately, Stainless gives me the impression that I have Gears support, but in reality (during an offline situation) it’s clear that I don’t. Misleading.

Despite the negatives, I expect to continue to make use of Stainless, and encourage you to do the same.

Feel free to chime in with your impressions.

Chrome Today the Stainless Way

Even though I recently whined about the wait for Google Chrome on Mac and Linux platforms, I haven’t spent any effort empowering some other browser with Chrome-like features/functionalities – even though this is possible. And although CrossOver Chromium caught my attention, I wasn’t sufficiently motivated to evaluate it either.

Somewhat surprising then is the fact that I have gravitated rapidly towards a quick-and-dirty evaluation of “Stainless – a multiprocess browser for OS X inspired by Google Chrome.” Inspired is definitely the operative word here as:

… the Mac version of Chrome will use a WebCore-rendered bitmap to pass between the browser and rendering processes. The strategy we use in Hypercube (and now Stainless) is far less ambitious, but a whole lot easier to do and, thus, available today for your downloading pleasure (for Leopard only, sorry).

And what a pleasure it is!
Honestly, based on the recent LifeHacker post, I expected a whole lot less than what Stainless actually delivers today – in version 0.1!

Based on about 30-minutes experience, Stainless:
  • Performs well – It loads Web pages quickly. And as “ps -alx | grep -i stainless” indicates, Stainless really is a multiprocess browser for OS X. For me, this alone makes Stainless worth the effort.
  • Supports AJAX – I’m writing this blog post using Google Docs via Stainless. Stainless worked fine on my initial tests with other Google productivity apps – I tested Google Spreadsheets and GMail. I therefore have some level of comfort in proclaiming it as supporting AJAX. Nice!
I’m sure I’ll have more to say soon … In the meantime, though, even at this early stage Stainless is definitely worth a serious look.

Google Should Not Be Making Mac and Linux Users Wait for Chrome!

Google should not be making Mac and Linux users wait for Chrome.

I know:

  • There’s a significant guerrilla-marketing campaign in action – the officially unstated competition with Microsoft for ‘world domination’. First Apple (with Safari), and now Google (with Chrome), is besting Microsoft Internet Explorer on Windows platforms. In revisiting the browser wars of the late nineties, it’s crucial for Google Chrome to go toe-to-toe with the competition. And whether we like to admit it or not, that competition is Microsoft Internet Explorer on the Microsoft Windows platform.
  • The Mac and Linux ports will come from the Open Source’ing of Chrome … and we need to wait for this … Optimistically, that’s short-term pain, long-term gain.

BUT:

  • Google is risking alienating its Mac and Linux faithful … and this is philosophically at odds with all-things Google.
  • It’s 2008, not 1998. In the past, as an acknowledged fringe community, Mac users were accustomed to the 6-18 month lag in software availability. Linux users, on the other hand, were often satiated by me-too feature/functionality made available by the Open Source community. In 2008, however, we have come to expect support to appear simultaneously on Mac, Linux and Windows platforms. For example, Open Source Mozilla releases their flagship Firefox browser (as well as their Thunderbird email application) simultaneously on Mac and Linux as well as Windows platforms. Why not Chrome?

So, what should Google do in the interim:

  • Provide progress updates on a regular basis. Google requested email addresses from those Mac and Linux users interested in Chrome … Now they need to use them!
  • Continue to engage Mac/Linux users. The Chromium Blog, Chromium-Announce, Chromium-discuss, Chromium – Google Code, etc., comprise an excellent start. Alpha and beta programs, along the lines of Mozilla’s, might also be a good idea …
  • Commence work on ‘Browser War’ commercials. Apple’s purposefully understated commercials exploit weaknesses inherent in Microsoft-based PCs to promote their Macs. Microsoft’s fired back with (The Real) Bill Gates and comedian Jerry Seinfeld to … well … confuse us??? Shift to browsers. Enter Google. Enter Mozilla. Just think how much fun we’d all have! Surely Google can afford a few million to air an ad during Super Bowl XLII! Excessive? Fine. I’ll take the YouTube viral version at a fraction of the cost then … Just do it!

For now, the Pareto (80-20) principle remains in play. And although this drives a laser-sharp focus on Microsoft Internet Explorer on the Microsoft Windows platform at the outset, Google has to shift swiftly to Mac and Linux to really close on the disruptiveness of Chrome’s competitive volley.

And I, for one, can’t wait!

Synced-Data Applications: The Bastard Child of Convergence

At the Search Engine Strategies Conference in August 2006, in an informal conversation, Google CEO Eric Schmidt stated:

What’s interesting [now] is that there is an emergent new model, and you all are here because you are part of that new model. I don’t think people have really understood how big this opportunity really is. It starts with the premise that the data services and architecture should be on servers. We call it cloud computing – they should be in a “cloud” somewhere. And that if you have the right kind of browser or the right kind of access, it doesn’t matter whether you have a PC or a Mac or a mobile phone or a BlackBerry or what have you – or new devices still to be developed – you can get access to the cloud. There are a number of companies that have benefited from that. Obviously, Google, Yahoo!, eBay, Amazon come to mind. The computation and the data and so forth are in the servers.

My interpretation of cloud computing is summarized in the following figure.


Yesterday, I introduced the concept of Synced-Data Applications (SDAs). SDAs are summarized in the following figure.


SDAs owe their existence to the convergence of the cloud and the desktop/handheld.

Is Desktop Software Dead?

When was the last time you were impressed by desktop software?

Really impressed?

After seeing (in chronological order) Steve Jobs, Al Gore and Tim Bray make use of Apple Keynote, I absolutely had to give it a try. And impressed I was – and to some extent, still am. For me, this revelation happened about a year ago. I cannot recall the previous instance – i.e., the time I was truly impressed by desktop software.

Although I may be premature, I can’t help but ask: Is desktop software dead?
A few data points:
  • Wikipedia states: “There is no page titled “desktop software”.” What?! I suppose you could argue I’m hedging my bets by choosing an obscure phrase (not!), but seriously, it is remarkable that there is no Wikipedia entry for “desktop software”!
  • Microsoft, easily the leading purveyor of desktop software, is apparently in trouble. Although Gartner’s recent observations target Microsoft Windows Vista, this indirectly spells trouble for all Windows applications as they rely heavily on the platform provided by Vista.
  • There’s an innovation’s hiatus. And that’s diplomatically generous! Who really cares about the feature/functionality improvements in, e.g., Microsoft Office? When was the last time a whole new desktop software category appeared? Even in the Apple Keynote example I shared above, I was impressed by Apple’s spin on presentation software. Although Keynote required me to unlearn habits developed through years of use Microsoft PowerPoint, I was under no delusions of having entered some new genre of desktop software.
  • Thin is in! The bloatware that is modern desktop software is crumbling under its own weight. It must be nothing short of embarrassing to see this proven on a daily basis by the likes of Google Docs. Hardware vendors must be crying in their beers as well, as for years consumers have been forced to upgrade their desktops to accommodate the latest revs of their favorite desktop OS and apps. And of course, this became a negatively reinforcing cycle, as the hardware upgrades masked the inefficiencies inherent in the bloated desktop software. Thin is in! And thin, these days, doesn’t necessarily translate to a penalty in performance.
  • Desktop software is reaching out to the network. Despite efforts like Microsoft Office Online, the lacklustre results speak for themselves. It’s 2008, and Microsoft is still playing catch up with upstarts like Google. Even desktop software behemoth Adobe has shown better signs of getting it (network-wise) with recent entres such as Adobe Air. (And of course, with the arrival of Google Gears, providers of networked software are reaching out to the desktop.)

The figure below attempts to graphically represent some of the data points I’ve ranted about above.

In addition to providing a summary, the figure suggests:

  • An opportunity for networked, Open Source software. AFAIK, that upper-right quadrant is completely open. I haven’t done an exhaustive search, so any input would be appreciated.
  • A new battle ground. Going forward, the battle will be less about commercial versus Open Source software. The battle will be more about desktop versus networked software.

So: Is desktop software dead?

Feel free to chime in!

To Do for Microsoft: Create a Wikipedia entry for “desktop software”.

The MFA is the New MBA: Illustrations by Steve Jobs and Apple

In March 2005, Dan Pink asserted “… the MFA is the new MBA”.
Why?

… businesses are realizing that the only way to differentiate their goods and services in today’s overstocked marketplace is to make their offerings physically beautiful and emotionally compelling. Thus the high-concept abilities of an artist are often more valuable than the easily replicated L-Directed skills of an entry-level business graduate.

I can’t think of a better illustration than Steve Jobs’ story of how the Mac became the first computer with beautiful typography.
And of course, true to form, Jobs illustrated Pink’s assertion more than two decades ago.
And since 1984, Jobs and Apple have made the illustration even more compelling with the current generation of Macs, the iPod, and most recently the iPhone.
Note-to-self: Look into MFA programs!

Aside: I’ve blogged previously about Pink’s book and its implications for displacing knowledge workers.