Difference between revisions of "Engineering:UCSD"
m (Text replacement - "http://www.slicer.org/slicerWiki/index.php/" to "https://www.slicer.org/wiki/") |
|||
(8 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | __NOTOC__ | ||
Back to [[Engineering:Main|NA-MIC Engineering]] | Back to [[Engineering:Main|NA-MIC Engineering]] | ||
− | = UCSD (PI: | + | = UCSD (PI: Jeffrey S. Grethe) = |
[[Image:GWE-logo.jpg]] | [[Image:GWE-logo.jpg]] | ||
= Overview = | = Overview = | ||
− | A core activity of UCSD is the development of infrastructure and support for the utilization of distributed computation resources (i.e. Grid Wizard Enterprise). This infrastructure allows, for example, Slicer3 to execute work in a distributed grid environment and enable NA-MIC algorithms to be tested in such a distributed environment. This will allow for much quicker validation of algorithms developed in Core 1 and also test effects of parameter settings, through large scale parameter | + | A core activity of UCSD is the development of infrastructure and support for the utilization of distributed computation resources (i.e. Grid Wizard Enterprise). This infrastructure allows, for example, Slicer3 to execute work in a distributed grid environment and enable NA-MIC algorithms to be tested in such a distributed environment. This will allow for much quicker validation of algorithms developed in Core 1 and also test effects of parameter settings, through large scale parameter exploration experiments. Work described in the previous progress report led to a prototype grid interface (aka Grid Wizard or gwiz). The overall purpose of this work in NA-MIC is to facilitate a "run-everywhere" philosophy for algorithm developers. By adopting a standard for algorithm "self-description" that is followed when command line executables are written, Slicer and distributed computational environments should be able to use the executables directly in their environment. |
− | A basic | + | A basic consideration of the GWE environment is that a researcher expert in a particular scientific discipline should not need to also become an expert in grid computing in order to produce an application that uses grid technology. It is important to note that GWE is not meant to be another grid middleware package, rather, it is meant to be a large-scale job launching and management tool that bridges the gulf between these biomedical researchers and current grid middleware by: |
* Providing the researcher with the ability to easily configure the heterogeneous clustered/grid resources that they have access to. | * Providing the researcher with the ability to easily configure the heterogeneous clustered/grid resources that they have access to. | ||
* Allowing a researcher to easily specify large parametric computational jobs using the same general syntax as is used in the command line invocation of the analysis algorithms (e.g. through the P2EL language) or through integration with community developed biomedical applications (e.g. Slicer3). | * Allowing a researcher to easily specify large parametric computational jobs using the same general syntax as is used in the command line invocation of the analysis algorithms (e.g. through the P2EL language) or through integration with community developed biomedical applications (e.g. Slicer3). | ||
* Managing the most common house keeping tasks required to ensure end-to-end success of a computation thereby relieving the researcher of this burden. | * Managing the most common house keeping tasks required to ensure end-to-end success of a computation thereby relieving the researcher of this burden. | ||
+ | * Providing the researchers with the ability to easily review/manipulate the input and output data associated with the parameter exploration experiments executed. | ||
− | = | + | = Projects = |
− | |||
− | + | For more information on these projects visit their respective project site; which contains all relevant information, including setup ready bundles, detailed user guides, demo videos, presentations, step by step tutorials, usage samples and complete source code. | |
− | + | == ''1. Grid Wizard Enterprise (GWE)'' == | |
− | * | + | |
− | * | + | * ''[http://www.gridwizardenterprise.org/ Project Site]'' |
− | + | ||
+ | The field of high performance computing (HPC) has provided a wide array of strategies for supplying additional computing power to the goal of reducing the total “clock time” required to complete large scale analyses. These strategies range from the development of higher performance hardware to the assembly of large networks of commodity computers. However, for the non-computational scientist wishing to utilize these services, usable software remains elusive. Here we present a software design and implementation of a system, Grid Wizard Enterprise (GWE; http://www.gridwizardenterprise.org/), aimed at providing a solution to the particular problem of the adoption of advanced grid technologies by biomedical researchers. GWE provides an intuitive environment and tools that bridge this gulf between the researcher and current grid technologies allowing them to run inter-independent computational processes faster by brokering their execution across a virtual grid of computational resources with a minimum of user intervention. The GWE architecture has been designed in close collaboration with NA-MIC researchers and supports the majority of every-day tasks performed by computational scientists in the fields of computational biology and medical image analysis. | ||
+ | |||
+ | [[image:Wcp-grid-1.png|thumb|left|300px|Configuration (clusters and keystores)]] | ||
+ | |||
+ | [[image:Wcp-cluster-1.png|thumb|left|300px|Cluster setup (just a single click after configured!)]] | ||
+ | |||
+ | [[image:Wcp-queue-1.png|thumb|left|300px|Queueing a parameter exploration experiment (order)]] | ||
+ | |||
+ | [[image:Wcp-order-1.png|thumb|left|300px|Reviewing description of a queued parameter exploration experiment]] | ||
+ | |||
+ | [[image:Wcp-order-3.png|thumb|left|300px|Reviewing execution status of a parameter exploration experiment]] | ||
+ | |||
+ | [[image:Wcp-job-2.png|thumb|left|300px|Reviewing execution status of a particular process of a parameter exploration experiment]] | ||
+ | |||
+ | |||
+ | |||
+ | == ''2. Record Set Explorer (GWE's RSE)'' == | ||
+ | |||
+ | * ''[http://www.gridwizardenterprise.org/rse Project Site]'' | ||
+ | |||
+ | Parameter exploration experiments consist of input parameter values and output result values (besides the abstract description of the experiment - algorithm/workflow). To review/manipulate these values (considering their typical large amount) a researcher is forced to deal with a great degree of manual work and error. These common tasks, performed before and after running the parameter exploration experiments (using automated systems such as GWE), can be eased by means of using an end user tool with the appropriate features. Here we present a software design and implementation of a system, Record Set Explorer (RSE; http://www.gridwizardenterprise.org/rse), aimed at providing a generic; but powerful and easy to use tool for users to interactively explore and manipulate record sets. RSE provides an easy to use tool that bridges the management of data to review/create/edit the input and output values of parameter exploration experiments. Its generality provides 3rd party adopters to easily extend the tool to include different source types for record sets such as CSV formatted files, XNAT databases (support already included in the core release of RSE), XML+XSL files, RSS feeds, Python data structures, JSON formatted files, etc. | ||
+ | |||
+ | [[image:Rse-xnat.gif|thumb|left|300px|Posting XNAT query and exploring its resulting records]] | ||
− | + | [[image:Rse-oasis.gif|thumb|left|300px|Exploring OASIS Cross Sectional Database]] | |
− | |||
− | |||
− | |||
− | |||
− | + | [[image:Rse-gwe-exp.gif|thumb|left|300px|Exploring the results of a GWE parameter exploration experiment]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | = | + | = Progress (since July 2007) = |
''July - September 2007'' | ''July - September 2007'' | ||
Line 65: | Line 77: | ||
''March 2008'' | ''March 2008'' | ||
* GWE version 0.6.1.alpha released. See its [http://www.gridwizardenterprise.org/changes-report.html release notes] for details. | * GWE version 0.6.1.alpha released. See its [http://www.gridwizardenterprise.org/changes-report.html release notes] for details. | ||
− | * GSlicer3 integration effort released. ([[Media:GWE-GSlicer3.ppt|Overview Presentation]] / [[Media:GSlicer3-Demo.mov|Video Demo]] / [http://gridwizardenterprise.org/integration/slicer.html Documentation @ GWE Project Site] / [ | + | * GSlicer3 integration effort released. ([[Media:GWE-GSlicer3.ppt|Overview Presentation]] / [[Media:GSlicer3-Demo.mov|Video Demo]] / [http://gridwizardenterprise.org/integration/slicer.html Documentation @ GWE Project Site] / [https://www.slicer.org/wiki/Slicer3:GSlicer3 Documentation @ NAMIC Wiki Site]). |
* Presentation of GWE and GSlicer3 at the [http://www.na-mic.org/Wiki/index.php/2008_Engineering_review_at_Utah 2008 Engineering review at Utah]. | * Presentation of GWE and GSlicer3 at the [http://www.na-mic.org/Wiki/index.php/2008_Engineering_review_at_Utah 2008 Engineering review at Utah]. | ||
Line 74: | Line 86: | ||
''May 2008'' | ''May 2008'' | ||
* Inception, design and implementation of the 'Chain Modules Engine' (a project different from GWE and which will be worked in parallel): | * Inception, design and implementation of the 'Chain Modules Engine' (a project different from GWE and which will be worked in parallel): | ||
− | ** [ | + | ** [https://www.slicer.org/wiki/Slicer3:Chain_CLMs Functional Specification]. |
** [http://www.na-mic.org/Wiki/index.php/Slicer3:JavaBasedChainCLMsEngine Java implementation technical details]. | ** [http://www.na-mic.org/Wiki/index.php/Slicer3:JavaBasedChainCLMsEngine Java implementation technical details]. | ||
Line 121: | Line 133: | ||
* [[GWE_MiniRetreat|GWE Mini Retreat in Boston]]. | * [[GWE_MiniRetreat|GWE Mini Retreat in Boston]]. | ||
− | '' | + | ''March 2009'' |
* GWE version 0.7.3.alpha released. See its [http://www.gridwizardenterprise.org/changes-report.html release notes] for details. | * GWE version 0.7.3.alpha released. See its [http://www.gridwizardenterprise.org/changes-report.html release notes] for details. | ||
* [http://www.gridwizardenterprise.org/media/gwe-intro-screencast.mov End-to-end Tutorial and Introductory Screencast]. | * [http://www.gridwizardenterprise.org/media/gwe-intro-screencast.mov End-to-end Tutorial and Introductory Screencast]. | ||
* [http://www.youtube.com/watch?v=yXdRks5Wu5Q Featured Study Case (YouTube)] | * [http://www.youtube.com/watch?v=yXdRks5Wu5Q Featured Study Case (YouTube)] | ||
+ | |||
+ | ''April-June 2009'' | ||
+ | * Work towards GWE version 0.8.1.beta: | ||
+ | ** Transparent multi cluster support (true grid support). | ||
+ | ** Rearchitecture of transport layer to natively include sessions. | ||
+ | ** P2EL redesign to include behavioral parameters and multi format (XML, CSV, etc). | ||
+ | |||
+ | ''July-October 2009'' | ||
+ | * NAMIC summer week presentations and projects: | ||
+ | ** GWE end-to-end live demo. | ||
+ | ** GWE-XNAT integration demo during XNAT presentation. | ||
+ | ** [http://www.na-mic.org/Wiki/index.php/2009_Summer_Project_Week_GWE_XNAT:GWE XNAT Integration Project] | ||
+ | ** [http://www.na-mic.org/Wiki/index.php/2009_Summer_Project_Week_GWE_Results_Browser:GWE Results Browser Improvements] | ||
+ | * Assistance for GWE's study case for COPD research effort: 30 thousands parameter exploration experiment. | ||
+ | * Work towards results browser improvements. | ||
+ | |||
+ | ''November 2009-February 2010'' | ||
+ | * Inception, analysis, architecture, design and implementation of new system: GWE's RSE (Record Set Explorer). It leverages on work done for GWE's results browser module. | ||
+ | * Unit tests of GWE's RSE first release candidate components. | ||
+ | |||
+ | ''March 2010'' | ||
+ | * GWE's RSE version 0.6.1.alpha release | ||
+ | ** [http://www.youtube.com/watch?v=ebWqTHf5i5Y&hd=1 Feature Demo Video (YouTube)] | ||
+ | |||
+ | ''April-June 2010'' | ||
+ | * Work towards RSE version 0.6.2.alpha. | ||
+ | * GWE's RSE version 0.6.2.alpha released. See its [http://www.gridwizardenterprise.org/rse/changes-report.html release notes] for details. | ||
+ | ** [http://www.youtube.com/watch?v=LWXannpfr6Y&hd=1 Feature Update Video (YouTube)] | ||
Latest revision as of 17:15, 10 July 2017
Home < Engineering:UCSDBack to NA-MIC Engineering
UCSD (PI: Jeffrey S. Grethe)
Overview
A core activity of UCSD is the development of infrastructure and support for the utilization of distributed computation resources (i.e. Grid Wizard Enterprise). This infrastructure allows, for example, Slicer3 to execute work in a distributed grid environment and enable NA-MIC algorithms to be tested in such a distributed environment. This will allow for much quicker validation of algorithms developed in Core 1 and also test effects of parameter settings, through large scale parameter exploration experiments. Work described in the previous progress report led to a prototype grid interface (aka Grid Wizard or gwiz). The overall purpose of this work in NA-MIC is to facilitate a "run-everywhere" philosophy for algorithm developers. By adopting a standard for algorithm "self-description" that is followed when command line executables are written, Slicer and distributed computational environments should be able to use the executables directly in their environment.
A basic consideration of the GWE environment is that a researcher expert in a particular scientific discipline should not need to also become an expert in grid computing in order to produce an application that uses grid technology. It is important to note that GWE is not meant to be another grid middleware package, rather, it is meant to be a large-scale job launching and management tool that bridges the gulf between these biomedical researchers and current grid middleware by:
- Providing the researcher with the ability to easily configure the heterogeneous clustered/grid resources that they have access to.
- Allowing a researcher to easily specify large parametric computational jobs using the same general syntax as is used in the command line invocation of the analysis algorithms (e.g. through the P2EL language) or through integration with community developed biomedical applications (e.g. Slicer3).
- Managing the most common house keeping tasks required to ensure end-to-end success of a computation thereby relieving the researcher of this burden.
- Providing the researchers with the ability to easily review/manipulate the input and output data associated with the parameter exploration experiments executed.
Projects
For more information on these projects visit their respective project site; which contains all relevant information, including setup ready bundles, detailed user guides, demo videos, presentations, step by step tutorials, usage samples and complete source code.
1. Grid Wizard Enterprise (GWE)
The field of high performance computing (HPC) has provided a wide array of strategies for supplying additional computing power to the goal of reducing the total “clock time” required to complete large scale analyses. These strategies range from the development of higher performance hardware to the assembly of large networks of commodity computers. However, for the non-computational scientist wishing to utilize these services, usable software remains elusive. Here we present a software design and implementation of a system, Grid Wizard Enterprise (GWE; http://www.gridwizardenterprise.org/), aimed at providing a solution to the particular problem of the adoption of advanced grid technologies by biomedical researchers. GWE provides an intuitive environment and tools that bridge this gulf between the researcher and current grid technologies allowing them to run inter-independent computational processes faster by brokering their execution across a virtual grid of computational resources with a minimum of user intervention. The GWE architecture has been designed in close collaboration with NA-MIC researchers and supports the majority of every-day tasks performed by computational scientists in the fields of computational biology and medical image analysis.
2. Record Set Explorer (GWE's RSE)
Parameter exploration experiments consist of input parameter values and output result values (besides the abstract description of the experiment - algorithm/workflow). To review/manipulate these values (considering their typical large amount) a researcher is forced to deal with a great degree of manual work and error. These common tasks, performed before and after running the parameter exploration experiments (using automated systems such as GWE), can be eased by means of using an end user tool with the appropriate features. Here we present a software design and implementation of a system, Record Set Explorer (RSE; http://www.gridwizardenterprise.org/rse), aimed at providing a generic; but powerful and easy to use tool for users to interactively explore and manipulate record sets. RSE provides an easy to use tool that bridges the management of data to review/create/edit the input and output values of parameter exploration experiments. Its generality provides 3rd party adopters to easily extend the tool to include different source types for record sets such as CSV formatted files, XNAT databases (support already included in the core release of RSE), XML+XSL files, RSS feeds, Python data structures, JSON formatted files, etc.
Progress (since July 2007)
July - September 2007
- Inception, analysis, architecture, design and implementation of Grid Wizard Enterprise (GWE) based on prior Grid Wizard prototype developed as part of NA-MIC.
October 2007
- Presentation and live demo of first GWE prototype at BIRN AHM. (PowerPoint / PDF)
December 2007
- Launch of GWE's:
January 2008
- Unit tests of GWE's first release candidate components.
- Internal pre-release of first version of GWE.
- Release of GWE guides, technical details and collaboration tools in the GWE project site.
February 2008
- First release of GWE (version 0.6.alpha). See its 'features' page for details.
March 2008
- GWE version 0.6.1.alpha released. See its release notes for details.
- GSlicer3 integration effort released. (Overview Presentation / Video Demo / Documentation @ GWE Project Site / Documentation @ NAMIC Wiki Site).
- Presentation of GWE and GSlicer3 at the 2008 Engineering review at Utah.
April 2008
- GWE version 0.6.2.alpha released. See its release notes for details.
- Wrote paper "Simplifying the Utilization of Grid Computation using Grid Wizard Enterprise" to be submitted to the 'MICCAI Grid Workshop'.
May 2008
- Inception, design and implementation of the 'Chain Modules Engine' (a project different from GWE and which will be worked in parallel):
June 2008
- GWE version 0.6.3.alpha released. See its release notes for details.
- NAMIC summer week presentations and projects:
July 2008
- Two extra rounds of edition of the paper submitted to the 'MICCAI Grid Workshop'. Paper was accepted and scheduled for a long presentation in September.
August 2008
- GWE version 0.6.4.alpha released. See its release notes for details.
September 2008
- Presented the paper "Simplifying the Utilization of Grid Computation using Grid Wizard Enterprise" to the 'MICCAI Grid Workshop' in New York.
October 2008
- Collected user requests at the BIRN AHM.
November 2008
- GWE version 0.7.0.alpha released. See its release notes for details.
- Major re-architecture to allow running GWE without clusters and with daemons per user.
- End to end study case to query and process images from remote OASIS database.
- Step by step tutorials:
December 2008
- GWE version 0.7.1.alpha released. See its release notes for details.
- New web client application (GWE Web Control Panel).
- Infrastructure to support integration of custom XML based catalogs to define experiments in preparation for the "GWE integration with catalog files" project (NAMIC Winter Project Week 2009)
- Macro definitions to ease the description of medical imaging processes and Slicer3 usage.
- Step by step tutorials:
January 2009
- NAMIC Winter Project Week and AHM 2009.
- "GWE integration with catalog files" project at the NAMIC Winter Project Week 2009.
February 2009
- GWE version 0.7.2.alpha released. See its release notes for details.
- GWE Mini Retreat in Boston.
March 2009
- GWE version 0.7.3.alpha released. See its release notes for details.
- End-to-end Tutorial and Introductory Screencast.
- Featured Study Case (YouTube)
April-June 2009
- Work towards GWE version 0.8.1.beta:
- Transparent multi cluster support (true grid support).
- Rearchitecture of transport layer to natively include sessions.
- P2EL redesign to include behavioral parameters and multi format (XML, CSV, etc).
July-October 2009
- NAMIC summer week presentations and projects:
- GWE end-to-end live demo.
- GWE-XNAT integration demo during XNAT presentation.
- XNAT Integration Project
- Results Browser Improvements
- Assistance for GWE's study case for COPD research effort: 30 thousands parameter exploration experiment.
- Work towards results browser improvements.
November 2009-February 2010
- Inception, analysis, architecture, design and implementation of new system: GWE's RSE (Record Set Explorer). It leverages on work done for GWE's results browser module.
- Unit tests of GWE's RSE first release candidate components.
March 2010
- GWE's RSE version 0.6.1.alpha release
April-June 2010
- Work towards RSE version 0.6.2.alpha.
- GWE's RSE version 0.6.2.alpha released. See its release notes for details.
Miscellaneous
- Weekly NAMIC engineering teleconferences.
- GWE testbed and user's support.
Dissemination Activities Prior to Monthly Progress Outlined Above
- Introductory meeting and demonstration with Tina Kapur & Birn-CC.
- Hosted NAMIC dissemination event (February 17-18).
- Taught Data Grid course at UCSD dissemination event.
- Attended NAMIC dissemination event.
- Attended SLC AHM.
- Instructions available for deploying a "tunneled" SRB server.
Infrastructure Prior to Monthly Progress Outlined Above
- Researched, tested and deployed a newly configured SRB server for NAMIC that allows for the tunneling of all SRB commands via SSH. This tunneling has been tested with the command line (SCommands), Java (JARGON) and Windows (InQ) clients. The current staging server is running at UCSD and is available for testing.
- A server co-located at BWH will be discussed at the AHM.
- Leveraged BWH BIRN Rack to provide gigabit connection for na-mic.org.
- Researching and developing a parallel system for backend parallel processing of Slicer3 algorithms
- Discussed the use of BatchMake for submitting grid-like jobs to a Condor pool
Data Sharing Prior to Monthly Progress Outlined Above
- Hosting NAMIC data on data grid accessible to all NAMIC participants.
- Providing data grid and Portal support to all NAMIC participants.
- Provided custom project space for NAMIC in BIRN Portal.
- Provided account generation for first batch of NAMIC users. New users can now utilize the new account request feature in the Portal.
- Working with Isomics to assist core 3 sites in their data uploads.
- Provided template data hierarchy constructs and integration of hierarchy in data grid.
- Provided statistics to Tina Kapur on account creation, number of uploaded data sets, and audit information.