a view from the trenches open source data intensive software n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
A View From the Trenches: Open-Source, Data-Intensive Software PowerPoint Presentation
Download Presentation
A View From the Trenches: Open-Source, Data-Intensive Software

Loading in 2 Seconds...

play fullscreen
1 / 41

A View From the Trenches: Open-Source, Data-Intensive Software - PowerPoint PPT Presentation


  • 105 Views
  • Uploaded on

A View From the Trenches: Open-Source, Data-Intensive Software. Chris A. Mattmann Senior Computer Scientist, NASA Jet Propulsion Laboratory Adjunct Assistant Professor, Univ. of Southern California Member, Apache Software Foundation. Roadmap. 1 st part of the talk

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'A View From the Trenches: Open-Source, Data-Intensive Software' - javen


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
a view from the trenches open source data intensive software

A View From the Trenches: Open-Source, Data-Intensive Software

Chris A. Mattmann

Senior Computer Scientist, NASA Jet Propulsion Laboratory

Adjunct Assistant Professor, Univ. of Southern California

Member, Apache Software Foundation

roadmap
Roadmap
  • 1st part of the talk
    • The importance and concerns of open-source software
  • 2nd part of the talk
    • NASA Earth Science Data Systems
    • Real-world open-source software and its use in various projects

ARR-MATTMANN

and you are
And you are?
  • Apache Member involved in
    • OODT (VP, PMC), Tika (VP,PMC), Nutch (PMC), Incubator (PMC), SIS (Mentor), Lucy (Mentor) and Gora (Champion), MRUnit (Mentor)
  • Architect/Developer at NASA JPL in Pasadena, CA
  • Software Architecture/Engineering Prof at USC

ARR-MATTMANN

open source software development
Open Source Software Development
  • It’s here
  • Chances are if you build software nowadays, are youare using some type of open source software
  • Let me give you some context…

ARR-MATTMANN

the nasa esds context
The NASA ESDS Context

Where is open source most useful?

Which area should produce open source software?

ARR-MATTMANN

concerns in the open source world
Concerns in the Open Source World
  • Licensing
    • GPL(v2, v3?), LGPL(v?), BSD, MIT, ASLv2
    • Your own custom license approved by OSS
      • NASA OSS license?
      • Caltech license?
    • Copy-left versus Copy-right
  • Redistribution
    • Can you take open source product X and use it in your commercially interested software Y?
      • If so, do you have to pay for it?
    • Should others pay for your open source product if they use it in their commercial application?
  • Open Source “Help Desk” Syndrome versus Community
    • Are you trying to simply make your open source software (releases) available for distribution (aka help desk)?
    • Are you trying to get others to “buy in” to your open source software?

ARR-MATTMANN

concerns in the open source world1
Concerns in the Open Source World
  • Intellectual Property
    • Who owns it?
    • How does the Open Source Software affect your IP?
  • Open Source Ecosystems
    • Where can you find the “killer app” you need?
    • Which communities are conducive for longevity?
    • How relevant are “generic” open source software communities to NASA Earth Science Data Systems?
  • Contributing
    • Are you even allowed to contribute to a OSS community?
    • Can you do it on “company” time?
    • What’s required?
    • What’s the governance?
  • Responsiveness
    • How response is the OSS community to your projects’ needs?

ARR-MATTMANN

concerns in the open source world2
Concerns in the Open Source World
  • Help/Guidance
    • Is the OSS community/project alive?
    • How can you tell whether the project is alive?
    • How can you “follow the rainbow” to the OSS pot of gold?
  • Interaction
    • What are the best practices for interacting with OSS communities?
  • Implementation strategies
    • Insulation: how do you insulate your project from OSS change?
    • Configuration Management: what are the important CM issues when using Open Source Software in NASA ESDS?
  • Architectural strategies
    • How to design your system to take advantage of OSS?
  • Legal strategies
    • How to avoid getting sued by Oracle some huge tech company?

ARR-MATTMANN

the nasa esds context1
The NASA ESDS Context

The aforementioned OSS concerns are cross cutting against the whole ESDS enterprise!

ARR-MATTMANN

what is industry doing
What is industry doing?
  • Big Data?
    • They got it
    • Bigger than NASA even!
    • How about processing 1 PB/day?
  • How are they doing it?
    • Open Source
    • “Big Data” technologies
  • What is JPL doing to be part of this?
    • That’s my goal!
    • Actively representing the science mission needs

ARR-MATTMANN

licensing
Licensing
  • Relates to: redistribution, intellectual property, contributing, legal strategies
  • There are tons of OSS approved licenses
    • What’s the difference between them?
  • The difference mostly has to do with
    • Commercialization
    • Redistribution
    • Attribution
  • Let’s take a few examples

ARR-MATTMANN

some oss licenses
Some OSS licenses
  • ApacheLicenseV2
    • Allows (unrestricted):
      • Redistribution (or not)
      • Commercialization
      • Must keep ASL headers andNOTICE file bearingASL attribution
      • Contributors to ASFsign Apache CLAs or CCLAs
  • BSD License
    • Allows
      • Redistribution (or not)
      • Commercialization
      • Must include headerin code or in NOTICE
      • 0 contrib. restrictions

ARR-MATTMANN

some oss licenses that aren t so friendly
Some OSS licenses that aren’t so friendly
  • GPL(v2, v3), LGPL
    • Allows (restricted):
      • Redistribution
        • Based on implied commerciality and copyleft
      • Commercialization
        • May need to pay license fees
      • Standard attribution requirements (NOTICE or in source code headers) based on copyleft
    • “Copy left” Syndrome
      • Software must be redistributed under the same original terms of the any upstream author.
      • Author is not free to decide redistribution terms, or even source code inclusion terms (except under fair use which supersedes)

ARR-MATTMANN

why licenses are important
Why licenses are important
  • “War Story”
    • Amazon EC2, S3
  • Johnson and Johnson Pharm. R&D
    • At a recent conference I met the director of R&D for J&J. He presented a story wherein which J&J needed large bursting processing and limited data storage for some drug tests they were conducted. They decided to use Amazon EC2. After reviewing Amazon’s licensing policy for EC2 J&J’s laywers determined that Amazon claimed IP for any data or computational results produced on its cloud. Since the need for Amazon’s processing and cloud was limited to a few trials, and since the costs were so outrageous to stand up its own cluster for these experiments, J&J decided to forge ahead with Amazon with the understanding that its lawyers would “duke it out.” should the need arise with Amazon’s lawyers based on the FOU restrictions and IP claims induced by Amazon EC2.

ARR-MATTMANN

why licenses are important1
Why licenses are important
  • “War Story 2”
    • Oracle versus Google
  • Is there really free Java with your free lunch?
    • Although there is no definitive answer besides papers filed in court, Oracle’s claims in its lawsuit are based on perceived patents for the Java Virtual Machine and its associated IP. Sun originally filed patents on the Java Virtual Machine and its translation of programming language code into runtime executables. In order for a JVM to be a “certified” (read: trademark) JVM, the JVM must pass a “Test Compatibility Kit” (TCK), which Oracle/Sun license at a cost to JVM vendors. By purchasing the TCK, a JVM builder is given IP knowledge of the JVM patents. If a company builds a JVM but does not purchase the TCK, Oracle/Sun loses licensing dollars.

ARR-MATTMANN

what does oss licensing mean to software development
What does OSS licensing mean to Software Development?
  • Awareness
    • Know your distribution requirements
    • Know your contributor expectations
    • Know your field of use expectations
    • Know your commercialization expectations
  • Leverage licenses that give the most leeway in all important categories above
    • Allows the decision on some of the above aspects to be delayed without fear of penalty or prejudice
  • Friendly licenses: ASLv2, BSD, MIT
  • Know what you are signing *before* you sign it (or use it)

ARR-MATTMANN

redistribution
Redistribution
  • So you’ve built some awesome piece of software
  • And you’re wondering
    • What are my options for distributing it?
    • Question: what license are you going to choose?
    • Hopefully one that supports redistribution under your own terms!
  • How to redistribute the software?
    • Requires infrastructure
    • Who’s going to set it up?

ARR-MATTMANN

oss redistribution infrastructure
OSS Redistribution Infrastructure

Issue tracking

Portals

Source code repository

Repository browsing

Acceptance testing

Mailing lists

ARR-MATTMANN

oss ecosystems
OSS Ecosystems
  • Where should you go to for your open source project?
  • Should NASA have its own?
  • Should your project (SIPS, DAAC, proposal) have its own?

ARR-MATTMANN

oss ecosystems1
OSS Ecosystems
  • FTR, there are tons of concerns here
    • Should the ecosystem impose license restrictions?
      • Only support license X or Y?
    • What are the redistribution policies?
    • What’s the community?
    • What’s the IP?
    • What’s the infrastructure support?
    • Is it a foundation with rules, or just free for all?
  • Elephant in the room: What is the exposure? How many people are going to community C and are going to see your software and perhaps want to use it, improve it, file bugs against it, file patches, etc.?
  • Where/how does this matter to you?
    • Standing up our own OSS ecosystem may make sense for large, coarse-grained federations
    • A LOT more difficult to justify OTOH, for fine grained components, and module reuse

ARR-MATTMANN

community versus help desk
Community versus “Help Desk”
  • How do you want to have your open source software project run in the open?
    • Do you expect folks to come to you and only file bugs?
      • Then you and your team are the only ones who can fix them?
      • Then you and your team are the only ones who can release updates?
      • ”Help Desk” open source project
      • Examples: Sourceforge.net, Google Code, etc.
    • Do you expect to grow a community of interest where volunteers actively engage in software development?
      • Are volunteers empowered to pick up a shovel and help dig the hole?
      • Can volunteers (including your own paid employees) file issues?
      • Do you want to give the community a stake/vote in the overall process?
      •  “Community Building” open source project
      • Examples: Apache Software Foundation, Eclipse Foundation, etc.

ARR-MATTMANN

communities for your organization
Communities for your organization
  • Working on common software
    • Measured not in terms of what center contributor works for, but in terms of
      • Number of patches contributed (high quality)
      • Mailing list questions answered
      • # of releases made, or helped with
      • Tests written
      • Documentation added
    • Take the politics out of it and just work on “core” common code of mutual interest
  • Deciding on the right redistribution mechanism and license
    • Apache Software Foundation and ASLv2 provide openness and ability for center-local redistribution, commerciality and other decisions (for internal distributions and beyond)

ARR-MATTMANN

our experience apache oodt
Our experience: Apache OODT
  • Front Pagearticle on NASA.gov
    • Free and availableto download
  • First true NASA FOSS technology
    • Distributed atApache
  • Featured onSlashdot

ARR-MATTMANN

free as in beer
Free as in beer
  • “Something like the Apache foundation is the best place for released government software. A previous attempt at release and public distribution via a private company was a truly dismal failure. OpenPBS (portable batch system) is supposed to be available to anyone that asks. However when you do ask a sales rep strings you along for more than a month trying to sell you something that they can't actually assure you will fit your requirements (and is no longer under development) even when the free one is documented as doing so. It was a truly stupid waste of the salesperson's time and mine that would have exceeded the price of providing the file for download or sending by email by several orders of magnitude and generated a lot of ill will. I'll go as far as saying it was blatant false advertising using a government funded open source product to do a bait and switch to try to sell me an unmaintained product they picked up in a corporate take over. My experience appears to have been identical to that of many that attempted to obtain this government funded open source software that NASA had declared was available for anyone. Eventually due to this open source project becoming closed the project just had to fork and the compatible Torque batch system was developed by people that had actually get hold of the original OpenPBS.” – Slashdot user comment

ARR-MATTMANN

so again why do we care
So, again, why do we care?
  • Software Engineering Research Challenges/Questions
    • Students are using open source
    • They will inevitably see it in their projects, will use it to build out next generation infrastructure, etc.
  • Practitioner challenges
    • I still hear the “I just picked one” syndrome
  • We need to better train software engineering students and practitioners to understand the dimensions of open source software

ARR-MATTMANN

2 nd part of the talk
2nd part of the Talk
  • Some context and real-examples

ARR-MATTMANN

nasa ground data systems
NASA Ground Data Systems

Credit: D. Woollard

ARR-MATTMANN

context
Context
  • NASA develops science data processing systems for multiple earth science missions
  • These systems convert the instrument telemetry delivered to earth from space into useful data for scientific research
  • Typical characteristics
    • Remote sensing instruments that orbit the Earth multiple times daily
    • Data are acquired constantly
    • Complex algorithms convert instrument measurements to geophysical quantities

ARR-MATTMANN

some key open source technologies in use to enable science data
Some Key Open Source Technologies in Use to Enable Science Data
  • Apache Tomcat
    • CoreAppServerfor many of our Data Web Services and Web Apps
  • Apache HTTPD
    • Powers front-facing portals, redirects to app servers (like Tomcat), vhosting, as well as fronting for Plone
  • Apache Tika
    • Metadataextraction, content identification
  • Apache Hadoop
    • Cloud Storage

Also using Apache OODT to link all of these specific technologies together!

ARR-MATTMANN

application to planetary science
Application to planetary science
  • Often unique, one of a kind missions
    • Can drive technological changes
  • Instruments are competed and developed by academic and industry
    • Highly distributed acquisition and processing across partner organizations
    • Highly diverse data sets given heterogeneity of the instruments and the targets (i.e. solar system)
  • Missions are required to share science data results:
    • Common domain information model used to drive system implementations
    • Expert scientific help to the user community on using the data
    • Peer-review of data results to ensure quality
  • All planetary science data results from NASA (and some international) missions is deposited into the Planetary Data System, a federation of nodes in the USA and other systems internationally

Apache OODT, Solr

ARR-MATTMANN

application for earth missions
Application for Earth Missions

Apache OODT, Lucene, Tika, Tomcat, HTTPD

  • Leveraged OODT software framework for constructing ground data systems for earth science missions
    • Used OODT Catalog and Archive Service software
    • Focus is on Workflow Management
  • Constructed “workflows”
    • Execution of “processors” based on a set of rules
    • Explicit separation of workflow management from management of computational resources
  • Provided “lights out” operations
  • Multiple Missions
    • SeaWinds
    • QuikSCAT
    • Orbiting Carbon Observatory (OCO), OCO-2…
    • NP Sounder PEATE
    • SMAP

SeaWinds on ADEOS II (Launched

Dec 2002)

Credit: D. Freeborn, C. Mattmann, D. Woollard

ARR-MATTMANN

application to airborne science missions
Application to Airborne Science Missions

Users & Science

Community

Modeling &

Visualization

Spacecraft

& Other Data Sources

Apache OODT, Solr, Tika

Airborne

Data

A full service stack is deployed for each mission, utilizing any mission-provided resources as well as a cloud computing infrastructure.

Mission proprietary data is presented in a mission-specific secure portal while publicly available data is aggregated in the public portal.

Ground

Sensors

Credit: D. Freeborn, D. Woollard, E. Law, D. Crichton, L. Kay-Im,

ARR-MATTMANN

32

earth system grid federation
Earth System Grid Federation
  • DOE-funded federation to distribute climate model output to the climate modeling community
  • Common services for access to repositories and portals/gateways
  • Highly decoupled
  • Open source framework (software packaged and distributed) mandated by DOE SciDAC Program
  • A Recent question….how do you link observations and climate model output?

Apache Solr

ARR-MATTMANN

application to climate research climate data exchange

Specific Tools

(H2O, CO2, …)

Application to Climate Research(…Climate Data Exchange)

Apache OODT, Apache Solr

Credit: A. Braverman, C. Mattmann, D. Crichton,

L. Cinquini, M. Cayanan

ARR-MATTMANN

application to cancer research early detection research network
Application to Cancer Research: Early Detection Research Network

Apache OODT, Apache Solr

  • EDRN has pioneered the use of informatics technologies to support biomarker research
  • EDRN has developed a comprehensive infrastructure to support biomarker data management across EDRN’s distributed cancer centers
  • It supports capture and access to a diverse collection of distributed sets of information and results based on a core ontology for biomarker research

From: distributed research databases

Credit: D. Crichton, C. Mattmann, S. Kelly

A. Hart, H. Kincaid, S. Hughes

ARR-MATTMANN

application to health informatics virtual pediatric intensive care unit
Application to Health Informatics: Virtual Pediatric Intensive Care Unit
  • Principal collaboration with Childrens Hospital Los Angeles to develop a research network to capture and share data sets from pediatric intensive care units
  • CHLA has established a collaboration across 85 hospitals
  • Grant funded by the National Library of Medicine to research an informatics infrastructure and validate methods to support data analysis
    • Ultimate goal is to improve decision support through an integrated network of information and researchers

Apache OODT, Apache Solr

ARR-MATTMANN

the square kilometer array
The Square Kilometer Array
  • 1 sq. km ofantennas
  • Never-beforeseen resolution looking intothe sky
  • 700 TB
    • Per second!

Apache OODT, Apache Solr

ARR-MATTMANN

alright i ll shut up now
Alright, I’ll shut up now
  • Any questions?
  • THANK YOU!
    • mattmann@apache.org
    • @chrismattmann on Twitter

ARR-MATTMANN

acknowledgements
Acknowledgements
  • Some Tika material inspired by Jukka Zitting’s talks
    • http://www.slideshare.net/jukka/text-and-metadata-extraction-with-apache-tika
    • http://www.slideshare.net/jukka/text-and-metadata-extraction-with-apache-tika-4427630
  • NASA Jet Propulsion Laboratory
    • OODT Team
  • Dan Crichton’s keynote from ApacheConNA 2011

ARR-MATTMANN

2011 workshop on software engineering for cloud computing secloud
2011 Workshop on Software Engineering for Cloud Computing (SECLOUD)
  • This is the workshop at ICSE that Craig was talking about
  • 10 accepted research papers and 5 “demos”
  • Come join us in Hawaii!

https://sites.google.com/site/icsecloud2011/

ARR-MATTMANN

slide41
Book
  • Jukka Zitting and I are writinga book on Tika
    • Working on Chapters 14and 15 of 15
  • Early Access availablethrough MEAPprogram
  • http://manning.com/mattmann/

ARR-MATTMANN