Release

C20f7f4a8aa455aa6e0c2a0092883cd0?s=47 Roberto Aloi
October 17, 2012

 Release

A high-level paradigm for reliable large-scale server software.
Copyright 2012 - Erlang Solutions Ltd. (http://www.erlang-solutions.com)

C20f7f4a8aa455aa6e0c2a0092883cd0?s=128

Roberto Aloi

October 17, 2012
Tweet

Transcript

  1. -RELEASE- A HIGH-LEVEL PARADIGM FOR RELIABLE LARGE-SCALE SERVER SOFTWARE http://release-project.eu

  2. WHERE TO START @ r o b e r t

    o a l o i
  3. None
  4. RELEASE STATEMENT OF AIMS “To scale the radical concurrency- oriented

    programming paradigm to build reliable general-purpose software, such as server-based systems, on massively parallel machines (10^5 cores).”
  5. MULTI-CORE MULTI-FAULTS COMPLEXITY CLOUD COMPUTING

  6. MULTICORE SYSTEMS NEED TO BE SCALABLE AND RELIABLE

  7. ERLANG TO THE RESCUE

  8. • OPEN SOURCE • CONCURRENCY-ORIENTED • LIGHTWEIGHT PROCESSES (10.000 PER

    CORE) • ASYNCHRONOUS MESSAGE PASSING • SHARE-NOTHING MODEL • PROCESS LINKING / MONITORING • SUPERVISION TREES AND RECOVERY STRATEGIES • TRANSPARENT DISTRIBUTION MODEL • SOFT-REAL TIME • LET-IT-FAIL PHILOSOPHY • HOT-CODE UPGRADES WHAT IS ERLANG ... AND MUCH MORE
  9. DISTRIBUTED ERLANG

  10. ERLANG IS A VERY GOOD STARTING POINT BUT THERE ARE

    SOME LIMITATIONS
  11. RELEASE TO THE RESCUE

  12. WP4 Scalable Infrastructure WP3 SD Erlang Language WP2 Virtual Machine

    WP5 Tools WP6 Case Studies LIMITATIONS ARE PRESENT AT THREE LEVELS
  13. • PUSH THE RESPONSIBILITY FOR SCALABILITY FROM THE PROGRAMMER TO

    THE VM • ANALYZE PERFORMANCE AND SCALABILITY • IDENTIFY BOTTLENECKS AND PRIORITIZE CHANGES AND EXTENSIONS • TACKLE WELL-KNOWN SCALABILITY ISSUES • ETS TABLES (SHARED GLOBAL DATA STRUCTURE) • MESSAGE PASSING, COPYING AND FREQUENTLY COMMUNICATING PROCESSES VM LANGUAGE INFRASTRUCTURE
  14. VM LANGUAGE INFRASTRUCTURE

  15. VM LANGUAGE INFRASTRUCTURE • TWO MAJOR ISSUES • FULLY CONNECTED

    CLUSTERS • EXPLICIT PROCESS PLACEMENT • SCALABLE DISTRIBUTED (SD) ERLANG • NODES GROUPING • NON-TRANSITIVE CONNECTIONS • IMPLICIT PROCESS PLACEMENT • PART OF THE STANDARD ERLANG/OTP PACKAGE • NEW CONCEPTS INTRODUCED • LOCALITY, AFFINITY AND DISTANCE
  16. E r l a n g ( p ro ce

    s s e s) VM LANGUAGE INFRASTRUCTURE
  17. E r l a n g ( p ro ce

    s s e s) OT P (a p p l i c at i o n s) VM LANGUAGE INFRASTRUCTURE
  18. ? (n o d e s) E r l a

    n g ( p ro ce s s e s) OT P (a p p l i c at i o n s) VM LANGUAGE INFRASTRUCTURE
  19. ? (n o d e s) E r l a

    n g ( p ro ce s s e s) OT P (a p p l i c at i o n s) VM LANGUAGE INFRASTRUCTURE Scalability Layer Missing
  20. • MIDDLEWARE LAYER • SET OF ERLANG APPLICATIONS • CREATE

    AND MANAGE CLUSTERS OF (HETEROGENEOUS) ERLANG NODES • API TO MONITOR AND CONTROL ERLANG DISTRIBUTED SYSTEMS • EXISTING TRACING/LOGGING/DEBUGGING TOOLS PLUGGABLE • BROKER LAYER BETWEEN USERS AND CLOUD PROVIDERS • AUTO-SCALING VM LANGUAGE INFRASTRUCTURE CCL /sɪˈsɪlɪ/ ... AND MUCH MORE
  21. • TOOLS • MONITORING, TRACING, DEBUGGING • FOCUS ON MASSIVE

    PARALLEL SYSTEMS • REFACTORING TO SD ERLANG (WRANGLER) • CASE STUDIES • SIM-DIASCA TOOLS AND CASE STUDIES
  22. QUESTIONS? MORE INFO AT: h t t p : /

    / r e l e a s e - p r o j e c t . e u @robertoaloi