140 likes | 164 Views
Explore reusability issues, functions, and resource management in handling ECS orders and appliances. Learn about managing disk space, validating orders, scheduling executions, and delivering results effectively. Discover how to add new appliances seamlessly and improve adaptation processes.
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