Download presentation
Presentation is loading. Please wait.
1
RGF M.S. Thesis Presentaton 12/011 Reduced Development Costs in the Operating System
2
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
3
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
4
RGF M.S. Thesis Presentaton 12/014Results Halstead Program Effort Halstead Bug Prediction McCabeLOCBasic COCOMO Windows Phase 12,637,6586.36858522.03 Phase 24,287,4578.8012113483.28 Phase 34,420,4218.9812714203.46 Phase 46,204,18311.2614516123.96 DSM4,987,4589.7313214813.62 Sombrero Phase 11,025,7123.39676391.50 Phase 21,084,7573.52656471.52 Phase 31,135,8363.63687191.70 Phase 41,135,8363.63687191.70
5
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.
6
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
7
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
8
RGF M.S. Thesis Presentaton 12/018 4 Phases of Functionality (Windows 2000 View) Phase 3 – Multithreading – Multiple clients – Multi-threaded servers Locking algorithm
9
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
10
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
11
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
12
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
13
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
14
RGF M.S. Thesis Presentaton 12/0114 Additional Sombrero Features Persistence Thread and Data Migration Data Replication Passive Servers Load Balancing Data Replication
15
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
16
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
17
RGF M.S. Thesis Presentaton 12/0117 Data Replication – Datasets can be transparently replicated for availability or performance
18
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
19
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
20
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
21
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.
22
RGF M.S. Thesis Presentaton 12/0122 What is a MASOS Multiple Address Space Operating System – Process oriented – Multiple domains – Multiple namespaces
23
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
24
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
25
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 0x00000000 0x4000 0x115000 Addresses in VM’s namespace 0x1000 0x116000 Mapped Memory Management – Dataset is larger than VM – Multiple namespaces for the same data
26
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
27
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.
28
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
29
RGF M.S. Thesis Presentaton 12/0129 Metrics Different ways to measure S/W development costs – LOC Size – Halstead Vocabulary – McCabe Complexity
30
RGF M.S. Thesis Presentaton 12/0130Results Halstead Program Effort Halstead Bug Prediction McCabeLOCBasic COCOMO Windows Phase 12,637,6586.36858522.03 Phase 24,287,4578.8012113483.28 Phase 34,420,4218.9812714203.46 Phase 46,204,18311.2614516123.96 DSM4,987,4589.7313214813.62 Sombrero Phase 11,025,7123.39676391.50 Phase 21,084,7573.52656471.52 Phase 31,135,8363.63687191.70 Phase 41,135,8363.63687191.70
31
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.
32
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
33
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
34
RGF M.S. Thesis Presentaton 12/0134 Phase 3: Multithreaded server Add Multithreading to the DBS server
35
RGF M.S. Thesis Presentaton 12/0135 Phase 4: Load balancing and Data Distribution Add load balancing and data distribution to DBS server
36
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.
37
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
38
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.
39
RGF M.S. Thesis Presentaton 12/0139
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.