RGF M.S. Thesis Presentaton 12/011 Reduced Development Costs in the Operating System.

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

Threads, SMP, and Microkernels
An Overview Of Windows NT System Student: Yifan Yang Student ID:
More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
14 Macintosh OS X Internals. © 2005 Pearson Addison-Wesley. All rights reserved The Macintosh Platform 1984 – first affordable GUI Based on Motorola 32-bit.
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Chap 2 System Structures.
Serverless Network File Systems. Network File Systems Allow sharing among independent file systems in a transparent manner Mounting a remote directory.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Using DSVM to Implement a Distributed File System Ramon Lawrence Dept. of Computer Science
DISTRIBUTED CONSISTENCY MANAGEMENT IN A SINGLE ADDRESS SPACE DISTRIBUTED OPERATING SYSTEM Sombrero.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
1 CS 333 Introduction to Operating Systems Class 2 – OS-Related Hardware & Software The Process Concept Jonathan Walpole Computer Science Portland State.
Chapter 11 Operating Systems
Common System Components
Threads, SMP, and Microkernels
Object Based Operating Systems1 Learning Objectives Object Orientation and its benefits Controversy over object based operating systems Object based operating.
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
PRASHANTHI NARAYAN NETTEM.
Operating System Structure and Processor Architecture for a Large Distributed Single Address Space Alan C. SkousenDonald S. Miller Computer Science and.
ASU 64-bit OS Group7/15/ Effects of the Single Address Space Paradigm on CPU and OS Design for a Distributed Computer System Donald S. Miller.
1 Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska and Henry M. Levy Presented by: Karthika Kothapally.
Processes Part I Processes & Threads* *Referred to slides by Dr. Sanjeev Setia at George Mason University Chapter 3.
Presentation by Betsy Kavali
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
April 2000Dr Milan Simic1 Network Operating Systems Windows NT.
Windows 2000 Course Summary Computing Department, Lancaster University, UK.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
Supporting Multi-Processors Bernard Wong February 17, 2003.
Ch 10 Shared memory via message passing Problems –Explicit user action needed –Address spaces are distinct –Small Granularity of Transfer Distributed Shared.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
The Mach System Abraham Silberschatz, Peter Baer Galvin, Greg Gagne Presentation By: Agnimitra Roy.
1 Choices “Our object-oriented system architecture embodies the notion of customizing operating systems to tailor them to support particular hardware configuration.
CS533 - Concepts of Operating Systems 1 The Mach System Presented by Catherine Vilhauer.
Distributed System Concepts and Architectures Services
Interprocess Communications Continued Andy Wang COP 5611 Advanced Operating Systems.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
M. Accetta, R. Baron, W. Bolosky, D. Golub, R. Rashid, A. Tevanian, and M. Young MACH: A New Kernel Foundation for UNIX Development Presenter: Wei-Lwun.
The Mach System Silberschatz et al Presented By Anjana Venkat.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
Background Computer System Architectures Computer System Software.
Region-Based Software Distributed Shared Memory Song Li, Yu Lin, and Michael Walker CS Operating Systems May 1, 2000.
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Introduction to Operating Systems Concepts
Chapter 3: Windows7 Part 5.
Module 3: Operating-System Structures
Chapter 3: Process Concept
The Mach System Sri Ramkrishna.
CS533 Concepts of Operating Systems
Operating System Structure
Unit OS2: Operating System Principles
CS490 Windows Internals Quiz 2 09/27/2013.
KERNEL ARCHITECTURE.
Chapter 3: Windows7 Part 5.
Chapter 4: Threads.
Chapter 4: Threads.
Chapter 2: System Structures
Outline Midterm results summary Distributed file systems – continued
Threads Chapter 4.
CHAPTER 4:THreads Bashair Al-harthi OPERATING SYSTEM
Introduction to Operating Systems
Prof. Leonardo Mostarda University of Camerino
Outline Operating System Organization Operating System Examples
Presentation transcript:

RGF M.S. Thesis Presentaton 12/011 Reduced Development Costs in the Operating System

RGF M.S. Thesis Presentaton 12/012 Outline Premise of thesis Results obtained Sample project What is a single address space What is a Single Address Space Operating System (SASOS) What is Sombrero – Features and services – Services used in project What is a Multiple Address Space Operating System (MASOS) – Overview – Services used in project Compare Sombrero services to Windows 2000 services Why costs are reduced under Sombrero Metric selection criteria Test Environment – Execution – Metrics Results – Metrics – Other factors Conclusions Questions

RGF M.S. Thesis Presentaton 12/013 Premise We believe that the Sombrero operating system can lead to significant cost savings over the software lifecycle – A result of Sombrero’s architecture is a simplified development environment Powerful system abstractions are transparent to the developer Allows programmer to concentrate on application not the system

RGF M.S. Thesis Presentaton 12/014Results Halstead Program Effort Halstead Bug Prediction McCabeLOCBasic COCOMO Windows Phase 12,637, Phase 24,287, Phase 34,420, Phase 46,204, DSM4,987, Sombrero Phase 11,025, Phase 21,084, Phase 31,135, Phase 41,135,

RGF M.S. Thesis Presentaton 12/015 Sample Project Why a simple DBS for a project? – Needed to embody system services to demonstrate the differences between MASOS and SASOS API. – DBS was something that can be identified with. Why four phases? – Allows us to measure how the application features affect complexity.

RGF M.S. Thesis Presentaton 12/016 4 Phases of Functionality Phase 1 – Simple DBS class – Single threaded – Linked directly to client, no IPC required – Requires exclusive access to dataset No sharing

RGF M.S. Thesis Presentaton 12/017 4 Phases of Functionality (Windows 2000 View) Phase 2 – Multiple clients – Client - Server paradigm Server supports multiple clients –Single threaded –Allows multiple clients to access the same dataset Execution is serialized

RGF M.S. Thesis Presentaton 12/018 4 Phases of Functionality (Windows 2000 View) Phase 3 – Multithreading – Multiple clients – Multi-threaded servers Locking algorithm

RGF M.S. Thesis Presentaton 12/019 4 Phases of Functionality (Windows 2000 View) Phase 4 – Distribution and Load Balancing – Read operations round robin – Data must stay consistent across multiple servers Write operations can be load balanced with DSM

RGF M.S. Thesis Presentaton 12/0110 What is a Single Address Space Virtual addresses can be permanently and uniquely bound to all code and data objects – VA can serve as unique names – VA space can serve as the only namespace The virtual address namespace spans all levels of the storage hierarchy on every node – All physical storage can be viewed as a hierarchy of caches for the contents of virtual addresses

RGF M.S. Thesis Presentaton 12/0111 What is a Single Address Space Operating System (SASOS) Address translations remain the same for all programs Threads are free to travel throughout the VA space with no changes in the environment in which they are running in except for protection context Network-wide communication requires no prior or additional setup Internal pointers and pointers into other objects remain the same across all levels of storage and all programs Persistence can be obtained without the use of a separate file system Protection by restricting what a computation is allowed to access rather than what it is allowed to address – managing IPC is reduced to managing protection

RGF M.S. Thesis Presentaton 12/0112 What is Sombrero SASOS design that includes special purpose protection hardware – Only one privilege mode System architecture can be flat and modular - OS services, environment servers and user programs accessible to each other via ordinary procedure calls OOD and OOP can be directly supported - an object class can be implemented directly as a protection domain and a server as an instantiation of the class

RGF M.S. Thesis Presentaton 12/0113 What is Sombrero (Cont.) The common VA space enables simple scaleable per- object copy set replication and consistency management – Pointers have the same meaning to all threads of execution on the network. Object granularity can be independent of page granularity Clean separation of OS support for protection implementation; user definition of protection policy is simple – O/S provides services by granting permissions to access specific interfaces

RGF M.S. Thesis Presentaton 12/0114 Additional Sombrero Features Persistence Thread and Data Migration Data Replication Passive Servers Load Balancing Data Replication

RGF M.S. Thesis Presentaton 12/0115 Persistence The Virtual address namespace spans all levels of the storage hierarchy on every node – All physical storage can be viewed as a hierarchy of caches for the contents of virtual addresses – Lowest layer of hierarchy is non-volatile Persistence without use of a separate file system – Traditional file systems are still available but not required Instantiation of objects (code, thread state and data) can persist without a thread of execution. – All code and data created by allocate and “new” persists for the life of the parent object – Objects created at the command line with “new” persist until explicitly deleted. NOTE: This is key for creating passive servers Persistent code and data have the same VA on all nodes – H/W protection mechanism provides access control

RGF M.S. Thesis Presentaton 12/0116 Thread / Data Migration Thread Migration: Threads are free to travel throughout the network as thread context (stack, virtual addresses and pointers) remain the same. – Threads can be scheduled to run anywhere on the network; network nodes appear like CPUs in a multiprocessor. Data Migration: Data can be transparently replicated throughout the network for performance or availability. – Data can migrate to a thread of execution for performance – The location of data is transparent to the user

RGF M.S. Thesis Presentaton 12/0117 Data Replication – Datasets can be transparently replicated for availability or performance

RGF M.S. Thesis Presentaton 12/0118 Passive Server Important Sombrero feature A passive server is an object (instantiation of a class) that persists but without any threads of execution – All passive server code and data persist until the object is destroyed – Passive servers are accessed by client threads of execution via a proxy class Looks like standard pointer to an object Services supplied to clients via local subroutine call – Passive server threads are supplied by the client when the client accesses the server’s methods Passive server is animated by the client’s thread of execution Client thread migrates to passive server Passive server objects can be created using the Sombrero “new()” service at a command line

RGF M.S. Thesis Presentaton 12/0119 Sombrero Versus SASOS’ That Use Stock RISC Processors Sombrero H/W based SASOS does not have legacy features of stock CPU based SASOS – Object grained protection mechanisms Native support for OOD and OOP – Improved program development environment Sombrero applications do not have to manage capabilities – protection provided by hardware Greater performance Better support for distributed applications

RGF M.S. Thesis Presentaton 12/0120 Sombrero Services Used In Sample Application Create persistent object – New form of “new” accessible from the command line Required to create passive server Allocate – Allocates virtual memory – Similar to malloc with file open semantics – Can define replication and duplication for object

RGF M.S. Thesis Presentaton 12/0121 Simplification of Complex Services Persistence, single VA, and thread & data migration allow additional abstractions that simplifies the development environment. – Passive servers are written as single threaded applications but multithread by default. Locking semantics must be included to protect critical sections. Load balancing, distribution and fault tolerance – The Sombrero scheduler can migrate threads or data transparently. Thus execution can be distributed across all nodes as needed. – Forced data and code distribution by passing a parameter to new() or allocate(). – Sombrero manages scheduling and data consistency.

RGF M.S. Thesis Presentaton 12/0122 What is a MASOS Multiple Address Space Operating System – Process oriented – Multiple domains – Multiple namespaces

RGF M.S. Thesis Presentaton 12/0123 Basic WIN32 API Services File Operations – Required to save dataset status – Required for mapping datasets into VM Memory Mapping – Required to access dataset as memory IPC – TCP/IP is used to pass message between client and server Threads / Synchronization – Standard thread and synchronization primitives where used

RGF M.S. Thesis Presentaton 12/0124 Required Additional Windows Services Mapped Memory Management – Manage VM when mapped data is larger than address spaces – Swizzle pointers Messaging – Setup client / server communications – Compose / interpret messages Data Distribution – Duplicate messages to multiple server to keep data consistent Load balancing – Send DBS requests round-robin to set of duplicated servers Threads – Create a thread dispatcher in the server to create worker threads

RGF M.S. Thesis Presentaton 12/0125 Mapped Memory Management Disk based data file (over 32 bits in size) 32 bit Virtual address space 196KB (0x111000) view mapped into VM Addresses in the data’s namespace 0xFFFFFFFF 0x x4000 0x Addresses in VM’s namespace 0x1000 0x Mapped Memory Management – Dataset is larger than VM – Multiple namespaces for the same data

RGF M.S. Thesis Presentaton 12/0126 Message Passing Mechanism to move data from one namespace to another Must agree on protocol/formats Sender must compose messages Reader must interpret messages

RGF M.S. Thesis Presentaton 12/0127 Windows 2000 Services Mapped to Sombrero Windows 2000 Mapped Memory / Memory Mgt / Swizzling IPC / Message passing Multithreaded Server Data replication / distribution Load balancing Sombrero Single Persistent VA Passive server* Passive Server** New() / Allocate() Sombrero scheduler **No message passing required. **No explicit code required to enable multithreading. Only code required is to protect critical sections.

RGF M.S. Thesis Presentaton 12/0128 Why Costs are Reduced Under Sombrero No message passing – Passive server supplies services via local subroutine call Single persistent name space – No translations between namespaces No pointer swizzling No memory mapped data – Data is always available at the same address – Native support for OOD and OOP Complex services now transparent – Distribution – Replication – Fault tolerance

RGF M.S. Thesis Presentaton 12/0129 Metrics Different ways to measure S/W development costs – LOC Size – Halstead Vocabulary – McCabe Complexity

RGF M.S. Thesis Presentaton 12/0130Results Halstead Program Effort Halstead Bug Prediction McCabeLOCBasic COCOMO Windows Phase 12,637, Phase 24,287, Phase 34,420, Phase 46,204, DSM4,987, Sombrero Phase 11,025, Phase 21,084, Phase 31,135, Phase 41,135,

RGF M.S. Thesis Presentaton 12/0131 Test Environment How the Windows 2000 application was tested. How metrics were captured for each stage of development.

RGF M.S. Thesis Presentaton 12/0132 Phase 1: Single Client, Single Thread of Execution Client and Server are the same application Single thread of execution Single dataset

RGF M.S. Thesis Presentaton 12/0133 Phase 2: Multiple Clients, Single Server, Single Threaded Client and server processes Server supports – Multiple clients – Multiple datasets

RGF M.S. Thesis Presentaton 12/0134 Phase 3: Multithreaded server Add Multithreading to the DBS server

RGF M.S. Thesis Presentaton 12/0135 Phase 4: Load balancing and Data Distribution Add load balancing and data distribution to DBS server

RGF M.S. Thesis Presentaton 12/0136 Metrics For each development phase – Create an additional file that is the concatenation of all project files (except driver application). Use Power Software to: – Generate McCabe’s and LOC measurements on the project files (less driver application). – Generate Halstead’s vocabulary and bug prediction on the concatenated file. Total the individual (per method) McCabe’s metrics into Excel *I ported one phase of development to Unix to gather metrics using Motorola’s metric tool from McCabe Software. McCabe provides metrics per project not just per file or methods. McCabe’s returned similar results as obtained using the method described above.

RGF M.S. Thesis Presentaton 12/0137 Other factors Trends in modern computing – Software is getting more complex Distributed Load balanced High availability Psychology – Developers are influenced by perceived complexity Sample application did not include a pre-processor to simulate persistence in the MASOS – That was available in Sombrero – Would tilt metrics more toward Sombrero

RGF M.S. Thesis Presentaton 12/0138 Conclusions It is likely that for many applications Sombrero can reduce complexity – Reduced complexity leads to simpler application, thus lower costs. – Computational intensive applications like a single threaded math or graphics package would probably not benefit from Sombrero. – Many other large applications (i.e DBS) could benefit from the Sombrero Operating System.

RGF M.S. Thesis Presentaton 12/0139