$30 off During Our Annual Pro Sale. View Details »

Developing Open Source in Service to National Security - ORNL Visit

Ian Lee
June 28, 2017

Developing Open Source in Service to National Security - ORNL Visit

Ever wondered what software gets developed at a national laboratory? Thanks to the open source efforts of LLNL, you don't have to wonder any longer!

This talk will highlight the ongoing expansion of the open source community inside one Department of Energy research lab. These developers bring software and tools which support science and security, issues of national importance, into the open source community. The talk will also describe the unique challenge of bringing decades old software projects and historically closed source developers into the open source community for the first time.

-- Updated version of slides presented at ORNL in June 2017 --

Ian Lee

June 28, 2017
Tweet

More Decks by Ian Lee

Other Decks in Technology

Transcript

  1. LLNL-PRES-702741
    This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory
    under contract DE-AC52-07NA27344. Lawrence Livermore National Security, LLC
    Developing Open Source
    in Service to National Security
    ORNL Visit
    Ian Lee
    Lawrence Livermore National Laboratory
    June 28, 2017

    View Slide

  2. LLNL-PRES-702741
    2
    software.llnl.gov

    View Slide

  3. LLNL-PRES-702741
    3
    software.llnl.gov

    View Slide

  4. LLNL-PRES-702741
    4
    software.llnl.gov
    https://upload.wikimedia.org/wikipedia/commons/a/a8/U.S._National_labs_map.jpg

    View Slide

  5. LLNL-PRES-702741
    5
    software.llnl.gov
    http://www.ex-astris-scientia.org/articles/new_enterprise/enterprise-warpcore.jpg

    View Slide

  6. LLNL-PRES-702741
    6
    software.llnl.gov
    https://pixabay.com/get/e833b10d2af4083ed1534705fb0938c9bd22ffd41db612439df7c17ba0/silos-1602209_1920.jpg

    View Slide

  7. LLNL-PRES-702741
    7
    software.llnl.gov
    1960s 1970s 1980s 1990s 2000s 2010s
    Pioneering
    simulations of
    particle tracking
    CDC 3600
    CDC 7600
    Ozone mixing
    models
    CRAY 1
    ASCI Blue-
    Pacific
    Helping the medical
    community plan
    radiation treatment
    Unprecedented
    dislocation dynamics
    simulations
    BlueGene
    Breakthrough
    visualizations of
    mixing fluids
    Dynamics in three
    dimensions
    Global climate
    modeling
    Detailed
    predictions
    of ecosystems
    Petascale
    and exascale
    computing

    View Slide

  8. LLNL-PRES-702741
    8
    software.llnl.gov
    § 3 out of 16 #1 systems over last 20 years
    Top500.org
    ASCI White
    Nov 2000 – Nov 2001
    BlueGene/L
    Nov 2004 – Nov 2007
    Sequoia
    June 2012
    https://www.top500.org/resources/top-systems/

    View Slide

  9. LLNL-PRES-702741
    9
    software.llnl.gov
    TOSS – Tri-Lab Operating System Software
    § Built on Red Hat Enterprise Linux
    — Not an HPC distribution
    § Adds LLNL developed additions and
    patches to support HPC
    — Low Latency Interconnect: Infiniband
    — Parallel File System: Lustre
    — Resource Manager: SLURM
    § Work closely with open communities
    Components
    not in TOSS
    Supported Linux Commodity Hardware Platform
    Kernel, Infiniband, Message Passing Interface
    Batch Scheduler (MOAB)
    User
    Environment
    Lustre
    File Systems
    Compiler &
    Development Tools
    Resource Manager (SLURM)
    TOSS
    Components
    HPSS Hopper
    LLNL-PRES-550311
    TOSS is a software stack for HPC – large, interconnected clusters!

    View Slide

  10. LLNL-PRES-702741
    10
    software.llnl.gov
    § Began as simple resource manager
    — Now scalable to 1.6M+ cores (sequoia)
    § Launch and manage parallel jobs
    — Large, parallel jobs, often MPI
    § Queuing and scheduling of jobs
    — Much more work than resources
    http://slurm.schedmd.com
    http://www.ibm.com/developerworks/library/l-slurm-utility/figure3.gif

    View Slide

  11. LLNL-PRES-702741
    11
    software.llnl.gov
    http://flux-framework.github.io
    § Family of projects used to build site-customized resource management systems
    § flux-core
    — Implements the communication layer and lowest level services and interfaces
    § flux-sched
    — Consists of an engine that handles all the functionality common to scheduling
    § capacitor
    — A bulk execution manager using flux-core, handles running and monitoring 1000’s of jobs

    View Slide

  12. LLNL-PRES-702741
    12
    software.llnl.gov
    ZFS on Linux
    http://zfsonlinux.org
    § ZFS is an open source filesystem and volume
    manager designed to address the limitations
    of existing storage solutions
    § 2011: Available for Linux
    § Ten LLNL filesystems, totaling ~ 100PB
    § Ships in Ubuntu 16.04

    View Slide

  13. LLNL-PRES-702741
    13
    software.llnl.gov
    § Handles combinatorial explosion of
    ABI-incompatible packages
    § All versions coexist, binaries work
    regardless of user’s environment
    § Familiar syntax, reminiscent of brew, yum, etc
    $ spack install mpileaks unconstrained
    $ spack install [email protected] @ custom version
    $ spack install [email protected] %[email protected] % custom compiler
    $ spack install [email protected] %[email protected] +threads +/- build option
    $ spack install [email protected] os=SuSE11 os=
    $ spack install [email protected] os=CNL10 os=
    $ spack install [email protected] os=CNL10 target=haswell target=
    SPACK
    http://software.llnl.gov/spack

    View Slide

  14. LLNL-PRES-702741
    14
    software.llnl.gov
    § Manages the first-ever decentralized
    database for handling climate science data
    § Multiple petabytes of data at dozens of
    federated sites worldwide
    § International collaboration for the
    software that powers most global
    climate change research
    https://github.com/ESGF
    http://esgf.llnl.gov

    View Slide

  15. LLNL-PRES-702741
    15
    software.llnl.gov
    VisIt
    § Originally developed to visualize and
    analyze the results of terascale
    simulations
    § Interactive, scalable, visualization,
    animation and analysis tool
    § Powerful, easy to use GUI
    § Distributed and parallel architecture
    allows handling extremely large data
    sets interactively
    http://visit.llnl.gov

    View Slide

  16. LLNL-PRES-702741
    16
    software.llnl.gov
    http://computation.llnl.gov/casc

    View Slide

  17. LLNL-PRES-702741
    17
    software.llnl.gov
    GitHub.com/LLNL – Repositories

    View Slide

  18. LLNL-PRES-702741
    18
    software.llnl.gov
    GitHub.com/LLNL – Languages

    View Slide

  19. LLNL-PRES-702741
    19
    software.llnl.gov
    GitHub.com/LLNL – Stargazers

    View Slide

  20. LLNL-PRES-702741
    20
    software.llnl.gov

    View Slide

  21. LLNL-PRES-702741
    21
    software.llnl.gov
    § “Federal Source Code Policy: Achieving Efficiency, Transparency, and Innovation
    through Reuseable and Open Source Software”
    — “Agencies shall make custom-developed code available for Government-wide reuse and
    make their code inventories discoverable at https://www.code.gov (“Code.gov”) […]”
    — “[…] establishes a pilot program that requires agencies, when commissioning new custom
    software, to release at least 20 percent of new custom-developed code as Open Source
    Software (OSS) […]”
    Federal Source Code Policy
    https://code.gov & https://sourcecode.cio.gov

    View Slide

  22. LLNL-PRES-702741
    22
    software.llnl.gov
    https://code.gov

    View Slide

  23. LLNL-PRES-702741
    23
    software.llnl.gov
    https://www.osti.gov/doecode/

    View Slide

  24. LLNL-PRES-702741
    24
    software.llnl.gov
    US Government Organizations on GitHub
    https://government.github.com/community/

    View Slide

  25. Thank You!
    [email protected]
    @IanLee1521 // @LLNL_OpenSource

    View Slide