Wednesday Sep 22, 2010

Sun technologies announced as Innovations at OOW

These were the top 8 innovation mentioned at Larry Ellison's Oracle OpenWorld keynote:
  • Exalogic Elastic Cloud
  • Exadata X2-8 database machine (follow-on to Exadata v2 announced last year)
  • Java 7, 8 roadmaps (along with SE, EE, ME roadmaps)
  • Unbreakable Enterprise Linux kernel to support Exadata and Exalogic's scale of operations
  • Solaris 11 Express
  • Sun UltraSPARC T3 chip (known to some as Rainbow Falls), the new generation of SPARC microprocessors
  • Fusion built from a common Middleware platform to deliver next generation ERP, CRM
  • MySQL 5.5 with considerable performance improvements
6 out of the 8 (except for Fusion and Linux Kernel) are Sun technologies; how cool is that!
Its terrific to see Oracle finally bringing Sun technologies to their full (sales) potential in the marketplace; this is the balance between innovation and marketing/sales that was missing at Sun. Well-engineering, fully integrated and tested systems together is the kind of dream that Sun engineers always hoped their products would help their company attain. It has been a remarkably successful year for Sun within Oracle and the road ahead looks even more promising!

Monday Sep 20, 2010

OOW Day 1 highlights: Systems announcements

With over 40000 attendees, 1800 OpenWorld and 700 JavaOne and Developer sessions, Oracle OpenWorld + JavaOne + Develop is off with a bang! The enormity of the event is fairly mind boggling and you have to experience it to appreciate it! Here I will focus on things closer to my division, especially HW systems and OS events...

There were plenty of new systems related announcements, some of them are:
  • Biggest bang of the conference has been the Big Announcement on Oracle Exalogic Elastic Cloud
    • 96 cores in smallest config (Quarter Rack) to 360 cores in a full Rack
    • 2 to 8 Racks in a configuration, tied together using Inifiniband
    • 768 GB to 2.8 TB RAM
    • 40TB Disk Storage
    • Stack includes OEL, Solaris, Elastic Cloud SW, JRockit/HotSpot, WebLogic Server, Coherence
    • All of this with Enterprise Management SW
  • Introduction of Oracle Exadata Database machine X2-8
    • 2 CPUs, 8 chips/64cores per system, 2TB RAM
    • 14 Exadata Storage servers with 168 cores and 336 TB of storage capacity and 5TB of Smart Flash cache for performance
    • 40Gb Infiniband based internal connectivity and 10Gb external connectivity
    • Choice of Solaris 11 or OEL
    • Best for OLTP, Best for Warehousing, Best for Consolidation, Ready to Run Complete Systems
  • Unveiled new Processor: UltraSPARC T3 followup to T2+
  • Outlines Solaris 11 Preview
    • Over 2700 projects and 400 new inventions
    • More than 1000 SPARC and x86 hardware systems tested and certified
    • Powering the Oracle Exadata and Exalogic Elastic Cloud systems
    • Improved I/O support , scales to 1000s of threads
    • Improved maintainability with a new administrative model introduced in OpenSolaris
    • Integrated full Oracle stack tested together
  • New Sun Ray models introduced. See the description for SunRay 3i here and for SunRay3 here . Additionally, using the Sun Ray Software , literally thousands of Sun Ray devices can be managed from a single, centralized environment.
  • Oracle Unbreakable Enterprise Linux Kernel for improved performance, reliability, scalability characteristics while maintaining full compat with RHEL
Other than this, I wondered around OOW, JavaOne and Develop locations (including an Unconference in a nearby hotel) and tried to absorb as much as I could. It is really overwhelming. The first day was fun, lets see how the others turn out to be (they will be hectic, for sure).

Friday Sep 17, 2010

Update schedule of Studio events and locations at OOW

Heres the latest:
  • Oracle Sun Systems Developer Pod @  Hilton Hotel Continental Ballroom (HHJ-007)
  • Multi-core Application Programming with Oracle Solaris Studio @ Hotel Nikko/Nikko Ballroom I, Mon 4:00 pm
  • Performance Measurement with Oracle Solaris Studio Performance Tools @ Hotel Nikko/peninsula, Tue 11:30 am
  • Building High-Quality C/C++ Applications @ Hotel Nikko/Nikko Ballroom II, Wed 1:00 pm
  • HPC for the Oil and Gas Industry @ InterContinental, Wed 10:00 am

Come see us at OOW, and give your feedback, advise or just share your experience on Solaris development with us. We would love to hear from you personally.

Tuesday Sep 14, 2010

Studio sessions at Oracle Open World / Develop 2010

Oracle Solaris Studio is presenting at Oracle Develop next week (Oracle Develop, JavaOne and Oracle Open World run from Sunday, Sept 19 - Thursday, Sept 23). Oracle Solaris Studio has three sessions (short abstracts follow):

Sept 20th, 4:00 - 5:00 pm, Multicore Application Programming with Oracle Solaris Studio
Writing correct and fast parallel applications is often considered a hard problem. However, it doesn't need to be that way. This session will describe how Oracle Solaris Studio can be used to produce applications that are both fast and correct. The talk will cover parallelization strategies, implementation details, and common pitfalls. Presenter: Darryl Gove

Sept 21st, 11:30am - 12:30pm, Performance Measurement with Oracle Solaris Studio Performance Tools
In this session, we'll first describe the importance of performance, how tell if there's a problem, and how to triage it. We'll describe the Oracle Solaris Studio Performance Tools and show how they simplify the triaging problem. We'll then present two simple cases of low-handing fruit in applications. Presenter: Marty Itzkowitz

Sept 22nd,2:00 pm-3:00 pm Building High-Quality C/C++ Applications
There are many challenges for native language developers, such as multicore development, heterogeneous OS development, and compatibility. Oracle Solaris Studio delivers a high-performance C/C++ and Fortran tool chain with parallelizing compilers, code-level and memory debuggers, performance and thread analysis tools, optimized math libraries, and support for the latest parallelizing industry standards. Presenter: Don Kretsch

I am listed as a presenter for the first one, but I doubt I will get to do that. In any case, this gets me (as backup speaker) a chance to see the rest of OOW and Develop and JavaOne as one conference for the first time. It should be quite an experience!

So, folks, if you're in that neck of the woods, do drop by to hear our speakers.

Friday Sep 10, 2010

Sun Studio Product Release Names from the past 20 years

Product Name

Release Version

Release Year


Oracle Solaris Studio
First release as Oracle
Sun Studio
12 update 1

Sun Studio

Sun Studio

Sun Studio
64-bit x86; Solaris 10
Sun Studio

Sun Studio
Re-enter x86 market
Sun ONE Studio Compiler Collection
Only the compilers here
Sun ONE Studio
SPARC only; NetBeans based IDE
Forte Developer
6 update 2
c99 support
Forte Developer
6 update 1
Also: Sun Workshop
Forte Developer
Also: Sun Workshop
Sun Workshop
New C++ Standard
Sun Workshop
Fortran Only
Sun Workshop
Also: SPARCworks 4.2
SunSoft Workshop
Also: SPARCworks 4.0; last Ada release
SunSoft Workshop
Fortran 90 release
Also: SunSoft Workshop 1.0; SunOS 4.x; last Pascal release

SunOS 4.x, first on x86
First release on Solaris
Ansi C; Distro on CD
Sun Compilers
First unbundled rel (from OS)

A couple of points here to add. This list is for entertainment purposes(historical? hysterical?) only. Many of our enterprise customers have been along for this ride during much of Studio history and this list might bring a smile to their faces and/or help them understand any gaps. For years, I used to put up a slide in my presos called Whats in a Rose? Our product names over the years with these names to get over such questions as: Is Forte a different product, etc. This list is a more complete enumeration of that effort. The creativity of our marketing machinery(!) should not get in the way of our users understanding the maturity and long history of the product line.

Its pretty amazing that we got 23 separate, full releases (not patches, not updates-dont let the names fool you) in 20 years; that is an amazing cadence. Equally amazing is that the basic charter has not changed much over the years at all:
  • Support new hardware and squeeze the most performance out of the latest features (pipelines, cache, chip and instruction characteristics)
  • Support new OS features like /proc, Hardware counters, page size, processor affinity, DTrace, rtld, etc
  • Tune math libraries and algebraic solvers for the latest HW micro-architecture
  • Provide State of the Art optimizations
  • Provide the broadest range of tools: Command-line, standalone GUIs and IDE and integrate them (test together, work together) in one product line
  • Bring the latest GUI technologies
  • Provide enterprise grade support
Few people remember that:
  • Studio predates SPARC. Sun Compilers (and then SPARCcompilers) worked on x86, Motorola and then SPARC
  • Studio predates Solaris. Notice the two releases SC0.0 and SC1.0 before Solaris 2.0 was born (back in those days Solaris 1.0 referred to Berkeley/BSD based SunOS 4.x. Equivalently, SunOS 5.x referred to Solaris).
  • Even though Solaris was released in 1992, Studio had two more releases on SunOS 4.x, until it stabilized completely to be the platform of choice for most of our customers (around Solaris 2.3)
  • Sun's last Pascal release was in 1994 (though there was a Y2K patch issued in 1999!) and the last Ada release was in 1995.
The official support and component matrix along with official Sun/Oracle support dates and policies is found here; please refer to this to get your questions answered.
It was a fun exercise for me to look at the past. Hope you enjoyed it too.

Wednesday Sep 08, 2010

Oracle Solaris Studio 12.2 released!

Oracle Solaris Studio 12.2 is the latest release of compilers and tools, available on Solaris 10 (SPARC and x86), OEL, RHEL and SuSE and has several highlights worth noting:
  • This is the first release of Studio under the Oracle banner. That said, it continues a long tradition of excellence in performance, features and productivity diligently nurtured by previous releases under the Sun Studio, Sun Workshop, Forte Developer banners.
    • For those of you who are new to the Sun product lines, Studio has always played an important part in various parts of the Oracle Hardware, Software stack:
      • Oracle database was always built optimized with Studio (for the past 15+ years as Sun's ISV partner) and recommended Studio for ProC and plugins
      • PeopleSoft, Siebel, Hyperion and JD Edwards was built optimized with Studio from long before these became part of the Oracle family.
      • Java VM has always built with Studio from Day 1 and has recommended it for Native Code Development
      • Solaris has, of course, been built from Day 1 with Sun compilers and these have played a critical part in developing the best application ecosystem around Solaris (differentiating it from HP/UX, IBM-AIX and Linuxes, whose combined #apps dont match upto Solaris)
      • Pretty much every single Sun system Hardware Benchmarking announcement that involved CPU crunching involved Studio compilers (exception: early x86/Opteron announcements on Linux when Studio wasnt on Linux yet)
  • Features:
    • Optimized for Sun Systems:
      • Support for latest SPARC and x86 Hardware systems. In particular, optimizations for SPARC64-VII, UltraSPARC-T2 (Plus), Intel Xeon 7500 processor series (Nehalem-EX) and the Intel Xeon 5600 processor series (Westmere-EP)
      • Math libraries and solvers tuned for each microarchitecture
      • Enhanced MT, OpenMP and MPI support throughout the toolchain.
    • Optimized for Solaris:
      • Tools that take advantage of latest Solaris features such as Dlight (a new tool) and features exposed for profiling (Performance Analyzer)
      • Solaris Binary Compatibility Guarantee with industry's only stable C++ ABI
    • Optimized for Developers:
      • Innovative new tools: A new memory debugger (Discover) and a new code coverage tool (Uncover).
      • OK, not new but pretty much unknown so a plug here wont hurt: dbxtool is now back as a standalone tool (since Studio 12 update 1)
      • Enhancements to existing tools, such as OCD (optimized code debugging), and improvements in application profiling and observability (Performance Analyzer).
      • Several enhancements to the Studio IDE to improve developer productivity, which I've detailed in a previous blog here and especially here.
  • New and enhanced support offering covered under two development bundles (here). Check out the support pages here.
So, heres what you can do today to get more familiar with it:

It doesnt hurt to reiterate the overall architectural graphic, so here it is again:

Oracle Solaris Studio at a glance

Wednesday Sep 01, 2010

Dbxtool over the years in pictures

I have taken some screenshots of the various DBXtool versions that I described in a previous blog. Heres a slideshow based on those screenshots. Enjoy!

Monday Aug 30, 2010

Oracle Solaris Studio: Did you know? dbxtool is back

I'm seeing as I hear more and more from customers that few of them are aware that DBXtool has come back as an independent, standalone tool in Studio. I would hate for this lovely tool to be Studio's best kept secret , so this blog is a note to get the word out, but while I'm at it, let us look at it in somewhat greater depth.

History of Dbxtool: OK, its inevitable that the re-emergence of DBXtool is tied to past history. So, lets peek a bit at the last 20 years. I remember back from the mid to late 80s when Sun's introduction of a desktop Windowing system called SunView featured a graphical debugger called dbxtool. dbxtool was a simple, easy to use interface to the source-level debugger, dbx. [I am amazed that you can still find references to it on the web!]. Personally, I found dbxtool to be a huge productivity enhancer and used it more than any other graphical productivity application (other than perhaps email!). In particular, I remember cool commands like "button expand" that let you create your own buttons in the panel. In the early 90s, Sunview evolved into a short-lived but very interesting project called NeWS. But more significantly, as Sun upgraded to the Open Look feel, dbxtool was rewritten for the new look-and-feel, so that events like Breakpoint-controls and Execution, Stack and Data display properties all had their own menus. From here on, dbxtool (now called simply: Debugger) was increasingly integrated into a programming environment which included editors-of-choice (vi, xemacs, nedit), a source browser, a build system and a source code management system (called Teamware). The debugger could still be invoked individually, if so desired, but it was all in the context of a larger toolset called Workshop. Workshop was an immensely popular product in the mid 90s for Sun's developer tools offering and to this day, many of Sun's enterprise customers fondly remember it.
But Sun was also undergoing a lot of change (particularly: Java, in this context) and in a quest to get a state-of-the-art IDE and to allow programmers to use the same tools for Java and C/C++, Sun bought a Czech company called NetBeans. This IDE had its own strong notion of workflow, learning much from the Microsoft and Borland models of tightly-integrated edit-compile-debug cycle support. The tools were all tightly integrated and Workshop went through three more name changes before finally settling in on the Sun Studio name(Workshop -> Forte Developer -> Sun ONE Studio -> Sun Studio). The Workshop group integrated C/C++ language support into NetBeans and thus made this offering equally complete and competitive for C/C++ users as well.
Since the late 90s and throughout this decade, the debugger has lived inside the (NetBeans-based) Studio IDE. Which is great. However, not everyone in Unix likes an IDE. In particular, many of them want simple, standalone tools. Make, SCCS/TeamWare, Source Browser etc. all evolved in Unix/Solaris from this strong need. So, despite a fairly strong undercurrent of demand for a lightweight, standalone tool for debugging, this has been available only through the IDE. Finally, in 2009, Studio released a standalone debugger, dbxtool to satisfy this constant demand.

What is in Dbxtool? Three things are different from the debugger in IDE. First, dbxtool is standalone and only loads the modules needed for debugging (and thus has faster startup and is lighter in memory usage). Second, dbxtool can be used to directly act upon a binary without having to create a project. Finally, you can embed dbxtool invocation into shell scripts and driver programs (via ss_attach) and do "dbx-specific" things like debug corefiles, debug process-ids without an executable, etc. Thus dbxtool more closely mimics the functionality in dbx, while preserving the advantages and convenience of graphical look-and-feel.
In dbxtool, you can look at stack traces, register dumps, [dis]assembly of corresponding source, watchpoints, multiple thread execution states, examining variables, and perform extensive expression evaluation.
Among other things that you might not know about, Dbxtool does runtime memory checking, allows for multiple sessions and does remote debugging (Solaris/Linux Client to Solaris/Linux server).

Read more about it from the manpage here . Or from the dbxtool video screencast here.

Finally, here is a screenshot of dbxtool:

Tuesday Jul 20, 2010

Solaris Studio Express Feedback program will end in a week

The customer feedback program for Solaris Studio Express 6/10 will end on 7/27. This is the last week to send your feedback through a quick survey

Please take a few minutes to send us your feedback.

Wednesday Jul 14, 2010

Follow up on Solaris Studio TechCast

With 40+ in attendance, I would rate yesterday's TechCast a nice success! Don has a certain knack of connecting with audiences that I've admired over the years and an easy, but effective communication style that gets his message across in a positive way. The overall TechCast was about 20 mins, most of which was spent in Q&A.
Don gave a short introduction to the kind of tools Oracle customers would find useful in Oracle Solaris Studio. He also outlined an important point that while this was the first release (and an Express at that, primarily to get feedback) under the Oracle brand, Studio was already a mature offering with a 20+ year history. The big advantage for Oracle customers with Studio is that Oracle can now offer a product that combined the knowledge of Sun  Systems (Hardware) Design  group and Operating System (Solaris) group with features that exploited the best-and-latest amongst them and made them easily accessible to customers.
Some of the interesting questions that came up:
  • Whats the difference between NetBeans IDE v Studio ? When/Why should I use the latter?
  • What sort of applications can take advantages of multicore?
  • Users typically use the Intel compilers to get the most performance on x86 chips. Why would you recommend Studio to these users? (OK, I asked this one!)
  • What if I'm never done MT programming. Is Studio too advanced for me?
A recording of that VideoCast is now available at:

Other pointers:

Monday Jul 12, 2010

Watch Oracle Solaris Studio on OTN TechCast Live tomorrow: July 13th @10:00am

Join Don Kretsch, Senior Director- Software Development (and my boss) as he talks about What Is New and Cool With Oracle Solaris Studio in an OTN TechCast.
[TechCast Live are fireside chats; with Justin Kestelyn ( Editor-in-chief of OTN Blog ) and Oracle executives and experts that focus on new trends and technologies in Application Development.]

Don will talk about performance of C, C++, and Fortran compilers for Oracle Solaris and Linux, along with advanced multicore tools for parallel thread performance analysis, debugging and performance libraries. Don will also demo the latest features of the product, based on the recently released Studio Express release (download here to try it and give feedback).
If you miss the live TechCast, you can always rejoin later and watch it here from the archives

Monday Jun 28, 2010

Oracle Solaris Studio Secret Sauce: Ferociously tuned and Parallel Scientific Libraries

One of the lesser known "secret sauces" of Oracle Solaris Studio is perhaps one of its easiest-to-use and highest performance components: Performance Library (what we commonly call Perflib). Sun Performance Library is a set of optimized, high-speed mathematical subroutines for solving linear algebra and other numerically intensive problems. Sun Performance Library is based on a collection of public domain applications available from Netlib . Sun has enhanced these public domain applications and bundled them as the Sun Performance Library. Sun ensures that the performance of each routine is optimal for the underlying hardware and that the routines are parallelized to take advantage of multiple cores.

If words like BLAS, LAPACK, FFTPACK, SuperLU, ScalaPACK, SparseBLAS and SPSOLVE get you excited or at least curious, read on. For the rest of you, there are only a couple of headliners, I'd like you to remember:
  • Sun Performance Library comes optimized for every Sun HW platform. This means there are optimized versions for for V8, sparcvis, sparcvis2, and sparcfmaf architectures on the SPARC side and there are also optimized versions for x86/x64 architectures, for AMD/Opteron, AMD/Barcelona and Intel/Xeon.
  • Sun Performance Library works on Solaris SPARC, Solaris x86/x64, OEL, RedHat and SuSE
  • These highly optimized versions are hand-tuned for the best performance. That means linking into these routines will automagically give you scalability across multiple cores and the best possible performance on each HW brand you could be running.
  • Scalability across multiple cores is automatically guaranteed by the parallelized routines, which means code can automatically scale up on newer machines without having to parallelize code by hand (a very tedious task, in most cases).
Of course, these advantages apply only to numeric codes that can take advantage of these popular routines.
For the die-hards who want to know more, here is a classification of the kind of Linear Algebra and Numerical solvers that are part of Perflib:
  • Elementary vector and matrix operations - Vector and matrix products; plane rotations; 1, 2-, and infinity-norms; rank-1, 2, k, and 2k updates
  • Linear systems - Solve full-rank systems, compute error bounds, solve Sylvester equations, refine a computed solution, equilibrate a coefficient matrix
  • Least squares - Full-rank, generalized linear regression, rank-deficient, linear equality constrained
  • Eigenproblems - Eigenvalues, generalized eigenvalues, eigenvectors, generalized eigenvectors, Schur vectors, generalized Schur vectors
  • Matrix factorizations or decompositions - SVD, generalized SVD, QL and LQ, QR and RQ, Cholesky, LU, Schur
  • Support operations - Condition number, in-place or out-of-place transpose, inverse, determinant, inertia
  • Sparse matrices - Solve symmetric, structurally symmetric, and unsymmetric coefficient matrices using direct methods and a choice of fill-reducing ordering algorithms, and user-specified orderings
  • Convolution and correlation in one and two dimensions
  • Fast Fourier transforms, Fourier synthesis, cosine and quarter-wave cosine transforms, cosine and quarter-wave sine transforms
  • Complex vector FFTs and FFTs in two and three dimensions
  • Interval BLAS routines
  • Sorting operations
See a complete list of routines here.

Taking full advantage of the increased accuracy, performance and parallelism of these routines often requires code change. However, in many cases, such code change can result in more readable code as well (here is a good example of that). The performance improvements are often dramatic, and well worth the time taken to change code to take advantage of these routines.

Want to know more? There are several places you can look:

Thursday Jun 17, 2010

Two new Whitepapers on Studio and Solaris on SPARC

New Whitepapers just published on talk about how the synergy between SPARC, Solaris and Studio tools helps deliver better value to customers.

Optimizing Applications with Oracle Solaris Studio Compilers and Tools(PDF)

This whitepaper talks about various issues and opportunities around optimizing application performance in the context of today's mix of complex multi-core, multi-socket, heterogenous hardware and operating systems. Development environments today are diverse and multi-sourced (meaning, piece parts of an application are often derived from several source locations -many of them open source), often multi-lingual. Today's tools need to deal with various source code control systems, cluster computers, diversity of clients and servers and yet be optimized not just for CPU but also for data latencies and network bandwidth. Oracle Solaris Studio provides a rich set of options, in the compilers for optimization, in the tools for analysis and debugging and in the IDE for ease of use and multi-language development. Additionally, support of industry and vendor standards (eg ISO C, C++, Fortran and OpenMP, MPI) and standard practices, along with a rich set of numerical libraries provides users with the options to tailor their application builds for optimal system utilization. All of this comes from a mature development group that has been putting out enterprise releases for 20+ years and supporting them with top-of-the-line support offerings. Read this paper to understand:
  • Overall Oracle Solaris Studio architecture for Compiling/Building, Debugging and Tuning and what is available in each category
  • How to optimize applications for Serial performance considering issues like 32 bit vs 64 bit address space, understanding target platforms, choosing appropriate compiler optimizations and how to use Performance Analyzer to identify and eliminate program hotspots.
  • Parallelism paradigms available and the various tradeoffs for using Autopar, MT programming, OpenMP and MPI programming styles and how you can use the Thread Analyzer to understand and overcome the trickiest parallel programming issues of datarace detection and deadlock elimination
The paper ends with some examples. And oh yes, a reminder that Oracle Solaris Studio, despite its name, works on Linux(es) in addition to Solaris.

Oracle Solaris and Sun SPARC Systems—Integrated and Optimized for Enterprise Computing(PDF)

This whitepaper is targetted at communicating how Solaris and SPARC were designed to work together optimally and how users can derive some unique benefits from the co-design of hardware and OS. Read this paper to understand:
  • How Solaris and SPARC fit into the overall Oracle Stack and help deliver unique TCO and ROI to users.
  • Benefits of scalability, performance, availability and security features built into Oracle Solaris
  • Unique characteristics of Sun SPARC Enterprise T-Series and M-Series servers
  • Core Solaris features:
    • Reliability with Predictive Self-healing, highly reliable memory subsystems and use of Solaris ZFS, Reliable Networking, Solaris Clusters
    • Scalable Performance with MT-awareness, NUMA optimization, MPO, Large pagesizes, Flash Storage, Network performance. This is proofpointed by various World Records established on Solaris
    • Security
    • Server virtualization with LDOMS, container, Oracle VM servers, Containers (zones)
The paper ends with how you can use Oracle Solaris Studio (see above) to achieve the best balance of performance with ease of use development tools.

Wednesday Jun 16, 2010

NetBeans 6.9 IDE released

The final release of NetBeans IDE 6.9 is now available for download.  Some highlights:

To reiterate, NetBeans 6.9 works on Solaris, Windows, Linux, MacOS platforms, so you can  use it from any of the popular platforms of choice. If you have not tried NetBeans before or if you have not used it in a few years, give this release a try; you might be surprised by what it offers.

Thursday Jun 10, 2010

(HPC) Challenges to Exascale Super-computing

After the recently concluded HPC/International Supercomputing conference, there is quite a bit of talk about Exa-scale computing. The idea here is to push Supercomputing into the realm of sustainable Exaflop computation (by 2018). [Lets ignore for a moment that its pretty hard to sustain even the current Petaflop levels, a problem that will no doubt be solved in next few years ... ]

Jack Dongarra, a leader in the area of Supercomputing (and co-creator of leading mathematical packages such as Linpack, EISpack, etc), recently gave an interview on this topic which I think makes for an interesting read (you can read the full interview here). The salient points are interesting, and I'm listing here a few that I found most worth pondering over:
  • Going from Petascale to Exascale will mean going from hundreds of thousands of threads to billions of threads
    • This shift is similar to the shift from vector programs to parallel programming
    • The strategy used to achieve petascale will no longer scale to the exascale level, so programs will need to be redesigned
    • Programs will need to have asynchronous handling built in.
  • Exascale programs/machines will essentially be hybrids and purely MPI or loop-based programs will no longer be viable for this scale. Thus a fork-join model will no longer work
  • Memory is going to play at least as big a factor as CPU. For costs, for heat considerations and for latency/computational issues.
  • Programs will have to build in fault-tolerance. At that scale, something is bound to fail. And you can restart using checkpointing
  • Machines will be both lightweight parallel (Blue-gene style of lots of simple threads) or commodity processors with GPU accelerators.
  • International cooperation is a must. Government (and international) involvement of bodies like G-8 will be critical drivers.
  • Community will drive development into vendors.
This is an ambitious and complex goal and the journey will be interesting to follow as much for the human pursuit as it is for the technical pursuit. As a major HPC vendor, Sun systems group (inside Oracle) is watching and following these developments very closely. Compilers and tools are an integral part of such a pursuit; they have always been and will continue to be critical.


I have worked with Sun and Oracle for 25 years now; in compilers and tools organization for most of these years followed by a couple of years in Cloud Computing. I am now in ISV Engineering, where our primary task is to improve synergy between Oracle Sun Systems and our rich ISV ecosystem


« June 2016
Interesting Links