Torre ===== - Authenticate (Authentication) - DATA SELECTION (VDC) - Optional - Query or - Dataset Selection (DS Catalog) - Start Session - Establish Slave/server config - data placement decisions on staging & replication in light of policies and cost (RMS: data mover, RLS, estimator) - Resource Broker for CPU assign in light of placement, interactive requirements (RB: resource discovery, matchmaker, resource reservation) (job capabilities) - or define own config (static config file) - or (abstract job submit) - Availability/Cost Evaluation (estimator) - Decision to launch, reconfigure and launch - Launch masters & slaves [concrete interactive job submit] - Slave communication for config [Control/Communication] - ESTABLISH TASK - Application, algorithms, configuration (VDC) - Data selection - redo CPU allocation - Initiate Task - SOftware Setup (Software Installer) - Execute (Job control) - Generate Cost Estimate based on Execution (Estimator) - Job status (Job status) - Communication & control (Communication/control) - Reduce event count - Monitoring, Statistics - Early Termination - Intermediate results - New/modified CPU allocation (Abstract job submit) - Logging/metadata->catalogs (Metadata) - Task Complete - cleanup - merging statistical, bulk data - data return, archiving, cataloging (RMS) - Task End - Task Save, Session Save (Metadata) ==> LOOP to ESTABLISH TASK or ==> LOOP TO DATA SELECTION Additional tasks: - scan list of events - define, launch new selection in batch - launch re-reco on sample - save dataset locally - save objects with their provenance Harvey ====== 1) Auth, Author, Allocation [Quota, Priority = f(Location), Placement Profile] 2) Data Selection => RLS 3) Start Session => "allocate" CPU [choose best location,do I need to form collection, do I need to tr... &/or serialize, ... to data] 4) Data Placement [where CPU is, where there's room, where I'm supposed to access and/or process data] 2-4) needs to correlate CPU and data ... need to use policies in deciding.