160 likes | 304 Views
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
E N D
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 Architecture Modified 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
S(o)OS project • Dealing with the scenarios in the middleware design • http://www.soos-project.eu/ • 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