more than storage
play

More Than Storage Margo Seltzer Canada 150 Research Chair in - PowerPoint PPT Presentation

More Than Storage Margo Seltzer Canada 150 Research Chair in Computer Systems University of British Columbia 1 May 2019 How do you build a mechanical computing device? 2 May 2019 Computer Systems Hardware, Software, and Programming 3


  1. More Than Storage Margo Seltzer Canada 150 Research Chair in Computer Systems University of British Columbia 1 May 2019

  2. How do you build a mechanical computing device? 2 May 2019

  3. Computer Systems Hardware, Software, and Programming 3 May 2019

  4. Computer Systems Software Hardware 4 May 2019

  5. Computer Systems Programming Languages Operating Systems Hardware Databases 5 May 2019

  6. Computer Systems Programming HPC Languages Operating Systems Architecture Databases 6 May 2019

  7. Computer Systems Programming HPC Languages Operating Distributed Networking Computing Systems Architecture Databases 7 May 2019

  8. Computer Systems Programming HPC Languages Operating Distributed Networking Computing Systems Architecture Databases Security 8 May 2019

  9. Computer Systems Programming HPC Languages Operating Distributed Networking Computing Systems Architecture Databases Security Storage 9 May 2019

  10. Computer Systems HPC Programming Scientific Computing Languages Operating Distributed Networking Computing Systems Architecture Databases Security Storage 10 May 2019

  11. Computer Systems Programming HPC Networked Scientific Languages Systems Computing Operating Distributed Networking Computing Systems Architecture Databases Security Storage 11 May 2019

  12. Computer Systems Programming HPC Networked Scientific Languages Systems Computing Operating Distributed Networking Mobile Computing Systems Architecture Databases Security Storage 12 May 2019

  13. Computer Systems Programming Networked Scientific HPC Languages IoT Systems Computing Operating Distributed Networking Mobile Computing Systems Architecture Embedded Databases Security Storage Systems 13 May 2019

  14. Computer Systems Programming Scientific Networked HPC Languages IoT Computing Systems Architecture Operating Distributed Networking Mobile Computing Systems Embedded Databases Security VLSI Storage Systems 14 May 2019

  15. Computer Systems Programming Scientific Networked HPC Languages IoT Computing Systems Architecture Operating Distributed Networking Mobile Computing Systems Embedded Databases Security VLSI Storage Systems 15 May 2019

  16. Storage? Programming Scientific Networked Scientific Networked HPC HPC Languages IoT Computing Systems Computing Systems Architecture Architecture Distributed Operating Distributed Networking Mobile Computing Computing Systems Embedded Databases Security Databases Security VLSI Storage Systems 16 May 2019

  17. Three Storage Vignettes Adapting Existing Solutions Runtime Provenance Applications Keys Values Session1 Cidon, Manno, Evans, Guyot Session2 Blomer, Hallak, Bbrown, Manno Session3 Strauss, Peglar, Gervasi Sesson4 Lightning Talks Building Custom Solutions Keys Values Session1 Cidon, Manno, Evans, Guyot Session2 Blomer, Hallak, Bbrown, Manno Session3 Strauss, Peglar, Gervasi Sesson4 Lightning Talks 17 May 2019

  18. Runtime Provenance Applications Michael Thomas Pasquier (Xueyuan)Han David Eyers Oliveir Hermant Jean Bacon Adam Bates Thomas Moyer 18 May 2019

  19. Runtime Provenance Applications Programming Scientific Networked HPC Languages IoT Computing Systems Architecture Operating Distributed Networking Mobile Computing Systems Embedded Databases Security VLSI Storage Systems 19 May 2019

  20. Provenance 101 20 May 2019

  21. Provenance 101 Provenance < 1662 Simon de Vos, Antwerp (possibly) by 1662 Guilliam I Forchoudt, Antwerp (possibly) to 1747 Jacques de Roore, The Hague 1747 - 1771 Anthonis de Groot and Stephanus de Groot, The Hague 1771 - ? Abelsz to 1779 Jacques Clemens to 1798 Supertini and Platina, Brussels to 1814 Pauwels, Brussels to 1822 Robert Saint-Victor, Paris 1822 - ? Roux to 1924 Marquise d'Aoust,&nbspFrance 1924 Galerie Georges Petit, Paris to 1940 Federico Gentili di Giuseppe,&nbspdied 1940, Paris 1940 - 1950 Mrs. A. Salem, Boston (Mr. Gentili di Giuseppe's daughter ) 1950 - 1954 Frederick Mont and Newhouse Galleries, New York 1954 - 1961 Samuel H. Kress Foundation, New York 12/09/1961 Seattle Art Museum 21 May 2019

  22. From Art to Computer Science Provenance-Aware Storage Systems env=“USER…” Kernel argv=“sort a” name=“sort modules=“pasta…” kernel=“Linux…” Task struct input=sort input=a Inode cache sort b a To file system 22 May 2019

  23. The Big Idea in one Slide Query/Analyze Provenance Query/Analyze Provenance Provenance Capture Provenance Capture 23 May 2019

  24. Digital Provenance Child dataset1 Raw data collected from Derivation system operation My Program Dataset execution Subset operation Program Child dataset2 24 May 2019

  25. Digital Provenance Child dataset1 Raw data collected Agent from Derivation system operation My Program Dataset execution Subset operation Program Child dataset2 25 May 2019

  26. Digital Provenance Child dataset1 Raw data collected Agent from Derivation system operation Activities My Program Dataset execution Subset operation Program Child dataset2 26 May 2019

  27. Digital Provenance Child dataset1 Raw data collected Agent from Derivation system operation Activities My Program Dataset execution Subset operation Entities Program Child dataset2 27 May 2019

  28. Digital Provenance Child dataset1 Raw data collected from Derivation system operation My Program Dataset execution Subset operation Program Relationships Child dataset2 28 May 2019

  29. All Kinds of Provenance Provenance 29 May 2019

  30. CamQuery Architecture Query/Analyze Provenance Query/Analyze Provenance Delay CamFlow Provenance Capture NetFilter LSM Provenance Capture OS OS 30 May 2019

  31. CamQuery Architecture Query/Analyze Provenance Query/Analyze Provenance Delay CamFlow NetFilter LSM Provenance Capture OS OS 31 May 2019

  32. CamQuery Architecture Query/Analyze Provenance Delay Query/Analyze Provenance CamFlow NetFilter LSM Provenance Capture OS OS 32 May 2019

  33. Architectural Implications Conventional CamQuery Provenance Applications Provenance Applications Static Graph Analysis Streaming Graph Analysis Detection Prevention F(Graph) F(Function) Immutable Mutable 33 May 2019

  34. Sample Applications Information Flow 34 May 2019

  35. Writing an Application #define KERNEL_QUERY static int #include “include/camquery.h” in_edge (union prov_msg *edge, union prov_msg * node) static label_t confidential; { if (has_label(edge, confidential)) { static void init (void) add_label(node, confidential); confidential = if (node_type(node) == ENT_INODE_SOCKET) get_label(“confidential”); return PROV_RAISE_WARNING; } } return 0; } static int out_edge (union prov_msg *node, union prov_msg *edge) { switch (edge_type(edge)) { case RL_WRITE: case RL_READ: QUERY_NAME(“Propagate labels”); case RL_SND: QUERY_DESCRIPTION(“Example query”); case RL_RCV: QUERY_AUTHOR(“Not me.”); case RL_VERSION: QUERY_VERSION(“0.1”); case RL_VERSION_PROCESS: QUERY_LICENSE(“GPL”); case RL_CLONE: register_query(init, in_edge, out_edge); if (has_label(node, confidential)) add_label(edge, confidential); } return 0; } 35 May 2019

  36. Writing an Application #define KERNEL_QUERY static int #include “include/camquery.h” in_edge(union prov_msg *edge, union prov_msg * node) static label_t confidential; { if (has_label(edge, confidential)) { static void init(void) add_label(node, confidential); confidential = if (node_type(node) == ENT_INODE_SOCKET) get_label(“confidential”); return PROV_RAISE_WARNING; } } return 0; } static int out_edge(union prov_msg *node, union prov_msg *edge) { switch (edge_type(edge)) { case RL_WRITE: case RL_READ: QUERY_NAME(“Propagate labels”); case RL_SND: QUERY_DESCRIPTION(“Example query”); case RL_RCV: QUERY_AUTHOR(“Not me.”); case RL_VERSION: QUERY_VERSION(“0.1”); case RL_VERSION_PROCESS: QUERY_LICENSE(“GPL”); case RL_CLONE: register_query(init, in_edge, out_edge); if (has_label(node, confidential)) add_label(edge, confidential); } return 0; } 36 May 2019

  37. Writing an Application #define KERNEL_QUERY static int #include “include/camquery.h” in_edge(union prov_msg *edge, union prov_msg * node) static label_t confidential; { if (has_label(edge, confidential)) { static void init(void) add_label(node, confidential); confidential = if (node_type(node) == ENT_INODE_SOCKET) get_label(“confidential”); return PROV_RAISE_WARNING; } } return 0; } static int out_edge(union prov_msg *node, union prov_msg *edge) { switch (edge_type(edge)) { case RL_WRITE: case RL_READ: QUERY_NAME(“Propagate labels”); case RL_SND: QUERY_DESCRIPTION(“Example query”); case RL_RCV: QUERY_AUTHOR(“Not me.”); case RL_VERSION: QUERY_VERSION(“0.1”); case RL_VERSION_PROCESS: QUERY_LICENSE(“GPL”); case RL_CLONE: register_query(init, in_edge, out_edge); if (has_label(node, confidential)) add_label(edge, confidential); } return 0; } 37 May 2019

Recommend


More recommend