Gemstone: a mozilla-based rich client for accessing grid services Kurt Mueller / Karan Bhatia Grid Middleware Development Group San Diego Supercomputer Center University of California, San Diego SAN DIEGO SUPERCOMPUTER CENTER The science driving Gemstone • GEMSTONE: Grid-Enabled Molecular Science Through Online Networked Environments • Molecular quantum and classical chemistries • Apps: APBS, GAMESS, Polyrate • Visualization: QMView • “Our research involves utilization of computationally derived chemical and physical properties, in conjunction with experiments, to enhance the understanding of control within technologically important chemical structures and reaction processes.” - Kim Baldridge SAN DIEGO SUPERCOMPUTER CENTER Typical workflow • Choose molecule(s) - i.e. input files • Setup an application run • Choose application • Set application options • Submit application run (job) to a resource • (optionally) monitor, tweak and resubmit • Get application output • Visualize output • Share output SAN DIEGO SUPERCOMPUTER CENTER In the old days… • Molecule files and job descriptor files edited/managed by hand - vi, ftp/scp from user’s computer to computational resource • Grid credentials stored by user and managed with command-line tools - grid-proxy-init • Job submission also through command-line tools - globus-job-run • Retrieve job output - ftp/scp • Visualize on user’s desktop - QMView SAN DIEGO SUPERCOMPUTER CENTER Early portal efforts • NPACI HotPage • • • • • Circa 2000 Perl-based, used GridPort toolkit Credential management File management Generic job submission • GAMESS/LAPK portals at SDSC • Circa 2001 • Rudimentary GUIs for setting up and running GAMESS and LAPK jobs • Primitive visualization of results SAN DIEGO SUPERCOMPUTER CENTER New paradigms • SOA - Service Oriented Architecture • Applications refactored as services • Web services • Dynamic discovery of services • Combination of services into novel workflows • OPAL - SDSC toolkit for quickly exposing apps as web services • Rich user interfaces • Overcome traditional limitations of HTML and browsers • Flash, Java Applets, Java WebStart, AJAX SAN DIEGO SUPERCOMPUTER CENTER Portal functions • Environment for end-users to do science • Discovery of service and capabilities • User Interface to service APIs • Reduce complexity of Grid system • Unified mechanism to access disparate APIs and protocols • Uberftp (gridftp), GRAM (job submission), etc • Controlled publication or sharing of experiences/data • E.g. Geon data publication, myspace social networking, personal workspace SAN DIEGO SUPERCOMPUTER CENTER Specific Challenges • Heterogeneity of desktop/laptop operating environments • Multi-platform software (mac, windows, linux) • Reliable software deployment, manage software dependencies, push updates • Standard software engineering issues • Users’ _primary_ computer is not part of the grid • Grids are server-based (mostly) • Grid protocols don’t extend to the desktop • Desktop provides best environment for data management, visualization and interaction • Extreme heterogeneity of protocols, APIs and SDKs • Many different protocols (wsrf, soap, gsiftp, gram, mds) • Different tools for accessing different services (uberftp, portal, java cog) SAN DIEGO SUPERCOMPUTER CENTER Grid Protocols and APIs SAN DIEGO SUPERCOMPUTER CENTER Traditional Portal Architectures Qui ck Ti me™and a TIF F (LZW)dec om pres sor are needed to s ee th i s pi c tu re. data • User’s PC • Non-grid Qu ic kTi me™ a nd a TIFF (LZW)d ec omp res so r are n ee de d to s ee th is pi ctu re . Significant developer effort to add services to portal • Portal server • Non-grid protocols to get to portal server • Grid Services Grid Fabric SAN DIEGO SUPERCOMPUTER CENTER • Wsrp could help, but not fully cooked No support to keep service with UI synchronized Eg. Data transfer first requires file upload Lack of integration with users’ primary computer (file system, vis, etc) Gemstone approach • No intermediate portal server to manage • Services and UI can evolve together Qui ck Ti me™and a TIF F (LZW)dec om pres sor are needed to s ee th i s pi c tu re. data • Auto discovery and download of new UI capabilities as services are upgraded User’s PC Grid Fabric • Direct support of grid protocols • Gsiftp, job management Grid • Integration with desktop Services resources SAN DIEGO SUPERCOMPUTER CENTER • File system, visualization, security Mozilla-based SAN DIEGO SUPERCOMPUTER CENTER Mozilla environment • Grid protocols built directly into desktop apps • • Service discovery using RSS • • Dynamic discovery and integration of new capabilities User services represented by Web Services + XUL • • Leverage existing user abstractions XUL provides UI for services (similar in concept to wsrp spec) Highly interactive applications • More control, better integration to desktop environment than ajax alone SAN DIEGO SUPERCOMPUTER CENTER Mozilla technologies • XUL: XML-based UI language • Layout - widgets, HTML equivalents • Used to create interfaces for Firefox, Thunderbird, etc. • CSS • Javascript • Lightweight interpreted language • XPCOM • Interface to C/C++ compiled libraries for heavy lifting • Globus libraries, for example • XPI: package installer • Installs new functionality into Firefox browser, keeps programs updated SAN DIEGO SUPERCOMPUTER CENTER Example 1: Topaz • One component of larger Gemstone project • Protocol extension to Firefox Browser • gsiftp://server:port/path/to/file • GSI Security • Uses GAMA server to authenticate user • Secure, high performance download • Third-party transfer (in development) • Multi-platform • Currently supports only macosx and linux • Auto-update • Unified xpi-based installation • Collaboration with UTEP • Michela Taufer, Richard Zamudio, Daniel Catarino SAN DIEGO SUPERCOMPUTER CENTER Demo SAN DIEGO SUPERCOMPUTER CENTER Example 2: Gemstone application • Stand-alone application built on Mozilla framework • Supports mac, linux, windows • Tight integration with local desktop file system • Service Discovery using RSS registries • Supports multiple registries • Service panels represented with XUL + javascript • Use ajax xmlhttprequest directly to web service endpoints • No intermediate portal server needed • Supports OPAL-based application services or custom strongly typed grid services • Security leveraging GAMA • Demo 1: the basics • Integration across applications of different scales • Demo 2: using SOA to support new science SAN DIEGO SUPERCOMPUTER CENTER Demo: The Basics SAN DIEGO SUPERCOMPUTER CENTER Demo: Integration across application services SAN DIEGO SUPERCOMPUTER CENTER Gemstone Project • Funding provided by • NSF Middleware Initiative • National Biomedical Computation Resource (NBCR) • University of Zurich (Kim Baldridge Laboratory) • San Diego Supercomputer Center • University of Texas, El Paso SAN DIEGO SUPERCOMPUTER CENTER • People • • • • • • • • • • • • • Daniel Catarino Sandeep Chandra Kim Baldridge Karan Bhatia Sasha Buzko Jerry Greenberg Sriram Krishnan Wilfred Li Stephen Mock Kurt Mueller Brent Stearn Michela Taufer Richard Zamudio Software • Working on v1.0 release (next few weeks) • Gemstone: http://gemstone.mozdev.org • Topaz: http://gcl.utep.edu/projects/topaz/ • Open source license • Any feedback to: • Karan@sdsc.edu • Gemstone-dev@sdsc.edu SAN DIEGO SUPERCOMPUTER CENTER