250 likes | 262 Views
OASIS Active Objects, Semantics, Internet, and Security. www.inria.fr/oasis. Large Scale, Parallel and Distributed Systems Middleware, Programming Models & Semantics, Verification Challenge: Safe & Efficient & Big Our current Scale range: 500 nodes to 5 000 nodes
E N D
OASISActive Objects, Semantics, Internet, and Security www.inria.fr/oasis Large Scale, Parallel and DistributedSystems Middleware, Programming Models & Semantics, Verification Challenge: Safe & Efficient & Big Our current Scale range: 500 nodes to 5 000 nodes Targets: Grids and P2P, both Scientific and Enterprise
OASIS: A Threefold Approach ASP Calculus & Formalism PLATFORMS VerCors Active Object & Components Specification & Verification
OASIS Team Composition • PostDoc: • Regis Gascon (INRIA) • Engineers (10 en 2009): • Elaine Isnard (AGOS) • Fabien Viale (ANR OMD2, Renault ) • Franca Perrina (AGOS) • Germain Sigety (INRIA) • Yu Feng (ETSI, FP6 EchoGrid) • Bastien Sauvan (ADT Galaxy) • Florin-Alexandru.Bratu (INRIA CPER) • Igor Smirnov (Microsoft) • Fabrice Fontenoy (AGOS) • open (Thales) • Trainee: • Etienne Vallette d’Osia (Master 2 ISI) • Laurent Vanni (Master 2 ISI) • Visitors • Interns • Researchers: • D. Caromel (UNSA, Det. INRIA) • E. Madelaine (INRIA) • F. Baude (UNSA) • F. Huet (UNSA) • L. Henrio (CNRS) • Assistants: • Patricia Maleyran (INRIA) • Sandra Devauchelle (I3S) • PhDs (11): • Antonio Cansado (INRIA, Conicyt) • Brian Amedro (SCS-Agos) • Cristian Ruz (INRIA, Conicyt) • Elton Mathias (INRIA-Cordi) • Imen Filali (SCS-Agos / FP7 SOA4All) • Marcela Rivera (INRIA, Conicyt) • Muhammad Khan (STIC-Asia) • Paul Naoumenko (INRIA/Région PACA) • Viet Dung Doan (FP6 Bionets) • Virginie Contes (SOA4ALL) • Guilherme Pezzi (AGOS, CIFRE SCP)
A cut on First Class Futures Active Objects • Distributed Components • Formalization: ASP Calculus Specification + Verification (MC)
Publications & Standards • From very Theoretical to very Practical: • POPL • FORTE • SPE • ECOOP • OOPSLA • CCPE • IPDPS • EuroPar • IJPP • CCGrid • SuperComputing (SC) • Official ETSI Standards: • ETSI TC Grid
ProActive : Active objects JVM A A WBN! A ag =newActive (“A”, […], VirtualNode) V v1 = ag.foo (param); V v2 = ag.bar (param); ... v1.bar(); //Wait-By-Necessity JVM ag v2 v1 V • - Wait-By-Necessity • is a Dataflow • Synchronization • AO in Shared Memory: • NoC Java Object Active Object Req. Queue Future Object Proxy Thread Request 6
Wait-By-Necessity: First Class Futures V= b.bar () b v v Futures are Global Single-Assignment Variables a b c.gee (V) c c 8
Groups of Active Objects A V A ag =newActiveGroup (“A”, […], VirtualNode) V v = ag.foo(param); ... v.bar(); //Wait-by-necessity JVM Group, Type, and Asynchrony are crucial for Cpt. and GRID Typed Group Java or Active Object 9
Objects to Distributed Components (1) A Example of component instance V Truly Distributed Components Typed Group Java or Active Object JVM 10
GCM Components (Fractal Based) • Capturing • Group Communications • and • Synchronizations • At the level of interfaces • Multicast and GatherCast
GCM + MxN Direct Communications MultiCast GatherCast Scopes and Objectives: Grid Codes that Compose and Deploy No programming, No Scripting, … No Pain Innovation: Composite Components Multicast and GatherCast
GCM Standardization One of the Outcomes of the Technical Committee on Grid Computing • Overall, the standardization is supported by industrials: • BT, FT-Orange, Nokia-Siemens, Telefonica, • NEC, Alcatel-Lucent, Huawei …
(2) ASP: Asynchronous Sequential Processes • ASP Confluence and Determinacy Future updates can occur at any time Execution characterized by the order of request senders Determinacy of programs communicating over trees, … • A strong guide for implementation, checkpointing, Model-Checking, …
B (3) Verification: AO and Futures • Behavioral Specification: VerCors • Primitive Behavior with State Machine • Parameterized Hierarchical LTS Verification+Safe Code Generation • Model Checkable composition NF Queue Proxy Body Req… Resp… LF • First-Class Future: • In good Progress: • Can remove Dead Locks • Need to add NF part for • Propagation + Update: any Strategy • Need for Handling Infinite Behaviors: • E.g.: Request Queues, Topologies • First Proto ?bind !start P(p) C(c) Func. VerCorsframework (UML EMF)
Publications & Standards • From very Theoretical to very Practical: • POPL • FORTE • SPE • ECOOP • OOPSLA • CCPE • IPDPS • EuroPar • IJPP • CCGrid • SuperComputing (SC) • Official ETSI Standards: • 2 Approved: GCM Deployment & Application (with support from BT, FT-Orange, Nokia-Siemens, Telefonica, NEC, Alcatel-Lucent) • 2 Pending: GCM ADL & API
Objectives & Scientific Challenges Efficient and Safe, Distributed and Parallel, Middleware&Applications • Clear Focus: No Operating Systems, No VMs, No JVMs • We keep investigations with our 3 strongly Intertwined Axes: (1) Active Objects and Distributed Components: Scale, Speed, Safety • E.g.Sterile Requests allowing for aggressive optimizations (ASP proven) • Efficient large scale execution with Asynchrony, Groups, P2P (2) Calculus and Formalisms for Distributed Computing: Machine Proven ASP • Formally prove the confluence of ASP Imperative • Specific Confluence: Stateful and Stateless object for global richer properties (3) Specification/Verification for Distributed Systems: Verification that scales • Real program: Exceptions, Multicast/Gathercast, First Class Futures • Handling Infinite parts of the systems (e.g. Request Queue, Topology)
Concrete Milestones 2010: • Safe and efficient execution of Active Objects+Components on 10 000 Cores • Previous objective was stated at 5 000, we did 4 200 in 2008 Grid Plugtests • Demanding: Model + Architecture + Fault-Tolerance + Code + Tools • Safe Dynamic Reconfiguration of 500 Distributed Components (DAG, then Cycles) • Using Determinacy properties of ASP • Dealing with/Using the Asynchrony of Active Object • Bridging Active Objects, Distributed Components and SOA: • From Safe Reconfiguration to Safe Adaptability • Enforcement of QoS to respect SLA (HP, Oracle, …) • Model Checkable composition: Real Industrial Use Case by Non-Specialist • We achieved 16 Components, 5 levels, 10 parameters (CoCoMe benchmarks) • Concrete objective: from Specification to Safe Code Generation (reconfig.)