provenance-aware storage systems

34
Provenance-Aware Storage Systems The First Workshop on Provenance Aware Storage Systems October 20, 2005 Margo Seltzer

Upload: jatin

Post on 10-Jan-2016

43 views

Category:

Documents


0 download

DESCRIPTION

Provenance-Aware Storage Systems. The First Workshop on Provenance Aware Storage Systems October 20, 2005 Margo Seltzer. Logistics. Morning and keynote in this room. Afternoon sessions in 123 (up one floor). We’ll ask for volunteers to scribe for the three sessions. - PowerPoint PPT Presentation

TRANSCRIPT

  • Provenance-Aware Storage SystemsThe First Workshop onProvenance Aware Storage SystemsOctober 20, 2005Margo Seltzer

  • LogisticsMorning and keynote in this room.Afternoon sessions in 123 (up one floor).Well ask for volunteers to scribe for the three sessions.Need anything: ask Tristen HubbardPlease stay for HIP tomorrow if your schedule permits.

  • ProvenanceFrom the French word for source or originThe complete history or lineage of a objectIn computer terms:On what is this object based?How was this object created?How can it be re-created?ExamplesSource code controlmake

  • Applications of ProvenanceHomeland securityArchivalScienceBusiness complianceSoftware developmentPublishing

  • The State of Provenance TodayMost provenance is entered manually.Provenance is stored in a database, separately from the data it describes.Many provenance systems are domain-specific.In many fields, provenance support is simply lacking.

    There must be a better way!

  • OutlineWhat is Provenance?What is a Provenance-Aware Storage System?PASS ArchitecturePASS PrototypeResearch ChallengesConclusions

  • ObservationsProvenance is meta-dataStorage systems manage meta-dataLow-level layout informationAccess control listsModify/access timesGeneration numbersSome of that meta-data is provenance

    Why not make the storage system responsible for provenance?

  • Advantages of Provenance in the Storage SystemGenerate provenance automatically.Requires effort to subvert the provenance system.Data and its provenance can be tightly bound.System-level provenance facilitates reproducibility.Provenance can subsume or augment document management systems.

  • What is a PASS?Storage systems (e.g., file systems) in which provenance is a first class entity.Provenance:is generated and maintained as transparently as possible.can be indexed and queried.will be created from objects imported from non-PASS sources.is maintained in the presence of deletes, copies, renames, etc.

  • Limitations of Automatic Provenance(For now) Assume that all input comes from objects that reside in a PASS.With no human intervention, it is possible to automatically construct the provenance for any objects produced/created.Removes any source of inconsistencyGuarantees that all objects are provenancedSome data does not come from objects in PASS. What is provenance of a file into which you type?What is the provenance of file generated by a measurement device (e.g., telescope, medical sensor, router)?

  • Index and QueryUsers will want to query provenanceShow me everything derived from my fileShow me everything upon which I dependProvenance schema is not fixedMy experiment will have different parameters from yours; parameters are part of the provenance of the result.Applications and users may care about provenance that is not visible to the system.

    The challenges of manually created data, index, query, and application-specific provenance require an extensible data management approach.

  • Degree of AutomationData that come from PASS files is easy.What about data from user input? Or devices?Proposed Solution: three types of provenanceFully automatic: the easy stuffSemi-automatic: provenance that can be deterministically extracted from a data source.Manual: grab what you can; allow users to provide annotations as well.

  • Extensibility via annotationsHow do you capture provenance for GUI input?Capture mouse clicks?Do nothing?Allow provenance-aware applications?Similar challenges arise in environmentsRMatlabProposed Solution: permit additions to provenance from applications and users. Call these annotations.

  • OutlineWhat is Provenance?What is a Provenance-Aware Storage System?PASS ArchitecturePASS PrototypeResearch ChallengesConclusions

  • Our Definition of ProvenanceAttribute-value pairs.Some attributes are standard (OS, CPU).Some attributes are application-specific (e.g., a particular experiment has a value for nParticles).Some attributes may be domain-specific (e.g., all LHC experiments have a particle type).

    Attribute set must be extensible

  • PASS ComponentsCollectorFrom User ProcessFrom NetworkControlDataStorage SystemProvenance RecordsSchemaAccess ControlQuery Tool

  • The CollectorMonitor process event stream and translate it into provenance event stream.Transmit provenance events to the storage system for safe-keeping.What process events are relevant:Process mangement: fork, execFile I/O: close, read, writeOther information flow: shmap, mmapHandle trickinessCycles detection and elimination or cycle avoidanceWhen provenance gets written

  • The Schema LayerImplements provenance access control.Provides a schema from which to query.Provides a general-purpose schema on top of which domain-specific systems can be constructed.

  • The Storage SystemA file system: store data as would a non-PASS.Store provenance and its metadata:schemaindexesaccess control informationthe actual provenanceGuarantee integrity and coordination of data and provenance.

  • MiscellaniaEarly experience with our prototype suggests:The collector and schema should coordinate so that users can create scripts that transform some input into another input.The query tool and schema should coordinate to limit the depth of ancestry/descendency returned.Since provenance is inherently forest-structured, visual display is as important (or more so) than textual display.Performing in-kernel cycle detection and eradication is complex and ugly; avoidance would be a nice approach.

  • OutlineWhat is Provenance?What is a Provenance-Aware Storage System?PASS ArchitecturePASS PrototypeResearch ChallengesConclusions

  • Implementation PlatformLinux 2.4In-kernel transactional data storePort of Berkeley DB into the kernel.Provided by SUNY Stonybrook.Provenance And STorAge layer: PASTAStacked file systemConstructed using FiST

  • Architecture to ImplementationCollectorFrom User ProcessFrom NetworkControlDataStorage SystemProvenance RecordsSchemaAccess ControlQuery ToolPASTASchemaKBDBInterceptsAt SyscallLayer

  • TerminologyPnode: provenance nodeAn in-memory structure that represents all provenance on an object.Pnode numberA unique identifier for a pnode.All on-disk provenance is tagged by pnode number.

  • Record TypesNAME: full path nameINPUT_FILE; pnode number of a file that was readPREV_VERSION: if it exists, the pnode number of a previous version of an object.ARGUMENTS: reference to a command lineENVIRONMENT: reference to an environment descriptionSYSTEM: reference to a system descriptionPROC_NAME: name of a process that wrote to an object.PID: pid of a process writing to an object.

  • SchemaFive BDB DatabasesProvenance: keyed by a pnode number and record type; data is value for that record type (duplicates OK).Map: keyed by inode number; data is pnode number.Argdata: collection of all command lines (keyed by unique ID)Cmdindex: inverse mapping of argdata (key is command line; data is unique ID)Argindex: index on uses of a provenanced object (keyed by command line options; data is pnode number)lpr -d missmuffet fileAssume files pnode number is 7: {lpr,7},{-d,7}, {missmuffet,7},{file 7}

  • Query ToolC-programDirectly reads KBDB tablesSupportsAncestry queriesTrivial script generation

  • Notable Missing FeaturesAccess control model for provenanceProper tagging of files obtained from a network connectionFull and complete pipe handlingSystem provenanceGeneral purpose query toolManagement and configuration toolsAnnotation support

  • OutlineWhat is Provenance?What is a Provenance-Aware Storage SystemPASS ArchitecturePASS PrototypeResearch ChallengesConclusions

  • Research Challenges (1)Security: what is the right security model of provenance (and how do you expose that model to the user)?Search: can we do better than general-purpose search? How?APIs: how do we export provenance to support applications?Schema: how do we construct a substrate on to of which one can easily construct domain-specific systems?The Wire: how do we implement distributed PASS?Pruning: when can we delete provenance?

  • Research Challenges (2)Evaluation: how do we evaluate PASS? To what do we compare? What are the relevant metrics?Distributed Search: If you want to perform global search across a massive collection of PASSs, what do you do? Ship meta-data? Ship queries?Versioning: Does it make sense to build PASS on a non-versioning file system?Your Good Areas go here!

  • OutlineWhat is Provenance?What is a Provenance-Aware Storage SystemPASS ArchitecturePASS PrototypeResearch ChallengesConclusions

  • ConclusionsThe Provenance Problem arises in many domains.There is sufficient commonality among the domains that we should be building a common infrastructure on which to develop domain-specific approaches.Addressing the research challenges will be stimulating.Building this will be fun!

  • Workshop GoalsBuild a community.Discuss in depth some of the important challenges.Identify other fertile research areas.Decide when to meet again.Pick datesSuggest names for other attendeesTalk up the event

    Before workshop, add intro slides: agenda, logistics, etc.If there arent any questions, lets get on to the topic at hand We are storage geeks: provenance is just a special case of meta-data.Historical context: it was at last years HIP that we made the observation that you can collect provenance automatically

    Point 2: in contrast to forgetting to enter provenance in the database or maliciously deciding not to or maliciously entering incorrect provenance.Point 3: can make tools like backup/restore include provenance w/dataPoint 4: Reproducibility is not archival -- were not interested in solving that problem -- thats a big enough problem in and off itself.Point 5: Whatever you do for Sarbanes Oxley -- we can help.

    Point 1: That is, it is file system meta-data

    All input: nothing comes from a users brain. Think of a physical simulation that takes and input file, runs a program with some set of parameters and produces an output file.

    So, hold that thought for a minute, while we talk about query and index and then well come back to this.Note that these queries are hard (recursive)Is this Long horn?This is the intersection of databases and file systems: Either way, its the story of my life.

    Semi-automatic: assume that you can insert a filter between a device and the storage system (I.e., do what is done today).What we can grab: 1) created by user 2) using program 3) at time T 4) on system S

    When we talk about challenges a bit later, well talk about how to treat annotations versus provenance and what the security ramifications are.By now, I hope weve established what a PASS is and how we view the provenance problem. So, lets start to delve into the technical details.This is the dimension that considers how visible provenance is to the system.Mouse clicks dont necessarily tell you enough -- we want to know what analysis was selected or We call the stuff we generate automatically provenance and call application or user additions annotationsThis is a logical picture: stuff happens either from a network or from a user-process. That stuff goes through a process called collection.That collection process generates provenance records.

    Point 3 means its got to be pretty simple and low-level.2.4 for compatibility with SUNY folks?

    Provenance is stored as a collection of typed recordsExplain how input_file gets created

    Well delve into the red ones today and leave the others for informal conversations or the next workshop.Evaluation is actually a key question for all these stages. To what can we compare? Domain specific solutions?What metrics do we care about?Distribution: shipping meta-data brings back the separation of data and provenance.

    Looking for collaborators; future users; people who know something about provenance in a specific domain.