Evolving System Services to Meet Application Requirements - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Evolving System Services to Meet Application Requirements

Description:

MAKE. DOWNCALLS. MAKE. UPCALLS. PROVIDE. MECHANISMS. APPLICATION. HARDWARE ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 26
Provided by: zak73
Learn more at: https://www.uab.edu
Category:

less

Transcript and Presenter's Notes

Title: Evolving System Services to Meet Application Requirements


1
Evolving System Services to Meet Application
Requirements
  • Henry Detmold, Katrina Falkner, David S. Munro,
    Travis Olds Alicia Zakarevicius
  • School of Computer Science
  • The University of Adelaide
  • Australia

2
Motivating a New Approach to System Software
Systems
Properties
3
Customisable System Software
  • Goal is to better accommodate application
    requirements
  • Enable application-specific abstractions system
    services
  • Meet the specific performance requirements of
    each application
  • Existing techniques utilised in customisable
    system software
  • Policy and mechanism separation (microkernels)
  • Feedback based adaptation (Jikes Adaptive
    Optimisation System)
  • Downloading application code (exokernels)
  • Limitations of existing customisable system
    software
  • Specific to one layer of the software
    architecture
  • Limited customisable functionality
  • No general architecture
  • No development process for application or system
    developers

4
Our Research
  • Aim of research
  • To guide system and application developers
    through the development and use of customisable
    system software
  • Answer three questions
  • 1. What architecture is appropriate for
    customisable system software?
  • 2. What process should be undertaken to
    instantiate the chosen architecture?
  • 3. How can applications exploit customisation
    techniques?
  • Approach
  • Used existing architecture and methodology1 to
    construct customisable system software
  • Used customisable system software to explore
    customisation tactics
  • Contribution
  • Defined a number of customisation tactics that
    can be exploited by application developers
  • Experience using an existing architecture and
    methodology
  • 1. Morrison et al. A Compliant Persistent
    Architecture. Software Practice and Experience,
    30(4),
  • pp. 363 - 386, 2000.

5
Compliant Systems Architecture (CSA)
  • An architecture for customisable system software
    that applies to
  • Every layer
  • All system services
  • Properties of the architecture
  • Layered architecture
  • Policy and mechanism separation at each layer
  • Downcall and upcall facilities

APPLICATION
SPECIFY POLICIES MAKE
DOWNCALLS
MAKE
UPCALLS PROVIDE
MECHANISMS
...
HARDWARE
6
Compliant Systems Architecture (CSA)
  • An architecture for customisable system software
    that applies to
  • Every layer
  • All system services
  • Properties of the architecture
  • Layered architecture
  • Policy and mechanism separation at each layer
  • Downcall and upcall facilities

APPLICATION
SPECIFY POLICIES MAKE
DOWNCALLS
MAKE
UPCALLS PROVIDE
MECHANISMS
...
HARDWARE
7
Compliant Systems Architecture (CSA)
  • An architecture for customisable system software
    that applies to
  • Every layer
  • All system services
  • Properties of the architecture
  • Layered architecture
  • Policy and mechanism separation at each layer
  • Downcall and upcall facilities

APPLICATION
SPECIFY POLICIES MAKE
DOWNCALLS
MAKE
UPCALLS PROVIDE
MECHANISMS
...
HARDWARE
8
Compliant Systems Architecture (CSA)
  • An architecture for customisable system software
    that applies to
  • Every layer
  • All system services
  • Properties of the architecture
  • Layered architecture
  • Policy and mechanism separation at each layer
  • Downcall and upcall facilities

APPLICATION
SPECIFY POLICIES MAKE
DOWNCALLS
MAKE
UPCALLS PROVIDE
MECHANISMS
...
HARDWARE
9
Compliant Systems Architecture (CSA)
  • An architecture for customisable system software
    that applies to
  • Every layer
  • All system services
  • Properties of the architecture
  • Layered architecture
  • Policy and mechanism separation at each layer
  • Downcall and upcall facilities

APPLICATION
SPECIFY POLICIES MAKE
DOWNCALLS
MAKE
UPCALLS PROVIDE
MECHANISMS
...
HARDWARE
What architecture is appropriate for customisable
system software?
10
Compliant Systems Methodology (CSM)
  • 1. Define number of layers, and the role that
    each layer
  • plays.
  • Determine customisable system services.
  • Establish methods for specifying policies.
  • 4. Specify methods used for communication
    between layers.

11
Compliant Systems Methodology (CSM)
  • 1. Define number of layers, and the role that
    each layer
  • plays.
  • Determine customisable system services.
  • Establish methods for specifying policies.
  • Specify methods used for communication between
    layers.

What process should be undertaken to instantiate
the chosen architecture?
12
Tactics for Evolving System Services
  • Application specific policies
  • Integrated policies
  • Application specific abstractions

13
Tactics for Evolving System Services
  • Application specific policies
  • Integrated policies
  • Application specific abstractions

How can applications exploit customisation
techniques?
14
Instantiation of the CSA
  • Abstract machine instantiation
  • 3 layers
  • Customisable functionality in standard library
  • Policy specification through downcalls and
    upcalls
  • Communication through downcalls and upcalls
  • Web server application

Downcalls operating on abstractions
Application
Standard Library
Upcall Dispatch Table
Default Abstractions (threads, locks, etc)
Interpreter
Instruction Execution
Thread Dispatcher
Object Cache
Operating System
Persistent Store File
Single Threaded Interpreter Process
Network Connections
15
Instantiation of the CSA
  • Abstract machine instantiation
  • 3 layers
  • Customisable functionality in standard library
  • Policy specification through downcalls and
    upcalls
  • Communication through downcalls and upcalls
  • Web server application

Downcalls operating on abstractions
Application
Standard Library
Upcall Dispatch Table
Default Abstractions (threads, locks, etc)
Interpreter
Instruction Execution
Thread Dispatcher
Object Cache
Operating System
Persistent Store File
Single Threaded Interpreter Process
Network Connections
16
Instantiation of the CSA
  • Abstract machine instantiation
  • 3 layers
  • Customisable functionality in standard library
  • Policy specification through downcalls and
    upcalls
  • Communication through downcalls and upcalls
  • Web server application

Downcalls operating on abstractions
Application
Standard Library
Upcall Dispatch Table
Default Abstractions (threads, locks, etc)
Interpreter
Instruction Execution
Thread Dispatcher
Object Cache
Operating System
Persistent Store File
Single Threaded Interpreter Process
Network Connections
17
Instantiation of the CSA
  • Abstract machine instantiation
  • 3 layers
  • Customisable functionality in standard library
  • Policy specification through downcalls and
    upcalls
  • Communication through downcalls and upcalls
  • Web server application

Downcalls operating on abstractions
Application
Standard Library
Upcall Dispatch Table
Default Abstractions (threads, locks, etc)
Interpreter
Instruction Execution
Thread Dispatcher
Object Cache
Operating System
Persistent Store File
Single Threaded Interpreter Process
Network Connections
18
Instantiation of the CSA
  • Abstract machine instantiation
  • 3 layers
  • Customisable functionality in standard library
  • Policy specification through downcalls and
    upcalls
  • Communication through downcalls and upcalls
  • Web server application

Downcalls operating on abstractions
Web Server
Standard Library
Upcall Dispatch Table
Default Abstractions (threads, locks, etc)
Interpreter
Instruction Execution
Thread Dispatcher
Object Cache
Operating System
Persistent Store File
Single Threaded Interpreter Process
Network Connections
19
Application-Specific Policies
  • Replace default policy with an application-specifi
    c policy
  • Web server example - thread scheduling policy
  • Enhance interactivity
  • Soft real-time deadlines
  • 100ms - visual disruption
  • 1s - attention diminishing
  • 10s - attention lost

Thread scheduling upcall
Web Server
Soft Real-Time Deadline Scheduling Policy
Standard Library
Upcall Dispatch Table
Default Abstractions (threads, locks, etc)
Interpreter
Instruction Execution
Thread Dispatcher
Object Cache
Operating System
Persistent Store File
Single Threaded Interpreter Process
Network Connections
20
Application-Specific Policies
21
Integrated Policies
  • Supervising two or more previously independent
    system services
  • Useful when services are in conflict
  • Priority inversion
  • Locks and scheduling
  • Priority inheritance

Thread scheduling lock
management upcalls
Web Server
Real Time Library
Thread Scheduling Lock Management Policy with
Priority Inheritance
Standard Library
Upcall Dispatch Table
Default Abstractions (threads, locks, etc)
Interpreter
Instruction Execution
Thread Dispatcher
Object Cache
Operating System
22
Application-Specific Abstractions
  • Redefine interfaces in terms of
    application-specific abstractions
  • Web server example - web request abstraction
  • Network stream
  • Thread
  • HTTP method
  • Object referenced by URL

Upcalls to web Downcall to
web request handlers request
abstraction
Application
Web Applications
Web Application Server
Web Request Abstraction
Interpreter
Instruction Execution
Thread Dispatcher
Object Cache
Operating System
23
Evaluation and Ongoing Research
  • Does the CSA provide an appropriate architecture
    for customisable system software?
  • CSA provides a very simple template for
    customisable system software
  • Possibly lacks important properties
  • Need to refine the CSA to maximise efficiency and
    flexibility
  • Decide what is a necessary property and what is
    an implementation detail
  • Incorporate the essential properties of
    customisable system software
  • Does the CSM provide us with a helpful process
    for instantiating the CSA?
  • The CSM attempts to define a development process
  • Lacks detail
  • Does not produce reusable components
  • Need a new CSM that details each fundamental
    design decision and the available strategies at
    each decision point

24
Evaluation and Ongoing Research
  • Do the customisation tactics help application
    developers exploit customisation techniques?
  • What other tactics are available to developers?
  • What kind of advice can we attach to each tactic?

25
Thank You QuestionsEmail
zak_at_cs.adelaide.edu.auWebsite
www.cs.adelaide.edu.au
Write a Comment
User Comments (0)
About PowerShow.com