An Installable File System For Genesis II

550 views

Published on

Original presentation of G-ICING while in development for VCGR

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
550
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

An Installable File System For Genesis II

  1. 1. An Installable File System for Genesis II Chris Sosa November 2, 2007
  2. 2. Preliminaries <ul><li>Target Operating System (for now): Windows XP </li></ul><ul><li>Definitions </li></ul><ul><ul><li>Installable File System – A file system driver (FSD) that can be added to an operating system </li></ul></ul><ul><ul><li>Network Redirector - An FSD that provides access to files on remote machines </li></ul></ul>
  3. 3. Motivation <ul><li>User transparency </li></ul><ul><ul><li>Difficult for users to adapt </li></ul></ul><ul><ul><li>Users don’t want to adapt </li></ul></ul><ul><li>Application transparency </li></ul><ul><ul><li>Can’t change I/O libraries </li></ul></ul><ul><ul><li>Legacy applications </li></ul></ul><ul><li>Strong Security Model </li></ul><ul><ul><li>Security model that is both flexible and “powerful” </li></ul></ul><ul><li>Testing ground for new research ideas in Caching for Grids </li></ul>
  4. 4. Installable File System <ul><li>Benefits </li></ul><ul><ul><li>Acts as an entire file system to applications </li></ul></ul><ul><ul><li>Can integrate with any security model </li></ul></ul><ul><ul><li>Kernel responsible for I/O Calls </li></ul></ul>
  5. 5. Design <ul><li>Three Areas of Concern </li></ul><ul><ul><li>Java </li></ul></ul><ul><ul><li>Kernel </li></ul></ul><ul><ul><li>User-mode Mediator </li></ul></ul>
  6. 6. ??? – User to Kernel Communication <ul><li>DESIGN ALTERNATIVES </li></ul><ul><li>Local Procedure Calls </li></ul><ul><ul><li>Used in older versions of drivers in the Kernel  </li></ul></ul><ul><ul><li>Conceptually easier  </li></ul></ul><ul><ul><li>Undocumented and unsupported  </li></ul></ul><ul><li>Inverted Call Model </li></ul><ul><ul><li>User calls </li></ul></ul><ul><ul><li>Kernel Responds </li></ul></ul><ul><ul><li>More Tricky than LPC’s </li></ul></ul>
  7. 7. Progress <ul><li>Mediator is complete </li></ul><ul><li>Java-side is complete </li></ul><ul><li>Genesis II Kernel Driver </li></ul><ul><ul><li>Inverted Calls in Kernel is complete </li></ul></ul><ul><ul><li>Read-only FS works </li></ul></ul><ul><ul><li>Can handle multiple calls at once </li></ul></ul><ul><ul><li>Writes work </li></ul></ul><ul><ul><li>Making step by step progress on completing last aspects of Full FS </li></ul></ul><ul><ul><ul><li>Create </li></ul></ul></ul><ul><ul><ul><li>Move </li></ul></ul></ul><ul><ul><ul><li>Rename </li></ul></ul></ul><ul><ul><ul><li>Etc </li></ul></ul></ul>
  8. 8. Issues <ul><li>Kernel programming is slow </li></ul><ul><li>Error tends to hose the host system </li></ul><ul><li>Cannot modify code when testing </li></ul><ul><li>Windows DDK is mostly undocumented </li></ul><ul><li>Knowledge in the area is scarce </li></ul>
  9. 9. Other Approaches <ul><li>Have Genesis II implement the NFS namespace and use the NFS driver to mount Genesis II </li></ul><ul><ul><li>“ No” Security </li></ul></ul><ul><ul><li>Confining </li></ul></ul><ul><ul><li>Not flexible in terms of Future Research </li></ul></ul><ul><li>Shell Extension - Extension to Windows Explorer to “visually” integrate Genesis II into Windows </li></ul><ul><li>I/O Library – A library that implements the Standard I/O API (see OGRSH) </li></ul>
  10. 10. Future Work <ul><li>Complete work on IFS </li></ul><ul><li>Use Genesis II Security Model to full extent </li></ul><ul><li>Perform research in new areas of caching for the Grid </li></ul>
  11. 11. Demo

×