SOSP 2007 Notes

By AG
All papers and the program can be found here: http://www.sosp2007.org/program.html

Listed here are my notes of the talks I found interesting:

Day 1

MashupOS - Microsoft Research

  • Inline modules in HTML currently exhibit all-or-nothing behavior. They can either run with no interaction with the other components of the page (iframe) or run with the same privilege as that of the page (script).
  • Introduce tags for allowing integration of unauthorized components from third-parties. This allows aandboxing external scripts running within a browser.
  • Used for multiple-principle sites pooling in third-party principles and integarting as one.

AjaxScope - Microsoft Research
  • For examining ajax execution remotely.
  • Uses a ajax proxy between the server and the clients to insert the instrumentation to debug, test and optimize the ajax code.
  • Injects javascript within the applications on the fly, to capture logs.
  • Logs are sent back for inspection.
  • No need to modify the client side code or browser.

Automatic Partitioning (Swift) - Cornell (Best Paper Award)
  • Javascript-like programming language for auto-splitting client and server side code.
  • Compiler decides which code should run where (client or server) based on security minimizing messages flow.
  • Handles security and integrity using annotations.

TxLinux - UTAustin

  • Transactional memory to be reality in Sun's new "Rock" processor.
  • Locks are difficult to implement and use in the code. Makes code complex.
  • Initial implementation to use transactions in Linux kernel. Not-so-easy to do due to legacy code and transactional-unfriendly code, especially involving I/O.
  • Implemented co-operative transactions, which dynamically choose between spinlocks and transactions depending upon conflicts and I/Os.
  • Easy to implement than complete lock to transaction conversion.
  • Transactions are made scheduling aware to eliminate priority inversion completely.


MUVI - UIUC, MIT

  • Variables are corelated, they relate to one or more variables.
  • Idea is to leverage the relation of variables statically and identify possible bugs.
  • Corelations are inferred by variable placement and distance between the usage of the variables.
  • These corelations and the frequency of variables occurring in groups is calculated, which is used to detect if the developer has forgot to update or initialize a variable.
  • Found real bugs in Mozilla.


Day 2

iComment - UIUC

  • Comments in the code could get stale or incorrect over time. They are often used to specify assumptions made by the piece of the code.
  • Idea is to leverage the developer's assumptions for verifying the correctness of the program.
  • Uses NLP, statistics and data-mining to derive a set of frequently-used words for detailing certain things, like e.g. that a function should be called only with the locks held.
  • Uses the decision tree to verify if other parts of the code ammend to the comments.
  • Notifies for a possible bug in the code or invalid comments.
  • No need to retrain or remake the decision tree across softwares since developers often use common words to siginify things. But can remake for less false-positives.

Sinfonia - HP Labs (Best Paper Award)

  • Every distributed systems involves a complex message-passing protocol taking into account failures and concurrency issues.
  • Idea is to have a framework which will deal with message passing and provide availability and concurrency guarantees.
  • Sinfonia provides minitransactions as a primitive for building a data-centric message passing systems like cluster file systems.
  • It takes care of load-balancing, fault-tolerence, coherency and scalability.

Dynamo - Amazon

  • Amazon needs key-value storage solutions, it built it for themselves with 99.9% availability.
  • It did not detail about how it measured 99.9% availability, but it uses distributed hash-tables with consistent hashing and versioning.

Integrating Concurrency Control and Energy Management in Device Drivers - Stanford

  • A solution of efficient energy use in sensor networks. Implemented in TinyOS.
  • Uses a power manager which drivers talk to for device-specific operations. The power manager handles the powering-off and powering-on of the device depending upon the requests.
  • Amortizes the cost of powering-on and powering-off by trying to do it less frequently.
  • Might as well be used for mobiles OSs and even generic OSs.


Day 3

DejaView - Columbia University

  • Personal desktop experience recorder - fast and transaparent
  • Virtual display driver to record the display on disk.
  • Uses accessibility features of the OS and applications to record the keys and clicks, which also provide meta info about the text (application, menu text, focus)
  • File system snapshotting for recording fs state.
  • Allows browsing, replaying and restoring application states.
  • Does not handle network connections.

I/O Shepherding - Wisconsin Madison

  • File systems are not flexible enough to mould to differnt deployments (servers, desktop).
  • Different reliability policies are helpful in different deployments.
  • I/O shepherd allows specifying reliabity policies by the file system developers and takes care of enforcing those.
  • All the I/O goes through the shepherd, it can do more I/O or modify the I/O as per the policies set for that I/O.
  • Allows specifying fault-detection and recovery policies.

Generalized File System Dependencies - UCLA

  • Writing individual policies, like journaling and soft-updates, for individual file systems is difficult and cumbersome.
  • Idea is to be able to write such policies in a fs-agnostic way.
  • Proposal is to handle each change going to the disk as patches. Each patch is a change going to a block of the disk.
  • Patches are linked together as per the enforced dependencies (certain writes may be needed to happen before some other write).
  • Policies then are implemented only dealing with patches.
  • Patches are merged and rendered unimportant when possible.
  • Allows easily write the policies and features and which can be applicable of any file system.

0 comments so far.

Something to say?