logging in or signing up Sigmod98 81 Slides Woofer Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 37 Category: Entertainment License: All Rights Reserved Like it (0) Dislike it (0) Added: November 21, 2007 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Secure and Portable Database Extensibility: Secure and Portable Database Extensibility Tobias Mayr Michael Godfrey Praveen Seshadri Thorsten von Eicken Cornell UniversityWeb 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 SUser 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()>0Portability & 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 basedIntegration 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 CallbacksCallbacks: 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 callbacksCalibration: CalibrationInvocation Overhead: Invocation Overhead No data access, computation, or callbacks Control switch cheaper for JVM Costs of argument passing Invocation Overhead, absolute: Invocation Overhead, absoluteInvocation Overhead, relative: Invocation Overhead, relativeExecution: Computation: Execution: Computation Argument size 10000 bytes, no data access, no callbacks No significant overheadComputation, absolute: Computation, absoluteComputation, relative: Computation, relativeExecution: Data Access: Execution: Data Access 10000 bytes, no computation, no callbacks High overhead, caused by array bounds checksData Access, absolute: Data Access, absoluteData Access, relative: Data Access, relativeCallbacks: Callbacks 10000 bytes, no computation, no data access Cheap control switch with native interfaceCallbacks, absolute: Callbacks, absoluteCallbacks, relative: Callbacks, relativeResults: 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-DBMSCaveats: Caveats Portability across different JVM versions Off-the-Shelf JVMs cause integration problems Security flaws of the JVMFuture 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 You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
Sigmod98 81 Slides Woofer Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 37 Category: Entertainment License: All Rights Reserved Like it (0) Dislike it (0) Added: November 21, 2007 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Secure and Portable Database Extensibility: Secure and Portable Database Extensibility Tobias Mayr Michael Godfrey Praveen Seshadri Thorsten von Eicken Cornell UniversityWeb 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 SUser 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()>0Portability & 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 basedIntegration 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 CallbacksCallbacks: 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 callbacksCalibration: CalibrationInvocation Overhead: Invocation Overhead No data access, computation, or callbacks Control switch cheaper for JVM Costs of argument passing Invocation Overhead, absolute: Invocation Overhead, absoluteInvocation Overhead, relative: Invocation Overhead, relativeExecution: Computation: Execution: Computation Argument size 10000 bytes, no data access, no callbacks No significant overheadComputation, absolute: Computation, absoluteComputation, relative: Computation, relativeExecution: Data Access: Execution: Data Access 10000 bytes, no computation, no callbacks High overhead, caused by array bounds checksData Access, absolute: Data Access, absoluteData Access, relative: Data Access, relativeCallbacks: Callbacks 10000 bytes, no computation, no data access Cheap control switch with native interfaceCallbacks, absolute: Callbacks, absoluteCallbacks, relative: Callbacks, relativeResults: 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-DBMSCaveats: Caveats Portability across different JVM versions Off-the-Shelf JVMs cause integration problems Security flaws of the JVMFuture 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