140 likes | 162 Views
HSA Reusability Issues. “Appliance” Functions. ECS. Accept & validate orders from ECS Schedule order execution Order input data from ECS Process data Deliver results to ECS Order status and control (optional). Queue. SAM. HSA. Input. Output. ECS. Scheduling & Resource Management.
E N D
“Appliance” Functions ECS • Accept & validate orders from ECS • Schedule order execution • Order input data from ECS • Process data • Deliver results to ECS • Order status and control (optional) Queue SAM HSA Input Output ECS
Scheduling & Resource Management • “Disk space” is the only managed resource • T-REX rejects overlarge orders (too big to ever be processed) • FETCH manages input and output space • T-REX asks FETCH if there’s enough space to start an order now • If there’s not enough space, the order is bypassed and priority is incremented • If a new appliance requires additional resources to be managed, much of HSA will have to be rewritten
Accept & Validate Orders ECS • Handled by T-REX • Most likely reusable: • ECS interface • Order queue management • HEW-Specific: • Validation criteria • Status recording T-REX Queue SAM Input Output ECS
Schedule Order Execution ECS • Handled by T-REX & FETCH • Most likely reusable: • T-REX/FETCH interface • HEW-specific: • Restart/recovery mechanism T-REX & FETCH Queue SAM Input Output ECS
Order Data from ECS ECS • Handled by FETCH • Most likely reusable: • ECS interface • Disk resource management Queue SAM FETCH Input Output ECS
Process Data ECS • Handled by REX/HEW • Most likely reusable: • External interfaces to other components • HEW-specific: • REX/HEW interface • HEW Queue SAM REX & HEW Input Output ECS
REX/Appliance Details FETCH T-REX RALPH • REX’s job is to sequence operations • Accepts orders from T-REX • Orders data via FETCH • Invokes appliance • Delivers data via RALPH • Provides status to T-REX as needed REX Appliance Input Output
Deliver Results to ECS ECS • Handled by RALPH • Most likely reusable: • RALPH/ECS interface if ECS distribution is desired • REX/RALPH interface • FETCH/RALPH interface • May require changes: • If other delivery mechanisms required Queue SAM Input RALPH Output ECS
Order Status and Control ECS • Handled by SAM • Most likely reusable: • Interface mechanism • Status messages • HEW-specific: • Control messages • Operator interface T-REX Queue SAM FETCH Input RALPH Output ECS
Adding New Appliances • UAH tasks • Identify components that need to be changed • Document components and interfaces • DAAC tasks • Replace validation code in T-REX • Replace REX/HEW interface • Plug in new appliance • UAH should work with DAACs to • Provide technical support on HSA software • Update HSA software based on lessons learned to make adaptation process easier next time
ECS uses registry to select service Each service runs on a separate system or in a separate account Each service has a unique copy of T-REX FETCH, and RALPH Disk space is dedicated to each service Multiple Appliances Option #1 User request ECS Registry T-REX T-REX REX+ REX+ Input Output Input Output FETCH RALPH FETCH RALPH
ECS uses registry to select service Multiple services run on same system in same account Separate T-REXs Common FETCH and RALPH Disk space is shared Difficult to implement: Changes required in T-REX, FETCH, & RALPH Multiple Appliances Option #2 User request ECS Registry T-REX T-REX REX+ REX+ Input Output FETCH RALPH
ECS uses registry to augment order with service information Single T-REX uses order info to route orders to REXes Single FETCH and RALPH handle I/O Disk space is shared Multiple Appliances Option #3 User request ECS Registry T-REX REX+ REX+ Input Output FETCH RALPH