Resource Fabrics: The Next Level of Grids and Clouds Lei Shi
Introduction Clouds and multi-core processors make concurrent compute units available for the average user ▫Cloud systems: server-like machines over internet ▫Multi-core machines: locally available Scale ▫Cloud systems: perform scale by replication ▫Multi-core machines: scaling vertically across the resources Context ▫HPC: dealing with execution of one process per core ▫Desktop App: concurrent execution and time-sharing
Introduction Distributed system ▫Service /App execute consists of multiple resources connected via comm or msg link ▫Clouds and multi-core diff on capabilities Exploit remote resources as if local ▫Operating system and programming model ▫Resource fabric
New Architecture Multi-core processors, clusters, clouds and grids ▫Integrate compute units over a communication link ▫Multi-core: low latency ▫Clouds and grid: intra/internet with high latency Latency Invocations
New Architecture Interactive applications sensible to latency ▫Word processor: >0.1 second is non-reactive ▫Browsers: more tolerant Different resource types ▫Distinguish between connectivity ▫Connects any amount of von Neumann like units New architecture from programming perspective ▫Move I/O closer to processing unit ▫Dedicated I/O between PU and MU
Modified von Neumann Architecture Typical ArchitectureModified Architecture
New Data Management Model Data generation, exchange and storage ▫Time-consuming ▫Need to be managed in a more intelligent fashion Use frequency ▫Auto space request and dynamic track Data replication ▫Increase locality and availability Mapping data sets into physical devices without affecting applications
The Structure of Applications Indicator for its distributability Runtime behavior provides more information about the potential code distribution ▫Invocations: functionality not communication driven Run-time analysis ▫Produce dependency graph
The Structure of Applications C2: for (int i = 0; i < 4; i++) a[i] = 0;C2: for (int i = 1; i < 3; i++) a[i] = a[i-1] * 2;
The Structure of Applications To increase the execution performance ▫Strength of relationship ▫Size of code block ▫Size of data Extract segments ▫Good cutting point ▫Fewer accesses
Lifecycle of Applications Information acquire at runtime ▫Distribution information may change ▫Analysis of application behavior ▫Identification of appropriate resources ▫Distribution and adaptation of code and data ▫Execution and runtime analysis ▫Information storing
Middleware for Resource Fabrics Virtual environment needed ▫Capture memory access and so on ▫Virtual memory management Distributed Execution ▫Segments form workflow respects to Availability of resources in principle Minimizing execution time Data Maintenance ▫Preemptive distribution ▫Context switch ▫On demand
Middleware for Resource Fabrics
S(o)OS project Dealing with the scenarios in the middleware design ▫ ▫Distributed microkernel instances fit into local memory of a compute unit ▫Local instances only deal with communication and virtual memory management
Reference Beyond Clouds – Towards Real Utility Computing M. Assel et al. Service-Oriented Operating Systems: Future Workspaces L. Schubert et al. Cloud Computing Expert Working Group Report: The Future of Cloud Computing Resource Fabrics: The Next Level of Grids and Clouds S. Wesner et al.
Thank you Q & A