@article {whitehill2016crowdsourcing, title = {A Crowdsourcing Approach to Collecting 399 Tutorial Videos on Logarithms}, journal = {arXiv preprint arXiv:1606.09610}, year = {2016}, author = {Whitehill, Jacob and Seltzer, Margo} } @article {yang2016scalable, title = {Scalable Bayesian Rule Lists}, journal = {arXiv preprint arXiv:1602.08610}, year = {2016}, author = {Yang, Hongyu and Rudin, Cynthia and Seltzer, Margo} } @proceedings {263, title = {Designing Access Methods: The RUM Conjecture}, journal = {International Conference on Extending Database Technology (EDBT),}, year = {2016}, address = {Bordeaux, France}, abstract = {The database research community has been building methods to store, access, and update data for more than four decades. Throughout the evolution of the structures and techniques used to access data, access methods adapt to the ever changing hardware and workload requirements. Today, even small changes in the workload or the hardware lead to a redesign of access methods. The need for new designs has been increasing as data generation and workload diversification grow exponentially, and hardware advances introduce increased complexity. New workload requirements are introduced by the emergence of new applications, and data is managed by large systems composed of more and more complex and heterogeneous hardware. As a result, it is increasingly important to develop application-aware and hardware-aware access methods. The fundamental challenges that every researcher, systems architect, or designer faces when designing a new access method are how to minimize, i) read times (R), ii) update cost (U), and iii) memory (or storage) overhead (M). In this paper, we conjecture that when optimizing the read-update-memory overheads, optimizing in any two areas negatively impacts the third. We present a simple model of the RUM overheads, and we articulate the RUM Conjecture. We show how the RUM Conjecture manifests in state-of-the-art access methods, and we envision a trend toward RUM-aware access methods for future data systems.}, isbn = {978-3-89318-070-7}, author = {Athanassoulis, Manos and Michael S. Kester and Lukas M. Maas and Radu Stoica and Stratos Idreos and Anastasia Ailamaki and Mark Callaghan} } @proceedings {265, title = {Polaris: Faster Page Loads Using Fine-grained Dependency Tracking}, journal = {NSDI 2016}, year = {2016}, address = {Santa Clara, CA}, abstract = {To load a web page, a browser must fetch and evaluate\ objects like HTML files and JavaScript source\ code. Evaluating an object can result in additional objects\ being fetched and evaluated. Thus, loading a web\ page requires a browser to resolve a dependency graph;\ this partial ordering constrains the sequence in which a\ browser can process individual objects. Unfortunately,\ many edges in a page{\textquoteright}s dependency graph are unobservable\ by today{\textquoteright}s browsers. To avoid violating these hidden\ dependencies, browsers make conservative assumptions\ about which objects to process next, leaving the network\ and CPU underutilized. We provide two contributions. First, using a new measurement\ platform called Scout that tracks fine-grained\ data flows across the JavaScript heap and the DOM,\ we show that prior, coarse-grained dependency analyzers\ miss crucial edges: across a test corpus of 200\ pages, prior approaches miss 30\% of edges at the median,\ and 118\% at the 95th percentile. Second, we quantify\ the benefits of exposing these new edges to web\ browsers. We introduce Polaris, a dynamic client-side\ scheduler that is written in JavaScript and runs on unmodified\ browsers; using a fully automatic compiler,\ servers can translate normal pages into ones that load\ themselves with Polaris. Polaris uses fine-grained dependency\ graphs to dynamically determine which objects to\ load, and when. Since Polaris{\textquoteright} graphs have no missing\ edges, Polaris can aggressively fetch objects in a way that\ minimizes network round trips. Experiments in a variety\ of network conditions show that Polaris decreases page\ load times by 34\% at the median, and 59\% at the 95th\ percentile.}, url = {http://mickens.seas.harvard.edu/files/mickens/files/polaris.pdf}, editor = {Ravi Netravali and Ameesh Goyal and James Mickens and Hari Balakrishnan} } @proceedings {262, title = {Adaptive Indexing over Encrypted Numeric Data}, journal = {SIGMOD International Conference on Management of Data}, year = {2016}, publisher = {ACM}, address = {San Francisco, CA}, abstract = {Today, outsourcing query processing tasks to remote cloud servers becomes a viable option; such outsourcing calls for encrypting data stored at the server so as to render it secure against eavesdropping adversaries and/or an honest-but-curious server itself. At the same time, to be efficiently managed, outsourced data should be indexed, and even adaptively so, as a side-effect of query pro- cessing. Computationally heavy encryption schemes render such outsourcing unattractive; an alternative, Order-Preserving Encryption Scheme (OPES), intentionally preserves and reveals the order in the data, hence is unattractive from the security viewpoint. In this paper, we propose and analyze a scheme for lightweight and indexable encryption, based on linear-algebra operations. Our scheme provides higher security than OPES and allows for range and point queries to be efficiently evaluated over encrypted numeric data, with decryption performed at the client side. We implement a prototype that performs incremental, query-triggered adaptive indexing over encrypted numeric data based on this scheme, without leaking order information in advance, and without prohibitive overhead, as our extensive experimental study demonstrates.}, doi = {10.1145/2882903.2882932}, author = {P. Karras and A. Nikitin and M. Saad and R. Bhatt and D. Antyukhov and S. Idreos} } @proceedings {663891, title = {Polaris: Faster Page Loads Using Fine-grained Dependency Tracking}, journal = {NSDI 2016}, year = {2016}, address = {Santa Clara, CA}, abstract = {To load a web page, a browser must fetch and evaluate\ objects like HTML files and JavaScript source\ code. Evaluating an object can result in additional objects\ being fetched and evaluated. Thus, loading a web\ page requires a browser to resolve a dependency graph;\ this partial ordering constrains the sequence in which a\ browser can process individual objects. Unfortunately,\ many edges in a page{\textquoteright}s dependency graph are unobservable\ by today{\textquoteright}s browsers. To avoid violating these hidden\ dependencies, browsers make conservative assumptions\ about which objects to process next, leaving the network\ and CPU underutilized.We provide two contributions. First, using a new measurement\ platform called Scout that tracks fine-grained\ data flows across the JavaScript heap and the DOM,\ we show that prior, coarse-grained dependency analyzers\ miss crucial edges: across a test corpus of 200\ pages, prior approaches miss 30\% of edges at the median,\ and 118\% at the 95th percentile. Second, we quantify\ the benefits of exposing these new edges to web\ browsers. We introduce Polaris, a dynamic client-side\ scheduler that is written in JavaScript and runs on unmodified\ browsers; using a fully automatic compiler,\ servers can translate normal pages into ones that load\ themselves with Polaris. Polaris uses fine-grained dependency\ graphs to dynamically determine which objects to\ load, and when. Since Polaris{\textquoteright} graphs have no missing\ edges, Polaris can aggressively fetch objects in a way that\ minimizes network round trips. Experiments in a variety\ of network conditions show that Polaris decreases page\ load times by 34\% at the median, and 59\% at the 95th\ percentile.}, url = {http://mickens.seas.harvard.edu/files/mickens/files/polaris.pdf}, editor = {Ravi Netravali and Ameesh Goyal and James Mickens and Hari Balakrishnan} } @conference {seltzer2015automatically, title = {Automatically Scalable Computation}, booktitle = {Proceedings of the 29th ACM on International Conference on Supercomputing}, year = {2015}, pages = {283{\textendash}283}, publisher = {ACM}, organization = {ACM}, author = {Seltzer, Margo} } @article {margo2015scalable, title = {A scalable distributed graph partitioner}, journal = {Proceedings of the VLDB Endowment}, volume = {8}, number = {12}, year = {2015}, pages = {1478{\textendash}1489}, publisher = {VLDB Endowment}, author = {Daniel Margo and Seltzer, Margo} } @conference {eldridge2015towards, title = {Towards general-purpose neural network computing}, booktitle = {2015 International Conference on Parallel Architecture and Compilation (PACT)}, year = {2015}, pages = {99{\textendash}112}, publisher = {IEEE}, organization = {IEEE}, author = {Eldridge, Schuyler and Waterland, Amos and Seltzer, Margo and Appavoo, Jonathan and Joshi, Ajay} } @conference {balakrishnan2015recent, title = {Recent advances in computer architecture: the opportunities and challenges for provenance}, booktitle = {7th USENIX Workshop on the Theory and Practice of Provenance (TaPP 15)}, year = {2015}, author = {Balakrishnan, Nikilesh and Bytheway, Thomas and Carata, Lucian and Chick, Oliver RA and Snee, James and Akoush, Sherif and Sohan, Ripduman and Seltzer, Margo and Hopper, Andy} } @proceedings {260, title = {LLAMA: Efficient graph analytics using Large Multiversioned Arrays}, journal = {2015 IEEE 31st International Conference on Data Engineering (ICDE)}, year = {2015}, month = {04/2015}, publisher = {IEEE}, address = {Seoul, South Korea}, abstract = {We present LLAMA, a graph storage and analysis system that supports mutability and out-of-memory execution. LLAMA performs comparably to immutable main-memory analysis systems for graphs that fit in memory and significantly outperforms existing out-of-memory analysis systems for graphs that exceed main memory. LLAMA bases its implementation on the compressed sparse row (CSR) representation, which is a read-only representation commonly used for graph analytics. We augment this representation to support mutability and persistence using a novel implementation of multi-versioned array snapshots, making it ideal for applications that receive a steady stream of new data, but need to perform whole-graph analysis on consistent views of the data. We compare LLAMA to state-of-the-art systems on representative graph analysis workloads, showing that LLAMA scales well both out-of-memory and across parallel cores. Our evaluation shows that LLAMA{\textquoteright}s mutability introduces modest overheads of 3-18\% relative to immutable CSR for in-memory execution and that it outperforms state-of-the-art out-of-memory systems in most cases, with a best case improvement of 5x on breadth-first-search.}, doi = {10.1109/ICDE.2015.7113298}, author = {Peter Macko and Virendra Marathe and Daniel Margo and Seltzer, Margo} } @proceedings {261, title = {A Scalable Distributed Graph Partitioner }, journal = {Proceedings of the VLDB Endowment}, volume = {8}, year = {2015}, month = {08/2015}, pages = {1478-1489}, publisher = {The VLDB Endowment}, address = {Kohala Coast, Hawaii}, abstract = {We present Scalable Host-tree Embeddings for Efficient Partitioning (Sheep), a distributed graph partitioning algorithm capable of handling graphs that far exceed main memory. Sheep produces high quality edge partitions an order of magnitude faster than both state of the art offline (eg, METIS) and streaming partitioners (eg, Fennel). Sheep{\textquoteright}s partitions are independent of the input graph distribution, which means that graph elements can be assigned to processing nodes arbitrarily without affecting the partition quality.}, doi = {10.14778/2824032.2824046}, author = {Daniel W. Margo and Margo I. Seltzer} } @conference {waterland2014asc, title = {ASC: Automatically scalable computation}, booktitle = {ACM SIGPLAN Notices}, volume = {49}, number = {4}, year = {2014}, pages = {575{\textendash}590}, publisher = {ACM}, organization = {ACM}, author = {Waterland, Amos and Angelino, Elaine and Adams, Ryan P and Appavoo, Jonathan and Seltzer, Margo} } @book {rao2014framework, title = {A Framework for Incentivizing Deep Fixes}, volume = {14}, year = {2014}, publisher = {WIT-EC}, organization = {WIT-EC}, author = {Malvika Rao and David C Parkes and Seltzer, Margo and Bacon, David F} } @article {carata2014primer, title = {A primer on provenance}, journal = {Communications of the ACM}, volume = {57}, number = {5}, year = {2014}, pages = {52{\textendash}60}, publisher = {ACM}, author = {Carata, Lucian and Akoush, Sherif and Balakrishnan, Nikilesh and Bytheway, Thomas and Sohan, Ripduman and Seltzer, Margo and Hopper, Andy} } @article {angelino2014accelerating, title = {Accelerating MCMC via parallel predictive prefetching}, journal = {arXiv preprint arXiv:1403.7265}, year = {2014}, author = {Angelino, Elaine and Kohler, Eddie and Waterland, Amos and Seltzer, Margo and Adams, Ryan P} } @article {arce2014avoiding, title = {Avoiding the top 10 software security design flaws}, journal = {IEEE Computer Society}, year = {2014}, author = {Arce, Iv{\'a}n and Clark-Fisher, Kathleen and Daswani, Neil and DelGrosso, Jim and Dhillon, Danny and Kern, Christoph and Kohno, Tadayoshi and Landwehr, Carl and McGraw, Gary and Schoenfield, Brook and others} } @article {appavoo2014programmable, title = {Programmable smart machines: A hybrid neuromorphic approach to general purpose computation}, journal = {Proc. Neuromorphic Architectures (NeuroArch) Workshop at 41th International Symposium on Computer Architecture (ISCA-41)}, year = {2014}, author = {Appavoo, Jonathan and Waterland, Amos and Zhao, Katherine and Eldridge, Schuyler and Joshi, Ajay and Seltzer, Margo and Homer, Steve} } @conference {waterland2013computational, title = {Computational caches}, booktitle = {Proceedings of the 6th International Systems and Storage Conference}, year = {2013}, pages = {8}, publisher = {ACM}, organization = {ACM}, author = {Waterland, Amos and Angelino, Elaine and Cubuk, Ekin D and Efthimios Kaxiras and Adams, Ryan P and Appavoo, Jonathan and Seltzer, Margo} } @conference {rasssen2013automated, title = {Automated Use of Electronic Health Record Text Data To Improve Validity in Pharmacoepidemiology Studies}, booktitle = {PHARMACOEPIDEMIOLOGY AND DRUG SAFETY}, volume = {22}, year = {2013}, pages = {376{\textendash}376}, publisher = {WILEY-BLACKWELL 111 RIVER ST, HOBOKEN 07030-5774, NJ USA}, organization = {WILEY-BLACKWELL 111 RIVER ST, HOBOKEN 07030-5774, NJ USA}, author = {Rasssen, Jeremy A and Wahl, Peter M and Angelino, Elaine and Seltzer, Margo I and Rosenman, Marc D and Schneeweiss, Sebastian} } @conference {macko2013local, title = {Local clustering in provenance graphs}, booktitle = {Proceedings of the 22nd ACM international conference on Information \& Knowledge Management}, year = {2013}, pages = {835{\textendash}840}, publisher = {ACM}, organization = {ACM}, author = {Peter Macko and Daniel Margo and Seltzer, Margo} } @article {macko2013local, title = {Local clustering in provenance graphs (extended version)}, year = {2013}, author = {Peter Macko and Margo, Daniel Wyatt and Seltzer, Margo I} } @conference {macko2013performance, title = {Performance introspection of graph databases}, booktitle = {Proceedings of the 6th International Systems and Storage Conference}, year = {2013}, pages = {18}, publisher = {ACM}, organization = {ACM}, author = {Peter Macko and Daniel Margo and Seltzer, Margo} } @article {herzlinger2013applying, title = {Applying KISS to Healthcare Information Technology}, journal = {Computer}, number = {11}, year = {2013}, pages = {72{\textendash}74}, publisher = {IEEE}, author = {Herzlinger, Regina and Seltzer, Margo and Mark Gaynor} } @conference {holland2013flash, title = {Flash caching on the storage client}, booktitle = {Presented as part of the 2013 USENIX Annual Technical Conference (USENIX ATC 13)}, year = {2013}, pages = {127{\textendash}138}, author = {Holland, David A and Angelino, Elaine and Wald, Gideon and Seltzer, Margo I} } @article {borkin2013evaluation, title = {Evaluation of filesystem provenance visualization tools}, journal = {IEEE Transactions on Visualization and Computer Graphics}, volume = {19}, number = {12}, year = {2013}, pages = {2476{\textendash}2485}, publisher = {IEEE}, author = {Michelle A. Borkin and Chelsea S. Yeh and Madelaine Boyd and Peter Macko and Krzysztof Z. Gajos and Seltzer, Margo and Hanspeter Pfister} } @conference {waterland2012parallelization, title = {Parallelization by simulated tunneling}, booktitle = {Presented as part of the 4th USENIX Workshop on Hot Topics in Parallelism}, year = {2012}, author = {Waterland, Amos and Appavoo, Jonathan and Seltzer, Margo} } @article {parker2012making, title = {Making sense of file systems through provenance and rich metadata}, journal = {University of California, Santa Cruz, Tech. Rep. UCSC-SSRC-12-01}, year = {2012}, author = {Parker-Wood, Aleatha and Long, Darrell DE and Miller, Ethan L and Seltzer, Margo and Tunkelang, Daniel} } @conference {masstree:eurosys12, title = {Cache Craftiness for Fast Multicore Key-Value Storage}, booktitle = {Proceedings of the ACM EuroSys Conference (EuroSys 2012)}, year = {2012}, month = {April}, address = {Bern, Switzerland}, author = {Yandong Mao and Kohler, Eddie and Robert Morris} } @conference {macko2012general, title = {A General-Purpose Provenance Library.}, booktitle = {TaPP}, year = {2012}, author = {Peter Macko and Seltzer, Margo} } @article {maclean2012mining, title = {Mining the Web for Medical Hypothesis: A Proof-of-Concept System}, year = {2012}, author = {Diana Maclean and Seltzer, Margo I} } @article {guo2012burrito, title = {BURRITO: Wrapping Your Lab Notebook in Computational Infrastructure.}, journal = {TaPP}, volume = {12}, year = {2012}, pages = {7{\textendash}7}, author = {Guo, Philip J and Seltzer, Margo} } @proceedings {244, title = {Simbeeotic: A Simulator and Testbed for Micro-Aerial Vehicle Swarm Experiments}, journal = {ACM/IEEE 11th Conference on Information Processing in Sensor Networks (IPSN 2012)}, year = {2012}, month = {04/2012}, publisher = {IEEE/ACM}, address = {Beijing, China}, abstract = {Micro-aerial vehicle (MAV) swarms are an emerging class of mobile sensing systems. Simulation and staged deployment to prototype testbeds are useful in the early stages of large-scale system design, when hardware is unavailable or deployment at scale is impractical. To faithfully represent the problem domain, a MAV swarm simulator must be able to model the key aspects of the system: actuation, sensing, and communication. We present Simbeeotic, a simulation framework geared toward modeling swarms of MAVs. Simbeeotic enables algorithm development and rapid MAV prototyping through pure simulation and hardware-in-the-loop experimentation. We demonstrate that Simbeeotic provides the appropriate level of fidelity to evaluate prototype systems while maintaining the ability to test at scale.}, url = {http://www.eecs.harvard.edu/~bkate/pubs/simbeeotic-ipsn12.pdf}, author = {Bryan Kate and Jason Waterman and Karthik Dantu and Welsh, Matt} } @article {Zeldovich:2011:MIF:2018396.2018419, title = {Making information flow explicit in HiStar}, journal = {Commun. ACM}, volume = {54}, number = {11}, year = {2011}, pages = {93{\textendash}101}, publisher = {ACM}, address = {New York, NY, USA}, issn = {0001-0782}, doi = {10.1145/2018396.2018419}, url = {http://doi.acm.org/10.1145/2018396.2018419}, author = {Zeldovich, Nickolai and Boyd-Wickizer, Silas and Kohler, Eddie and Mazi{\`e}res, David} } @conference {Tarasov:2011:BFS:1991596.1991609, title = {Benchmarking file system benchmarking: it *IS* rocket science}, booktitle = {Proceedings of the 13th USENIX conference on Hot topics in operating systems}, series = {HotOS{\textquoteright}13}, year = {2011}, pages = {9{\textendash}9}, publisher = {USENIX Association}, organization = {USENIX Association}, address = {Berkeley, CA, USA}, url = {http://dl.acm.org/citation.cfm?id=1991596.1991609}, author = {Tarasov, Vasily and Bhanage, Saumitra and Zadok, Erez and Seltzer, Margo} } @article {seltzer2011collecting, title = {Collecting provenance via the Xen hypervisor}, year = {2011}, publisher = {USENIX Association}, author = {Seltzer, Margo I and Peter Macko and Chiarini, Marc A} } @article {seltzer2011provenance, title = {Provenance Integration Requires Reconciliation}, year = {2011}, author = {Seltzer, Margo I and Angelino, Elaine Lee and Braun, Uri Jacob and Holland, David A and Peter Macko and Margo, Daniel Wyatt} } @article {seltzer2011provenance, title = {Provenance map orbiter: interactive exploration of large provenance graphs}, year = {2011}, publisher = {USENIX Association}, author = {Seltzer, Margo I and Peter Macko} } @article {seltzer2011usenix, title = {USENIX Association Board of Directors Meeting August 12, 2011 Westin St. Francis Hotel Minutes 9/15/11}, year = {2011}, author = {Seltzer, Margo and Provos, Niels and Blaze, Matt and Couch, Alva and Arrasjid, John and Blank-Edelman, David and Noble, Brian and Young, Ellie and Dickison, Anne and Long, Jane-Ellen and others} } @article {margo2011addressing, title = {Addressing underspecified lineage queries on provenance}, year = {2011}, author = {Margo, Daniel Wyatt and Peter Macko and Seltzer, Margo I} } @conference {macko2011provenance, title = {Provenance Map Orbiter: Interactive Exploration of Large Provenance Graphs.}, booktitle = {TaPP}, year = {2011}, author = {Peter Macko and Seltzer, Margo} } @conference {macko2011collecting, title = {Collecting Provenance via the Xen Hypervisor.}, booktitle = {TaPP}, year = {2011}, author = {Peter Macko and Chiarini, Marc and Seltzer, Margo and Harvard, SEAS} } @article {kroeker2011magazine, title = {The magazine archive includes every article published in Communications of the ACM for over the past 50 years.}, journal = {Communications of the ACM}, volume = {54}, number = {10}, year = {2011}, pages = {11{\textendash}14}, author = {Kroeker, Kirk L} } @article {holland2011multicore, title = {Multicore OSes}, year = {2011}, author = {Holland, David A and Seltzer, Margo I} } @conference {Holland:2011:MOL:1991596.1991640, title = {Multicore OSes: looking forward from 1991, er, 2011}, booktitle = {Proceedings of the 13th USENIX conference on Hot topics in operating systems}, series = {HotOS{\textquoteright}13}, year = {2011}, pages = {33{\textendash}33}, publisher = {USENIX Association}, organization = {USENIX Association}, address = {Berkeley, CA, USA}, url = {http://dl.acm.org/citation.cfm?id=1991596.1991640}, author = {David A. Holland and Margo I. Seltzer} } @conference {Bailis:2011:DPP:2024724.2024745, title = {Dimetrodon: processor-level preventive thermal management via idle cycle injection}, booktitle = {Proceedings of the 48th Design Automation Conference}, series = {DAC {\textquoteright}11}, year = {2011}, pages = {89{\textendash}94}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, isbn = {978-1-4503-0636-2}, doi = {10.1145/2024724.2024745}, url = {http://doi.acm.org/10.1145/2024724.2024745}, author = {Bailis, Peter and Reddi, Vijay Janapa and Gandhi, Sanjay and David Brooks and Seltzer, Margo} } @conference {angelino2011provenance, title = {Provenance Integration Requires Reconciliation.}, booktitle = {TaPP}, year = {2011}, author = {Angelino, Elaine and Uri Braun and Holland, David A and Margo, Daniel W} } @conference {243, title = {Programming micro-aerial vehicle swarms with Karma}, booktitle = {9th ACM Conference on Embedded Networked Sensor Systems (SenSys 2011)}, year = {2011}, month = {11/2011}, publisher = {ACM}, organization = {ACM}, address = {Seattle, WA}, abstract = {Research in micro-aerial vehicle (MAV) construction, control, and high-density power sources is enabling swarms of MAVs as a new class of mobile sensing systems. For efficient operation, such systems must adapt to dynamic environments, cope with uncertainty in sensing and control, and operate with limited resources. We propose a novel system architecture based on a hive-drone model that simplifies the functionality of an individual MAV to a sequence of sensing and actuation commands with no in-field communication. This decision simplifies the hardware and software complexity of individual MAVs and moves the complexity of coordination entirely to a central hive computer. We present Karma, a system for programming and managing MAV swarms. Through simulation and testbed experiments we demonstrate how applications in Karma can run on limited resources, are robust to individual MAV failure, and adapt to changes in the environment.}, isbn = {978-1-4503-0718-5}, doi = {10.1145/2070942.2070956}, url = {http://www.eecs.harvard.edu/~kar/files/karma-sensys11.pdf}, author = {Karthik Dantu and Bryan Kate and Jason Waterman and Bailis, Peter and Welsh, Matt} } @article {Muniswamy-Reddy:2010:PFC:1713254.1713258, title = {Provenance as first class cloud data}, journal = {SIGOPS Oper. Syst. Rev.}, volume = {43}, year = {2010}, month = {January}, pages = {11{\textendash}16}, publisher = {ACM}, address = {New York, NY, USA}, issn = {0163-5980}, doi = {http://doi.acm.org/10.1145/1713254.1713258}, url = {http://doi.acm.org/10.1145/1713254.1713258}, author = {Kiran-Kumar Muniswamy-Reddy and Seltzer, Margo} } @article {Paek:2010:TAT:1777406.1777413, title = {The Tenet architecture for tiered sensor networks}, journal = {ACM Trans. Sen. Netw.}, volume = {6}, year = {2010}, pages = {34:1{\textendash}34:44}, publisher = {ACM}, address = {New York, NY, USA}, issn = {1550-4859}, doi = {http://doi.acm.org/10.1145/1777406.1777413}, url = {http://doi.acm.org/10.1145/1777406.1777413}, author = {Paek, Jeongyeup and Greenstein, Ben and Gnawali, Omprakash and Jang, Ki-Young and Joki, August and Vieira, Marcos and Hicks, John and Estrin, Deborah and Govindan, Ramesh and Kohler, Eddie} } @conference {Manesh:2010:ESS:1921151.1921161, title = {Evaluating the suitability of server network cards for software routers}, booktitle = {Proceedings of the Workshop on Programmable Routers for Extensible Services of Tomorrow}, series = {PRESTO {\textquoteright}10}, year = {2010}, pages = {7:1{\textendash}7:6}, publisher = {ACM}, organization = {ACM}, address = {New York, NY, USA}, isbn = {978-1-4503-0467-2}, doi = {http://doi.acm.org/10.1145/1921151.1921161}, url = {http://doi.acm.org/10.1145/1921151.1921161}, author = {Manesh, Maziar and Argyraki, Katerina and Dobrescu, Mihai and Egi, Norbert and Fall, Kevin and Iannaccone, Gianluca and Kohler, Eddie and Ratnasamy, Sylvia} } @conference {Muniswamy-Reddy:2010:PC:1855511.1855526, title = {Provenance for the cloud}, booktitle = {Proceedings of the 8th USENIX conference on File and storage technologies}, series = {FAST{\textquoteright}10}, year = {2010}, pages = {15{\textendash}14}, publisher = {USENIX Association}, organization = {USENIX Association}, address = {Berkeley, CA, USA}, url = {http://dl.acm.org/citation.cfm?id=1855511.1855526}, author = {Kiran-Kumar Muniswamy-Reddy and Peter Macko and Seltzer, Margo} } @conference {margo2010using, title = {Using Provenance to Extract Semantic File Attributes.}, booktitle = {TaPP}, year = {2010}, author = {Margo, Daniel W and Robin Smogor} } @conference {Macko:2010:TBR:1855511.1855513, title = {Tracking back references in a write-anywhere file system}, booktitle = {Proceedings of the 8th USENIX conference on File and storage technologies}, series = {FAST{\textquoteright}10}, year = {2010}, pages = {2{\textendash}2}, publisher = {USENIX Association}, organization = {USENIX Association}, address = {Berkeley, CA, USA}, url = {http://dl.acm.org/citation.cfm?id=1855511.1855513}, author = {Peter Macko and Seltzer, Margo and Keith A. Smith} } @conference {Braun:2010:TQI:1855795.1855798, title = {Towards query interoperability: PASSing PLUS}, booktitle = {Proceedings of the 2nd conference on Theory and practice of provenance}, series = {TAPP{\textquoteright}10}, year = {2010}, pages = {3{\textendash}3}, publisher = {USENIX Association}, organization = {USENIX Association}, address = {Berkeley, CA, USA}, url = {http://dl.acm.org/citation.cfm?id=1855795.1855798}, author = {Braun, Uri J. and Margo I. Seltzer and Chapman, Adriane and Blaustein, Barbara and Allen, M. David and Seligman, Len} } @conference {beesim-ants2010, title = {Positional communication and private information in honeybee foraging models}, booktitle = {Proceedings of the 7th International Conference on Swarm Intelligence}, series = {ANTS{\textquoteright}10}, year = {2010}, pages = {263{\textendash}274}, publisher = {Springer-Verlag}, organization = {Springer-Verlag}, address = {Berlin, Heidelberg}, isbn = {978-3-642-15460-7}, url = {http://dl.acm.org/citation.cfm?id=1884958.1884982}, author = {Bailis, Peter and Radhika Nagpal and Werfel, Justin} } @conference {angelino2010starflow, title = {StarFlow: A script-centric data analysis environment}, booktitle = {International Provenance and Annotation Workshop}, year = {2010}, pages = {236{\textendash}250}, publisher = {Springer Berlin Heidelberg}, organization = {Springer Berlin Heidelberg}, author = {Angelino, Elaine and Yamins, Daniel and Seltzer, Margo} } @article {youssef2009minimal, title = {Minimal Economic Distributed Computing}, journal = {arXiv preprint arXiv:0902.4730}, year = {2009}, author = {Saul Youssef and John Brunelle and John Huth and David C Parkes and Seltzer, Margo and Jim Shank} } @conference {Seltzer:2009:HFS:1855568.1855569, title = {Hierarchical file systems are dead}, booktitle = {Proceedings of the 12th conference on Hot topics in operating systems}, series = {HotOS{\textquoteright}09}, year = {2009}, pages = {1{\textendash}1}, publisher = {USENIX Association}, organization = {USENIX Association}, address = {Berkeley, CA, USA}, url = {http://dl.acm.org/citation.cfm?id=1855568.1855569}, author = {Seltzer, Margo and Nicholas Murphy} } @article {seltzer2009introduction, title = {Introduction to special issue FAST 2009}, journal = {ACM Transactions on Storage (TOS)}, volume = {5}, number = {4}, year = {2009}, pages = {11}, publisher = {ACM}, author = {Seltzer, Margo and Wheeler, Ric} } @conference {cheney2009provenance, title = {Provenance: a future history}, booktitle = {Proceedings of the 24th ACM SIGPLAN conference companion on Object oriented programming systems languages and applications}, year = {2009}, pages = {957{\textendash}964}, publisher = {ACM}, organization = {ACM}, author = {Cheney, James and Stephen Chong and Foster, Nate and Seltzer, Margo and Vansummeren, Stijn} } @article {242, title = {Monitoring Motor Fluctuations in Patients With Parkinson{\textquoteright}s Disease Using Wearable Sensors}, journal = {IEEE Transactions on Information Technology in Biomedicine}, volume = {13}, number = {6}, year = {2009}, month = {2009}, url = {/files/syrah/files/parkinsons-titb09.pdf}, author = {Shyamal Patel and Konrad Lorincz and Richard Hughes and Nancy Huggins and John Growden and David Standaert and Metin Akay and Dy, Jennifer and Welsh, Matt and Paolo Bonato} } @conference {195, title = {The Case for Browser Provenance}, booktitle = {1st Workshop on the Theory and Practice of Provenance (TaPP{\textquoteright}09)}, year = {2009}, month = {February 2009}, author = {Daniel Margo and Seltzer, Margo} } @conference {197, title = {Causality-Based Versioning}, booktitle = {7th USENIX Conference on File and Storage Technologies (FAST {\textquoteright}09)}, year = {2009}, month = {February 2009}, url = {/files/syrah/files/fast09.pdf}, author = {Kiran-Kumar Muniswamy-Reddy and David A. Holland} } @conference {194, title = {Layering in Provenance Systems}, booktitle = {2009 USENIX Annual Technical Conference}, year = {2009}, month = {June 2009}, address = {San Diego, California}, abstract = {Digital provenance describes the ancestry or history of a digital object. Most existing provenance systems, however, operate at only one level of abstraction: the system call layer, a workflow specification, or the high-level constructs of a particular application. The provenance collectable in each of these layers is different, and all of it can be important. Single-layer systems fail to account for the different levels of abstraction at which users need to reason about their data and processes. These systems cannot integrate data provenance across layers and cannot answer questions that require an integrated view of the provenance. We have designed a provenance collection structure facilitating the integration of provenance across multiple levels of abstraction, including a workflow engine, a web browser, and an initial runtime Python provenance tracking wrapper. We layer these components atop provenance-aware network storage (NFS) that builds upon a Provenance-Aware Storage System (PASS). We discuss the challenges of building systems that integrate provenance across multiple layers of abstraction, present how we augmented systems in each layer to ntegrate provenance, and present use cases that demonstrate how provenance spanning multiple layers provides functionality not available in existing systems.Our evaluation shows that the overheads imposed by layering provenance systems are reasonable.}, url = {/files/syrah/files/usenix09.pdf}, author = {Kiran-Kumar Muniswamy-Reddy and Uri Braun and David A. Holland and Peter Macko and Diana Maclean and Daniel Margo and Seltzer, Margo and Robin Smogor} } @conference {196, title = {Making a Cloud Provenance-Aware}, booktitle = {1st Workshop on the Theory and Practice of Provenance (TaPP{\textquoteright}09)}, year = {2009}, month = {February 2009}, url = {/files/syrah/files/tapp09-cloud.pdf}, author = {Kiran-Kumar Muniswamy-Reddy and Peter Macko and Seltzer, Margo} } @conference {193, title = {Mercury: A Wearable Sensor Network Platform for High-Fidelity Motion Analysis}, booktitle = {Proceedings of the 7th ACM Conference on Embedded Networked Sensor Systems (SenSys{\textquoteright}09)}, year = {2009}, month = {November}, address = {Berkeley, CA}, author = {Konrad Lorincz and Bor-Rong Chen and Geoffrey Werner Challen and Atanu Roy Chowdhury and Shyamal Patel and Paolo Bonato and Welsh, Matt} } @conference {191, title = {Peloton: Coordinated Resource Management for Sensor Networks}, booktitle = {12th Workshop on Hot Topics in Operating Systems (HotOS-XII) (2009)}, year = {2009}, month = {May}, url = {/files/syrah/files/peloton-hotos09.pdf}, author = {Jason Waterman and Geoffrey Werner Challen and Welsh, Matt} } @conference {192, title = {White Space Networking with Wi-Fi like Connectivity}, booktitle = {ACM SIGCOMM 2009}, year = {2009}, month = {August}, address = {Barcelona}, url = {/files/syrah/files/whitefi-sigcomm09.pdf}, author = {Paramvir Bahl and Ranveer Chandra and Thomas Moscibroda and Rohan Murty and Welsh, Matt} } @article {seltzer2008beyond, title = {Beyond relational databases}, journal = {Communications of the ACM}, volume = {51}, number = {7}, year = {2008}, pages = {52{\textendash}58}, publisher = {ACM}, author = {Seltzer, Margo} } @article {seltzer2008present, title = {The present and future of SAN/NAS: interview with Dave Hitz and Brian Pawlowsky of NetApp}, journal = {; login:: the magazine of USENIX \& SAGE}, volume = {33}, number = {3}, year = {2008}, pages = {39{\textendash}44}, publisher = {USENIX Association}, author = {Seltzer, Margo} } @article {moreau2008special, title = {Special issue: The first provenance challenge}, journal = {Concurrency and computation: practice and experience}, volume = {20}, number = {5}, year = {2008}, pages = {409{\textendash}418}, publisher = {Wiley Online Library}, author = {Moreau, Luc and Lud{\"a}scher, Bertram and Altintas, Ilkay and Barga, Roger S and Bowers, Shawn and Callahan, Steven and Chin, George and Clifford, Ben and Cohen, Shirley and Cohen-Boulakia, Sarah and others} } @article {ledlie2008proxy, title = {Proxy network coordinates}, journal = {Target}, volume = {22}, year = {2008}, pages = {25}, author = {Jonathan Ledlie and Seltzer, Margo and Peter Pietzuch} } @conference {200, title = {Choosing a Data Model and Query Language for Provenance}, booktitle = {Proceedings of the 2nd International Provenance and Annotation Workshop}, year = {2008}, month = {June 2008}, address = {Salt Lake City, Utah}, url = {/files/syrah/files/ipaw08.pdf}, author = {David A. Holland and Uri Braun and Diana Maclean and Kiran-Kumar Muniswamy-Reddy and Seltzer, Margo} } @article {198, title = {Layering in Provenance-Aware Storage Systems}, number = {TR-04-08}, year = {2008}, url = {/files/syrah/files/pass-TR-04-08.pdf}, author = {Kiran-Kumar Muniswamy-Reddy and Joseph Barillari and Uri Braun and David A. Holland and Diana Maclean and Seltzer, Margo and Stephen D. Holland} } @article {201, title = {PASSing the provenance challenge}, journal = {Concurrency and Control: Practice and Experience}, volume = {20}, year = {2008}, chapter = {531-540}, url = {/files/syrah/files/ccpe.pdf}, author = {David A. Holland and Seltzer, Margo and Uri Braun and Kiran-Kumar Muniswamy-Reddy} } @conference {199, title = {Securing Provenance}, booktitle = {Proceedings of the 3rd USENIX Workshop on Hot Topics in Security (HotSec)}, year = {2008}, month = {July 2008}, address = {San Jose, California}, url = {/files/syrah/files/hotsec08.pdf}, author = {Uri Braun and Avraham Shinnar and Seltzer, Margo} } @conference {135, title = {An Architecture for Extensible Wireless LANs}, booktitle = {Proc. Seventh ACM Workshop on Hot Topics in Networks (HotNets-VII)}, year = {2008}, month = {October}, url = {/files/syrah/files/trantor-hotnets08.pdf}, author = {Rohan Murty and Jitendra Padhye and Alec Wolman and Welsh, Matt} } @conference {140, title = {CitySense: An Urban-Scale Wireless Sensor Network and Testbed}, booktitle = {2008 IEEE International Conference on Technologies for Homeland Security}, year = {2008}, month = {May}, url = {/files/syrah/files/citysense-ieeehst08.pdf}, author = {Rohan Murty and Geoffrey Mainland and Ian Rose and Atanu Roy Chowdhury and Abhimanyu Gosain and Josh Bers and Welsh, Matt} } @conference {141, title = {Designing High Performance Enterprise Wi-Fi Networks}, booktitle = {5th USENIX/ACM Symposium on Networked Design and Implementation (NSDI{\textquoteright}08)}, year = {2008}, month = {April}, author = {Rohan Murty and Jitendra Padhye and Alec Wolman and Brian Zill} } @conference {136, title = {Flask: Staged Functional Programming for Sensor Networks}, booktitle = {13th ACM SIGPLAN International Conference on Functional Programming (ICFP 2008)}, year = {2008}, month = {September}, url = {/files/syrah/files/flask-icfp08.pdf}, author = {Geoffrey Mainland and Greg Morrisett and Welsh, Matt} } @conference {134, title = {Lance: Optimizing High-Resolution Signal Collection in Wireless Sensor Networks}, booktitle = {6th ACM Conference on Embedded Networked Sensor Systems (SenSys{\textquoteright}08)}, year = {2008}, month = {November}, url = {/files/syrah/files/lance-sensys08.pdf}, author = {Geoff Werner-Allen and Stephen Dawson-Haggerty and Welsh, Matt} } @conference {138, title = {LiveNet: Using Passive Monitoring to Reconstruct Sensor Network Dynamics}, booktitle = {4th IEEE/ACM International Conference on Distributed Computing in Sensor Systems (DCOSS 2008)}, year = {2008}, month = {June}, url = {/files/syrah/files/livenet-dcoss08.pdf}, author = {Bor-Rong Chen and Geoffrey Peterson and Geoff Mainland and Welsh, Matt} } @conference {137, title = {Pixie: An Operating System for Resource-Aware Programming of Embedded Sensors}, booktitle = {Fifth Workshop on Embedded Networked Sensors (HotEmNets{\textquoteright}08)}, year = {2008}, month = {June}, url = {/files/syrah/files/pixie-emnets08.pdf}, author = {Konrad Lorincz and Bor-Rong Chen and Jason Waterman and Geoff Werner-Allen and Welsh, Matt} } @conference {133, title = {Resource Aware Programming in the Pixie OS}, booktitle = {6th ACM Conference on Embedded Networked Sensor Systems (SenSys{\textquoteright}08)}, year = {2008}, month = {November}, url = {/files/syrah/files/pixie-sensys08.pdf}, author = {Konrad Lorincz and Bor-Rong Chen and Jason Waterman and Geoff Werner-Allen and Welsh, Matt} } @conference {139, title = {Wireless Medical Sensor Networks in Emergency Response: Implementation and Pilot Results}, booktitle = {2008 IEEE International Conference on Technologies for Homeland Security}, year = {2008}, month = {May}, url = {/files/syrah/files/aidn-ieeehst08.pdf}, author = {Tia Gao and Christopher Pesto and Leo Selavo and Chen, Yin and JeongGil Ko and JongHyun Lim and Andreas Terzis and Andrew Watt and James Jeng and Bor-Rong Chen and Konrad Lorincz and Welsh, Matt} } @article {stanik2007conversation, title = {A Conversation with Jamie Butler}, journal = {Queue}, volume = {5}, number = {1}, year = {2007}, pages = {16{\textendash}23}, publisher = {ACM}, author = {Stanik, John} } @article {seltzer2007berkeley, title = {Berkeley DB: A Retrospective.}, journal = {IEEE Data Eng. Bull.}, volume = {30}, number = {3}, year = {2007}, pages = {21{\textendash}28}, author = {Seltzer, Margo I} } @article {ledlie2007network, title = {Network Coordinates in the Wild.}, journal = {NSDI}, volume = {7}, year = {2007}, pages = {299{\textendash}311}, author = {Jonathan Ledlie and Gardner, Paul and Seltzer, Margo I} } @conference {ledlie2007wired, title = {Wired Geometric Routing.}, booktitle = {IPTPS}, year = {2007}, author = {Jonathan Ledlie and Michael Mitzenmacher and Seltzer, Margo I and Peter Pietzuch} } @conference {fedorova2007improving, title = {Improving performance isolation on chip multiprocessors via an operating system scheduler}, booktitle = {Proceedings of the 16th International Conference on Parallel Architecture and Compilation Techniques}, year = {2007}, pages = {25{\textendash}38}, publisher = {IEEE Computer Society}, organization = {IEEE Computer Society}, author = {Alexandra Fedorova and Seltzer, Margo and Smith, Michael D} } @conference {213, title = {Can a File System Virtualize Processors?}, booktitle = {First EuroSys Workshop on Virtualization for High-Performance Computing}, year = {2007}, month = {March 2007}, abstract = {Supercomputers are comprising more and more processors and these processors are increasingly heterogeneous, with differing performance characteristics. The conventional programming models assume that all nodes run in lockstep. Thus, applications run at the speed of the least powerful processor. We introduce DesyncFS, a new programming model based on the block abstraction of traditional file systems. It virtualizes the performance characteristics of processors; this allows their heterogeneity to be hidden. We show that DesyncFS allows cluster throughput to scale with average processor throughput instead of being limited by the slowest processor.}, url = {/files/syrah/files/hpcvirt-07.pdf}, author = {Lex Stein and David A. Holland and Seltzer, Margo and Zhang, Zheng} } @conference {144, title = {Analysis of Feature Space for Monitoring Persons with Parkinson{\textquoteright}s Disease With Application to a Wireless Wearable Sensor System}, booktitle = {29th IEEE EMBS Annual International Conference}, year = {2007}, month = {August}, url = {/files/syrah/files/parkinsons-embs07.pdf}, author = {Shyamal Patel and Konrad Lorincz and Richard Hughes and Nancy Huggins and John H. Growdon and Welsh, Matt and Paolo Bonato} } @article {143, title = {CitySense: A Vision for an Urban-Scale Wireless Networking Testbed}, year = {2007}, month = {September}, publisher = {Harvard University}, url = {/files/syrah/files/citysense-techrept07.pdf}, author = {Rohan Murty and Abhimanyu Gosain and Matthew Tierney and Andrew Brody and Amal Fahad and Josh Bers and Welsh, Matt} } @conference {149, title = {Cobra: Content-based Filtering and Aggregation of Blogs and RSS Feeds}, booktitle = {4th USENIX/ACM Symposium on Networked Systems Design and Implementation (NSDI 2007)}, year = {2007}, month = {April}, url = {/files/syrah/files/cobra-nsdi07.pdf}, author = {Ian Rose and Rohan Murty and Peter Pietzuch and Jonathan Ledlie and Mema Roussopoulos and Welsh, Matt} } @article {145, title = {LiveNet: Using Passive Monitoring to Reconstruct Sensor Network Dynamics}, year = {2007}, month = {August}, publisher = {Harvard University}, url = {/files/syrah/files/livenet-techrept07.pdf}, author = {Bor-Rong Chen and Geoffrey Peterson and Geoff Mainland and Welsh, Matt} } @conference {146, title = {Participatory User Centered Design Techniques for a Large Scale Ad-Hoc Health Information System}, booktitle = {First International Workshop on Systems and Networking Support for Healthcare and Assisted Living Environments (HealthNet{\textquoteright}07)}, year = {2007}, month = {June}, url = {/files/syrah/files/aidn-healthnet07.pdf}, author = {Tia Gao and Tammara Massey and Leo Selavo and Welsh, Matt and Majid Sarrafzadeh} } @conference {148, title = {The Regiment Macroprogramming System}, booktitle = {International Conference on Information Processing in Sensor Networks (IPSN{\textquoteright}07)}, year = {2007}, month = {April}, url = {/files/syrah/files/regiment-ipsn07.pdf}, author = {Ryan Newton and Greg Morrisett and Welsh, Matt} } @conference {147, title = {A Utility-Based Approach to Bandwidth Allocation and Link Scheduling in Wireless Networks}, booktitle = {First International Workshop on Agent Technology for Sensor Networks (ATSN-07)}, year = {2007}, month = {May}, url = {/files/syrah/files/utility-atsn07.pdf}, author = {Qicheng Ma and David C. Parkes and Welsh, Matt} } @conference {pietzuch2006network, title = {Network-aware overlays with network coordinates}, booktitle = {26th IEEE International Conference on Distributed Computing Systems Workshops (ICDCSW{\textquoteright}06)}, year = {2006}, pages = {12{\textendash}12}, publisher = {IEEE}, organization = {IEEE}, author = {Peter Pietzuch and Jonathan Ledlie and Michael Mitzenmacher and Seltzer, Margo} } @conference {perl2006data, title = {Data Management for Internet-Scale Single-Sign-On.}, booktitle = {WORLDS}, year = {2006}, author = {Perl, Sharon E and Seltzer, Margo} } @conference {ledlie2006stable, title = {Stable and accurate network coordinates}, booktitle = {26th IEEE International Conference on Distributed Computing Systems (ICDCS{\textquoteright}06)}, year = {2006}, pages = {74{\textendash}74}, publisher = {IEEE}, organization = {IEEE}, author = {Jonathan Ledlie and Peter Pietzuch and Seltzer, Margo} } @article {fedorova2006cache, title = {Cache-fair thread scheduling for multicore processors}, year = {2006}, author = {Alexandra Fedorova and Seltzer, Margo I and Smith, Michael D} } @article {fedorova2006non, title = {A non-work-conserving operating system scheduler for SMT processors}, journal = {Proceedings of the Workshop on the Interaction between Operating Systems and Computer Architecture, in conjunction with ISCA}, volume = {33}, year = {2006}, pages = {10{\textendash}17}, author = {Alexandra Fedorova and Seltzer, Margo and Smith, Michael D} } @article {brunelle2006egg, title = {Egg: An extensible and economics-inspired open grid computing platform}, year = {2006}, publisher = {World Scientific Publishing}, author = {Brunelle, John A and Peter Hurst and John Huth and Laura Kang and Chaki Ng and David C Parkes and Seltzer, Margo I and Jim Shank and Saul Youssef} } @conference {203, title = {Issues in Automatic Provenance Collection}, booktitle = {Proceedings of the 2006 International Provenance and Annotation Workshop}, year = {2006}, month = {May 2006}, address = {Chicago, Illinois}, url = {/files/syrah/files/ipaw06.pdf}, author = {Uri Braun and Simson Garfinkel and David A. Holland and Kiran-Kumar Muniswamy-Reddy and Seltzer, Margo} } @conference {202, title = {Provenance-Aware Storage Systems}, booktitle = {Proceedings of the 2006 USENIX Annual Technical Conference}, year = {2006}, month = {June 2006}, address = {Boston, Massachusetts}, abstract = {A Provenance-Aware Storage System (PASS) is a storage system that automatically collects and maintains provenance or lineage, the complete history or ancestry of an item. We discuss the advantages of treating provenance as meta-data collected and maintained by the storage system, rather than as manual annotations stored in a separately administered database. We describe a PASS implementation, discussing the challenges it presents, performance cost it incurs, and the new functionality it enables. We show that with reasonable overhead, we can provide useful functionality not available in today{\textquoteright}s file systems or provenance management systems.}, url = {/files/syrah/files/usenix06.pdf}, author = {Kiran-Kumar Muniswamy-Reddy and David A. Holland and Uri Braun and Seltzer, Margo} } @conference {155, title = {Ad-Hoc Multicast Routing on Resource-Limited Sensor Nodes}, booktitle = {Second ACM/Sigmobile workshop on Multi-hop Ad Hoc Networks: From Theory to Reality (REALMAN{\textquoteright}06)}, year = {2006}, month = {May}, url = {/files/syrah/files/tinyadmr-realman06.pdf}, author = {Bor-Rong Chen and Kiran-Kumar Muniswamy-Reddy and Welsh, Matt} } @conference {157, title = {Communicating Data from Wireless Sensor Networks using the HL7v3 Standard}, booktitle = {International Workshop on Wearable and Implantable Body Sensor Networks (BSN 2006)}, year = {2006}, month = {April}, author = {S. Baird and Stephen Dawson-Haggerty and Dan Myung and Mark Gaynor and Welsh, Matt and Steve Moulton} } @conference {153, title = {Design of a Decentralized Electronic Triage System}, booktitle = {American Medical Informatics Association Annual Conference (AMIA 2006)}, year = {2006}, month = {November}, author = {Tammara Massey and Tia Gao and Welsh, Matt and Jonathan Sharp} } @article {156, title = {Flask: A Language for Data-driven Sensor Network Programs}, year = {2006}, month = {May}, publisher = {Harvard University}, url = {/files/syrah/files/flask-TR-13-06.pdf}, author = {Geoffrey Mainland and Welsh, Matt and Greg Morrisett} } @conference {158, title = {Network-Aware Operator Placement for Stream-Processing Systems}, booktitle = {22nd International Conference on Data Engineering (ICDE 2006)}, year = {2006}, month = {April}, url = {/files/syrah/files/sbon-icde06.pdf}, author = {Peter Pietzuch and Jonathan Ledlie and Jeffrey Shneidman and Mema Roussopoulos and Welsh, Matt and Seltzer, Margo} } @conference {154, title = {Towards a Dependable Architecture for Internet-Scale Sensing}, booktitle = {Second Workshop on Hot Topics in Dependability (HotDep{\textquoteright}06)}, year = {2006}, month = {November}, url = {/files/syrah/files/iss-hotdep06.pdf}, author = {Rohan Murty and Welsh, Matt} } @conference {152, title = {Fidelity and Yield in a Volcano Monitoring Sensor Network}, booktitle = {7th USENIX Symposium on Operating Systems Design and Implementation (OSDI 2006)}, year = {2006}, month = {November}, url = {/files/syrah/files/volcano-osdi06.pdf}, author = {Geoff Werner-Allen and Konrad Lorincz and Jeff Johnson and Jonathan Lees and Welsh, Matt} } @article {seltzer2005beyond, title = {Beyond relational databases}, journal = {Queue}, volume = {3}, number = {3}, year = {2005}, pages = {50{\textendash}58}, publisher = {ACM}, author = {Seltzer, Margo} } @article {pietzuch2005supporting, title = {Supporting Network Coordinates on PlanetLab.}, journal = {WORLDS}, volume = {5}, year = {2005}, pages = {19{\textendash}24}, author = {Peter Pietzuch and Jonathan Ledlie and Seltzer, Margo} } @conference {ledlie2005distributed, title = {Distributed, secure load balancing with skew, heterogeneity and churn}, booktitle = {Proceedings IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies.}, volume = {2}, year = {2005}, pages = {1419{\textendash}1430}, publisher = {IEEE}, organization = {IEEE}, author = {Jonathan Ledlie and Seltzer, Margo} } @conference {gaynor2005dynamic, title = {A dynamic, data-driven, decision support system for emergency medical services}, booktitle = {International conference on computational science}, year = {2005}, pages = {703{\textendash}711}, publisher = {Springer Berlin Heidelberg}, organization = {Springer Berlin Heidelberg}, author = {Mark Gaynor and Seltzer, Margo and Steve Moulton and Freedman, Jim} } @article {fedorova2005modeling, title = {Modeling the Effects of Memory Hierarchy Performance On Throughput of Multithreaded Processors}, year = {2005}, author = {Alexandra Fedorova and Seltzer, Margo I and Smith, Michael D} } @article {fedorova2005performance, title = {Performance of multithreaded chip multiprocessors and implications for operating system design}, year = {2005}, author = {Alexandra Fedorova and Seltzer, Margo I and Small, Christopher A and Nussbaum, Daniel} } @conference {205, title = {Provenance-Aware Sensor Data Storage}, booktitle = {Proceedings of NetDB 2005}, year = {2005}, month = {April 2005}, address = {Tokyo, Japan}, url = {/files/syrah/files/netdb05.pdf}, author = {Jonathan Ledlie and Chaki Ng and David A. Holland and Kiran-Kumar Muniswamy-Reddy and Uri Braun and Seltzer, Margo} } @article {204, title = {Provenance-Aware Storage Systems}, number = {TR-18-05}, year = {2005}, month = {July 2005}, url = {/files/syrah/files/pass-TR-18-05.pdf}, author = {Seltzer, Margo and Kiran-Kumar Muniswamy-Reddy and David A. Holland and Uri Braun and Jonathan Ledlie} } @book {173, title = {A Prehospital Database System for Emergency Medical Services}, series = {Unwired Business: Cases in Mobile Business}, year = {2005}, publisher = {IRM Press}, organization = {IRM Press}, author = {Nada Hashmi and Mark Gaynor and Marissa Pepe and Welsh, Matt and William W. Tollefsen and Steven Moulton and Dan Myung and Stuart Barnes and Eusebio Scornavacca} } @conference {167, title = {Building up to Macroprogramming: An Intermediate Language for Sensor Networks}, booktitle = {Fourth International Conference on Information Processing in Sensor Networks (IPSN{\textquoteright}05)}, year = {2005}, month = {April}, url = {/files/syrah/files/tm-ipsn05.pdf}, author = {Ryan Newton and Arvind and Welsh, Matt} } @conference {169, title = {A Cost-Space Approach to Distributed Query Optimization in Stream Based Overlays}, booktitle = {First IEEE International Workshop on Networking Meets Databases (NetDB{\textquoteright}05)}, year = {2005}, month = {April}, url = {/files/syrah/files/sbon-netdb05.pdf}, author = {Jeff Shneidman and Peter Pietzuch and Welsh, Matt and Seltzer, Margo and Mema Roussopoulos} } @conference {165, title = {Decentralized, Adaptive Resource Allocation for Sensor Networks}, booktitle = {Second USENIX/ACM Symposium on Networked Systems Design and Implementation (NSDI 2005)}, year = {2005}, month = {May}, url = {/files/syrah/files/sora-nsdi05.pdf}, author = {Geoff Mainland and David C. Parkes and Welsh, Matt} } @conference {171, title = {Evaluating DHT-Based Service Placement for Stream-Based Overlays}, booktitle = {Fourth International Workshop on Peer-to-Peer Systems (IPTPS{\textquoteright}05)}, year = {2005}, month = {February}, url = {/files/syrah/files/sbon-iptps05.pdf}, author = {Peter Pietzuch and Jeff Shneidman and Jonathan Ledlie and Welsh, Matt and Seltzer, Margo and Mema Roussopoulos} } @conference {164, title = {Improving Patient Monitoring and Tracking in Emergency Response}, booktitle = {International Conference on Information Communication Technologies in Health}, year = {2005}, month = {July}, url = {/files/syrah/files/monitoring-icicth05.pdf}, author = {Tia Gao and Dan Greenspan and Welsh, Matt} } @conference {168, title = {MoteLab: A Wireless Sensor Network Testbed}, booktitle = {Fourth International Conference on Information Processing in Sensor Networks (IPSN{\textquoteright}05), Special Track on Platform Tools and Design Methods for Network Embedded Sensors (SPOTS)}, year = {2005}, month = {April}, url = {/files/syrah/files/motelab-spots05.pdf}, author = {Geoff Werner-Allen and Patrick Swieskowski and Welsh, Matt} } @conference {166, title = {MoteTrack: A Robust, Decentralized Approach to RF-Based Location Tracking}, booktitle = {International Workshop on Location- and Context-Awareness (LoCA 2005)}, year = {2005}, month = {May}, url = {/files/syrah/files/motetrack-loca05.pdf}, author = {Konrad Lorincz and Welsh, Matt} } @article {170, title = {Sensor Networks for Medical Care}, year = {2005}, month = {April}, publisher = {Harvard University}, url = {/files/syrah/files/codeblue-techrept05.pdf}, author = {Victor Shnayder and Bor-Rong Chen and Konrad Lorincz and Thaddeus R. F. Fulford-Jones and Welsh, Matt} } @conference {163, title = {Vital Signs Monitoring and Patient Tracking Over a Wireless Network}, booktitle = {27th IEEE EMBS Annual International Conference}, year = {2005}, month = {September}, url = {/files/syrah/files/monitoring-embs05.pdf}, author = {Tia Gao and Dan Greenspan and Welsh, Matt and Radford R. Juang and Alex Alm} } @conference {162, title = {Firefly-Inspired Sensor Network Synchronicity with Realistic Radio Effects}, booktitle = {Third ACM Conference on Embedded Networked Sensor Systems (SenSys{\textquoteright}05)}, year = {2005}, month = {November}, url = {/files/syrah/files/firefly-sensys05.pdf}, author = {Geoff Werner-Allen and Geetika Tewari and Ankit Patel and Welsh, Matt and Radhika Nagpal} } @article {sullivan2004using, title = {Using probabilistic reasoning to automate software tuning}, journal = {ACM SIGMETRICS Performance Evaluation Review}, volume = {32}, number = {1}, year = {2004}, pages = {404{\textendash}405}, publisher = {ACM}, author = {Sullivan, David G and Seltzer, Margo I and Avi Pfeffer} } @article {pietzuch2004path, title = {Path optimization in stream-based overlay networks}, journal = {Tr, Harvard University}, year = {2004}, author = {Peter Pietzuch and Jeffrey Shneidman and Welsh, Matt and Seltzer, Margo and Mema Roussopoulos} } @article {mesnier2004file, title = {File Classification in Self-* Storage Systems (CMU-PDL-04-101)}, year = {2004}, author = {Michael Mesnier and Eno Thereska and Daniel Ellard and Ganger, Gregory R and Seltzer, Margo} } @article {magoutis2004case, title = {The case against user-level networking}, journal = {Third Workshop on Novel Uses of System Area Networks (SAN-3)(Held in conjunction with HPCA-10)}, year = {2004}, author = {Kostas Magoutis and Seltzer, Margo and Eran Gabber} } @article {ganger2004data, title = {DATA ms}, year = {2004}, author = {Ganger, Gregory R and Seltzer, Margo} } @conference {fedorova2004chip, title = {Chip multithreading systems need a new operating system scheduler}, booktitle = {Proceedings of the 11th workshop on ACM SIGOPS European workshop}, year = {2004}, pages = {9}, publisher = {ACM}, organization = {ACM}, author = {Alexandra Fedorova and Christopher Small and Nussbaum, Daniel and Seltzer, Margo} } @article {fedorova2004implementing, title = {Implementing an OS Scheduler for Multithreaded Chip Multiprocessors}, journal = {Work-in-Progress Reports, 6th Symposium on Operating Systems Design and Implementation}, year = {2004}, author = {Fedorova, A and Seltzer, M and Small, C and Nussbaum, D} } @conference {237, title = {An Architecture A Day Keeps The Hacker Away}, booktitle = {2004 Workshop on Architectural Support for Security and Anti-Virus}, year = {2004}, month = {October 2004}, address = {Boston, Massachusetts}, abstract = {System security as it is practiced today is a losing battle. In this paper, we outline a possible comprehensive solution for binary-based attacks, using virtual machines, machine descriptions, and randomization to achieve broad heterogeneity at the machine level. This heterogeneity increases the {\textquoteleft}{\textquoteleft}cost{\textquoteright}{\textquoteright} of broad-based binary attacks to a sufficiently high level that they cease to become feasible. The convergence of several recent technologies appears to make our approach achievable at a reasonable cost, with only moderate run-time overhead.}, url = {/files/syrah/files/wassa-04.pdf}, author = {David A. Holland and Ada T. Lim and Margo I. Seltzer} } @conference {214, title = {File classification in self-* storage systems}, booktitle = {2004 International Conference on Autonomic Computing (ICAC-04)}, year = {2004}, month = {May 2004}, abstract = {To tune and manage themselves, file and storage systems must understand key properties (e.g., access pattern, lifetime, size) of their various files. This paper describes how systems can automatically learn to classify the properties of files (e.g., read-only access pattern, short-lived, small in size) and predict the properties of new files, as they are created, by exploiting the strong associations between a file{\textquoteright}s properties and the names and attributes assigned to it. These associations exist, strongly but differently, in each of four real NFS environments studied. Decision tree classifiers can automatically identify and model such associations, providing prediction accuracies that often exceed 90\%. Such predictions can be used to select storage policies (e.g., disk allocation schemes and replication factors) for individual files. Further, changes in associations can expose information about applications, helping autonomic system components distinguish growth from fundamental change.}, url = {/files/syrah/files/icac-04.pdf}, author = {Michael Mesnier and Eno Thereska and Daniel Ellard and Gregory R. Ganger and Seltzer, Margo} } @conference {183, title = {CodeBlue: An Ad Hoc Sensor Network Infrastructure for Emergency Medical Care}, booktitle = {MobiSys 2004 Workshop on Applications of Mobile Embedded Systems (WAMES 2004)}, year = {2004}, month = {June}, url = {/files/syrah/files/codeblue-bsn04.pdf}, author = {David Malan and Thaddeus Fulford-Jones and Welsh, Matt and Steve Moulton} } @conference {184, title = {Programming Sensor Networks Using Abstract Regions}, booktitle = {First USENIX/ACM Symposium on Networked Systems Design and Implementation (NSDI {\textquoteright}04)}, year = {2004}, month = {March}, url = {/files/syrah/files/regions-nsdi04.pdf}, author = {Welsh, Matt and Geoff Mainland} } @book {187, title = {TinyOS: An Operating System for Wireless Sensor Networks}, series = {Ambient Intelligence}, year = {2004}, publisher = {Springer-Verlag}, organization = {Springer-Verlag}, url = {http://www.springeronline.com/sgw/cda/frontpage/0,11855,4-40109-22-36346812-0,00.html}, author = {Philip Levis and Sam Madden and Joseph Polastre and Robert Szewczyk and Kamin Whitehouse and Alec Woo and David Gay and Hill, Jason and Welsh, Matt and Eric Brewer and David Culler and W. Weber, J. Rabaey, and E. Aarts} } @book {185, title = {A Whole-Network Approach to Sensor Network Programming}, series = {Wireless Sensor Networks: A Systems Perspective}, year = {2004}, publisher = {Artech House}, organization = {Artech House}, url = {http://www.amazon.com/exec/obidos/tg/detail/-/1580538673/qid=1117048636/sr=8-1/ref=sr_8_xs_ap_i1_xgl14/103-8686274-9396647?v=glance\&s=books\&n=50784}, author = {Welsh, Matt and Sam Madden and Nirupama Bulusu and Sanjay Jha} } @conference {179, title = {Open Problems in Data Collection Networks}, booktitle = {11th ACM SIGOPS European Workshop}, year = {2004}, month = {September}, url = {/files/syrah/files/hg-sigops04.pdf}, author = {Jonathan Ledlie and Jeff Shneidman and Welsh, Matt and Mema Roussopoulos and Seltzer, Margo} } @conference {178, title = {A Portable, Low-Power, Wireless Two-Lead EKG System}, booktitle = {26th IEEE EMBS Annual International Conference}, year = {2004}, month = {September}, url = {/files/syrah/files/ekg-embs04.pdf}, author = {Thaddeus R. F. Fulford-Jones and Gu-Yeon Wei and Welsh, Matt} } @conference {175, title = {A Public-Key Infrastructure for Key Distribution in TinyOS Based on Elliptic Curve Cryptography}, booktitle = {First IEEE International Conference on Sensor and Ad hoc Communications and Networks (SECON)}, year = {2004}, month = {October}, url = {/files/syrah/files/ecc-secon04.pdf}, author = {David Malan and Welsh, Matt and SMITH, Michael} } @conference {180, title = {Region Streams: Functional Macroprogramming for Sensor Networks}, booktitle = {First International Workshop on Data Management for Sensor Networks (DMSN)}, year = {2004}, month = {August}, url = {/files/syrah/files/regiment-dmsn04.pdf}, author = {Ryan Newton and Welsh, Matt} } @conference {174, title = {Simulating the Power Consumption of Large-Scale Sensor Network Applications}, booktitle = {Second ACM Conference on Embedded Networked Sensor Systems (SenSys{\textquoteright}04)}, year = {2004}, month = {November}, url = {/files/syrah/files/ptossim-sensys04.pdf}, author = {Victor Shnayder and Hempstead, Mark and Bor-Rong Chen and Geoff Werner-Allen and Welsh, Matt} } @conference {177, title = {Using Virtual Markets to Program Global Behavior in Sensor Networks}, booktitle = {11th ACM SIGOPS European Workshop}, year = {2004}, month = {September}, url = {/files/syrah/files/mbm-sigops04.pdf}, author = {Geoff Mainland and Laura Kang and Sebastien Lahaie and David C. Parkes and Welsh, Matt} } @conference {181, title = {Wireless Sensor Network Applications}, booktitle = {Americas Conference on Information Systems (AMCIS 2004)}, year = {2004}, month = {August}, author = {Mark Gaynor and Steve Moulton and Welsh, Matt and Austin Rowan and Ed LaCombe,and John Wynne} } @article {shneidman2003overcoming, title = {Overcoming rational manipulation in distributed mechanism implementations}, year = {2003}, author = {Jeffrey Shneidman and David C Parkes and Seltzer, Margo I} } @article {ng2003strategyproof, title = {Strategyproof computing: Systems infrastructures for self-interested parties}, year = {2003}, author = {Chaki Ng and David C Parkes and Seltzer, Margo I} } @conference {ng2003virtual, title = {Virtual worlds: Fast and strategyproof auctions for dynamic resource allocation}, booktitle = {Proceedings of the 4th ACM Conference on Electronic Commerce}, year = {2003}, pages = {238{\textendash}239}, publisher = {ACM}, organization = {ACM}, author = {Chaki Ng and David C Parkes and Seltzer, Margo} } @conference {magoutis2003making, title = {Making the Most Out of Direct-Access Network Attached Storage.}, booktitle = {FAST}, year = {2003}, author = {Kostas Magoutis and Salimah Addetia and Alexandra Fedorova and Seltzer, Margo I} } @conference {ledlie2003scooped, title = {Scooped, again}, booktitle = {International Workshop on Peer-to-Peer Systems}, year = {2003}, pages = {129{\textendash}138}, publisher = {Springer Berlin Heidelberg}, organization = {Springer Berlin Heidelberg}, author = {Jonathan Ledlie and Jeff Shneidman and Seltzer, Margo and John Huth} } @article {ledlie2003reliability, title = {Reliability-and capacity-based selection in distributed hash tables}, journal = {Harvard University Computer Science, Tech. Rep}, year = {2003}, author = {Jonathan Ledlie and Jeff Shneidman and Amis, Matthew and Michael Mitzenmacher and Seltzer, Margo} } @article {huth2003scooped, title = {Scooped, Again}, year = {2003}, publisher = {Springer Verlag}, author = {John Huth and Jonathan Ledlie and Jeff Shneidman and Seltzer, Margo} } @article {fedorova2003making, title = {Making the Most out of Direct-Access Network Attached Storage}, year = {2003}, publisher = {USENIX}, author = {Alexandra Fedorova and Kostas Magoutis and Salimah Addetia and Seltzer, Margo} } @article {226, title = {Attribute-Based Prediction of File Properties}, number = {14-03}, year = {2003}, month = {December 2003}, address = {Cambridge, Massachusetts}, abstract = {We present evidence that attributes that are known to the file system when a file is created, such as its name, permission mode, and owner, are often strongly related to future properties of the file such as its ultimate size, lifespan, and access pattern. More importantly, we show that we can exploit these relationships to automatically generate predictive models for these properties, and that these predictions are sufficiently accurate to enable optimizations.}, url = {/files/syrah/files/tr-14-03.pdf}, author = {Daniel Ellard and Michael Mesnier and Eno Thereska and Gregory R. Ganger and Seltzer, Margo} } @article {230, title = {DISP: Practical, Efficient, Secure and Fault Tolerant Data Storage for Distributed Systems}, number = {17-03}, year = {2003}, month = {December 2003}, address = {Cambridge, Massachusetts}, abstract = {We present DISP, a practical, efficient and secure client/server protocol for data storage and retrieval in a distributed environment and show how this protocol can tolerate Byzantine failure. We discuss variations on DISP that can be used as building blocks for different applications, and measure the performance of DISP on commodity hardware.}, url = {/files/syrah/files/tr-17-03.pdf}, author = {Daniel Ellard and James Megquier} } @article {227, title = {The File System Interface is an Anachronism}, number = {15-03}, year = {2003}, month = {January 2003}, address = {Cambridge, Massachusetts}, abstract = {Contemporary file systems implement a set of abstractions and semantics that are suboptimal for many (if not most) purposes. The philosophy of using the simple mechanisms of the file system as the basis for a vast array of higher-level mechanisms leads to inefficient and incorrect implementations. We propose several extensions to the canonical file system model, including explicit support for lock files, indexed files, and resource forks, and the benefit of session semantics for write updates. We also discuss the desirability of application-level file system transactions and file system support for versioning.}, url = {http://www.eecs.harvard.edu/syrah/papers/tr-15-03/}, author = {Daniel Ellard} } @article {228, title = {An NFS Trace Player for File System Evaluation}, number = {16-03}, year = {2003}, month = {December 2003}, address = {Cambridge, Massachusetts}, abstract = {File system traces have been used in simulation of specific design techniques such as disk scheduling, in workload characterization and modeling, and in identifying interesting file access patterns for performance optimizations. Suprisingly they are rarely used to test the correctness and to evaluate the performance of an actuaal file system or server. The main reason is that up until now there did not exist a flexible and easy-to-use trace player that, given an input trace, can properly initialize the test file system and replay the trace to the test system in such a way that respects dependency constraints among file access requests in the trace. This paper describes the design, implementation, and evaluation of an NFS trace play-back tool called FEUT (File system Evaluation Using Traces), which can automatically derive the initial file system image from a trace, speed up or slow down a trace play-back using temporal or spatial scaling, and features a highly efficient implementation that minimizes the CPU and disk I/O overhead during trace play-back. Experiments using a large NFS trace set show that trace-driven file system evaluation can indeed produce substantially different throughput and latency measurements than synthetic benchmarks such as SPECsfs, and FEUT{\textquoteright}s trace player is actually more efficient than SPECsfs{\textquoteright}s workload generator despite the fact that the former requires more CPU computation and disk I/O accesses.}, url = {/files/syrah/files/tr-16-03.pdf}, author = {Ningning Zhu and Jiawu Chen and Tzi-cker Chiueh and Daniel Ellard} } @article {224, title = {The Utility of File Names}, number = {05-03}, year = {2003}, month = {March 2003}, address = {Cambridge, Massachusetts}, abstract = {For typical workloads and file naming conventions, the size, lifespan, read/write ratio, and access pattern of nearly all files in a file system are accurately predicted by the name given to the file when it is created. We discuss some name-related properties observed in three contemporary NFS workloads, and present a method for automatically creating name-based models to predict interesting file properties of new files, and analyze the accuracy of these models for our workloads. Finally, we show how these predictions can be used as hints to optimize the strategies used by the file system to manage new files when they are created.}, url = {/files/syrah/files/tr-05-03.pdf}, author = {Daniel Ellard and Jonathan Ledlie and Seltzer, Margo} } @article {222, title = {Application Performance on the Direct Access File System}, number = {01-03}, year = {2003}, month = {January 2003}, address = {Cambridge, Massachusetts}, abstract = {The Direct Access File System (DAFS) is a distributed file system built on top of direct-access transports (DAT). Direct-access transports are characterized by using remote direct memory access (RDMA) for data transfer and user-level networking. The motivation behind the DAT-enabled distributed file system architecture is the reduction of the CPU overhead on the I/O data path. In collaboration with Duke University we have created and made available an open-source implementation of DAFS for the FreeBSD platform. In this paper we describe a performance evaluation study of DAFS that was performed with this software. The goal of this work is to determine whether the architecture of DAFS brings any fundamental performance benefits to applications compared to traditional distributed file systems. In our study we compare DAFS to a version of NFS optimized to reduce the I/O overhead. We conclude that DAFS can accomplish superior performance for latency-sensitive applications, outperforming NFS by up to a factor of 2. Bandwidth-sensitive applications do equally well on both systems, unless they are CPU-intensive, in which case they perform better on DAFS. We also found that RDMA is a less restrictive mechanism to achieve copy avoidance than that used by the optimized NFS.}, url = {/files/syrah/files/tr-01-03.ps}, author = {Alexandra Fedorova and Seltzer, Margo and Kostas Magoutis and Salimah Addetia} } @conference {217, title = {New NFS Tracing Tools and Techniques for System Analysis}, booktitle = {2003 Large Installation Systems Administration Conference}, year = {2003}, month = {October 2003}, abstract = {Passive NFS traces provide an easy and unobtrusive way to measure, analyze, and gain an understanding of an NFS workload. Historically, such traces have been used primarily by file system researchers in an attempt to understand, categorize, and generalize file system workloads. However, because such traces provide a wealth of detailed information about how a specific system is actually used, they should also be of interest to system administrators. We introduce a new open-source toolkit for passively gathering and summarizing NFS traces and show how to use this toolkit to perform analyses that are difficult or impossible with existing tools.}, url = {/files/syrah/files/lisa-03.pdf}, author = {Daniel Ellard and Seltzer, Margo} } @conference {215, title = {Rationality and Self-Interest in Peer to Peer Networks}, booktitle = {Second International Workshop on Peer-to-Peer Systems (IPTPS 2003)}, year = {2003}, month = {February 2003}, abstract = {Much of the existing work in peer to peer networking assumes that users will follow prescribed protocols without deviation. This assumption ignores the user{\textquoteright}s ability to modify the behavior of an algorithm for self-interested reasons. We advocate a different model in which peer to peer users are expected to be rational and self-interested. This model is found in the emergent fields of Algorithmic Mechanism Design (AMD) and Distributed Algorithmic Mechanism Design (DAMD), both of which introduce game-theoretic ideas into a computational system. We, as designers, must create systems (peer to peer search, routing, distributed auctions, resource allocation, etc.) that allow nodes to behave rationally while still achieving good overall system outcomes. This paper has three goals. The first is to convince the reader that rationality is a real issue in peer to peer networks. The second is to introduce mechanism design as a tool that can be used when designing networks with rational nodes. The third is to describe three open problems that are relevant in the peer to peer setting but are unsolved in existing AMD/DAMD work. In particular, we consider problems that arise when a networking infrastructure contains rational agents.}, url = {/files/syrah/files/iptps-03.pdf}, author = {Jeffrey Shneidman and David C. Parkes} } @conference {209, title = {NFS Tricks and Benchmarking Traps}, booktitle = {2003 USENIX Technical Conference Freenix Track}, year = {2003}, month = {June 2003}, abstract = {We describe two modifications to the FreeBSD 4.6 NFS server to increase read throughput by improving the read-ahead heuristic to deal with reordered requests and stride access patterns. We show that for some stride access patterns, our new heuristics improve end-to-end NFS throughput by nearly a factor of two. We also show that benchmarking and experimenting with changes to an NFS server can be a subtle and challenging task, and that it is often difficult to distinguish the impact of a new algorithm or heuristic from the quirks of the underlying software and hardware with which they interact. We discuss these quirks and their potential effects.}, url = {/files/syrah/files/freenix-03.pdf}, author = {Daniel Ellard and Seltzer, Margo} } @conference {208, title = {Passive NFS Tracing of Email and Research Workloads}, booktitle = {2003 USENIX Conference on File and Storage Technologies}, year = {2003}, month = {March 2003}, abstract = {We present an analysis of a pair of NFS traces of contemporary email and research workloads. We show that although the research workload resembles previously-studied workloads, the email workload is quite different. We also perform several new analyses that demonstrate the periodic nature of file system activity, the effect of out-of-order NFS calls, and the strong relationship between the name of a file and its size, lifetime, and access pattern.}, url = {/files/syrah/files/fast-03-tracing.pdf}, author = {Daniel Ellard and Jonathan Ledlie and Pia Malkani and Seltzer, Margo} } @conference {188, title = {Exposing Resource Tradeoffs in Region-Based Communication Abstractions for Sensor Networks}, booktitle = {Second ACM Workshop on Hot Topics in Networks (HotNets-II)}, year = {2003}, month = {November}, url = {/files/syrah/files/regions-hotnets03.pdf}, author = {Welsh, Matt} } @conference {190, title = {The nesC Language: A Holistic Approach to Networked Embedded Systems}, booktitle = {Programming Language Design and Implementation (PLDI 2003)}, year = {2003}, month = {June}, url = {/files/syrah/files/nesc-pldi-2003.pdf}, author = {David Gay and Phil Levis and Rob von Behren and Welsh, Matt and Eric Brewer and David Culler} } @conference {189, title = {TOSSIM: Accurate and Scalable Simulation of Entire TinyOS Applications}, booktitle = {First ACM Conference on Embedded Networked Sensor Systems (SenSys{\textquoteright}03)}, year = {2003}, month = {November}, url = {/files/syrah/files/tossim-sensys03.pdf}, author = {Philip Levis and Nelson Lee and Welsh, Matt and David Culler} } @conference {stein2002building, title = {Building a reliable mutable file system on peer-to-peer storage}, booktitle = {Reliable Distributed Systems, 2002. Proceedings. 21st IEEE Symposium on}, year = {2002}, pages = {324{\textendash}329}, publisher = {IEEE}, organization = {IEEE}, author = {Stein, Christopher A and Tucker, Michael J and Seltzer, Margo I} } @article {stein2002reliable, title = {Reliable and fault-tolerant peer-to-peer block storage}, year = {2002}, author = {Stein, CA and Tucker, Michael J and Seltzer, Margo I} } @article {shneidman2002collecting, title = {Collecting data for one hundred years}, journal = {Harvard University}, year = {2002}, author = {Jeffrey Shneidman and Choi, Bryan and Seltzer, Margo} } @conference {loverso2002tree, title = {Tree Houses and Real Houses: Research and Commercial Software.}, booktitle = {WIESS}, year = {2002}, pages = {55{\textendash}68}, author = {LoVerso, Susan J and Seltzer, Margo I} } @article {ledlie2002everything, title = {Everything You Always Wanted to Know about NFS Trace Analysis, but Were Afraid to Ask Dan Ellard}, year = {2002}, author = {Jonathan Ledlie and Pia Malkani and Seltzer, Margo} } @article {fischer2002clilets, title = {Clilets: Web Applications with Secure Client-Side Storage}, year = {2002}, author = {Fischer, Robert and Seltzer, Margo I} } @article {ellard2002everything, title = {Everything you always wanted to know about NFS trace analysis, but were afraid to ask}, year = {2002}, author = {Ellard, Dan and Jonathan Ledlie and Pia Malkani and Seltzer, Margo I} } @article {ellard2002sos, title = {SOS Technical Report: Everything You Always Wanted to Know about NFS Trace Analysis, but Were Afraid to Ask}, year = {2002}, author = {Ellard, Dan and Jonathan Ledlie and Pia Malkani and Seltzer, Margo} } @conference {238, title = {On the Design of a New CPU Architecture for Pedagogical Purposes}, booktitle = {2002 Workshop on Computer Architecture Education}, year = {2002}, month = {May 2002}, abstract = {Ant-32 is a new processor architecture designed specifically to address the pedagogical needs of teaching many subjects, including assembly language programming, machine architecture, compilers, operating systems, and VLSI design. This paper discusses our motivation for creating Ant-32 and the philosophy we used to guide our design decisions and gives a high-level description of the resulting design.}, url = {/files/syrah/files/wcae-02.pdf}, author = {Daniel Ellard and David A. Holland and Nicholas Murphy and Seltzer, Margo} } @conference {233, title = {Structure and Performance of the Direct Access File System}, booktitle = {2002 USENIX Annual Technical Conference}, year = {2002}, month = {June 2002}, abstract = { The Direct Access File System (DAFS) is an emerging industrial standard for network-attached storage. DAFS takes advantage of new user-level network interface standards. This enables a user-level file system structure in which client-side functionality for remote data access resides in a library rather than in the kernel. This structure addresses longstanding performance problems stemming from weak integration of buffering layers in the network transport, kernel-based file systems and applications. The benefits of this architecture include lightweight, portable and asynchronous access to network storage and improved application control over data movement, caching and prefetching. This paper explores the fundamental performance characteristics of a user-level file system structure based on DAFS. It presents experimental results from an open-source DAFS prototype and compares its performance to a kernel-based NFS implementation optimized for zero-copy data transfer. The results show that both systems can deliver file access throughput in excess of 100 MB/s, saturating network links with similar raw bandwidth. Lower client overhead in the DAFS configuration can improve application performance by up to 40\% over optimized NFS when application processing and I/O demands are well-balanced. }, url = {/files/syrah/files/usenix-02-dafs.pdf}, author = {Kostas Magoutis and Salimah Addetia and Alexandra Fedorova and Margo I. Seltzer and Jeffrey S. Chase and Andrew J. Gallatin and Richard Kisley and Rajiv G. Wickremesinghe and Eran Gabber} } @conference {219, title = {A New Instructional Operating System}, booktitle = {2002 ACM SIGCSE Conference on Computer Science Education}, year = {2002}, month = {2002}, abstract = {This paper presents a new instructional operating system, OS/161, and simulated execution environment, System/161, for use in teaching an introductory undergraduate operating systems course. We describe the new system, the assignments used in our course, and our experience teaching using the new system.}, url = {/files/syrah/files/sigcse-02.pdf}, author = {David A. Holland and Ada T. Lim and Margo I. Seltzer} } @conference {220, title = {Self-Organization in Peer-to-Peer Systems}, booktitle = {Tenth ACM SIGOPS European Workshop}, year = {2002}, month = {September 2002}, abstract = { This paper addresses the problem of forming groups in peer-to-peer (P2P) systems and examines what dependability means in decentralized distributed systems. Much of the literature in this field assumes that the participants form a local picture of global state, yet little research has been done discussing how this state remains stable as nodes enter and leave the system. We assume that nodes remain in the system long enough to benefit from retaining state, but not sufficiently long that the dynamic nature of the problem can be ignored. We look at the components that describe a system{\textquoteright}s dependability and argue that next-generation decentralized systems must explicitly delineate the information dispersal mechanisms (e.g., probe, event-driven, broadcast), the capabilities assumed about constituent nodes (bandwidth, uptime, re-entry distributions), and distribution of information demands (needles in a haystack vs. hay in a haystack [lv02gnutella]. We evaluate two systems based on these criteria: Chord [stoica01chord] and a heterogeneous-node hierarchical grouping scheme [ledlie02namequeries]. The former gives a greater than 1 failed request rate under normal P2P conditions and a prototype of the latter a similar rate under more strenuous conditions with an order of magnitude more organizational messages. This analysis suggests several methods to greatly improve the prototype. [lv02gnutella] Qin Lv, Sylvia Ratnasamy, Scott Shenker: Can Heterogeneity Make Gnutella Scalable?, Proceedings of the First International Workshop on Peer-to-Peer Systems (IPTPS 2002), Cambridge, MA, March 2002. [stoica01chord] Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan: Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications, Proceedings of the ACM SIGCOMM 2001 Conference, August 2001. [ledlie02namequeries] Jonathan Ledlie, Laura Serban, and Dafina Toncheva: Scaling Filename Queries in a Large-Scale Distributed File System, Harvard University Technical Report TR-03-02, January 2002. }, url = {/files/syrah/files/sigops-02.pdf}, author = {Jonathan Ledlie and Jacob M. Taylor and Laura Serban and Seltzer, Margo} } @article {zhang2001hbench, title = {HBench: Java: An application-specific benchmarking framework for Java Virtual Machines}, journal = {Concurrency and Computation: Practice and Experience}, volume = {13}, number = {8-9}, year = {2001}, pages = {775{\textendash}792}, publisher = {Wiley Online Library}, author = {Zhang, Xiaolan and Seltzer, Margo} } @article {zhang2001hbench, title = {HBench: JGC-An Application-Specific Benchmark Suite for Evaluating JVM Garbage Collector Performance.}, journal = {COOTS}, volume = {1}, year = {2001}, pages = {4{\textendash}4}, author = {Zhang, Xiaolan and Seltzer, Margo I} } @conference {stein2001unifying, title = {Unifying File System Protection.}, booktitle = {USENIX Annual Technical Conference, General Track}, year = {2001}, pages = {79{\textendash}90}, author = {Stein, Christopher A and Howard, John H and Seltzer, Margo I} } @article {223, title = {Scaling Filename Queries in a Large-Scale Distributed File System}, number = {03-02}, year = {2001}, month = {January 2001}, address = {Cambridge, Massachusetts}, abstract = { We have examined the tradeoffs in applying regular and Compressed Bloom filters to the name query problem in distributed file systems and developed and tested a novel mechanism for scaling queries as the network grows large. Filters greatly reduced query messages when using Fan{\textquoteright}s "Summary Cache" in web cache hierarchies [fan00summary], a similar albeit smaller, searching problem. We have implemented a testbed that models a distributed file system and run experiments that test various configurations of the system to see if Bloom filters could provide the same kind of improvements. In a realistic system, where the chance that a randomly queried node holds the file being searched for is low, we show that filters always provide lower bandwidth/search and faster time/search, as long as the rates of change of the files stored at the nodes is not extremely high relative to the number of searches. In other words, we confirm the intuition that keeping some state about the contents of the rest of the system will aid in searching as long as acquiring this state is not overly costly and it does not expire too quickly. The grouping topology we have developed divides n nodes into log(n) groups, each of which has a representative node that aggregates a composite filter for the group. All nodes not in that group use this low-precision filter to weed out whole collections of nodes by probing these filters, only sending a search to be proxied by a member of the group if the probe of the group filter returns positively. Proxied searches are then carried out within a group, where more precise (more bits per file) filters are kept and exchanged between the n/(log(n)) nodes in a group. Experimental results show that both bandwidth/search and time/search are improved with this novel grouping topology. [fan00summary] Li Fan, Pei Cao, Jussara Almeida, Andrei Z. Broder: Summary cache: a Scalable Wide-Area Web Cache Sharing Protocol, IEEE/ACM Transactions on Networking, 2000. }, url = {/files/syrah/files/tr-03-02.pdf}, author = {Jonathan Ledlie and Laura Serban and Dafina Toncheva} } @conference {210, title = {Research Issues in No-Futz Computing}, booktitle = {Ninth Workshop on Hot Topics in Operating Systems}, year = {2001}, month = {May 2001}, address = {Schoss Elmau, Germany}, abstract = {At the 1999 Workshop on Hot Topics in Operating Systems (HotOS VII), the attendees reached consensus that the most important issue facing the OS research community was "No-Futz" computing; eliminating the ongoing "futzing" that characterizes most systems today. To date, little research ahs been accomplished in this area. Our goal in writing this paper is to focus the research community on the challenges we face if we are to design systems that are truly futz-free, or even low-futz.}, url = {/files/syrah/files/hotos-01.ps}, author = {David A. Holland and William Josephson and Kostas Magoutis and Margo I. Seltzer and Christopher A. Stein and Ada Lim} } @article {wong2000oper, title = {OPER AT INGSYSTEMSUPPORTFORMU LTI-USER, REMOTE, GR AP HICALINTERACTION}, year = {2000}, author = {Wong, Alexander Ya-li and Seltzer, Margo} } @conference {seltzer2000journaling, title = {Journaling Versus Soft Updates: Asynchronous Meta-data Protection in File Systems.}, booktitle = {USENIX Annual Technical Conference, General Track}, year = {2000}, pages = {71{\textendash}84}, author = {Seltzer, Margo I and Ganger, Gregory R and McKusick, Marshall K and Smith, Keith A and Soules, Craig AN and Stein, Christopher A} } @article {seltzer2000journalingversussoftu, title = {JOURNALINGVERSUSSOFTU PD AT ES: ASYNCHRONOUSME TA-DA TA PROTECTION INFILESYSTEMS}, year = {2000}, author = {Seltzer, Margo I and Ganger, Gregory R and McKusick, M Kirk and Smith, Keith A and Soules, Craig AN and Stein, Christopher A} } @conference {endo2000improving, title = {Improving interactive performance using TIPME}, booktitle = {ACM SIGMETRICS Performance Evaluation Review}, volume = {28}, number = {1}, year = {2000}, pages = {240{\textendash}251}, publisher = {ACM}, organization = {ACM}, author = {Yasuhiro Endo and Seltzer, Margo} } @conference {231, title = {Addendum to the paper "Isolation with Flexibility: A Resource Management Framework for Central Servers"}, booktitle = {Unpublished addendum}, year = {2000}, month = {June 2000}, abstract = { As discussed in our 2000 USENIX paper, lottery scheduling{\textquoteright}s currency abstraction imposes lower limits on the resource allocations that clients of a system can receive. In our USENIX paper, we proposed one method for overcoming these lower limits. In this addendum to the paper, we discuss a limitation of our original solution to the lower-limits problem, and we propose an alternate solution that overcomes the shortcomings of the original solution. }, url = {/files/syrah/files/usenix-00-addendum.ps}, author = {David G. Sullivan and Seltzer, Margo} } @conference {232, title = {Isolation with Flexibility: A Resource Management Framework for Central Servers}, booktitle = {2000 USENIX Annual Technical Conference}, year = {2000}, month = {June 2000}, address = {San Diego, CA}, abstract = { Proportional-share resource management is becoming increasingly important in today{\textquoteright}s computing environments. In particular, the growing use of the computational resources of central service providers argues for a proportional-share approach that allows resource principals to obtain allocations that reflect their relative importance. In such environments, resource principals must be isolated from one another to prevent the activities of one principal from impinging on the resource rights of others. However, such isolation limits the flexibility with which resource allocations can be modified to reflect the actual needs of applications. We present extensions to the lottery-scheduling resource management framework that increase its flexibility while preserving its ability to provide secure isolation. To demonstrate how this extended framework safely overcomes the limits imposed by existing proportional-share schemes, we have implemented a prototype system that uses the framework to manage CPU time, physical memory, and disk bandwidth. We present the results of experiments that evaluate the prototype, and we show that our framework has the potential to enable server applications to achieve significant gains in performance. }, url = {/files/syrah/files/usenix-00-resmgmt.pdf}, author = {David G. Sullivan and Seltzer, Margo} } @conference {zhang1999hacc, title = {HACC: An architecture for cluster-based web servers}, booktitle = {Proceedings of the 3rd conference on USENIX Windows NT Symposium-Volume 3}, year = {1999}, pages = {16{\textendash}16}, publisher = {USENIX Association}, organization = {USENIX Association}, author = {Zhang, Xiaolan and Barrientos, Michael and Chen, J Bradley and Seltzer, Margo} } @article {zhang1999hacc, title = {HACC: ANARCHITECTUREFOR CLUSTER-BASEDWEBSERVERS}, year = {1999}, author = {Zhang, Xiaolan and Barrientos, Michael and Chen, J Bradley and Seltzer, Margo} } @article {yates1999automaton, title = {I/O automaton model of operating system primitives}, journal = {Master{\textquoteright}s thesis, Harvard University and MIT}, year = {1999}, author = {Yates, Daniel and Lynch, Nancy and Luchangco, Victor and Seltzer, Margo} } @article {wong1999terminalserverperform, title = {TERMINALSERVERPERFORM ANCE}, year = {1999}, author = {Wong, Alexander Ya-li and Seltzer, Margo I} } @conference {sullivan1999tickets, title = {Tickets and currencies revisited: Extensions to multi-resource lottery scheduling}, booktitle = {Hot Topics in Operating Systems, 1999. Proceedings of the Seventh Workshop on}, year = {1999}, pages = {148{\textendash}152}, publisher = {IEEE}, organization = {IEEE}, author = {Sullivan, David G and Robert Haas and Seltzer, Margo I} } @conference {seltzer1999case, title = {The case for application-specific benchmarking}, booktitle = {Hot Topics in Operating Systems, 1999. Proceedings of the Seventh Workshop on}, year = {1999}, pages = {102{\textendash}107}, publisher = {IEEE}, organization = {IEEE}, author = {Seltzer, Margo and Krinsky, David and Smith, Keith and Zhang, Xiaolan} } @conference {seltzer1999challenges, title = {Challenges in Embedded Database System Administration.}, booktitle = {USENIX Workshop on Embedded Systems}, year = {1999}, author = {Seltzer, Margo I and Olson, Michael A} } @article {seltzer1999gizmo, title = {Gizmo databases}, journal = {USENIX Conference}, year = {1999}, author = {Seltzer, Margo} } @conference {olson1999berkeley, title = {Berkeley DB.}, booktitle = {USENIX Annual Technical Conference, FREENIX Track}, year = {1999}, pages = {183{\textendash}191}, author = {Olson, Michael A and Bostic, Keith and Seltzer, Margo I} } @article {leach1999we, title = {We are happy to present the proceedings for the third Symposium on Operating System Design and Implementation, or OSDI III. To paraphrase a line of movie dialog:" Once is happenstance, twice is coincidence, the third time it{\textquoteright}s a tradition". With the third}, year = {1999}, author = {Leach, Paul J and Seltzer, Margo} } @conference {239, title = {The ANT Architecture {\textendash} An Architecture for CS1}, booktitle = {1998 Workshop on Computer Architecture Education}, year = {1999}, month = {February 1999}, abstract = { A central goal in high-level programming languages, such as those we use to teach introductory computer science courses, is to provide an abstraction that hides the complexity and idiosyncrasies of computer hardware. Although programming languages are very effective at achieving this goal, certain properties of computer hardware cannot be hidden, or are useful to know about. As a consequence, many of the greatest conceptual challenges for beginning programmers arise from a lack of understanding of the basic properties of the hardware upon which computer programs execute. To address this problem, we have developed a simple virtual machine called ANT for use in our introductory computer science (CS1) curriculum. ANT is designed to be simple enough that a CS1 student can quickly understand it, while at the same time providing an accurate model of many important properties of computer hardware. After two years of experience with ANT in our CS1 course, we believe it is a valuable tool for helping young students understand how programs and data are actually represented in a computer system. This paper gives a short introduction to ANT. We start with a brief description of the architecture, and then describe how we use ANT in our CS1 course. We include specific examples that demonstrate how ANT can give students intuition about pointers, the representation of data in memory, and other key concepts. }, url = {/files/syrah/files/wcae-98.pdf}, author = {Daniel Ellard and Penelope Ellard and James Megquier and J. Bradley Chen and Seltzer, Margo} } @article {225, title = {A Resource Management Framework for Central Servers}, number = {13-99}, year = {1999}, month = {December 1999}, address = {Cambridge, Massachusetts}, abstract = { Proportional-share resource management is becoming increasingly important in today{\textquoteright}s computing environments. In particular, the growing use of the computational resources of central service providers argues for a proportional-share approach that allows resource principals to obtain allocations that reflect their relative importance. In such environments, resource principals must be isolated from one another to prevent the activities of one principal from impinging on the resource rights of others. However, such isolation limits the flexibility with which resource allocations can be modified to reflect the actual needs of applications. We present extensions to the lottery-scheduling resource management framework that increase its flexibility while preserving its ability to provide secure isolation. To demonstrate how this extended framework safely overcomes the limits imposed by existing proportional-share schemes, we have implemented a prototype system that uses the framework to manage CPU time, physical memory, and disk bandwidth. We present the results of experiments that evaluate the prototype, and we show that our framework has the potential to enable server applications to achieve significant gains in performance. (This is an extended version of our USENIX 2000 paper. It contains additional text and data that could not be included in the published paper due to space constraints.) }, url = {/files/syrah/files/tr-13-99.pdf}, author = {David G. Sullivan and Seltzer, Margo} } @conference {212, title = {Tickets and Currencies Revisited: Extending Multi-Resource Lottery Scheduling}, booktitle = {Seventh Workshop on Hot Topics in Operating Systems}, year = {1999}, month = {March 1999}, address = {Rio Rico, Arizona}, abstract = { Lottery scheduling{\textquoteright}s ticket and currency abstractions provide a resource management framework that allows for both flexible allocation and insulation between groups of processes. We propose extensions to this framework that enable greater flexibility while preserving the ability to isolate groups of processes. In particular, we present a mechanism that allows processes to modify their own resource rights by exchanging resource-specific tickets with other processes. Ticket exchanges limit the effects of the changed allocations to the participants in the exchange, and they allow applications to coordinate with each other in ways that are mutually beneficial. Application-specific "negotiators" can be used to initiate exchanges based on an application{\textquoteright}s quality-of-service requirements and the current state of the system. We also propose flexible access controls for currencies through extensible "brokers" that solve such problems as the inability of users isolated by currencies to renice background jobs. Finally, we suggest using extensibility to allow users to install specialized allocation mechanisms for their processes. Together, these extensions enable an application-centered approach to resource management that is both secure and effective. }, url = {/files/syrah/files/hotos-99-lotsched.pdf}, author = {David G. Sullivan and Robert Haas and Seltzer, Margo} } @article {small1998misfit, title = {MiSFIT: Constructing safe extensible systems}, journal = {IEEE concurrency}, volume = {6}, number = {3}, year = {1998}, pages = {34{\textendash}41}, publisher = {IEEE}, author = {Christopher Small and Seltzer, Margo} } @conference {manley1998self, title = {A self-scaling and self-configuring benchmark for Web servers}, booktitle = {ACM SIGMETRICS Performance Evaluation Review}, volume = {26}, number = {1}, year = {1998}, pages = {270{\textendash}271}, publisher = {ACM}, organization = {ACM}, author = {Stephen Manley and Seltzer, Margo and Courage, Michael} } @book {baker1998vitis, title = {Vitis Propulsion: Theory and Practice}, year = {1998}, publisher = {Stanford University}, organization = {Stanford University}, author = {Baker, Mary and Seltzer, Margo} } @article {aversa1998using, title = {Using PS}, year = {1998}, author = {Aversa, Rocco and Mazzeo, Antonino and Mazzocca, Nicola and Villano, Umberto and Devarakonda, Murthy and Christopher Small and Seltzer, Margo I} } @conference {206, title = {Receipt-Free Secure Elections}, booktitle = {6.857 Final Project}, year = {1998}, month = {December 1998}, abstract = {This paper begins by describing Benaloh and Tuinstra{\textquoteright}s protocol for receipt-free elections, and then shows how this protocol, although correct, makes unrealistic assumptions and is impractical to implement. We then show how to modify this protocol to make it very practical to implement, by adding an additional "uncoercible" party to the protocol.}, url = {/files/syrah/files/6857-98.pdf}, author = {Daniel Ellard and David Alpert and Ognjen Kavazovic and Marc Scheff} } @article {small1997does, title = {Does Systems Research Measure Up?}, year = {1997}, author = {Small, Christopher A and Ghosh, Narendra and Saleeb, Hany and Seltzer, Margo I and Smith, Keith} } @conference {smith1997file, title = {File system aging�increasing the relevance of file system benchmarks}, booktitle = {ACM SIGMETRICS Performance Evaluation Review}, volume = {25}, number = {1}, year = {1997}, pages = {203{\textendash}213}, publisher = {ACM}, organization = {ACM}, author = {Smith, Keith A and Seltzer, Margo I} } @article {seltzer1997issues, title = {Issues in extensible operating systems}, year = {1997}, author = {Seltzer, Margo I and Yasuhiro Endo and Small, Christopher A and Smith, Keith A} } @conference {seltzer1997measuring, title = {Measuring computer systems: how to measure performance}, booktitle = {Proceedings of the annual conference on USENIX Annual Technical Conference}, year = {1997}, pages = {27{\textendash}27}, publisher = {USENIX Association}, organization = {USENIX Association}, author = {Seltzer, Margo and Brown, Aaron} } @article {gwertzman1997analysis, title = {An analysis of geographical push-caching}, journal = {Proceedings of the 17th IEEE International Conference on Distributed Computing Systems}, year = {1997}, author = {James Gwertzman and Seltzer, Margo} } @article {endo1997measuring, title = {Measuring Windows NT�Possibilities and Limitations}, journal = {First USENIX Windows NT Workshop}, year = {1997}, author = {Yasuhiro Endo and Seltzer, Margo I} } @article {brown1997operating, title = {Operating system benchmarking in the wake of lmbench: A case study of the performance of NetBSD on the Intel x86 architecture}, journal = {ACM SIGMETRICS Performance Evaluation Review}, volume = {25}, number = {1}, year = {1997}, pages = {214{\textendash}224}, publisher = {ACM}, author = {Brown, Aaron B and Seltzer, Margo I} } @article {baker1997mug, title = {The mug-shot search problem}, year = {1997}, author = {Baker, Ellie and Seltzer, Margo I} } @conference {221, title = {Web Facts and Fantasy}, booktitle = {1997 USENIX Symposium on Internet Technologies and Systems}, year = {1997}, month = {December 1997}, abstract = {There is a great deal of research about improving Web server performance and building better, faster servers, but little research in characterizing servers and the load imposed upon them. While some tremendously popular and busy sites, such as netscape.com, playboy.com, and altavista.com, receive several million hits per day, most servers are never subjected to loads of this magnitude. This paper presents the analysis of internet Web server logs for a variety of different types of sites. We present a taxonomy of the different types of Web sites and characterize their access patterns and, more importantly, their growth. We then use our server logs to address some common perceptions about the Web. We show that, on a variety of sites, contrary to popular belief, the use of CGI does not appear to be increasing and that long latencies are not necessarily due to server loading. We then show that, as expected, persistent connections are generally useful, but that dynamic time-out intervals may be unnecessarily complex and that allowing multiple persistent connections per client may actually hinder resource utilization compared to allowing only a single persistent connection.}, url = {/files/syrah/files/sits-97.ps}, author = {Stephen Manley and Seltzer, Margo} } @conference {211, title = {Self-Monitoring and Self-Adapting Operating Systems}, booktitle = {Sixth Workshop on Hot Topics in Operating Systems}, year = {1997}, month = {May 1997}, abstract = { Extensible operating systems allow applications to modify kernel behavior by providing mechanisms for application code to run in the kernel address space. Extensibility enables a system to efficiently support a broader class of applications than is currently supported. This paper discusses the key challenge in making extensible systems practical: determining which parts of the system need to be extended and how. The determination of which parts of the system need to be extended requires self-monitoring, capturing a significant quantity of data about the performance of the system. Determing how to extend the system requires self-adaptation. In this paper, we describe how an extensible operating system (VINO) can use in situ simulation to explore the efficacy of policy changes. This automatic exploration is applicable to other extensible operating systems and can make these systems self-adapting to workload demands. }, url = {/files/syrah/files/hotos-97.ps}, author = {Seltzer, Margo and Christopher Small} } @conference {207, title = {A Tool For Constructing Safe Extensible C++ Systems}, booktitle = {1997 Conference on Object-Oriented Technologies and Systems}, year = {1997}, month = {June 1997}, abstract = { The boundary between application and system is becoming increasingly permeable. Extensible applications, such as web browsers, database systems, and operating systems, demonstrate the value of allowing end-users to extend and modify the behavior of what was formerly considered to be a static, inviolate system. Unfortunately, flexibility often comes with a cost: systems unprotected from misbehaved end-user extensions are fragile and prone to instability. Object-oriented programming models are a good fit for the development of this kind of system. An extension can be designed as a refinement of an existing class, and loaded into a running system. In our model, when code is downloaded into the system, it is used to replace a virtual function on an existing C++ object. Because our tool is source-language neutral, it can be used to build safe extensible systems written in other languages as well. There are three methods commonly used to make end-user extensions safe: restict the extension language (e.g., Java), interpret the extension language (e.g., Tcl), or combine run-time checks with a trusted environment. The third technique is the one discussed here; it offers the twin benefits of the flexibility to implement extensions in an unsafe language, such as C++, and the performance of compiled code. MiSFIT, the Minimal i386 Software Fault Isolation Tool, can be used as the central component of a tool set for building safe extensible systems in C++. MiSFIT transforms C++ code, compiled by g++, into safe binary code. Combined with a runtime support library, the overhead of MiSFIT is an order of magnitude lower than the overhead of interpreted Java, and permits safe extensible systems to be written in C++. }, url = {/files/syrah/files/coots-97.ps}, author = {Christopher Small} } @conference {smith1996comparison, title = {A Comparison of FFS Disk Allocation Policies.}, booktitle = {USENIX annual technical conference}, year = {1996}, pages = {15{\textendash}26}, author = {Smith, Keith A and Seltzer, Margo I} } @article {seltzer1996james, title = {James Gwertzman, Microsoft Corporation}, journal = {Proceedings of the... USENIX Technical Conference}, year = {1996}, pages = {141}, publisher = {Usenix Association}, author = {Seltzer, Margo} } @conference {gwertzman1996people, title = {People, places, and things: the next generation Web}, booktitle = {Proceedings of the 41st IEEE International Computer Conference}, year = {1996}, pages = {65}, publisher = {IEEE Computer Society}, organization = {IEEE Computer Society}, author = {James Gwertzman and Seltzer, Margo} } @article {chen1996measured, title = {The measured performance of personal computer operating systems}, journal = {ACM Transactions on Computer Systems (TOCS)}, volume = {14}, number = {1}, year = {1996}, pages = {3{\textendash}40}, publisher = {ACM}, author = {Chen, J Bradley and Yasuhiro Endo and Chan, Kee and Mazieres, David and Dias, Antonio and Seltzer, Margo and Smith, Michael D} } @article {endo1996using, title = {Using latency to evaluate interactive system performance}, journal = {ACM SIGOPS Operating Systems Review}, volume = {30}, number = {si}, year = {1996}, pages = {185{\textendash}199}, author = {Yasuhiro Endo and Wang, Zheng and Chen, J Bradley and Seltzer, Margo I} } @conference {235, title = {A Comparison of OS Extension Technologies}, booktitle = {1996 USENIX Annual Technical Conference}, year = {1996}, month = {January 1996}, abstract = {The current trend in operating systems research is to allow applications to dynamically extend the kernel to improve application performance or extend functionality, but the most effective approach to extensibility remains unclear. Some systems use safe languages to permit code to be downloaded directly into the kernel; other systems provide in-kernel interpreters to execute extension code; still others use software techniques to ensure the safety of kernel extensions. The key characteristics that distinguish these systems are the philosophy behind extensibility and the technology used to implement extensibility. This paper presents a taxonomy of the types of extensions that might be desirable in an extensible operating system, evaluates the performance cost of various extension techniques currently being employed, and compares the cost of adding a kernel extension to the benefit of having the extension in the kernel. Our results show that compiled technologies (e.g. Modula-3 and software fault isolation) are good candidates for implementing general-purpose kernel extensions, but that the overhead of interpreted languages is sufficiently high that they are inappropriate for this use.}, url = {/files/syrah/files/usenix-96-bakeoff.ps}, author = {Christopher Small and Seltzer, Margo} } @conference {240, title = {Symbiotic Systems Software}, booktitle = {1996 Workshop on Compiler Support for Systems Software}, year = {1996}, month = {February 1996}, abstract = { Historically, advances in compiler technology have been driven by the characteristics of applications, particularly those that comprise the SPEC benchmark suite. To achieve high performance, many of the most promising compilation techniques rely on accurate profile information to direct the optimization and instruction scheduling process. Prior studies have shown that for these applications it is possible to generate representative data sets that are suitable for profile-based compilation algorithms. Though we would like to apply sophisticated compiler techniques to operating systems (and eventually other multi-threaded software systems such as database management systems), we are presented with two significant problems. First, the process of profiling the operating system is more difficult than profiling an application, because of the complexity of the operating system and the interaction between the operating system and its applications. Second, even when one can profile the operating system, there seems to be no general agreement of what constitutes a representative data set for such a large and complex system. This implies that the optimization of the operating system in isolation is not the correct approach. A better approach for improving the combined system and application performance is to allow the compiler to symbiotically optimize the operating system in the context of the applications that use it. This paper proposes a structuring of the compiler and operating system so that it is possible to perform this type of symbiotic, cross-address space compile-time optimization. }, url = {/files/syrah/files/wcsss-96.ps}, author = {Seltzer, Margo and Christopher Small and Michael D. Smith} } @conference {236, title = {World Wide Web Cache Consistency}, booktitle = {1996 USENIX Annual Technical Conference}, year = {1996}, month = {January 1996}, abstract = {The bandwidth demands of the World Wide Web continue to grow at a hyper-exponential rate. Given this rocketing growth, caching of web objects as a means to reduce network bandwidth consumption is likely to be a necessity in the very near future. Unfortunately, many Web caches do not satisfactorily maintain cache consistency. This paper presents a survey of contemporary cache consistency mechanisms in use on the Internet today and examines recent research in Web cache consistency. Using trace-driven simulation, we show that a weak cache consistency protocol (the one used in the Alex ftp cache) reduces network bandwidth consumption and server load more than either time-to-live fields or an invalidation protocol and can be tuned to return stale data less than 5\% of the time.}, url = {/files/syrah/files/usenix-96-webcache.ps}, author = {James Gwertzman and Seltzer, Margo} } @conference {218, title = {Dealing with Disaster: Surviving Misbehaved Kernel Extensions}, booktitle = {1996 Symposium on Operating Systems Design and Implementation}, year = {1996}, month = {October 1996}, address = {Seattle, WA}, abstract = {Today{\textquoteright}s extensible operating systems allow applications to modify kernel behavior by providing mechanisms for application code to run in the kernel address space. The advantage of this approach is that it provides improved application flexibility and performance; the disadvantage is that buggy or malicious code can jeopardize the integrity of the kernel. It has been demonstrated that it is feasible to use safe languages, software fault isolation, or virtual memory protection to safeguard the main kernel. However, such protection mechanisms do not address the full range of problems, such as resource hoarding, that can arise when application code is introduced into the kernel. In this paper, we present an analysis of extension mechanisms in the VINO kernel. VINO uses software fault isolation as its safety mechanism and a lightweight transaction system to cope with resource-hoarding. We explain how these two mechanisms are sufficient to protect against a large class of errant or malicious extensions, and we quantify the overhead that this protection introduces. We find that while the overhead of these techniques is high relative to the cost of the extensions themselves, it is low relative to the benefits that extensibility brings.}, url = {/files/syrah/files/osdi-96.ps}, author = {Seltzer, Margo and Yasuhiro Endo and Christopher Small and Keith A. Smith} } @article {small1995scheduler, title = {Scheduler activations on BSD: sharing thread management between kernel and application}, year = {1995}, author = {Small, Christopher A and Seltzer, Margo I} } @conference {seltzer1995file, title = {File system logging versus clustering: A performance comparison}, booktitle = {Proceedings of the USENIX 1995 Technical Conference Proceedings}, year = {1995}, pages = {21{\textendash}21}, publisher = {USENIX Association}, organization = {USENIX Association}, author = {Seltzer, Margo and Smith, Keith A and Hari Balakrishnan and Chang, Jacqueline and McMains, Sara and Padmanabhan, Venkata} } @article {gwertzman1995autonomous, title = {Autonomous replication across wide-area internetworks}, journal = {ACM SIGOPS Operating Systems Review}, volume = {29}, number = {5}, year = {1995}, pages = {234}, author = {James Gwertzman and Seltzer, Margo} } @conference {gwertzman1995case, title = {The case for geographical push-caching}, booktitle = {Hot Topics in Operating Systems, 1995.(HotOS-V), Proceedings., Fifth Workshop on}, year = {1995}, pages = {51{\textendash}55}, publisher = {IEEE}, organization = {IEEE}, author = {Gwertzman, James S and Seltzer, Margo} } @article {chen1995moss, title = {MOSS: A Mobile Operating System Substrate}, year = {1995}, author = {Chen, J Bradley and Kung, HT and Seltzer, Margo I} } @article {chen1995impact, title = {The Impact of Operating System Structure on Personal Computer Performance}, year = {1995}, author = {Chen, J Bradley and Endo, Yashuhiro and Chan, Kee and Mazi{\`e}res, David and Dias, Antonio and Seltzer, Margo I and Smith, Michael D} } @conference {chen1995measured, title = {The measured performance of personal computer operating systems}, booktitle = {ACM SIGOPS Operating Systems Review}, volume = {29}, number = {5}, year = {1995}, pages = {299{\textendash}313}, publisher = {ACM}, organization = {ACM}, author = {Chen, J Bradley and Yasuhiro Endo and Chan, Kee and Mazieres, David and Dias, Antonio and Seltzer, Margo and Smith, Michael D} } @conference {blackwell1995heuristic, title = {Heuristic Cleaning Algorithms in Log-Structured File Systems.}, booktitle = {USENIX}, year = {1995}, pages = {277{\textendash}288}, author = {Blackwell, Trevor and Harris, Jeffrey and Seltzer, Margo I} } @article {229, title = {The Case for Extensible Operating Systems}, number = {16-95}, year = {1995}, month = {1995}, address = {Cambridge, Massachusetts}, abstract = { Many of the performance improvements cited in recent operating systems research describe specific enhancements to normal operating system functionality that improve performance in a set of designated test cases. Global changes of this sort can improve performance for one application, at the cost of decreasing performance for others. We argue that this flurry of global kernel tweaking is an indication that our current operating system model is inappropriate. Existing interfaces do not provide the flexibility to tune the kernel on a per-application basis, to suit the variety of applications that we now see. We have failed in the past to be omniscient about future operating system requirements; there is no reason to believe that we will fare any better designing a new, fixed kernel interface today. Instead, the only general-purpose solution is to build an operating system interface that is easily extended. We present a kernel framework designed to support the application-specific customization that is beginning to dominate the operating system literature. We show how this model enables easy implementation of many of the earlier research results. We then analyze two specific kernel policies: page read-ahead and locking-granting. We show that application-control over read-ahead policy produces performance improvements of up to 16\%. We then show how application-control over the lock-granting policy can choose between fairness and response time. Reader priority algorithms produce lower read response time at the cost of writer starvation. FIFO algorithms avoid the starvation problem, but increase read response time. }, url = {/files/syrah/files/tr-16-95.ps}, author = {Seltzer, Margo and Christopher Small and Keith A. Smith} } @conference {216, title = {Structuring the Kernel as a Toolkit of Extensible, Reusable Components}, booktitle = {1995 International Workshop on Object Orientation in Operating Systems}, year = {1995}, month = {August 1995}, abstract = {Applications often require functionality that is implemented in the kernel, but is not directly available to the user level. While extensible operating systems allow kernel functionality to be augmented, we believe that the emphasis on extensibility is misplaced. Applications should be able to reuse kernel code directly and the emphasis should be placed on designing a kernel with that reuse in mind. The advantage of structuring the kernel as a set of reusable, extensible tools is that applications can avoid re-implementing functionality that is already present in the kernel. This will lead to smaller applications, fewer lines of total code, and a more unified computing environment that will be easier to maintain and perform better.}, url = {/files/syrah/files/iwooos-95.ps}, author = {Christopher Small and Seltzer, Margo} } @article {smith1994file, title = {File layout and file system performance}, year = {1994}, author = {Smith, Keith and Seltzer, Margo I} } @article {small1994vino, title = {Vino: An integrated platform for operating system and database research}, year = {1994}, author = {Small, Christopher A and Seltzer, Margo I} } @article {seltzer1994vino, title = {VINO: The 1994 Fall Harvest}, year = {1994}, author = {Seltzer, Margo I and Yasuhiro Endo and Small, Christopher A and Smith, Keith} } @article {grosz1994infrastructure, title = {Infrastructure for Research towards Ubiquitous Information Systems}, year = {1994}, author = {Grosz, Barbara J and Kung, HT and Seltzer, Margo I and Shieber, Stuart Merrill and Smith, Michael D} } @article {endo1994vino, title = {VINO: The 1994 fall harvest}, year = {1994}, publisher = {Citeseer}, author = {Yasuhiro Endo and Seltzer, Margo and James Gwertzman and Christopher Small and Smith, Keith A and Tang, Diane} } @article {blackwell1994experimental, title = {An Experimental Flow-Controlled Multicast ATM Switch}, journal = {Proceedings of the First Annual Conference on Telecommunications in Massachussetts}, year = {1994}, author = {Blackwell, T and Chan, K and Chang, K and Charuhas, T and Karp, B and Kung, HT and Lin, D. and Morris, R. and Seltzer, M and M. Smith and others} } @conference {seltzer1993implementation, title = {An Implementation of a Log-Structured File System for UNIX.}, booktitle = {USENIX Winter}, year = {1993}, pages = {307{\textendash}326}, author = {Seltzer, Margo I and Bostic, Keith and McKusick, Marshall K and Staelin, Carl and others} } @conference {seltzer1993transaction, title = {Transaction support in a log-structured file system}, booktitle = {Data Engineering, 1993. Proceedings. Ninth International Conference on}, year = {1993}, pages = {503{\textendash}510}, publisher = {IEEE}, organization = {IEEE}, author = {Seltzer, Margo I} } @article {baker1993evolving, title = {Evolving line drawings}, year = {1993}, author = {Baker, Ellie and Seltzer, Margo I} } @book {seltzer1992libtp, title = {LIBTP: Portable, modular transactions for UNIX}, year = {1992}, publisher = {Electronics Research Laboratory, College of Engineering, University of California}, organization = {Electronics Research Laboratory, College of Engineering, University of California}, author = {Seltzer, Margo Ilene and Olson, Michael Allen} } @conference {baker1992non, title = {Non-volatile memory for fast, reliable file systems}, booktitle = {ACM SIGPLAN Notices}, volume = {27}, number = {9}, year = {1992}, pages = {10{\textendash}22}, publisher = {ACM}, organization = {ACM}, author = {Baker, Mary and Asami, Satoshi and Deprit, Etienne and Ouseterhout, John and Seltzer, Margo} } @conference {seltzer1991new, title = {A New Hashing Package for UNIX.}, booktitle = {USENIX Winter}, year = {1991}, pages = {173{\textendash}184}, author = {Seltzer, Margo I and Yigit, Ozan} } @article {seltzer1991read, title = {Read optimized file system designs: a performance evahiation}, journal = {Proceedings of the SeventhInternational Conference ollDataEngineering}, year = {1991}, pages = {602{\textendash}6l1}, author = {Seltzer, Margo I and Stonebraker, Michael} } @conference {seltzer1991read, title = {Read Optimized file system designs: A performance evaluation}, booktitle = {Data Engineering, 1991. Proceedings. Seventh International Conference on}, year = {1991}, pages = {602{\textendash}611}, publisher = {IEEE}, organization = {IEEE}, author = {Seltzer, Margo and Stonebraker, Michael} } @article {seltzer1990disk, title = {Disk scheduling revisited}, journal = {Proceedings of the Winter 1990 USENIX Technical Conference}, year = {1990}, pages = {313{\textendash}323}, publisher = {Washington, DC}, author = {Seltzer, Margo and Chen, Peter and Ousterhout, John} } @conference {seltzer1990transaction, title = {Transaction support in read optimized and write optimized file systems}, booktitle = {VLDB}, year = {1990}, pages = {174{\textendash}185}, author = {Seltzer, Margo I and Stonebraker, Michael} } @book {stonebraker1989parallelism, title = {Parallelism in XPRS}, year = {1989}, publisher = {Electronics Research Laboratory, College of Engineering, University of California}, organization = {Electronics Research Laboratory, College of Engineering, University of California}, author = {Stonebraker, Michael and Aoki, Paul Masami and Seltzer, Margo Ilene and others} }