SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
glideinWMS Training @ UCSD



                 glideinWMS frontend
                        Internals
                      by Igor Sfiligoi (UCSD)




UCSD Jan 17th 2012          Frontend Internals   1
Refresher - Glideins
 ●   A glidein is just a properly configured Condor
     execution node submitted as a Grid job
      ●    glideinWMS       Central manager
           provides                                             glidein
                                                              Execution node
                               Collector              CREAM
           automation                                           glidein
                                                              Execution node
                              Negotiator
          Submit node
          Submit node
                                                                glidein
                                                              Execution node
          Submit node
                                                              Execution node
                                                                glidein
           Schedd                                                Startd
                                                  Globus
                                                                      Job
                            glideinWMS


UCSD Jan 17th 2012               Frontend Internals                            2
Refresher – Glidein Frontend
 ●   The frontend monitors the user Condor pool,
     does the matchmaking and requests glideins
      ●   Factory a slave                                             Configure Condor G.N.

                                   Submit node
  Frontend node                                                       Worker node
                       Monitor     Submit node
     Frontend          Condor                                            glidein
                                 Central manager
                                                                         Startd
                     Match
                                                           Globus              Job
             Request
             glideins            Factory node

                                   Condor                             glidein
                                                                    Execution node
                                                         CREAM
                                   Factory                            glidein
                                                                    Execution node
                                                   Submit
                                                   glideins
UCSD Jan 17th 2012                        Frontend Internals                                  3
Refresher - Cardinality
 ●   N-to-M relationship
      ●   Each Frontend can talk to many Factories
      ●   Each Factory may serve many Frontends
                                                           VO Frontend

            VO Frontend         Glidein Factory                              Collector
                                                                              Schedd
                                                                             Negotiator


          Collector                                           Startd
                                       Startd
           Schedd
                                              User job            User job
          Negotiator
                                          Startd
              Glidein Factory                    User job


UCSD Jan 17th 2012                    Frontend Internals                                  4
Frontend architecture
 ●   The frontend is composed of:
      ●   The Condor daemons
      ●   The glideinWMS frontend proper
      ●   Condor client – to talk to the factories
      ●   Web server – deliver code and data to glideins
                       + monitoring
 ●   The glideinWMS frontend itself composed of:
      ●   Group processes – do the real work
      ●   Master frontend – controls the others and
                            aggregates monitoring
UCSD Jan 17th 2012            Frontend Internals           5
Frontend arch - Picture
                                Frontend Domain

Factory                   Submit node
                                             Submit node                 Factory

                                   Central manager

                                Frontend node

                        Group
                        Entry        ...           Group                           glidein


                                   Spawn                         Web
                                                                Server
                                  Frontend




  UCSD Jan 17th 2012                       Frontend Internals                            6
Condor processes
 ●   Explained in enough detail in previous talk
      ●   Will not repeat myself
                                                  Central manager

                                                        Collector

                                                        Negotiator
                     Submit node
                     Submit node
                     Submit node

                      Schedd




UCSD Jan 17th 2012                 Frontend Internals                7
Frontend processes
 ●   Real work performed by Group process
      ●   glideinFrontendElement.py
      ●   One process x Group                         Frontend ==
                                                    Frontend Group
                                                 in the rest of the talk


 ●   They are controlled by master Frontend
      ●   glideinFrontend.py
      ●   Starts the other processes
      ●   Aggregates monitoring

UCSD Jan 17th 2012          Frontend Internals                             8
Frontend role
    ●   The VO frontend is the brain
        of a glideinWMS-based pool
         ●   Like a site-level “negotiator”

    VO domain                                                     Find                  Find
                                     Submit node                idle jobs              entries

                          Monitor    Submit node
        Frontend          Condor
                                                                            Match
                                    Central manager
                        Match
                                                                            Request
             Request                                                        glideins
Factory node glideins           Factory node


   UCSD Jan 17th 2012                      Frontend Internals                                    9
Reminder - Two level matchmaking
 ●   The frontend triggers glidein submission
      ●   The “regular” negotiator matches jobs to glideins
                       Central manager
                                                          glidein
                                                       Execution node
                          Collector            CREAM
                                                          glidein
                                                       Execution node
                         Negotiator
     Submit node

       Schedd                                             glidein
                                                       Execution node
                                                         glidein
                                                       Execution node

                                                          Startd
                                            Globus
                                                               Job
          Frontend
                                Factory

UCSD Jan 17th 2012            Frontend Internals                        10
Matchmaking logic
 ●   The Frontend matchmaking policy is
     implemented centrally
      ●   By the VO admin – not by the users
 ●   It can use the attributes from both
     the job and Factory ClassAds
 ●   Should be kept in sync with Negotiator policy
      ●   Which is not centralized
      ●   One way to define in the glidein START expression
      ●   Unfortunately, one python expression other ClassAds

UCSD Jan 17th 2012           Frontend Internals               11
Example matchmaking logic
 ●   Frontend
     job.has_key("DESIRED_Sites") &&
     glidein["attrs"].get("GLIDEIN_Site")
       in job["DESIRED_Sites"].split(",")


 ●   Negotiator (via glidein START)
     GLIDECLIENT_Start =
       stringListMember(GLIDEIN_Site,
                         DESIRED_Sites,",")=?=True

            More details at http://tinyurl.com/glideinWMS/doc.prd/factory/custom_vars.html

UCSD Jan 17th 2012                            Frontend Internals                             12
Communication Protocol
 ●   No listen sockets
      ●   All communication one way (Frontend->Factory)
 ●   Each Factory provides a Collector
      ●   Communication based on ClassAds
      ●   All security implemented in the Collector
 ●   Use standard cmdline tools for communication
      ●   condor_status and condor_advertise



UCSD Jan 17th 2012           Frontend Internals           13
Protocol sequence
 ●   Polling loop
      ●   Read Factory ClassAds from all factory Collectors
      ●   Match against jobs
      ●   Advertise own existence and requests
 ●   Frontend sends 4 types of info
      ●   Own identity
      ●   Glidein submission regulation instructions
      ●   Glidein parameters
      ●   Pilot Proxy

UCSD Jan 17th 2012             Frontend Internals             14
Glidein submission regulation
 ●   The glideinWMS glidein request logic
     is based on the principle on “constant pressure”
      ●   Frontend Group requests a certain number of
          “idle glideins” in the factory queue at all times
      ●   It does not request a specific number of glideins
 ●   This is done due to the asynchronous nature
     of the system
      ●   Both the factory entries and the frontend groups are
          in a polling loop and talk to each other indirectly


UCSD Jan 17th 2012            Frontend Internals              15
Glidein requests
 ●   Frontend matches job attrs against entry attrs
      ●   It then counts the matched idle jobs
      ●   A fraction of this number becomes the
          “pressure requests” (up to 1/3)
      ●   This number is then capped (~20)
      ●   The attribute in the ClassAd is
          ReqIdleGlideins
 ●   The Frontend also advertises
     ReqMaxRunningGlideins
      ●   Emergency break

UCSD Jan 17th 2012            Frontend Internals      16
Scaling back
 ●   The Frontend can also request that existing
     glideins in the Factory queues are removed
     ReqRemoveExcess
      ●   NO – Default, never remove
      ●   WAIT – Remove any glidein not yet at a site
      ●   IDLE – Remove any glidein that has not started yet
      ●   ALL – Remove all glideins
 ●   Frontend pretty conservative
      ●   Only requests removal if no user jobs in the queues

UCSD Jan 17th 2012          Frontend Internals                 17
Parameters
 ●   Frontend can send attributes to glideins:
      ●   Dynamically – as parameter in the ClassAd
      ●   Statically – as entry in a config file
 ●   Attributes typically static
      ●   Current Frontend implementation does not really
          have much support for dynamicity




UCSD Jan 17th 2012             Frontend Internals           18
Pilot proxy delegation
 ●   Pilot proxy is encrypted with factory pub key
      ●   Then published in the ClassAd
      ●   Only owner of priv. key can decrypt it
 Frontend node                        Factory node
                      Get key
                                                          Use
     Frontend                            Collector        proxy            glidein
                     Deliver proxy
                                           Entry                  Globus
                      (encrypted)                                          glidein

 ●   However
      ●   Must make sure we are talking to a trusted Factory!
           –   not just anyone providing a pub key
      ●   More details in a few slides
UCSD Jan 17th 2012                   Frontend Internals                              19
Pilot proxy selection
 ●   A Frontend must have at least one pilot proxy
      ●   But can have more than one
 ●   Many proxies can be used for priority reasons
      ●   When competing with non-pilot submission
      ●   Want to have as many proxies as users served
 ●   Proxy selection plugin based




UCSD Jan 17th 2012          Frontend Internals           20
Pilot proxy plugins
●   Several standard plugins
     ●   ProxyFirst – Only the first listed           Most used

     ●   ProxyAll – All listed
     ●   ProxyUserCardinality – First N, with N=#users
     ●   ProxyUserMapWRecycling – N, with pilot-to-user mapping
●   VO admin could implemented his own, if desired




    UCSD Jan 17th 2012           Frontend Internals               21
Factory ClassAd




UCSD Jan 17th 2012        Frontend Internals   22
Frontend ClassAd




UCSD Jan 17th 2012        Frontend Internals   23
Security - Authorization
                                                         Authentication based
 ●   Mutual authorization                                    on GSI/x509
      ●   The frontend admin decides
                                                    Frontend node
          which Factories to talk to
      ●   The factory admin decides                  Frontend
          which Frontends to serve
 ●   Based on x509 Dns
      ●   Both sides have whitelists                            Factory node

     Factory node                                                   Collector
                            Frontend node
      Collector                                                     Factory
                             Frontend
       Factory

                                                     Frontend needs a service proxy
UCSD Jan 17th 2012             Frontend Internals                               24
Trusting the factory key
 ●   It is all just ClassAds!
     ●   Anyone can publish a ClassAd and declare to be a factory
 ●   However, Factory Collector knows who published it
     ●   And advertises it as the attribute AuthenticatedIdentity
     ●   Cannot be faked by the client
                                                                    a3
 ●   Frontend has a whitelist                                       b3
                                                                    c3
     of trusted factories                                          ID3
                                                                         Frontend
                                             Collector
                      Frontend
                                  a1                          a2
                                  b1                          b2
                                  c1                          c2
                                 ID1                         ID2

                                                        Factory

UCSD Jan 17th 2012                 Frontend Internals                               25
Security handles
 ●   As we said, mutual authentication with Factory
 ●   Frontend provides (and Factory whitelists)
                                                                   One set
      ●   Service Proxy to talk to Factory Collector               for whole
                                                                   Frontend
      ●   Frontend Security name                                   (all Groups)
      ●   Proxy Security Class             One per pilot proxy
 ●   Frontend whitelists (obtained from Factory admins)
      ●   Factory Collector DN
      ●   Own mapping @Factory                     One set per factory collector
      ●   Factory mapping @Factory
UCSD Jan 17th 2012            Frontend Internals                             26
Security within the VO domain
 ●   Frontend process, Collector and schedds often
     not on the same node
      ●   Need network security
                                                                 Could be even over WAN
 ●   All processes must                                          CMS setup has nodes
                                                                 in CA, IL and Europe
     whitelist each other
      ●   Again, GSI based

                                                  Schedd
                                Monitor           Schedd
                     Frontend   Condor
                                          Collector/Negotiator


UCSD Jan 17th 2012               Frontend Internals                                27
THE END




UCSD Jan 17th 2012    Frontend Internals   28
Pointers
 ●   The official project Web page is
     http://tinyurl.com/glideinWMS
 ●   glideinWMS development team is reachable at
     glideinwms-support@fnal.gov
 ●   OSG glidein factory at UCSD
     http://hepuser.ucsd.edu/twiki2/bin/view/UCSDTier2/OSGgfactory
     http://glidein-1.t2.ucsd.edu:8319/glidefactory/monitor/glidein_Production_v4_1/factoryStatus.html




UCSD Jan 17th 2012                              Frontend Internals                                       29
Acknowledgments
 ●   The glideinWMS is a CMS-led project
     developed mostly at FNAL, with contributions
     from UCSD and ISI
 ●   The glideinWMS factory operations at UCSD is
     sponsored by OSG
 ●   The funding comes from NSF, DOE and the
     UC system




UCSD Jan 17th 2012        Frontend Internals        30

Mais conteúdo relacionado

Mais procurados

Os Grouchnikov
Os GrouchnikovOs Grouchnikov
Os Grouchnikovoscon2007
 
CDI and Weld
CDI and WeldCDI and Weld
CDI and Weldjensaug
 
Throwing complexity over the wall: Rapid development for enterprise Java (Jav...
Throwing complexity over the wall: Rapid development for enterprise Java (Jav...Throwing complexity over the wall: Rapid development for enterprise Java (Jav...
Throwing complexity over the wall: Rapid development for enterprise Java (Jav...Dan Allen
 
JSR-299 (CDI), Weld & the Future of Seam (JavaOne 2010)
JSR-299 (CDI), Weld & the Future of Seam (JavaOne 2010)JSR-299 (CDI), Weld & the Future of Seam (JavaOne 2010)
JSR-299 (CDI), Weld & the Future of Seam (JavaOne 2010)Dan Allen
 
Measure and Manage Flow v2
Measure and Manage Flow v2Measure and Manage Flow v2
Measure and Manage Flow v2Zsolt Fabok
 

Mais procurados (6)

Advanced Effects Oscon 2007
Advanced Effects   Oscon 2007Advanced Effects   Oscon 2007
Advanced Effects Oscon 2007
 
Os Grouchnikov
Os GrouchnikovOs Grouchnikov
Os Grouchnikov
 
CDI and Weld
CDI and WeldCDI and Weld
CDI and Weld
 
Throwing complexity over the wall: Rapid development for enterprise Java (Jav...
Throwing complexity over the wall: Rapid development for enterprise Java (Jav...Throwing complexity over the wall: Rapid development for enterprise Java (Jav...
Throwing complexity over the wall: Rapid development for enterprise Java (Jav...
 
JSR-299 (CDI), Weld & the Future of Seam (JavaOne 2010)
JSR-299 (CDI), Weld & the Future of Seam (JavaOne 2010)JSR-299 (CDI), Weld & the Future of Seam (JavaOne 2010)
JSR-299 (CDI), Weld & the Future of Seam (JavaOne 2010)
 
Measure and Manage Flow v2
Measure and Manage Flow v2Measure and Manage Flow v2
Measure and Manage Flow v2
 

Semelhante a glideinWMS Frontend Internals - glideinWMS Training Jan 2012

glideinWMS Frontend Monitoring - glideinWMS Training Jan 2012
glideinWMS Frontend Monitoring - glideinWMS Training Jan 2012glideinWMS Frontend Monitoring - glideinWMS Training Jan 2012
glideinWMS Frontend Monitoring - glideinWMS Training Jan 2012Igor Sfiligoi
 
Matchmaking in glideinWMS in CMS
Matchmaking in glideinWMS in CMSMatchmaking in glideinWMS in CMS
Matchmaking in glideinWMS in CMSIgor Sfiligoi
 
glideinWMS validation scirpts - glideinWMS Training Jan 2012
glideinWMS validation scirpts - glideinWMS Training Jan 2012glideinWMS validation scirpts - glideinWMS Training Jan 2012
glideinWMS validation scirpts - glideinWMS Training Jan 2012Igor Sfiligoi
 
Monitoring and troubleshooting a glideinWMS-based HTCondor pool
Monitoring and troubleshooting a glideinWMS-based HTCondor poolMonitoring and troubleshooting a glideinWMS-based HTCondor pool
Monitoring and troubleshooting a glideinWMS-based HTCondor poolIgor Sfiligoi
 
Introduction to glideinWMS
Introduction to glideinWMSIntroduction to glideinWMS
Introduction to glideinWMSIgor Sfiligoi
 
Solving Grid problems through glidein monitoring
Solving Grid problems through glidein monitoringSolving Grid problems through glidein monitoring
Solving Grid problems through glidein monitoringIgor Sfiligoi
 
Condor from the user point of view - glideinWMS Training Jan 2012
Condor from the user point of view - glideinWMS Training Jan 2012Condor from the user point of view - glideinWMS Training Jan 2012
Condor from the user point of view - glideinWMS Training Jan 2012Igor Sfiligoi
 
Condor overview - glideinWMS Training Jan 2012
Condor overview - glideinWMS Training Jan 2012Condor overview - glideinWMS Training Jan 2012
Condor overview - glideinWMS Training Jan 2012Igor Sfiligoi
 
Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012
Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012
Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012mfrancis
 
OpenTuesday: Die Selenium-Toolfamilie und ihr Einsatz im Web- und Mobile-Auto...
OpenTuesday: Die Selenium-Toolfamilie und ihr Einsatz im Web- und Mobile-Auto...OpenTuesday: Die Selenium-Toolfamilie und ihr Einsatz im Web- und Mobile-Auto...
OpenTuesday: Die Selenium-Toolfamilie und ihr Einsatz im Web- und Mobile-Auto...Digicomp Academy AG
 
glideinWMS Training Jan 2012 - Condor tuning
glideinWMS Training Jan 2012 - Condor tuningglideinWMS Training Jan 2012 - Condor tuning
glideinWMS Training Jan 2012 - Condor tuningIgor Sfiligoi
 

Semelhante a glideinWMS Frontend Internals - glideinWMS Training Jan 2012 (13)

glideinWMS Frontend Monitoring - glideinWMS Training Jan 2012
glideinWMS Frontend Monitoring - glideinWMS Training Jan 2012glideinWMS Frontend Monitoring - glideinWMS Training Jan 2012
glideinWMS Frontend Monitoring - glideinWMS Training Jan 2012
 
Matchmaking in glideinWMS in CMS
Matchmaking in glideinWMS in CMSMatchmaking in glideinWMS in CMS
Matchmaking in glideinWMS in CMS
 
glideinWMS validation scirpts - glideinWMS Training Jan 2012
glideinWMS validation scirpts - glideinWMS Training Jan 2012glideinWMS validation scirpts - glideinWMS Training Jan 2012
glideinWMS validation scirpts - glideinWMS Training Jan 2012
 
Monitoring and troubleshooting a glideinWMS-based HTCondor pool
Monitoring and troubleshooting a glideinWMS-based HTCondor poolMonitoring and troubleshooting a glideinWMS-based HTCondor pool
Monitoring and troubleshooting a glideinWMS-based HTCondor pool
 
Pilot Factory
Pilot FactoryPilot Factory
Pilot Factory
 
Introduction to glideinWMS
Introduction to glideinWMSIntroduction to glideinWMS
Introduction to glideinWMS
 
Solving Grid problems through glidein monitoring
Solving Grid problems through glidein monitoringSolving Grid problems through glidein monitoring
Solving Grid problems through glidein monitoring
 
Condor from the user point of view - glideinWMS Training Jan 2012
Condor from the user point of view - glideinWMS Training Jan 2012Condor from the user point of view - glideinWMS Training Jan 2012
Condor from the user point of view - glideinWMS Training Jan 2012
 
Condor overview - glideinWMS Training Jan 2012
Condor overview - glideinWMS Training Jan 2012Condor overview - glideinWMS Training Jan 2012
Condor overview - glideinWMS Training Jan 2012
 
Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012
Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012
Paremus Cloud and OSGi Beyond the VM - OSGi Cloud Workshop March 2012
 
OpenTuesday: Die Selenium-Toolfamilie und ihr Einsatz im Web- und Mobile-Auto...
OpenTuesday: Die Selenium-Toolfamilie und ihr Einsatz im Web- und Mobile-Auto...OpenTuesday: Die Selenium-Toolfamilie und ihr Einsatz im Web- und Mobile-Auto...
OpenTuesday: Die Selenium-Toolfamilie und ihr Einsatz im Web- und Mobile-Auto...
 
glideinWMS Training Jan 2012 - Condor tuning
glideinWMS Training Jan 2012 - Condor tuningglideinWMS Training Jan 2012 - Condor tuning
glideinWMS Training Jan 2012 - Condor tuning
 
GIT Introduction
GIT IntroductionGIT Introduction
GIT Introduction
 

Mais de Igor Sfiligoi

Preparing Fusion codes for Perlmutter - CGYRO
Preparing Fusion codes for Perlmutter - CGYROPreparing Fusion codes for Perlmutter - CGYRO
Preparing Fusion codes for Perlmutter - CGYROIgor Sfiligoi
 
O&C Meeting - Evaluation of ARM CPUs for IceCube available through Google Kub...
O&C Meeting - Evaluation of ARM CPUs for IceCube available through Google Kub...O&C Meeting - Evaluation of ARM CPUs for IceCube available through Google Kub...
O&C Meeting - Evaluation of ARM CPUs for IceCube available through Google Kub...Igor Sfiligoi
 
Comparing single-node and multi-node performance of an important fusion HPC c...
Comparing single-node and multi-node performance of an important fusion HPC c...Comparing single-node and multi-node performance of an important fusion HPC c...
Comparing single-node and multi-node performance of an important fusion HPC c...Igor Sfiligoi
 
The anachronism of whole-GPU accounting
The anachronism of whole-GPU accountingThe anachronism of whole-GPU accounting
The anachronism of whole-GPU accountingIgor Sfiligoi
 
Auto-scaling HTCondor pools using Kubernetes compute resources
Auto-scaling HTCondor pools using Kubernetes compute resourcesAuto-scaling HTCondor pools using Kubernetes compute resources
Auto-scaling HTCondor pools using Kubernetes compute resourcesIgor Sfiligoi
 
Speeding up bowtie2 by improving cache-hit rate
Speeding up bowtie2 by improving cache-hit rateSpeeding up bowtie2 by improving cache-hit rate
Speeding up bowtie2 by improving cache-hit rateIgor Sfiligoi
 
Performance Optimization of CGYRO for Multiscale Turbulence Simulations
Performance Optimization of CGYRO for Multiscale Turbulence SimulationsPerformance Optimization of CGYRO for Multiscale Turbulence Simulations
Performance Optimization of CGYRO for Multiscale Turbulence SimulationsIgor Sfiligoi
 
Comparing GPU effectiveness for Unifrac distance compute
Comparing GPU effectiveness for Unifrac distance computeComparing GPU effectiveness for Unifrac distance compute
Comparing GPU effectiveness for Unifrac distance computeIgor Sfiligoi
 
Managing Cloud networking costs for data-intensive applications by provisioni...
Managing Cloud networking costs for data-intensive applications by provisioni...Managing Cloud networking costs for data-intensive applications by provisioni...
Managing Cloud networking costs for data-intensive applications by provisioni...Igor Sfiligoi
 
Accelerating Key Bioinformatics Tasks 100-fold by Improving Memory Access
Accelerating Key Bioinformatics Tasks 100-fold by Improving Memory AccessAccelerating Key Bioinformatics Tasks 100-fold by Improving Memory Access
Accelerating Key Bioinformatics Tasks 100-fold by Improving Memory AccessIgor Sfiligoi
 
Using A100 MIG to Scale Astronomy Scientific Output
Using A100 MIG to Scale Astronomy Scientific OutputUsing A100 MIG to Scale Astronomy Scientific Output
Using A100 MIG to Scale Astronomy Scientific OutputIgor Sfiligoi
 
Using commercial Clouds to process IceCube jobs
Using commercial Clouds to process IceCube jobsUsing commercial Clouds to process IceCube jobs
Using commercial Clouds to process IceCube jobsIgor Sfiligoi
 
Modest scale HPC on Azure using CGYRO
Modest scale HPC on Azure using CGYROModest scale HPC on Azure using CGYRO
Modest scale HPC on Azure using CGYROIgor Sfiligoi
 
Data-intensive IceCube Cloud Burst
Data-intensive IceCube Cloud BurstData-intensive IceCube Cloud Burst
Data-intensive IceCube Cloud BurstIgor Sfiligoi
 
Scheduling a Kubernetes Federation with Admiralty
Scheduling a Kubernetes Federation with AdmiraltyScheduling a Kubernetes Federation with Admiralty
Scheduling a Kubernetes Federation with AdmiraltyIgor Sfiligoi
 
Accelerating microbiome research with OpenACC
Accelerating microbiome research with OpenACCAccelerating microbiome research with OpenACC
Accelerating microbiome research with OpenACCIgor Sfiligoi
 
Demonstrating a Pre-Exascale, Cost-Effective Multi-Cloud Environment for Scie...
Demonstrating a Pre-Exascale, Cost-Effective Multi-Cloud Environment for Scie...Demonstrating a Pre-Exascale, Cost-Effective Multi-Cloud Environment for Scie...
Demonstrating a Pre-Exascale, Cost-Effective Multi-Cloud Environment for Scie...Igor Sfiligoi
 
Porting and optimizing UniFrac for GPUs
Porting and optimizing UniFrac for GPUsPorting and optimizing UniFrac for GPUs
Porting and optimizing UniFrac for GPUsIgor Sfiligoi
 
Demonstrating 100 Gbps in and out of the public Clouds
Demonstrating 100 Gbps in and out of the public CloudsDemonstrating 100 Gbps in and out of the public Clouds
Demonstrating 100 Gbps in and out of the public CloudsIgor Sfiligoi
 
TransAtlantic Networking using Cloud links
TransAtlantic Networking using Cloud linksTransAtlantic Networking using Cloud links
TransAtlantic Networking using Cloud linksIgor Sfiligoi
 

Mais de Igor Sfiligoi (20)

Preparing Fusion codes for Perlmutter - CGYRO
Preparing Fusion codes for Perlmutter - CGYROPreparing Fusion codes for Perlmutter - CGYRO
Preparing Fusion codes for Perlmutter - CGYRO
 
O&C Meeting - Evaluation of ARM CPUs for IceCube available through Google Kub...
O&C Meeting - Evaluation of ARM CPUs for IceCube available through Google Kub...O&C Meeting - Evaluation of ARM CPUs for IceCube available through Google Kub...
O&C Meeting - Evaluation of ARM CPUs for IceCube available through Google Kub...
 
Comparing single-node and multi-node performance of an important fusion HPC c...
Comparing single-node and multi-node performance of an important fusion HPC c...Comparing single-node and multi-node performance of an important fusion HPC c...
Comparing single-node and multi-node performance of an important fusion HPC c...
 
The anachronism of whole-GPU accounting
The anachronism of whole-GPU accountingThe anachronism of whole-GPU accounting
The anachronism of whole-GPU accounting
 
Auto-scaling HTCondor pools using Kubernetes compute resources
Auto-scaling HTCondor pools using Kubernetes compute resourcesAuto-scaling HTCondor pools using Kubernetes compute resources
Auto-scaling HTCondor pools using Kubernetes compute resources
 
Speeding up bowtie2 by improving cache-hit rate
Speeding up bowtie2 by improving cache-hit rateSpeeding up bowtie2 by improving cache-hit rate
Speeding up bowtie2 by improving cache-hit rate
 
Performance Optimization of CGYRO for Multiscale Turbulence Simulations
Performance Optimization of CGYRO for Multiscale Turbulence SimulationsPerformance Optimization of CGYRO for Multiscale Turbulence Simulations
Performance Optimization of CGYRO for Multiscale Turbulence Simulations
 
Comparing GPU effectiveness for Unifrac distance compute
Comparing GPU effectiveness for Unifrac distance computeComparing GPU effectiveness for Unifrac distance compute
Comparing GPU effectiveness for Unifrac distance compute
 
Managing Cloud networking costs for data-intensive applications by provisioni...
Managing Cloud networking costs for data-intensive applications by provisioni...Managing Cloud networking costs for data-intensive applications by provisioni...
Managing Cloud networking costs for data-intensive applications by provisioni...
 
Accelerating Key Bioinformatics Tasks 100-fold by Improving Memory Access
Accelerating Key Bioinformatics Tasks 100-fold by Improving Memory AccessAccelerating Key Bioinformatics Tasks 100-fold by Improving Memory Access
Accelerating Key Bioinformatics Tasks 100-fold by Improving Memory Access
 
Using A100 MIG to Scale Astronomy Scientific Output
Using A100 MIG to Scale Astronomy Scientific OutputUsing A100 MIG to Scale Astronomy Scientific Output
Using A100 MIG to Scale Astronomy Scientific Output
 
Using commercial Clouds to process IceCube jobs
Using commercial Clouds to process IceCube jobsUsing commercial Clouds to process IceCube jobs
Using commercial Clouds to process IceCube jobs
 
Modest scale HPC on Azure using CGYRO
Modest scale HPC on Azure using CGYROModest scale HPC on Azure using CGYRO
Modest scale HPC on Azure using CGYRO
 
Data-intensive IceCube Cloud Burst
Data-intensive IceCube Cloud BurstData-intensive IceCube Cloud Burst
Data-intensive IceCube Cloud Burst
 
Scheduling a Kubernetes Federation with Admiralty
Scheduling a Kubernetes Federation with AdmiraltyScheduling a Kubernetes Federation with Admiralty
Scheduling a Kubernetes Federation with Admiralty
 
Accelerating microbiome research with OpenACC
Accelerating microbiome research with OpenACCAccelerating microbiome research with OpenACC
Accelerating microbiome research with OpenACC
 
Demonstrating a Pre-Exascale, Cost-Effective Multi-Cloud Environment for Scie...
Demonstrating a Pre-Exascale, Cost-Effective Multi-Cloud Environment for Scie...Demonstrating a Pre-Exascale, Cost-Effective Multi-Cloud Environment for Scie...
Demonstrating a Pre-Exascale, Cost-Effective Multi-Cloud Environment for Scie...
 
Porting and optimizing UniFrac for GPUs
Porting and optimizing UniFrac for GPUsPorting and optimizing UniFrac for GPUs
Porting and optimizing UniFrac for GPUs
 
Demonstrating 100 Gbps in and out of the public Clouds
Demonstrating 100 Gbps in and out of the public CloudsDemonstrating 100 Gbps in and out of the public Clouds
Demonstrating 100 Gbps in and out of the public Clouds
 
TransAtlantic Networking using Cloud links
TransAtlantic Networking using Cloud linksTransAtlantic Networking using Cloud links
TransAtlantic Networking using Cloud links
 

Último

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Último (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

glideinWMS Frontend Internals - glideinWMS Training Jan 2012

  • 1. glideinWMS Training @ UCSD glideinWMS frontend Internals by Igor Sfiligoi (UCSD) UCSD Jan 17th 2012 Frontend Internals 1
  • 2. Refresher - Glideins ● A glidein is just a properly configured Condor execution node submitted as a Grid job ● glideinWMS Central manager provides glidein Execution node Collector CREAM automation glidein Execution node Negotiator Submit node Submit node glidein Execution node Submit node Execution node glidein Schedd Startd Globus Job glideinWMS UCSD Jan 17th 2012 Frontend Internals 2
  • 3. Refresher – Glidein Frontend ● The frontend monitors the user Condor pool, does the matchmaking and requests glideins ● Factory a slave Configure Condor G.N. Submit node Frontend node Worker node Monitor Submit node Frontend Condor glidein Central manager Startd Match Globus Job Request glideins Factory node Condor glidein Execution node CREAM Factory glidein Execution node Submit glideins UCSD Jan 17th 2012 Frontend Internals 3
  • 4. Refresher - Cardinality ● N-to-M relationship ● Each Frontend can talk to many Factories ● Each Factory may serve many Frontends VO Frontend VO Frontend Glidein Factory Collector Schedd Negotiator Collector Startd Startd Schedd User job User job Negotiator Startd Glidein Factory User job UCSD Jan 17th 2012 Frontend Internals 4
  • 5. Frontend architecture ● The frontend is composed of: ● The Condor daemons ● The glideinWMS frontend proper ● Condor client – to talk to the factories ● Web server – deliver code and data to glideins + monitoring ● The glideinWMS frontend itself composed of: ● Group processes – do the real work ● Master frontend – controls the others and aggregates monitoring UCSD Jan 17th 2012 Frontend Internals 5
  • 6. Frontend arch - Picture Frontend Domain Factory Submit node Submit node Factory Central manager Frontend node Group Entry ... Group glidein Spawn Web Server Frontend UCSD Jan 17th 2012 Frontend Internals 6
  • 7. Condor processes ● Explained in enough detail in previous talk ● Will not repeat myself Central manager Collector Negotiator Submit node Submit node Submit node Schedd UCSD Jan 17th 2012 Frontend Internals 7
  • 8. Frontend processes ● Real work performed by Group process ● glideinFrontendElement.py ● One process x Group Frontend == Frontend Group in the rest of the talk ● They are controlled by master Frontend ● glideinFrontend.py ● Starts the other processes ● Aggregates monitoring UCSD Jan 17th 2012 Frontend Internals 8
  • 9. Frontend role ● The VO frontend is the brain of a glideinWMS-based pool ● Like a site-level “negotiator” VO domain Find Find Submit node idle jobs entries Monitor Submit node Frontend Condor Match Central manager Match Request Request glideins Factory node glideins Factory node UCSD Jan 17th 2012 Frontend Internals 9
  • 10. Reminder - Two level matchmaking ● The frontend triggers glidein submission ● The “regular” negotiator matches jobs to glideins Central manager glidein Execution node Collector CREAM glidein Execution node Negotiator Submit node Schedd glidein Execution node glidein Execution node Startd Globus Job Frontend Factory UCSD Jan 17th 2012 Frontend Internals 10
  • 11. Matchmaking logic ● The Frontend matchmaking policy is implemented centrally ● By the VO admin – not by the users ● It can use the attributes from both the job and Factory ClassAds ● Should be kept in sync with Negotiator policy ● Which is not centralized ● One way to define in the glidein START expression ● Unfortunately, one python expression other ClassAds UCSD Jan 17th 2012 Frontend Internals 11
  • 12. Example matchmaking logic ● Frontend job.has_key("DESIRED_Sites") && glidein["attrs"].get("GLIDEIN_Site") in job["DESIRED_Sites"].split(",") ● Negotiator (via glidein START) GLIDECLIENT_Start = stringListMember(GLIDEIN_Site, DESIRED_Sites,",")=?=True More details at http://tinyurl.com/glideinWMS/doc.prd/factory/custom_vars.html UCSD Jan 17th 2012 Frontend Internals 12
  • 13. Communication Protocol ● No listen sockets ● All communication one way (Frontend->Factory) ● Each Factory provides a Collector ● Communication based on ClassAds ● All security implemented in the Collector ● Use standard cmdline tools for communication ● condor_status and condor_advertise UCSD Jan 17th 2012 Frontend Internals 13
  • 14. Protocol sequence ● Polling loop ● Read Factory ClassAds from all factory Collectors ● Match against jobs ● Advertise own existence and requests ● Frontend sends 4 types of info ● Own identity ● Glidein submission regulation instructions ● Glidein parameters ● Pilot Proxy UCSD Jan 17th 2012 Frontend Internals 14
  • 15. Glidein submission regulation ● The glideinWMS glidein request logic is based on the principle on “constant pressure” ● Frontend Group requests a certain number of “idle glideins” in the factory queue at all times ● It does not request a specific number of glideins ● This is done due to the asynchronous nature of the system ● Both the factory entries and the frontend groups are in a polling loop and talk to each other indirectly UCSD Jan 17th 2012 Frontend Internals 15
  • 16. Glidein requests ● Frontend matches job attrs against entry attrs ● It then counts the matched idle jobs ● A fraction of this number becomes the “pressure requests” (up to 1/3) ● This number is then capped (~20) ● The attribute in the ClassAd is ReqIdleGlideins ● The Frontend also advertises ReqMaxRunningGlideins ● Emergency break UCSD Jan 17th 2012 Frontend Internals 16
  • 17. Scaling back ● The Frontend can also request that existing glideins in the Factory queues are removed ReqRemoveExcess ● NO – Default, never remove ● WAIT – Remove any glidein not yet at a site ● IDLE – Remove any glidein that has not started yet ● ALL – Remove all glideins ● Frontend pretty conservative ● Only requests removal if no user jobs in the queues UCSD Jan 17th 2012 Frontend Internals 17
  • 18. Parameters ● Frontend can send attributes to glideins: ● Dynamically – as parameter in the ClassAd ● Statically – as entry in a config file ● Attributes typically static ● Current Frontend implementation does not really have much support for dynamicity UCSD Jan 17th 2012 Frontend Internals 18
  • 19. Pilot proxy delegation ● Pilot proxy is encrypted with factory pub key ● Then published in the ClassAd ● Only owner of priv. key can decrypt it Frontend node Factory node Get key Use Frontend Collector proxy glidein Deliver proxy Entry Globus (encrypted) glidein ● However ● Must make sure we are talking to a trusted Factory! – not just anyone providing a pub key ● More details in a few slides UCSD Jan 17th 2012 Frontend Internals 19
  • 20. Pilot proxy selection ● A Frontend must have at least one pilot proxy ● But can have more than one ● Many proxies can be used for priority reasons ● When competing with non-pilot submission ● Want to have as many proxies as users served ● Proxy selection plugin based UCSD Jan 17th 2012 Frontend Internals 20
  • 21. Pilot proxy plugins ● Several standard plugins ● ProxyFirst – Only the first listed Most used ● ProxyAll – All listed ● ProxyUserCardinality – First N, with N=#users ● ProxyUserMapWRecycling – N, with pilot-to-user mapping ● VO admin could implemented his own, if desired UCSD Jan 17th 2012 Frontend Internals 21
  • 22. Factory ClassAd UCSD Jan 17th 2012 Frontend Internals 22
  • 23. Frontend ClassAd UCSD Jan 17th 2012 Frontend Internals 23
  • 24. Security - Authorization Authentication based ● Mutual authorization on GSI/x509 ● The frontend admin decides Frontend node which Factories to talk to ● The factory admin decides Frontend which Frontends to serve ● Based on x509 Dns ● Both sides have whitelists Factory node Factory node Collector Frontend node Collector Factory Frontend Factory Frontend needs a service proxy UCSD Jan 17th 2012 Frontend Internals 24
  • 25. Trusting the factory key ● It is all just ClassAds! ● Anyone can publish a ClassAd and declare to be a factory ● However, Factory Collector knows who published it ● And advertises it as the attribute AuthenticatedIdentity ● Cannot be faked by the client a3 ● Frontend has a whitelist b3 c3 of trusted factories ID3 Frontend Collector Frontend a1 a2 b1 b2 c1 c2 ID1 ID2 Factory UCSD Jan 17th 2012 Frontend Internals 25
  • 26. Security handles ● As we said, mutual authentication with Factory ● Frontend provides (and Factory whitelists) One set ● Service Proxy to talk to Factory Collector for whole Frontend ● Frontend Security name (all Groups) ● Proxy Security Class One per pilot proxy ● Frontend whitelists (obtained from Factory admins) ● Factory Collector DN ● Own mapping @Factory One set per factory collector ● Factory mapping @Factory UCSD Jan 17th 2012 Frontend Internals 26
  • 27. Security within the VO domain ● Frontend process, Collector and schedds often not on the same node ● Need network security Could be even over WAN ● All processes must CMS setup has nodes in CA, IL and Europe whitelist each other ● Again, GSI based Schedd Monitor Schedd Frontend Condor Collector/Negotiator UCSD Jan 17th 2012 Frontend Internals 27
  • 28. THE END UCSD Jan 17th 2012 Frontend Internals 28
  • 29. Pointers ● The official project Web page is http://tinyurl.com/glideinWMS ● glideinWMS development team is reachable at glideinwms-support@fnal.gov ● OSG glidein factory at UCSD http://hepuser.ucsd.edu/twiki2/bin/view/UCSDTier2/OSGgfactory http://glidein-1.t2.ucsd.edu:8319/glidefactory/monitor/glidein_Production_v4_1/factoryStatus.html UCSD Jan 17th 2012 Frontend Internals 29
  • 30. Acknowledgments ● The glideinWMS is a CMS-led project developed mostly at FNAL, with contributions from UCSD and ISI ● The glideinWMS factory operations at UCSD is sponsored by OSG ● The funding comes from NSF, DOE and the UC system UCSD Jan 17th 2012 Frontend Internals 30