SlideShare a Scribd company logo
Services for Science Ian Foster Computation Institute Argonne National Lab & University of Chicago
Thanks! DOE Office of Science NSF Office of Cyberinfrastructure National Institutes of Health Colleagues at Argonne, U.Chicago, USC/ISI, OSU, Manchester, and elsewhere
Scientific Communication, ~1600 Brahe Kepler
1980
Scientific Communication, ~2000 Data Archives Gateway Figure: S. G. Djorgovski  Service-Oriented Science User Analysis tools Discovery tools
caBIG: sharing of infrastructure, applications, and data.  Data Integration! Services & Cancer Biology Globus
Raffaele Montella, U. Napoli Parthenope Services & Environmental Science
Service-Oriented Science People  create  services (data, code, instr.) … which I  discover  (& decide whether to use) … &  compose  to create a new function ...  & then  publish  as a new service.    I find “someone else” to  host  services,  so I don’t have to become an expert in operating   services & computers!    I hope that this “someone else” can  manage  security, reliability, scalability, … ! ! “ Service-Oriented Science”,  Science , 2005
Creating Services People  create  services (data, code, instr.) … which I  discover  (& decide whether to use) … &  compose  to create a new function ...  & then  publish  as a new service.    I find “someone else” to  host  services,  so I don’t have to become an expert in operating   services & computers!    I hope that this “someone else” can  manage  security, reliability, scalability, … ! ! “ Service-Oriented Science”,  Science , 2005
Anatomy of a Service op1 opN (meta)data Implementation(s) Clients Registry Management Clients … Service Service Attribute Authority Attribute Authority Persistence
Exposing Service State State Interfaces    Get resource property    Get multiple RPs    Set RP state    Query a set of RPs    Subscribe: notifications    Manage termination time    Immediate destruction Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR EPR EPR State representation Resource, resource property State identification Endpoint Reference Resource property Resource
Globus Toolkit Web Services Container PIP PDP WorkManager DB Conn Pool JNDI Directory Security Persistence Management State Authorization Globus Toolkit Version 4: Software for Service-Oriented Systems, LNCS 3779, 2-13, 2005  Apache Tomcat Service Container RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR EPR EPR ResourceHome RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR EPR EPR ResourceHome RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR EPR EPR ResourceHome Globus
Creating Services (~2005) “ This  full-day   tutorial  provides an introduction to programming Java services with the latest version of the Globus Toolkit version 4 (GT4). The tutorial teaches how to build a Java Service that makes use of GT4 mechanisms for state management, security, registry and related topics.”
Creating Services in 2008 Introduce and gRAVI  Introduce Define service Create skeleton Discover types Add operations Configure security Grid R emote  A pplication  V irtualization  Infrastructure Wrap executables Index  service Repository   Service Introduce Container Ohio State University and Argonne/U.Chicago Appln Service Create Store Advertize Discover Invoke; get results Transfer GAR Deploy Globus
Demonstration: Creating Services Introduce + gRAVI Shannon Hastings Scott Oster David Ervin Stephen Langella Kyle Chard Ravi Madduri
Discovering Services People  create  services (data or functions) … which I  discover  (& decide whether to use) … &  compose  to create a new function ...  & then  publish  as a new service.    I find “someone else” to  host  services,  so I don’t have to become an expert in operating   services & computers!    I hope that this “someone else” can  manage  security, reliability, scalability, … ! ! “ Service-Oriented Science”,  Science , 2005
Discovering Services Assume success Syntax,   semantics Permissions Reputation    The ultimate arbiter?    Types, ontologies    Can I use it?    Billions of services A B
Discovery (1): Registries Globus
Discovery (2): Standardized Vocabularies Core Services Grid  Service Uses Terminology Described In Cancer Data Standards Repository  Enterprise Vocabulary Services  References Objects Defined in Service  Metadata Publishes Subscribes to and Aggregates Queries  Service Metadata Aggregated In Registers To Discovery  Client API Index Service  Globus
 
Discovery (3): Tagging & Social Networking GLOSS :  Generalized  Labels Over Scientific  data Sources  (Foster, Nestorov)
Discovery (3): Tagging & Social Networking David de Roure,  Carole Goble, et al.
Composing Services People  create  services (data or functions) … which I  discover  (& decide whether to use) … &  compose  to create a new function ...  & then  publish  as a new service.    I find “someone else” to  host  services,  so I don’t have to become an expert in operating   services & computers!    I hope that this “someone else” can  manage  security, reliability, scalability, … ! ! “ Service-Oriented Science”,  Science , 2005
Composing  Services: E.g., BPEL Workflow System Analytic service @ osu.edu Analytic service @ duke.edu caBiG: https://cabig.nci.nih.gov/; BPEL work: Ravi Madduri et al. link link link See also Kepler & Taverna Data Service @ uchicago.edu <BPEL Workflow Doc> <Workflow Inputs> <Workflow Results> BPEL Engine link Globus
Composing  Services Globus
Demonstration: Composing Services Taverna + GT4 Taverna team Wei Tan Ravi Madduri
Publishing Services People  create  services (data or functions) … which I  discover  (& decide whether to use) … &  compose  to create a new function ...  & then  publish  as a new service.    I find “someone else” to  host  services,  so I don’t have to become an expert in operating   services & computers!    I hope that this “someone else” can  manage  security, reliability, scalability, … ! ! “ Service-Oriented Science”,  Science , 2005
Publishing Services Description   Syntax, semantics State   Availability, load, … Policies   Who, what, when, … Hosting   Location, scalability, …
Defining Community:  Membership and Laws Identify VO participants and roles For people and services Specify and control actions of members Empower members    delegation Enforce restrictions    federate policy Access granted by community to user Site admission-control policies Effective Access Policy of site to community A 1 2 B 1 2 A B 1 10 1 10 1 16
Authorization: SAML & XACML VOMS Shibboleth LDAP PERMIS … GT4 Client GT4 Server PDP Attributes Authorization Decision PIP PIP PIP SAML XACML Globus
Hosting Services People  create  services (data or functions) … which I  discover  (& decide whether to use) … &  compose  to create a new function ...  & then  publish  as a new service.    I find “someone else” to  host  services,  so I don’t have to become an expert in operating   services & computers!    I hope that this “someone else” can  manage  security, reliability, scalability, … ! ! “ Service-Oriented Science”,  Science , 2005
The Importance of “Hosting” and “Management” Tell me about this star Tell me about these 20K stars Support 1000s of users E.g., Sloan Digital Sky Survey, ~10 TB; others much bigger
The Two Dimensions  of Service-Oriented Science Decompose  across network Clients  integrate  dynamically Select & compose services Select “best of breed” providers Publish result as new services Decouple  resource  &  service  providers  Function Resource Data Archives Analysis tools Discovery tools Users Fig: S. G. Djorgovski
Dynamic Provisioning : Falkon Applied to Stacking Purpose On-demand “stacks” of random locations within ~10TB dataset Challenge Rapid access to 10-10K “random” files Time-varying load Solution Dynamic acquisition of compute, storage S 4 Sloan Data Web page  or Web Service Joint work with Ioan Raicu & Alex Szalay + + + + + + = + Globus
Dynamic Provisioning with Falkon: Release after 15 Seconds Idle
Dynamic Provisioning with Falkon: Release after 180 Seconds Idle
Building Scalable  Service Implementations Functional MRI Ben Clifford,  Mihael Hatigan,  Mike Wilde, Yong Zhao Globus
AIRSN Program Definition (Run snr)  functional  ( Run r, NormAnat a,    Air shrink ) { Run  yroRun  =  reorientRun ( r , &quot;y&quot; ); Run roRun =  reorientRun (  yroRun  , &quot;x&quot; ); Volume std = roRun[0]; Run rndr =  random_select ( roRun, 0.1 ); AirVector rndAirVec =  align_linearRun ( rndr, std, 12, 1000, 1000, &quot;81 3 3&quot; ); Run reslicedRndr =  resliceRun ( rndr, rndAirVec, &quot;o&quot;, &quot;k&quot; ); Volume meanRand =  softmean ( reslicedRndr, &quot;y&quot;, &quot;null&quot; ); Air mnQAAir =  alignlinear ( a.nHires, meanRand, 6, 1000, 4, &quot;81 3 3&quot; ); Warp boldNormWarp =  combinewarp ( shrink, a.aWarp, mnQAAir ); Run nr =  reslice_warp_run ( boldNormWarp, roRun ); Volume meanAll =  strictmean ( nr, &quot;y&quot;, &quot;null&quot; ) Volume boldMask =  binarize ( meanAll, &quot;y&quot; ); snr =  gsmoothRun ( nr, boldMask, &quot;6 6 6&quot; ); } (Run or) reorientRun (Run ir,    string direction) { foreach Volume  iv , i in ir.v { or.v[i] = reorient( iv , direction); } }
Dynamic Provisioning: Swift Architecture SwiftScript Abstract computation Virtual Data Catalog SwiftScript Compiler Specification Execution Yong Zhao, Mihael Hatigan, Ioan Raicu, Mike Wilde, Ben Clifford, et al. Virtual Node(s) Virtual Node(s) Provenance data Provenance data Provenance collector launcher launcher file1 file2 file3 App F1 App F2 Scheduling Execution Engine (Karajan w/ Swift Runtime) Swift runtime callouts C C C C Status reporting Provisioning Falkon Resource Provisioner Amazon EC2 Globus
Services for Science They’re  new A new approach to communicating A (not-so new) approach to structuring systems They’re  real Excellent infrastructure and tools (Globus, Introduce, gRAVI, Taverna, Swift, etc.) Substantial numbers of services out there They’re  challenging Sociology: incentives, rewards Infrastructure: hosting Provenance: justifying “results” Scaling: services, requests

More Related Content

PPT
Acupulco cda access (2)
PPTX
The oecd delta project – providing easier access to data through api's
PPTX
.NET Database Toolkit
PDF
Large scale data capture and experimentation platform at Grab
PDF
Paintfree Object-Document Mapping for MongoDB by Philipp Krenn
PDF
170119 metadata representation_v2s
PDF
Scaling Experimentation & Data Capture at Grab
PDF
Acupulco cda access (2)
The oecd delta project – providing easier access to data through api's
.NET Database Toolkit
Large scale data capture and experimentation platform at Grab
Paintfree Object-Document Mapping for MongoDB by Philipp Krenn
170119 metadata representation_v2s
Scaling Experimentation & Data Capture at Grab

Similar to Services for Science (20)

PPT
Services for Science v2 (APAN26)
PPT
Services For Science April 2009
PPT
Agents In An Exponential World Foster
PDF
At Your Service Service Oriented Computing from an EU Perspective Cooperative...
PPT
Introduction to Web Services - Architecture
PPT
BioIT Europe 2010 - BioCatalogue
PPT
Semantic Web Meets Software Engineering Panel
PPTX
Rpi talk foster september 2011
PDF
Web services based workflows to deal with 3D data
PDF
Curating and Preserving Collaborative Digital Experiments
PPT
Computing Outside The Box
PPTX
General Introduction to technologies that will be seen in the school
PPTX
Virtual Science in the Cloud
PPTX
So Long Computer Overlords
PPTX
Accelerating Discovery via Science Services
PDF
Geoscience and Microservices
PPT
Open Analytics Environment
PPTX
Science Services and Science Platforms: Using the Cloud to Accelerate and Dem...
PDF
Wf4Ever: Workflow Preservation
PDF
Gomadam Dissertation
Services for Science v2 (APAN26)
Services For Science April 2009
Agents In An Exponential World Foster
At Your Service Service Oriented Computing from an EU Perspective Cooperative...
Introduction to Web Services - Architecture
BioIT Europe 2010 - BioCatalogue
Semantic Web Meets Software Engineering Panel
Rpi talk foster september 2011
Web services based workflows to deal with 3D data
Curating and Preserving Collaborative Digital Experiments
Computing Outside The Box
General Introduction to technologies that will be seen in the school
Virtual Science in the Cloud
So Long Computer Overlords
Accelerating Discovery via Science Services
Geoscience and Microservices
Open Analytics Environment
Science Services and Science Platforms: Using the Cloud to Accelerate and Dem...
Wf4Ever: Workflow Preservation
Gomadam Dissertation
Ad

More from Ian Foster (20)

PPTX
Global Services for Global Science March 2023.pptx
PPTX
The Earth System Grid Federation: Origins, Current State, Evolution
PPTX
Better Information Faster: Programming the Continuum
PPTX
ESnet6 and Smart Instruments
PPTX
Linking Scientific Instruments and Computation
PPTX
A Global Research Data Platform: How Globus Services Enable Scientific Discovery
PPTX
Foster CRA March 2022.pptx
PPTX
Big Data, Big Computing, AI, and Environmental Science
PPTX
AI at Scale for Materials and Chemistry
PPTX
Coding the Continuum
PPTX
Data Tribology: Overcoming Data Friction with Cloud Automation
PPTX
Research Automation for Data-Driven Discovery
PPTX
Scaling collaborative data science with Globus and Jupyter
PPTX
Learning Systems for Science
PPTX
Data Automation at Light Sources
PPTX
Team Argon Summary
PPTX
Thoughts on interoperability
PPTX
Computing Just What You Need: Online Data Analysis and Reduction at Extreme ...
PPTX
NIH Data Commons Architecture Ideas
PPTX
Going Smart and Deep on Materials at ALCF
Global Services for Global Science March 2023.pptx
The Earth System Grid Federation: Origins, Current State, Evolution
Better Information Faster: Programming the Continuum
ESnet6 and Smart Instruments
Linking Scientific Instruments and Computation
A Global Research Data Platform: How Globus Services Enable Scientific Discovery
Foster CRA March 2022.pptx
Big Data, Big Computing, AI, and Environmental Science
AI at Scale for Materials and Chemistry
Coding the Continuum
Data Tribology: Overcoming Data Friction with Cloud Automation
Research Automation for Data-Driven Discovery
Scaling collaborative data science with Globus and Jupyter
Learning Systems for Science
Data Automation at Light Sources
Team Argon Summary
Thoughts on interoperability
Computing Just What You Need: Online Data Analysis and Reduction at Extreme ...
NIH Data Commons Architecture Ideas
Going Smart and Deep on Materials at ALCF
Ad

Recently uploaded (20)

PPTX
master seminar digital applications in india
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Classroom Observation Tools for Teachers
PDF
RMMM.pdf make it easy to upload and study
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
Pharma ospi slides which help in ospi learning
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
01-Introduction-to-Information-Management.pdf
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
master seminar digital applications in india
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
2.FourierTransform-ShortQuestionswithAnswers.pdf
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Classroom Observation Tools for Teachers
RMMM.pdf make it easy to upload and study
VCE English Exam - Section C Student Revision Booklet
Microbial diseases, their pathogenesis and prophylaxis
Supply Chain Operations Speaking Notes -ICLT Program
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Chinmaya Tiranga quiz Grand Finale.pdf
Anesthesia in Laparoscopic Surgery in India
Pharma ospi slides which help in ospi learning
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Final Presentation General Medicine 03-08-2024.pptx
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
01-Introduction-to-Information-Management.pdf
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
human mycosis Human fungal infections are called human mycosis..pptx

Services for Science

  • 1. Services for Science Ian Foster Computation Institute Argonne National Lab & University of Chicago
  • 2. Thanks! DOE Office of Science NSF Office of Cyberinfrastructure National Institutes of Health Colleagues at Argonne, U.Chicago, USC/ISI, OSU, Manchester, and elsewhere
  • 5. Scientific Communication, ~2000 Data Archives Gateway Figure: S. G. Djorgovski Service-Oriented Science User Analysis tools Discovery tools
  • 6. caBIG: sharing of infrastructure, applications, and data. Data Integration! Services & Cancer Biology Globus
  • 7. Raffaele Montella, U. Napoli Parthenope Services & Environmental Science
  • 8. Service-Oriented Science People create services (data, code, instr.) … which I discover (& decide whether to use) … & compose to create a new function ... & then publish as a new service.  I find “someone else” to host services, so I don’t have to become an expert in operating services & computers!  I hope that this “someone else” can manage security, reliability, scalability, … ! ! “ Service-Oriented Science”, Science , 2005
  • 9. Creating Services People create services (data, code, instr.) … which I discover (& decide whether to use) … & compose to create a new function ... & then publish as a new service.  I find “someone else” to host services, so I don’t have to become an expert in operating services & computers!  I hope that this “someone else” can manage security, reliability, scalability, … ! ! “ Service-Oriented Science”, Science , 2005
  • 10. Anatomy of a Service op1 opN (meta)data Implementation(s) Clients Registry Management Clients … Service Service Attribute Authority Attribute Authority Persistence
  • 11. Exposing Service State State Interfaces  Get resource property  Get multiple RPs  Set RP state  Query a set of RPs  Subscribe: notifications  Manage termination time  Immediate destruction Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR EPR EPR State representation Resource, resource property State identification Endpoint Reference Resource property Resource
  • 12. Globus Toolkit Web Services Container PIP PDP WorkManager DB Conn Pool JNDI Directory Security Persistence Management State Authorization Globus Toolkit Version 4: Software for Service-Oriented Systems, LNCS 3779, 2-13, 2005 Apache Tomcat Service Container RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR EPR EPR ResourceHome RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR EPR EPR ResourceHome RPs Resource Service GetRP GetMultRPs SetRP QueryRPs Subscribe SetTermTime Destroy EPR EPR EPR ResourceHome Globus
  • 13. Creating Services (~2005) “ This full-day tutorial provides an introduction to programming Java services with the latest version of the Globus Toolkit version 4 (GT4). The tutorial teaches how to build a Java Service that makes use of GT4 mechanisms for state management, security, registry and related topics.”
  • 14. Creating Services in 2008 Introduce and gRAVI Introduce Define service Create skeleton Discover types Add operations Configure security Grid R emote A pplication V irtualization Infrastructure Wrap executables Index service Repository Service Introduce Container Ohio State University and Argonne/U.Chicago Appln Service Create Store Advertize Discover Invoke; get results Transfer GAR Deploy Globus
  • 15. Demonstration: Creating Services Introduce + gRAVI Shannon Hastings Scott Oster David Ervin Stephen Langella Kyle Chard Ravi Madduri
  • 16. Discovering Services People create services (data or functions) … which I discover (& decide whether to use) … & compose to create a new function ... & then publish as a new service.  I find “someone else” to host services, so I don’t have to become an expert in operating services & computers!  I hope that this “someone else” can manage security, reliability, scalability, … ! ! “ Service-Oriented Science”, Science , 2005
  • 17. Discovering Services Assume success Syntax, semantics Permissions Reputation  The ultimate arbiter?  Types, ontologies  Can I use it?  Billions of services A B
  • 19. Discovery (2): Standardized Vocabularies Core Services Grid Service Uses Terminology Described In Cancer Data Standards Repository Enterprise Vocabulary Services References Objects Defined in Service Metadata Publishes Subscribes to and Aggregates Queries Service Metadata Aggregated In Registers To Discovery Client API Index Service Globus
  • 20.  
  • 21. Discovery (3): Tagging & Social Networking GLOSS : Generalized Labels Over Scientific data Sources (Foster, Nestorov)
  • 22. Discovery (3): Tagging & Social Networking David de Roure, Carole Goble, et al.
  • 23. Composing Services People create services (data or functions) … which I discover (& decide whether to use) … & compose to create a new function ... & then publish as a new service.  I find “someone else” to host services, so I don’t have to become an expert in operating services & computers!  I hope that this “someone else” can manage security, reliability, scalability, … ! ! “ Service-Oriented Science”, Science , 2005
  • 24. Composing Services: E.g., BPEL Workflow System Analytic service @ osu.edu Analytic service @ duke.edu caBiG: https://cabig.nci.nih.gov/; BPEL work: Ravi Madduri et al. link link link See also Kepler & Taverna Data Service @ uchicago.edu <BPEL Workflow Doc> <Workflow Inputs> <Workflow Results> BPEL Engine link Globus
  • 26. Demonstration: Composing Services Taverna + GT4 Taverna team Wei Tan Ravi Madduri
  • 27. Publishing Services People create services (data or functions) … which I discover (& decide whether to use) … & compose to create a new function ... & then publish as a new service.  I find “someone else” to host services, so I don’t have to become an expert in operating services & computers!  I hope that this “someone else” can manage security, reliability, scalability, … ! ! “ Service-Oriented Science”, Science , 2005
  • 28. Publishing Services Description  Syntax, semantics State  Availability, load, … Policies  Who, what, when, … Hosting  Location, scalability, …
  • 29. Defining Community: Membership and Laws Identify VO participants and roles For people and services Specify and control actions of members Empower members  delegation Enforce restrictions  federate policy Access granted by community to user Site admission-control policies Effective Access Policy of site to community A 1 2 B 1 2 A B 1 10 1 10 1 16
  • 30. Authorization: SAML & XACML VOMS Shibboleth LDAP PERMIS … GT4 Client GT4 Server PDP Attributes Authorization Decision PIP PIP PIP SAML XACML Globus
  • 31. Hosting Services People create services (data or functions) … which I discover (& decide whether to use) … & compose to create a new function ... & then publish as a new service.  I find “someone else” to host services, so I don’t have to become an expert in operating services & computers!  I hope that this “someone else” can manage security, reliability, scalability, … ! ! “ Service-Oriented Science”, Science , 2005
  • 32. The Importance of “Hosting” and “Management” Tell me about this star Tell me about these 20K stars Support 1000s of users E.g., Sloan Digital Sky Survey, ~10 TB; others much bigger
  • 33. The Two Dimensions of Service-Oriented Science Decompose across network Clients integrate dynamically Select & compose services Select “best of breed” providers Publish result as new services Decouple resource & service providers Function Resource Data Archives Analysis tools Discovery tools Users Fig: S. G. Djorgovski
  • 34. Dynamic Provisioning : Falkon Applied to Stacking Purpose On-demand “stacks” of random locations within ~10TB dataset Challenge Rapid access to 10-10K “random” files Time-varying load Solution Dynamic acquisition of compute, storage S 4 Sloan Data Web page or Web Service Joint work with Ioan Raicu & Alex Szalay + + + + + + = + Globus
  • 35. Dynamic Provisioning with Falkon: Release after 15 Seconds Idle
  • 36. Dynamic Provisioning with Falkon: Release after 180 Seconds Idle
  • 37. Building Scalable Service Implementations Functional MRI Ben Clifford, Mihael Hatigan, Mike Wilde, Yong Zhao Globus
  • 38. AIRSN Program Definition (Run snr) functional ( Run r, NormAnat a, Air shrink ) { Run yroRun = reorientRun ( r , &quot;y&quot; ); Run roRun = reorientRun ( yroRun , &quot;x&quot; ); Volume std = roRun[0]; Run rndr = random_select ( roRun, 0.1 ); AirVector rndAirVec = align_linearRun ( rndr, std, 12, 1000, 1000, &quot;81 3 3&quot; ); Run reslicedRndr = resliceRun ( rndr, rndAirVec, &quot;o&quot;, &quot;k&quot; ); Volume meanRand = softmean ( reslicedRndr, &quot;y&quot;, &quot;null&quot; ); Air mnQAAir = alignlinear ( a.nHires, meanRand, 6, 1000, 4, &quot;81 3 3&quot; ); Warp boldNormWarp = combinewarp ( shrink, a.aWarp, mnQAAir ); Run nr = reslice_warp_run ( boldNormWarp, roRun ); Volume meanAll = strictmean ( nr, &quot;y&quot;, &quot;null&quot; ) Volume boldMask = binarize ( meanAll, &quot;y&quot; ); snr = gsmoothRun ( nr, boldMask, &quot;6 6 6&quot; ); } (Run or) reorientRun (Run ir, string direction) { foreach Volume iv , i in ir.v { or.v[i] = reorient( iv , direction); } }
  • 39. Dynamic Provisioning: Swift Architecture SwiftScript Abstract computation Virtual Data Catalog SwiftScript Compiler Specification Execution Yong Zhao, Mihael Hatigan, Ioan Raicu, Mike Wilde, Ben Clifford, et al. Virtual Node(s) Virtual Node(s) Provenance data Provenance data Provenance collector launcher launcher file1 file2 file3 App F1 App F2 Scheduling Execution Engine (Karajan w/ Swift Runtime) Swift runtime callouts C C C C Status reporting Provisioning Falkon Resource Provisioner Amazon EC2 Globus
  • 40. Services for Science They’re new A new approach to communicating A (not-so new) approach to structuring systems They’re real Excellent infrastructure and tools (Globus, Introduce, gRAVI, Taverna, Swift, etc.) Substantial numbers of services out there They’re challenging Sociology: incentives, rewards Infrastructure: hosting Provenance: justifying “results” Scaling: services, requests