667481 members! Sign up to stay informed.

Sponsored Links


Resources

Enterprise Java
Research Library

Get Java white papers, product information, case studies and webcasts

News News News Messages: 8 Messages: 8 Messages: 8 Printer friendly Printer friendly Printer friendly Post reply Post reply Post reply XML XML XML

High Performance Computing Panel from TSSJS 2007

Posted by: Joseph Ottinger on April 25, 2007 DIGG
Nati Shalom of Gigaspaces, Bob Lozano of Appistry, Gil Tene of Azul, John Davies of IONA and Kirk Pepperdine of TSS discussed high performance computing on a panel at TheServerSide Symposium 2007 in Las Vegas. This is a video of that panel.

One question posed to the panel questioned J2EE's usefulness in high performance computing, sort of:
Moderator: But one last question before I turn it over to the audience. In fact it is two questions, I will combine them into one. ... Basically, I think all of us certainly here have seen sort of the end - you can see the end of J2EE, and I am claiming you can start to see the end of relational databases and all of this stuff as well because we are starting to be able to do this in memory... What do you think? Answer either way. We have got J2EE - what are your opinions about the design? How much does J2EE come into this [high performance computing, enabled by grids] and databases?

Bob Lozano: In particular with J2EE I think that a little bit of what Nati [Shalom] was saying was that it builds in, you really think about the designs that where it came from right, and it builds in a relatively small cluster notion. It builds in a lot of the infrastructure. I mean it came infrastructure up and so I think building... one of the things I like about what is happening with Spring and other abstractions is that you really can use the opportunity to separate out the infrastructure assumptions from what your code is supposed to be doing, I mean the truth is, in a lot of applications, the responsibility to have to manage messaging, to have to manage failure, and manage scale, and do all that from the infrastructure up is what keeps them from scaling, it is what makes them cranky and hard to operate, it is what makes you have to stay up late at night wondering what is going to happen. And so I think that if the middleware, if you will, or the infrastructure abstraction can become a simple one instead of thinking of all the moving parts, instead of thinking of what might break, what might not, if you can just think of the logic you are trying to do, independent, and assume that the infrastructure will successfully execute it, and that if you need more capacity you can grow it with whatever box size you want to grow it with, so on so forth, that I think will be a very thrilling assumption. So, as a consequence I think that the days of a big heavy app server though they’re there for to continue to operate things built that way, but it is not going to be the real enablement of a much lower cost or more reliable infrastructure, it just cannot.
Of course, one has to remember that that doesn't mean J2EE is inappropriate, just not quite the right tool for "high performance computing" as defined by the panel. Bob defined high performance computing systems as systems that "just naturally scale without limit and they can count on them."

Nati Shalom said this: "I think that a lot of the ideas of high performance computing came from the computational tasks and taking a computational task and then running it faster by distributing over a large number of machines. High performance computing is actually defining a new type of architecture, building business critical application, not just the classic computational task like Monte Carlo Simulation. So, my view of high performance computing is that you can take an application and scale it out as you rightly said across multiple machines not on a physical machine with large CPUs."

What do you think?

Threaded replies

·  High Performance Computing Panel from TSSJS 2007 by Joseph Ottinger on Wed Apr 25 14:09:34 EDT 2007
  ·  Re: High Performance Computing Panel from TSSJS 2007 by Bogdan Vlaicu on Wed Apr 25 22:17:34 EDT 2007
    ·  Re: High Performance Computing Panel from TSSJS 2007 by Cameron Purdy on Thu Apr 26 10:44:48 EDT 2007
      ·  Re: High Performance Computing Panel from TSSJS 2007 by Shay Banon on Thu Apr 26 11:05:39 EDT 2007
      ·  Grid-based EDA vs. CEP data architecture by Arkady Godin on Tue Sep 25 17:36:54 EDT 2007
  ·  Memory != persistent DB by Carl Mueller on Thu Apr 26 12:15:31 EDT 2007
    ·  Re: Memory != persistent DB by John Davies on Thu Apr 26 18:17:49 EDT 2007
      ·  Re: Memory != persistent DB by John Brand on Fri Apr 27 03:37:51 EDT 2007
  ·  Depends wat J2EE mean by Mileta Cekovic on Thu Apr 26 13:57:48 EDT 2007
  Message #231617 Post reply Post reply Post reply Go to top Go to top Go to top

Re: High Performance Computing Panel from TSSJS 2007

Posted by: Bogdan Vlaicu on April 25, 2007 in response to Message #231599
What about clustering? It can basically achieve the same job for HPC and we have far less questions about its integration with J2EE.
What exactly are the advantages of grid over clustering?

  Message #231640 Post reply Post reply Post reply Go to top Go to top Go to top

Re: High Performance Computing Panel from TSSJS 2007

Posted by: Cameron Purdy on April 26, 2007 in response to Message #231617
What about clustering? It can basically achieve the same job for HPC and we have far less questions about its integration with J2EE.
What exactly are the advantages of grid over clustering?


They fundamentally address different types of work-load. Java EE is designed to address OLTP work-loads, while grid infrastructures have traditionally focused on job scheduling. We're starting to see "the two become one" in many cases (shared infrastructure, capacity on demand, SOA, etc.), but the architecture of Java EE is not conducive to the types of applications that we tend to see being deployed on grid architectures, and vice versa, so both are going to have to evolve in order to work together well.

The work that we do within grid infrastructures is primarily highly parallel calculations, aggregations, data analysis, etc., and mostly for financial services and [I could tell you but then I'd have to kill you]. We're starting to see more and more grid-based EDA and CEP apps being built, which are basically the next level of capability bridging across XTP (eXtreme Transaction Processing) and grid, and that's a pretty exciting area. We're also seeing more and more grid apps with Java EE front ends, e.g. to provide the SOA interface stacks necessary to front-end large calculations. (The "real" front ends, i.e. the GUIs, are often still Excel. :-)

Peace,

Cameron Purdy
Tangosol Coherence: The Java Data Grid

  Message #231641 Post reply Post reply Post reply Go to top Go to top Go to top

Re: High Performance Computing Panel from TSSJS 2007

Posted by: Shay Banon on April 26, 2007 in response to Message #231640
I talked about it and had an interesting discussion with Cameron about DataGrid and beyond in this thread (a few TSS posts back). It explains a bit about the position of high performance computing in the Java world (or at least my view of it).

Cheers,
Shay Banon
System Architect at GigaSpaces
Compass Founder and Lead Developer

  Message #231650 Post reply Post reply Post reply Go to top Go to top Go to top

Memory != persistent DB

Posted by: Carl Mueller on April 26, 2007 in response to Message #231599
Ridiculous statement.

Perhaps the context here is grid and scifi computing, but this just reeks of the pointless war Sun tried to pick with RDBMS's. Do EJBs in memory, buy our servers and application containers, and turn your back on proven database technologies.

Scifi computing can rerun simulations and the like if results get corrupted in memory or one of the nodes goes down. Whatever. That is a totally different use case than transactional processing and enterprise computing.

  Message #231663 Post reply Post reply Post reply Go to top Go to top Go to top

Depends wat J2EE mean

Posted by: Mileta Cekovic on April 26, 2007 in response to Message #231599
Whether J2EE is suitable for high performance computing depends on what you mean by J2EE.

If you mean EJBs, Web Services, JSF, JNDI then probably not, but if you mean JDBC, Servlets, JMS, RMI, CORBA/IIOP then sure it is.

  Message #231675 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Memory != persistent DB

Posted by: John Davies on April 26, 2007 in response to Message #231650
I don't think anyone claimed "Memory == persistent DB", a statement closer to my claim is that complex hierarchical models do not fit into traditional relational databases.

At the end of a process there will nearly always be the need for persistence, it is not true however that the persistence can only be in the form of a "classic" relation database.

In the past a lot of data was loaded into a relational database and the application ran on the data from the database. Of course there was no need to store the results because everything was effectively persistent already and if the system crashed half way through you always knew where you were (assuming it was reasonably well designed), safe but very slow.

In the heyday of databases data models were designed around the enterprise database. With today's global businesses the standards are no longer based on just one enterprise database and as a result many of today's data models are simply too complex for the proven but now out of date relational database technology.

So, databases had their time? no, relational databases on the other hand just don't fit with many of today's needs, we need a better model, something that will handle the complex hierarchical models like FpML.

This isn't SciFi computing, we've been doing this for years in the banking world and I've started to see other verticals looking into the same ideas, on-line betting, telcos, government, healthcare etc. Your classic RDBMS is here to stay, as is COBOL.

-John-

  Message #231681 Post reply Post reply Post reply Go to top Go to top Go to top

Re: Memory != persistent DB

Posted by: John Brand on April 27, 2007 in response to Message #231675
This isn't SciFi computing, we've been doing this for years in the banking world


Sure, but only for a very small subset of problems. The absolute majority of all transactions are still handled by TP monitors and RDBMS, and the absolute majority of systems under development is still using this type of setup.

  Message #240220 Post reply Post reply Post reply Go to top Go to top Go to top

Grid-based EDA vs. CEP data architecture

Posted by: Arkady Godin on September 25, 2007 in response to Message #231640
Hi Cameron,

I have copied/pasted part of your reply to ask you a question:

The work that we do within grid infrastructures is primarily highly parallel calculations, aggregations, data analysis, etc., and mostly for financial services and [I could tell you but then I'd have to kill you]. We're starting to see more and more grid-based EDA and CEP apps being built, which are basically the next level of capability bridging across XTP (eXtreme Transaction Processing) and grid, and that's a pretty exciting area.
------------------------------------------------------------------------------------------------------------------------------------------------------------
Do you foresee grid-based EDA and CEP architecture converging into one or CEP architecture on top of EDA ?
Ingesting 100s of Terabytes a day of satellite data does not leave a choice but use CEP architecture. In the mean time I found grid-based EDA highly attractive as it, beyond being gridded, provides high-level of parallelization, which I foresee would remove a need for complex multi-threaded programming.

Thanks in advance, Arkady

New content on TheServerSide.comNew content on TheServerSide.comNew content on TheServerSide.com

Dependency Injection in Java EE 6 - Part 1

Reza Rahman explores the features of the proposed JSR 299, Contexts and Dependency Injection for Java EE (CDI). When approved, it promises to be a key feature of Java EE 6. (November 2, Article)

SAML: It's Not just for Web services

SAML is an XML-based standard for exchanging authentication and authorization data between security domains. The single most important problem that SAML was created to solve is the Web browser Single Sign-On problem. Many organizations are debating whether to stay with version 1.1 or move to 2.0. This article makes observations about both options. (September 28, Article)

Programming is Also Teaching Your Team

Joe Ottinger takes a look at how people learn, and applies it to the practice of programming. He notes that understanding how people learn is an essential part of working in a programming team. (September 22, Article)

Can Java EE Deliver The Asynchronous Web?

Stephen Maryka gave us an article about the Asynchronous Web and posed a number of questions that get examined like an approach to delivering Asynchronous Web capabilities through extensions to existing Java EE technologies. (July 14, Article)

JSF Flex

JavaServer Faces Flex goal is to provide users capability in creating standard Flex components, part of flexSDK which is open sourced through MPL license, as normal JSF components. This article by Ji Hoon Kim will provide an overview of creating a simple multilingual JSF page consisting of JSF Flex tags. (June 29, Article)

The Rules of SOA - A Road to a Successful SOA Implementation

In this session Jeff explores the key characteristics of successful SOA projects. He covers some of the patterns, and anti-patterns, tool sets, and strategies that he himself learned the hard way. Last, he provides a strategy and blueprint for achieving a high likelihood of success in your SOA project. (June 23, Tech Talk)

Ari Zilka Talks About Terracotta 3.1

Ari Zilka, CTO of Terracotta, Inc., talks about the new features in Terracotta 3.1, announced during JavaOne and available now. (June 15, Tech Talk)

Enterprise Application Integration, and Spring

In this Tech Talk, Josh Long explores an integration challenge using Spring Integration and walks through the implementation, employing and expanding on the basic patterns of Enterprise Application Integration to tie together components into a function integration solution, and then demonstrates how Spring Integration helps address the integration requirements. (June 15, Tech Talk)

Google Web Toolkit: An Introduction

In this Tech Talk, David Geary teaches you: The basics of Google Web Toolkit; How to implement Ajax-enabled applications in Java; Internationalization; Hooking into the browser history mechanism; Remote procedure calls. (June 4, Tech Talk)

Just Enough Early Architecture to Guide Development

Jon Kern discusses the best architecture/technical solutions and ensure that they are repeated by all developers. By tackling the architecture up-front in a serial manner, subsequent parallel development will be much more manageable and predictable. (May 28, Tech Talk)

Productive Programmer: On the Lam from the Furniture Police

This keynote describes the frustrations of modern knowledge workers in their quest to actually get some work done, and solutions for how to guard yourself against all those distractions. Neal Ford talks about environments, coding, acceleration, automation, and avoiding repetition as ways to defeat the misguided attempts to sap your ability to produce good work. (May 26, Tech Talk)

Auto-Scaling Your Existing Web Application

Gil demonstrates how new, aggressive uses of already abundant compute capacity by common applications offer competitive value for application designers. (May 21, Tech Talk)

Automating Hibernate Mapping and Queries For Java Web Development

Chris Keene introduces WaveMaker as a new way to automate the ability to generate Hibernate classes in order to more quickly bring OR mapping into an application. (May 19, Article)

Auto-Scaling Your Existing Web Application

In this session Nati Shalom demonstrates how to take a standard Java EE web application and scale it out or down dynamically without changes to the application code. Seeing as most web applications are over-provisioned to meet infrequent peak loads, this is a dramatic change because it enables growing your application as needed, when needed, without paying for unutilized resources. (May 19, Tech Talk)

Free Book: Jakarta-Struts Live

Download the entire book of Jakarta-Struts Live and learn about Struts MVC, Tiles, the Validator, DynaActionForms, plug-ins, internationalization, and more.
(Book PDF Download)

Application Server Matrix

The Application Server Matrix is a detailed listing of J2EE vendors and their application server products, with information on latest version numbers, J2EE spec support and licensing, pricing, platform support, and links to product downloads and reviews.
(Application Server Comparison Matrix)

News | Blogs | Discussions | Tech talks | Patterns | Reviews | White Papers | Downloads | Articles | Media kit | About
Java Solutions
All Content Copyright ©2007 TheServerSide Privacy Policy
Site Map