Sigmod98 81 Slides

Uploaded from authorPOINT Lite
Download as
 PPT
Presentation Description 

No description available

Happy Thanksgiving
What's up on authorSTREAM?
Views: 26
Like it  ( Likes) Dislike it  ( Dislikes)
Added: November 21, 2007 This Presentation is Public 
Presentation Category : Entertainment All Rights Reserved
Presentation Transcript

Secure and Portable Database Extensibility: Secure and Portable Database Extensibility Tobias Mayr Michael Godfrey Praveen Seshadri Thorsten von Eicken Cornell University


Web based OR-DBMS: Web based OR-DBMS Web based access Extensible server Functionality in object methods Client OR-DBMS Server Queries Results Connectivity Software SELECT S.Company, S.QuoteHistory.WeeklyAvg() FROM Stocks S


User Defined Functions: User Defined Functions Portability Security Efficiency ? Client OR-DBMS Server Queries Results Connectivity Software Uploading Methods SELECT S.company FROM Stocks S WHERE S.TimeSeries.myAnalysis()>0


Portability & Security: Portability & Security UDF execution environment of the client similar to that of the server Design & Testing on client site Granularity of control: Execution errors Memory access System resources Quality of Service attacks


Alternative Solutions: Alternative Solutions Client site execution Integrated, native execution Execution in separate process Software Fault Isolation Proof Carrying Code Interpreted languages Safe languages Typed Assembly Language Java Virtual Machine Language based O/S based


Integration of the JVM: Integration of the JVM Ubiquitous in browsers and with native interfaces Interpreted/Compiled (JIT)


Performance Components: Performance Components Invocation Execution Data access Computation Callbacks


Callbacks: Large objects are passed by reference Selective retrieval : only certain objects only parts of objects Argument overhead vs. control switches Callbacks Execution Engine UDF   


Comparisons: Comparisons Trusted execution inside server process Execution in separate process Execution on JVM inside server process Platform: PREDATOR on a Sparc20 with 64MB of memory running Solaris 2.6. JVM: JDK 1.1.4 (includes JIT)


Experimental Setup: Experimental Setup SELECT UDF(R.ByteArray, NumComps, NumDataAccess, NumCallBacks) FROM ByteArrays R ByteArrays R: 10000 Tuple, one attribute ByteArray: Array of bytes (size: 1 - 10000) NumComps: Number of executed integer additions NumDataAccess: Number of iterations over ByteArray NumCallBacks: Number of executed callbacks


Calibration: Calibration


Invocation Overhead: Invocation Overhead No data access, computation, or callbacks Control switch cheaper for JVM Costs of argument passing


Invocation Overhead, absolute: Invocation Overhead, absolute


Invocation Overhead, relative: Invocation Overhead, relative


Execution: Computation: Execution: Computation Argument size 10000 bytes, no data access, no callbacks No significant overhead


Computation, absolute: Computation, absolute


Computation, relative: Computation, relative


Execution: Data Access: Execution: Data Access 10000 bytes, no computation, no callbacks High overhead, caused by array bounds checks


Data Access, absolute: Data Access, absolute


Data Access, relative: Data Access, relative


Callbacks: Callbacks 10000 bytes, no computation, no data access Cheap control switch with native interface


Callbacks, absolute: Callbacks, absolute


Callbacks, relative: Callbacks, relative


Results: Results Low overheads for invocation, computation, and callbacks Data access overhead  dynamic checks Overheads for UDFs small in context of processing of real queries JVM forms an efficient safe execution environment for OR-DBMS


Caveats: Caveats Portability across different JVM versions Off-the-Shelf JVMs cause integration problems Security flaws of the JVM


Future Work - Jaguar Project: Future Work - Jaguar Project Security Execution environment on server site with fine grained system resource control Integration of J-Kernel resource management Portability Execution environment on client site integrated with query processing Optimization of client site UDFs