GALT03 16/10/03 (1) Specification Languages for Fabric Configuration Paul Anderson University of Edinburgh.

Slides:



Advertisements
Similar presentations
Large-Scale, Adaptive Fabric Configuration for Grid Computing Peter Toft HP Labs, Bristol June 2003 (v1.03) Localised for UK English.
Advertisements

Analysis of Computer Algorithms
Distributed Systems Architectures
Software Re-engineering
Chapter 7 System Models.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 10 Servlets and Java Server Pages.
1. 2 Configuring the Cloud Inside and out Paul Anderson publications/mysore-2010-talk.pdf School of.
1 Resonance: Dynamic Access Control in Enterprise Networks Ankur Nayak, Alex Reimers, Nick Feamster, Russ Clark School of Computer Science Georgia Institute.
What's a Proxy Printer Provider? PWG WIMS-CIM Working Group Rick Landau Dell, CTO Office 2008/08/08 v0.2.
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 1 OSGi Service Platform Tokyo August 28, 2003 Peter Kriens CEO aQute, OSGi Fellow
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
17 Copyright © 2005, Oracle. All rights reserved. Deploying Applications by Using Java Web Start.
Addition Facts
LCFG overview and future Michael George University of Liverpool
OMII-UK Steven Newhouse, Director. © 2 OMII-UK aims to provide software and support to enable a sustained future for the UK e-Science community and its.
4. Internet Programming ENG224 INFORMATION TECHNOLOGY – Part I
INTERNET PROTOCOLS Class 9 CSCI 6433 David C. Roberts Entire contents copyright 2011, David C. Roberts, all rights reserved.
Configuration management
Software change management
Managing Web server performance with AutoTune agents by Y. Diao, J. L. Hellerstein, S. Parekh, J. P. Bigu Jangwon Han Seongwon Park
© 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Towards a Model-Based Characterization of Data and Services Integration Paul.
Yunling Wang VoIP Security COMS 4995 Nov 24, 2008 XCAP The Extensible Markup Language (XML) Configuration Access Protocol (XCAP)
INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.
Proposal by CA Technologies, IBM, SAP, Vnomic
Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
1 Online communication: remote login and file transfer.
Database System Concepts and Architecture
Andrew McNab - Manchester HEP - 2 May 2002 Testbed and Authorisation EU DataGrid Testbed 1 Job Lifecycle Software releases Authorisation at your site Grid/Web.
Lecture 5: Requirements Engineering
Chapter 10 Software Testing
Executional Architecture
Addition 1’s to 20.
Dr. Alexandra I. Cristea XHTML.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA TCP/IP Protocol Suite and IP Addressing Halmstad University Olga Torstensson
Week 1.
Systems Analysis and Design in a Changing World, Fifth Edition
Database Administration
Modeling Main issues: What do we want to build How do we write this down.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 9: Implementing and Using Group Policy.
Object-Oriented Enterprise Application Development Tomcat 3.2 Configuration Last Updated: 03/30/2001.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 1: Introduction to Windows Server 2003.
Lesson 20 – OTHER WINDOWS 2000 SERVER SERVICES. DHCP server DNS RAS and RRAS Internet Information Server Cluster services Windows terminal services OVERVIEW.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 9: Implementing and Using Group Policy.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
MSF Testing Introduction Functional Testing Performance Testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
Microsoft Windows 2003 Server. Client/Server Environment Many client computers connect to a server.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 9: Implementing and Using Group Policy.
GrIDS -- A Graph Based Intrusion Detection System For Large Networks Paper by S. Staniford-Chen et. al.
An Introduction to Software Architecture
Microsoft Active Directory(AD) A presentation by Robert, Jasmine, Val and Scott IMT546 December 11, 2004.
EDG LCFGng: concepts Fabric Management Tutorial - n° 2 LCFG (Local ConFiGuration system)  LCFG is originally developed by the.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
11 MANAGING AND DISTRIBUTING SOFTWARE BY USING GROUP POLICY Chapter 5.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Languages for Large Scale System Configuration John Hawkins Laboratory for the Foundations of Computer Science University of Edinburgh.
1 Chapter Overview Publishing Resources in Active Directory Service Redirecting Folders Using Group Policies Deploying Applications Using Group Policies.
Architectural Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Introduction to Software Architecture.
Day12 Network OS. What is an OS? Provides resource management and conflict resolution. –This includes Memory CPU Network Cards.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
June 13-15, 2007Policy 2007 Infrastructure-aware Autonomic Manager for Change Management H. Abdel SalamK. Maly R. MukkamalaM. Zubair Department of Computer.
Introduction to Active Directory
Quattor tutorial Introduction German Cancio, Rafael Garcia, Cal Loomis.
COMP1321 Digital Infrastructure Richard Henson March 2016.
An Introduction to Software Architecture
Presentation transcript:

GALT03 16/10/03 (1) Specification Languages for Fabric Configuration Paul Anderson University of Edinburgh

GALT03 16/10/03 (2) Overview What is fabric configuration? Why is it important for the Grid? The current state of fabric configuration What we would like to be able to do Some specific issues looking for solutions.. Generating configurations from policies and high- level specifications Composing aspects Distributed evaluation Provenance and authorisation Usability Security

GALT03 16/10/03 (3) What is fabric configuration ? Starting with: Several hundred new PCs with empty disks A Repository of all the necessary software packages A specification of the required service Load the software and configure the machines to provide the service This involves many internal services – DNS, LDAP, DHCP, NFS, NIS, SMTP, Web … Reconfigure the machines when the required service specification changes Reconfigure the machines to keep providing the specified service when the fabric changes Hardware fails, or is replaced with different hardware

GALT03 16/10/03 (4) Grid fabrics Fabric configuration is not the same as the configuration of Grid services (applications). There are however some similarities All Grid applications assume the existence of correctly configured fabrics Quality of service depends on the fabric quality Misconfiguration is a major source of errors What happens if one node in 500 has the wrong version of a maths library installed? Grid security depends on fabric security Can we be sure that every node has the latest security patches? Can we prove that security policies are being honoured?

GALT03 16/10/03 (5) The current state Current configuration tools are extremely primitive Most are completely ad-hoc developments See the reports at for more background informationwww.gridweaver.org The better existing tools tend to … Provide an abstraction of the low-level configuration information Provide a template mechanism to group common features for classes of nodes Provide a mechanism for composing classes Provide a method of deploying the configuration This is a bottom up approach and does not usually connect with any specification for the function of the whole fabric

GALT03 16/10/03 (6) Configuration files Each service (on each node) requires one or more configuration files, all with their own syntax and peculiarities. Traditionally, these would have been edited by hand snmpd : localhost stunnel : localhost.inf.ed.ac.uk.dcs.ed.ac.uk slapd : / Modeline "1280x1024" Modeline "1024x768" hsync -vsync R$* $* $: $2 $| $1 $3 mark IPv6 addr R$+ $| $* $* $: $2 $4 self-literal R$+ $| $* $* $2 $4 canon IP addr

GALT03 16/10/03 (7) The node profile It is possible to represent the entire configuration of single node as a simple data structure which we call a profile Any node is completely specified by a combination of the profile, and a (common) repository of software packages Some example elements might be … Smtp-relay = mailrelay.ed.ac.uk Packages = emacs-3.7 apache-2.4 foo-45.5 … Users = joe, The profile only needs to contain the information which may vary between machines in the same management domain

GALT03 16/10/03 (8) LCFG profiles The profile can be conveniently represented as a simple XML document LCFG is one tool which can build nodes from the bare metal given a profile and access to the repository Typical profiles currently have about 5000 elements The level of the information in the profile is usually very low ie. close to the contents of the configuration file Think of the profile as the machine code for the configuration compiler

GALT03 16/10/03 (9) Classes and templates Since we do not want to write each profile by hand, most systems provide a class mechanism for grouping common parameters eg. laptop, web server, toshiba, student m/c This involves value (not type) inheritance, and has some similarities with prototype-based programming languages Conflicts between values in multiple templates are common Normally resolved by a crude override LCFG has mutation

GALT03 16/10/03 (10) LCFG configuration example #include dhclient.mac 00:06:5B:BF:87:2E !xfree.mice mADD(usbwheel)

GALT03 16/10/03 (11) What do we really want ? When specifying the configuration of a fabric, we want to talk in terms of higher-level entities … Services involve relationships between nodes A shared filesystem involves a fileserver and a number of clients, configured to mount the specified server Policies specify predicates that must be satisfied globally Students must not be allowed to log in to fileservers We must have at least two DHCP servers on each network segment Current systems do not provide a connection between these specifications, and the deployed configuration

GALT03 16/10/03 (12) Compiling the configuration Compiler Profiles Policies, Service specs, Node classes, etc.. We need a language to describe the high level specifications and policies We need a compiler to generate machine profiles We need an engine to deploy and maintain the configuration on the nodes – but this is not the focus of this talk

GALT03 16/10/03 (13) Some specific issues Generating configurations from policies and high-level specifications Composing aspects Distributed evaluation Provenance and authorisation Usability Security

GALT03 16/10/03 (14) High-level configurations We dont currently have a good practical way of modelling higher-level concepts in the fabric There are many components involved They change rapidly Different sites have different management policies How do we generate configurations which satisfy policies ? We must have at least two DHCP servers on each network segment Many specifications are more naturally expressed as constraints, than explicit values I need a DNS server (but I dont care which) We do want a declarative language The prototype model feels natural Give me a machine like X, but a bit different …

GALT03 16/10/03 (15) Aspects Different people are frequently responsible for different aspects of a fabric Web service, Dell hardware, Linux, Solaris, Security, File servers, etc … It is convenient for these people to be able specify the parameters for their aspects without being concerned about other aspects of the configuration Often, the values supplied conflict Current resolution mechanisms are very crude Conflicts often occur because the aspect author is forced to supply explicit values when they really only require a much looser constraint We are looking at how CLP might be used …

GALT03 16/10/03 (16) Aspect composition The language forces explicit values to be specified: Aspect A Use server Y Aspect B Use server X This conflict is ireconcilable without human intervention because we dont know the intention The user really only wants to say … Aspect A Use any server on my ethernet segement Aspect B Use one of the servers X,Y or Z These constraints can be satisfied to Use server Y (assuming Y is on the right segment)

GALT03 16/10/03 (17) Distributed evaluation The previous example assumes that all the information is available to a central server which can perform a complete compilation This is not scalable Some parameters change dynamically – for example if a server node fails, the set of available servers will change Can we compile the same declarative constraints into a form which can be delegated to execution by P2P protocols?

GALT03 16/10/03 (18) Provenance & authorisation Especially if the system is making complex decisions based on constraints, it is very important to understand the derivation of the parameters Why is the departmental web server running on my laptop? This is similar to the data provenance issue We also want to establish parameter-level authorisation How do we determine the set of people responsible for the value of a particular parameter? This is very hard if the evaluation is distributed, because the configuration of the machine doing the evaluation needs to be considered

GALT03 16/10/03 (19) Other issues Usability Usability appears frequently in the major problems cited by real users Real configurations are composed from many different levels and aspects, created by people with very different skill levels Security Security is very difficult Under Unix, too many processes need to run as root

GALT03 16/10/03 (20) Some specific issues Generating configurations from policies and high-level specifications Composing aspects Distributed evaluation Provenance and authorisation Usability Security

GALT03 16/10/03 (21) Specification Languages for Fabric Configuration Paul Anderson University of Edinburgh