140 likes | 159 Views
Explore the LONI Pipeline infrastructure and integration possibilities with a focus on execution, data protocols, and network architecture. Learn about generic integration methods, processing environments, and integration frameworks for seamless data flow and execution environments.
E N D
Slicer - Pipeline {Infrastructure & Integration} -Jagadeeswaran Rajendiran {UCLA}
Introduction: LONI Pipeline Components {Execution, Data, Protocols} Integration framework Network architecture Integration possibilities Pipeline wrapper Slicer-Pipeline integration Generic integration methods Overview 2
Processing Environment data flow execution environment links independent programs auto-parallelizes sections repeatable on different data-sets Uses: Integrate your program as part of an analytic process Send a collaborator an analytic process Validate data formats Parallel batch processing with error handling Introduction: LONI Pipeline 3
Execution Handles creation/ deletion of monitors (threads) Networking Handles data caching Client server communication Determines if its to be run on the grid Applications Manager Maps file data-types to application-handlers UI Manager Handles the GUI specification Data Manager Conversion of one format to another Pipeline Components 4
Data/ Functionality specification XML Network protocols HTTP, FTP Grid engine capabilities SUN Grid system SRB @ UCSD Security Client - Server Diffie Hellman key agreement Advanced Encryption Standard (AES) User Authentication SHA-1 digest of passphrase AES key from digest Protocols 5
Configuration Execution Grid engine specifications Network ports hosts Module specification Auto conversion from v1 to v3 Format conversion XML to .dot files XML to bash scripts Data Mediation Integrate Debabeler Data Organization 6
Partitioned codebase Non-GUI Functionality Compiles and runs independently Has hooks for gui components GUI Compiles against the non-gui code Runs as an extension GUI vs. Non-GUI 7
Integration Framework • Network protocols • Integrated at Network Manager level • SRB, ADNI • Remote Execution (Pipeline Wrapper) • Visualization • Integrated at the application manager level • Slicer, Shiva • Data Types • Integrated at the module level 8
Cross-platform stubs code duplication code exposure intimate knowledge Centralized file-systems/ databases workflow specifications difficult close tie-up with language Integrate using I/O streams stand-alone library basic OS resources Integration Possibilities 9
Lightweight No pipeline instance needed! Abstraction Is acting server for external applications Components Incoming channel Outgoing channel Uses Basic networking modules Requirements Network packet format agreement Lightweight Pipeline Wrapper 10
Pipeline Wrapper: Working Socket Input Stream Stdin External Application Pipeline Wrapper Pipeline Server Stdout Socket Output Stream Encrypted channel Un-encrypted channel External Application {Example: SLICER} Integration using Standard IO Streams 11
Integration suggestions GUI, Non-GUI separation Non-GUI should run standalone (with full functionality) Network packet format agreement Slicer Version 3.0 12
Library Language dependent Programmatic function calls No packet format agreement! Language Independent Stdin/ stdout based interaction Agree on network packet format Generic Integration Roadmap 13
Resources • Wiki-Page • http://www.loni.ucla.edu/twiki/bin/view/Pipeline/ • Personnel • Dr. Arthur Toga:toga@loni.ucla.edu (PI) • Jags:r.jagadeeswaran@loni.ucla.edu • Michael Pan:mjpan@loni.ucla.edu • Ron Nor:rnor@loni.ucla.edu 14