320 likes | 480 Views
SISA CSL Omni-OS Project ER1 Report June 2011. Flexible Computing. Flexible computing is future system SW technology that enables devices to utilize internal and external resources very flexibly. Paradigm Shift. Proactive Cloud Computing. Flexible Computing. Self-adaptive OS.
E N D
Flexible Computing Flexible computing is future system SW technology that enables devices to utilize internal and external resources very flexibly Paradigm Shift Proactive Cloud Computing Flexible Computing Self-adaptive OS Trillion devices connectivity rapid faults propagation Server Various service requirements Diverse HWform factors Thin Entertainment Server Phone Healthcare Data Center Device manycore Flexible management of OS resources Computing resource utilization Extension of available resources Flexible Computing Future OS that forms itself dynamically according to the future HW, service characteristics, and security requirements to provide optimum computing environments Future cloud computing that is running active utilization and autonomous management of 3-tier (sensors-cloudlet-clouds) distributedresources on smart object Innovation on internal/external resource management ’20 Web Computing Web-centric Infra ’10 Client-Server Server-centric ’01
SAIT Future-OS Self-Adaptive OS Parallel Core Scaling Multicore & Manycore FLEXIBILITY Time Criticality Differentiated QoS Adaptive Resource Management Scalability Hyper-connectivity and Pervasive Computing Heterogeneous Devices Active Security Adaptation Exponential Open Source Usage Fault Isolation GENODE LABS
Driving Technology Trends We are basing our need for a new Operating Systems on a number of statistically evident technology trends; however, we are also trying to “leap-frog” the competition with innovative NEW OS TECHNOLOGY REQUIRED SUCCESS OF EXISTING OS TECHNOLOGY SAIT FUTURE-OS TREND X TREND Y TREND Z TIME today
Driving Technology Trends: Cause • Multicore trends continue as the main performance growth opportunity • Challenges in s/w and programmability remain dominant • Heterogeneous (compute + energy) cores beginning to appear in the market(e.g., Marvel Armada 268) Parallel Core Scaling Continuing shift to multicore and manycore
Limitations of Existing Monolithic OS Designs * Data collected at SISA showing the proportion of time spent in the Linux kernel by various off-the-shelf multi-core benchmarking applications (ParSec/Princeton University) – lock contention is the main culprit for this • Monolithic kernels do not scale well because of the “centralized” design of system services • Linux 2.6.30 improved SMP locking on the memory system, but other big locks still exist • Manycore access to these centralized services is controlled through kernel “big locks” • H/W architectures have evolved to a distributed de-centralized approach (e.g., multi-cores, h/w multi-threading, multiple memory controllers, switched interconnects)
Driving Technology Trends: Effect Exponential Hardware Growth H/W performance and capacity characteristics continue to grow at an exponential rate Manycore Scalability Scalable performance through effective resource management • Monolithic kernels do not scale well because of the “centralized” design of system services such as memory allocation and paging • Multi-core access to these centralized services is controlled through kernel “big locks” • H/W architectures have evolved to a distributed de-centralized approach (e.g., multi-cores, h/w multi-threading, multiple memory controllers, switched interconnects) Data collected at SISA showing the proportion of time spent in the Linux kernel by various off-the-shelf multi-core benchmarking applications (ParSec/Princeton University) – lock contention is the main culprit for this
Driving Technology Trends: Cause Exponential Open Source Usage Massive open source efforts are leading to code bases with hundreds of millions of lines of code • Availability and use of open source software is growing at a fast pace • Worldwide revenue from open source software (OSS) will grow at a 22.4% compound annual growth rate (CAGR) to reach $8.1 billion by 2013 – IDC report 2009 • The Linux kernel alone has now reached 13 million lines of code and receives – Linux Foundation 2010 • The Debian Linux distribution has increased by 269 Million SLOCs in less than a decade
Driving Technology Trends: Effect Exponential Open Source Usage Massive open source efforts are leading to code bases with hundreds of millions of lines of code – ensuring reliability is increasingly difficult Fault Isolation Robustness of integrated third-party software • As a software code base increases in size and the community of developers increases software fault turnover becomes constant at best • The Linux kernel is patched 5 times per hour – report from Linux Foundation 2011 • At a conservative estimate of 0.1 bugs/KLOC the Debian Linux distribution has 26,000 bugs! • Although maturity and improved development processes has reduced fault density in the Linux kernel, the total number of faults has not decreased • Elimination of all software faults is not viable – fault isolation must be built-in throughout the stack
Driving Technology Trends: Cause Hyper-connectivity and Pervasive Computing Explosion of Internet enabled devices and global device connectivity • The number of devices connected to IP networks will be twice as high as the global population in 2015. There will be two networked devices per capita in 2015, up from one networked device per capita in 2010. • A growing amount of Internet traffic is originating with non-PC devices. In 2010, only 3 percent of consumer Internet traffic originated with non-PC devices, but by 2015 the non-PC share of consumer Internet traffic will grow to 13 percent. • By 2015 the annual run rate of global IP traffic will reach the zettabyte threshold. • *source Cisco VNI Report, June 2011 Traffic Type Growth - Cisco VNI Report Global IP Traffic Growth - Cisco VNI Report
Driving Technology Trends: Effect Hyper-connectivity and Pervasive Computing The need for Internet-enabled devices communications across a wide range of wireless and wired technologies Active Security Addressing an increasing number cyber-threats • Software security is a significant requirement of any future OS design • Active security must be built-in throughout the software stack - application-specific Trusted Code Bases
Driving Technology Trends: Cause Hyper-connectivity and Pervasive Computing Explosion of Internet enabled devices and global device connectivity Cyber-Physical Computing Mainframe Computing Ubiquitous Computing Desktop Computing Actuators E-Vehicle Computing • Transportation • Healthcare • Smart Building • Agriculture • Defense Robot Netbook SmartPhone Desktop Computer Mainframe FutureHandheld Sensors De-centralization • Proliferation of networked embedded devices (compute + sensors + actuators) • Systemic convergence of cyber elements and physical elements Cyber Physical Systems (CPS) • A new Moore’s law: scaling is not in the number of transistors per chip, but in the number of interconnected devices • Proliferation of mobile devices • Web connectivity • Anywhere access through Web and Cloud infra • A large computer and multi-user to execute big data processing applications • One computer at every desk • Personalization 1970 1990 2010 2020 OS Desktop OS Mobile Web OS Future OS • Mainframe OS
Driving Technology Trends: Cause Time CriticalityLow-latency and QoS sensitivity in user-experience and cyber-physical applications. THROUGHPUT ORIENTED TIME CRITICAL • As consumer device feature sets increase the need to support low-latency and QoS sensitivity becomes paramount • Future business areas within the domain of cyber-physical systems will require time critical applications to be co-located with throughput oriented applications 2005 2020
Driving Technology Trends: Effect Time CriticalityLow-latency and QoS sensitivity in user-experience and cyber-physical applications. Differentiated QoS Support for multi-role criticalities Time Division for Web Applications • Low-latency is becoming increasingly critical to user experience; throughput is becoming less useful • Experimental data indicates that the end-system is increasingly the main contributor to end-to-end latency – made worse by “instant feedback” paradigm such as Google Instant • As devices move to perform roles in a cyber-physical role the need to manage QoS becomes critical for real-time sensor/actuator processing and data aggregation Distribution of Time Spent in HTML Client * Re-runs of experiments from book “High Performance Web Sites” http://www.webperformancetoday.com/category/research/
Driving Trends Omni-OS will build new Operating System technology to meet the scalability needs of future on-chip and off-chip manycore processors Segregating Multi-core Micro-Kernel KEY SOLUTIONCOMPONENTS FUTURE CAPABILITIES Intrinsic Resource Management Parallel Core Scaling Continuing shift to multicore architectures with 100+ cores now viable in certain contexts Multicore & Manycore Transparent Distributed Processing Time Criticality Low-latency and QoS sensitivity in user-experience and cyber-physical applications Differentiated QoS Scalability Hyper-connectivity and Pervasive Computing Explosion of Internet enabled devices and global device connectivity Heterogeneous Devices Integrated Programming Model
Key Components of Omni-OS Project Distribution of OS services and isolation across core(s) partitions. Extend existing L4 micro-kernel technology (Fiasco.OC) to support isolation of kernel services (scheduling, IPC, memory management) across separate cores. Key enhancements to support distributed physical memory management and per-core/partition based scheduling policies. Segregating Multi-core Micro-Kernel Multicore & Manycore Differentiated QoS Admission control throughout the software stack. Work with Genode Labs GmbH to develop the Bastei architecture to provide intrinsic resource management and admission for on-chip and off-chip distributed resources including processing cores (spatial and temporal), timer interrupts, memory controllers and OS services. Intrinsic Resource Management Heterogeneous Devices Integration of distributed shared virtual memory with migration of threads across loosely coupled nodes. Extend microkernel IPC architecture to support transparent OS and application service invocation across teams-of-kernels. Develop a transparent distributed shared memory model and ‘virtual process’ concept to allow elastic execution (i.e., thread migration) across available resources. Transparent Distributed Processing Projection of OS services and resource management model into parallel programming models. Extend SNAPPLE and MultiMLton (Purdue University) technology to allow rapid development of concurrent applications that can be transparently deployed across multiple on-chip and off-chip core and will actively adapt to changing resource and contextual conditions. Integrated Programming Model
Key Innovations • Partitioned Scheduling • Core-separated 3-level Memory Management • Dynamic Scheduling Interrupt Reconfiguration Segregating Multi-core Micro-Kernel • Application-specific Trusted Computing Base • Trading and Tracking of Physical Resources • Co-existing Eager and Lazy Allocation Models • Para-virtualized Linux Integration Intrinsic Resource Management • Off-chip Team-of-Kernels • Distributed Virtual Processes and Coherent Shared Memory • Adaptive Off-chip Thread Migration • Single System Image Transparent Distributed Processing Integrated Programming Model • Dynamic Lock Coalescing • Page-Protection of Complex Data Types • Language Abstractions for Non-functional Specification
Innovations Partitioned Scheduling Current Fiasco.OC microkernel only supports a single scheduling policy for all cores. Omni-OS improves this by allowing different cores (and core partitions) to be scheduled with different policies. The system (e.g., IO APIC) are configured depending on admitted applications. Segregating Multi-core Micro-Kernel Periodic WFQ RR Core 3 Core 0 Core 1 Core 2 OMNI-0S Existing OS Core-separated Memory Management Memory management is a critical function of the operating system. Traditionally memory is managed in shared data structures in the kernel. Omni-OS will allow full distribution of paging, virtual page allocation, and physical page allocation whilst minimizing dependencies across cores (e.g., IPI) App App App App Core 0 Core 1 Core 0 Core 1 Virtual Virtual Virtual Paging Paging Paging Physical Physical Physical H/W H/W H/W H/W
Innovations Application-specific Trusted Computing Bases Genode (and OmniOS) tailors the trusted computing base for each application individually. Applications and services are hierarchicallyarranged and service requests routed accordingly Intrinsic Resource Management Trading and Tracking of Physical Resources The majority of current operating systems try to hide the fact that physical resources such as memory, network bandwidth, or graphics bandwidth are limited. This approach sacrifices deterministic behavior. Omni-OS requires (secure) admission control of system resource such as CPU, memory, network and services. Each parent in the Genode tree trades resources with its children. Clients pass resource to servers to perform work on their behalf – this avoids potential for Denial-of-Service. Physical resources get correctly accounted at all times. Virtualization-Enabled Application Capability Omni-OS provides a technology transition path through Linux para-virtualization support and support for native wrapping of device drivers from Linux and PGXE environments. Security and resource models can be applied to virtualized OS environments. GENODE LABS
Innovations Distributed Virtual Processes Omni-OS allows “vanilla” multi-threaded applications (including those based on SNAPPLE) to be transparently run on multiple non-coherent memory nodes – e.g., networked nodes as well as non-coherent manycore such as Intel Single-chip Cloud Computing (SCC). Our solution will support distributed coherency across flex-pages (pages sized 2N), NUMA-awareness and other optimization techniques to increase performance. Transparent Distributed Processing Team of Kernels and Distributed OS Services Omni-OS extends the conventional micro-kernel IPC-based invocation of OS services (server) to support transparent off-kernel rerouting to services that are running on other nodes. Dynamic routing to services according to QoS requirements and resource availability will also be supported. In the longer-term we expect to allow dynamic migration of OS components across the network.
Innovations Parallel Language Integration We are continuing to develop Samsung’s SNAPPLE programming language, compiler and run-time to support Omni-OS. We are extending the language to support non-functional requirements such as energy quota. We are also integrating Purdue’s multiMLton a concurrent ML implementation. Integrated Programming Model shared intx,y; finish { async { x++; x++; } async { atomic { x++; y++; } } } Dynamic Lock Coalescing Spin-locks are used to synchronize access to shared basic type variables. The SNAPPLE compiler transparently instruments locking. Locks are coalesced or divided dynamically in response to contention pressure (via a modified spin-lock implementation). Loop iterations can also be used for coalescing – e.g., lock held for N-iterations before release. shared int x; finish { async { lock(x_); x++; int _coalesce = pressure(x_); if(!_coalesce) { unlock(x_); lock(x_); } x++; unlock(x_); } async { lock(x_); lock(y_); x++; lock(y_); lock(x_); } } Flex-Page Sharing of Complex Data Types Pointer-based data structures are inherently difficult to share safely. We propose to exploit Omni-OS’s flexible paging scheme to assure serialized access to shared data via h/w page fault interception. In x86 this involves exploiting the P-bit (present) to trigger page faults when other threads (on different cores) attempt to access a flex-page holding a shared data type.
Progress Segregating Multi-core Micro-Kernel Intrinsic Resource Management UNPLANNED Transparent Distributed Processing Integrated Programming Model
OS Technology Roadmap 2011 2012 2014 2015 2013 SCALING AND QOS Segregating Kernel Team of Kernels NUMA Aware & Platform Modeling L4Fiasco.OC/Genode SNAPPLE Compiler Data Locality-Aware Parallel Compiler Language-level QoS Specification TRANSPARENT DISTRIBUTED COMPUTING IPC-RPC Extensions Distributed Virtual Memory Automated Architecture &Platform Behavior Analysis Dynamic Multiprocessor Topology Management Single System Image Virtual Processes & Thread Migration I/O Migration VM-based PL Support HETEROGENEOUS PROCESSOR SUPPORT Off-chip Hetero. On-chip Heterogeneity Reconfigurable Processor Support Active Memory Two-stage Compilation GPU/SIMD Integration Integrated HW/SW Runtime Co-design Auto-tuning Energy-aware Resource Mgt Context-awareDynamic Configuration INTELLIGENT RUN-TIME Heuristic-based Optimizations Machine-learning Optimizations
Technology Roadmap Milestones 2013 2011 2012 2014 2015 Modular OS architecture,Crash-safe system architecture Adaptive scheduling framework, OS security module, OS live migration (between homogeneous devices) HVM support, Spec-based module compositionOS live migration (between hetero-devices) NVRAM support, context-aware module composition, self securing Formally verification of OS core modules, formal device driver synthesis Self-Adaptive OS Flexibility, Scalability Support Adaptability, Reliability Support Realtime/QoS, Security Distributed Support Manycore Scalable Kernel Architecture &Transparent Distributed Computing Off-chip Heterogeneous Processor Support & Language Level QoS Specification On-chip Heterogeneous Processor Support & Architecture-aware Optimizations Reconfigurable processor support. Intelligent run-times for energy & performance. Compositional verification. Integrated HW/SW co-design and OS factories.
Omni-OS Project Mission Statement “Develop new language and Operating System technologies to support differentiated Quality-of-Service for future on-chip and off-chip many-core platforms” Multi-core Parallel Programming Adaptive Locking Distributed Shared Memory Micro-kernel Fault-isolation Power Performance Adaptive Scheduling Resource Management Admission Control Heterogeneous Processors QoS Many-core Architecture-aware Optimizations SSI
Related Research Active Major Operating System Research Efforts Microsoft Research Cambridge Collaborations with ETH Zurich on Barrelfish OS – focus on future manycore systems; 7 key contributors . • Microsoft Research Redmond Work on Helios OS based on satellite kernel paradigm. Based on Singularity work. NUMA focus. MIT CSAIL • Factored OS (fos) project (started 2009). Focus on 1000+ manycore. Extending to cloud. 8 key contributors. Relates to manycore h/w efforts. UC Berkeley Tessellation OS as part of ParLab effort. Collaboration with LBNL. Active contributors ~5. Project started in 2008. OS expertise of contributors questionable. Focus on manycore scaling. OKLabs Spin-off from University of New South Wales / NICTA Australia. L4 based microkernel for mobile platforms. Significant funding from Nokia and Qualcomm. High level of expertiserecognized in the field (Prof. Heiser). Locked in to customer base for too radical shifts. ScaleMP Silicon Valley startup focusing on distributed SMP (vSMP) and transparent distributed processing on x86 platforms. Solution demands h/w constraints. Linux based. • Google ChromeOS project focusing on enhancing and extending Linux for Web-based applications and cloud-oriented platforms. Current focus on performance rather than scalability.
Convergence Trends Computing meets the real world FITVision2020 IDC 2008 • MP3 Player • Camera • TV, DMB • Healthcare • Computer • Electricity • Building • Smart TV MobileDevice Computation+Network+Sensors+Actuators Convergence 1.0 • Smart Oven • Vehicles Convergence on mobile device level Next Convergence (CPS) CE devices+Network • Smart Phone Convergence of cyber elements and physical elements 2020 2000 2010 Convergence 2.0 Convergence on the network level • Refrigerator
Broadening our Business Health Transportation Vehicle • Connected Healthcare • Robotic Surgery • Smart Car • Near-zero Traffic Congestion • Smart Highway Building Robotics Power • Smart Building • Human Augmentation • Home Robot • Smart Grid Defense Agriculture • Defense System • Smart Gardening