[LWN Logo]
[LWN Feature]
OLS 2001 coverage

Weekly Edition
Daily updates
Events Calendar
Book reviews
Penguin Gallery

About LWN.net

Alan Robertson sent the following notes from the Ottawa Linux Symposium Clustering Working Group presentation. They are heavily based on the outline from Lars Marowsky-Bree, who chaired the presentation.

Goals of Clustering Framework:

To create:
    good HA products
    good HPC products
    viable/strong OSS project
 

  • Many different solutions spaces covered
  • Create opportunities for market niches
  • Encourage creativity and innovation
  • Maximize flexibility
  • Maximize reuse - esp. in future
  • Maximize ease of use/installation
Agree On further steps (how to proceed)
 
  • Identify components
  • Design APIs
    • externally-visible Standards (Application Programming Interfaces)
    • internal standards (Component Programming Interfaces)
  • Agree on above
  • Figure out how to rework current s/w into components.  What can be reused, reimplemented (modified), written from scratch
  • Implement above
  • World Domination
How to proceed



Below is information from flip charts created during the discussion (3 hours wasn't really enough).  Peter was busy taking notes during the discussion.  I assume he'll have lots more information than I have here...
 
  • API conformance
  • CPI conformance
There was some discussion about how much distinction needed to be made between these two kinds of programming interfaces - and whether some APIs could also be CPIs.  It was generally agreed that they could both be used by components.  There was discussion about kernel-level versus user-level versions of these interfaces can both be made, and whether any particular component has to be implemented in the kernel or in user space.

Next on the flip charts was a picture I drew illustrating how components might interact, and the fact that there were multiple versions of various components.   In the picture I noted that some proprietary systems might make calls to the APIs and/or CPIs to use the components.  Also discussed the fact that proprietary systems probably won't fit the component model, but will certainly could easily have API/CPI conforming interfaces if they so desired.


Next flip chart...

IP Issues

  • clear
  • up front - every participant explicitly lays out relevant patent/IP issues before items are recommended.
  • agreements before we start
  • core vs non-core [AC]PIs and components
Goals:
  • IP is not a barrier for the creation of any core component.
Create a Policy Document with the following information up front
  • Expectations about clarity concerning IP issues from participants
  • Documentation license
  • Give the Doc/Spec a name, and trademark the name
  • OCF (Open Content something-or-other?)
  • No charge to write a compliant implementation (spec is free)
  • Possibly charge for certification (future)
  • Who controls the spec?  -- Who's really in charge
  • Outline the general approach or philosophy to handling disagreements


Externally Visible APIs:

Much of this is brainstorming - not definitive...

  • comm
    • Ordered messages
    • barriers
    • etc.
  • System capability query (what components/interfaces are available)
    • This will be available at run time, and some systems may want it at configure time
  • Cluster membership
  • Group services
    • membership
    • version management (!)
  • Naming of "things"
  • Definition of a cluster (not really an API) -- not a peer-to-peer network
  • Authentication/authorization
  • DLM
  • Resource implementations
  • Quorum
  • Event services
    • ordered
    • unordered
  • NOTE: Check OSCAR for some of the configuration issues


Internally visible APIs
  • time? (see Eddie)
  • low-level cluster Remote Procedure Calls (RPC)
    • single machine/multicast
    • with replies (return value), no reply (return value)
  • low-level-communications
  • heartbeat
  • shared memory
  • marshalling/demarshalling (serialization)
    • must be unusually sophisticated - send arbitrarily complex lists/arrays, name/value pairs
    • self-describing data is mandatory
  • Self-configuration API for plugins...
  • fencing - reset mechanisms
    • high-level
    • low-level
  • Cluster Manager
  • Resource Manager
  • Logging
  • Initialization
  • Configuration repository
  • User Interface (configuration)


Some general comments on the reaction:

No one objected to the effort - and it appeared that there was a significant genuine interest.

Eklektix, Inc. Linux powered! Copyright 2002 Eklektix, Inc. all rights reserved.
Linux ® is a registered trademark of Linus Torvalds