Download presentation
Presentation is loading. Please wait.
1
6/4/98SIGMOD'98 -- Cornell Predator Project1 Secure and Portable Database Extensibility Tobias Mayr Michael Godfrey Praveen Seshadri Thorsten von Eicken Cornell University
2
6/4/98SIGMOD'98 -- Cornell Predator Project2 Web based OR-DBMS n Web based access n Extensible server n Functionality in object methods Client OR-DBMS Server Queries Results Connectivity Software SELECT S.Company, S.QuoteHistory.WeeklyAvg() FROM Stocks S
3
6/4/98SIGMOD'98 -- Cornell Predator Project3 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
4
6/4/98SIGMOD'98 -- Cornell Predator Project4 Portability & Security n UDF execution environment of the client similar to that of the server Ü Design & Testing on client site n Granularity of control: u Execution errors u Memory access u System resources u Quality of Service attacks
5
6/4/98SIGMOD'98 -- Cornell Predator Project5 Alternative Solutions n Client site execution n Integrated, native execution n Execution in separate process n Software Fault Isolation n Proof Carrying Code n Interpreted languages n Safe languages n Typed Assembly Language n Java Virtual Machine Language based O/S based
6
6/4/98SIGMOD'98 -- Cornell Predator Project6 Integration of the JVM n Ubiquitous in browsers and with native interfaces n Interpreted/Compiled (JIT) Client Connectivity Software Browser JVM Classloader Security Manager JVM NI Server System Resources Java UDFs Native Methods
7
6/4/98SIGMOD'98 -- Cornell Predator Project7 Performance Components n Invocation n Execution u Data access u Computation n Callbacks Execution Engine UDF
8
6/4/98SIGMOD'98 -- Cornell Predator Project8 n Large objects are passed by reference n Selective retrieval : u only certain objects u only parts of objects n Argument overhead vs. control switches Callbacks Execution Engine UDF
9
6/4/98SIGMOD'98 -- Cornell Predator Project9 Comparisons n Trusted execution inside server process n Execution in separate process n 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)
10
6/4/98SIGMOD'98 -- Cornell Predator Project10 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
11
6/4/98SIGMOD'98 -- Cornell Predator Project11 Calibration
12
6/4/98SIGMOD'98 -- Cornell Predator Project12 Invocation Overhead n No data access, computation, or callbacks Ü Control switch cheaper for JVM Ü Costs of argument passing
13
6/4/98SIGMOD'98 -- Cornell Predator Project13 Invocation Overhead, absolute
14
6/4/98SIGMOD'98 -- Cornell Predator Project14 Invocation Overhead, relative
15
6/4/98SIGMOD'98 -- Cornell Predator Project15 Execution: Computation n Argument size 10000 bytes, no data access, no callbacks Ü No significant overhead
16
6/4/98SIGMOD'98 -- Cornell Predator Project16 Computation, absolute
17
6/4/98SIGMOD'98 -- Cornell Predator Project17 Computation, relative
18
6/4/98SIGMOD'98 -- Cornell Predator Project18 Execution: Data Access n 10000 bytes, no computation, no callbacks Ü High overhead, caused by array bounds checks
19
6/4/98SIGMOD'98 -- Cornell Predator Project19 Data Access, absolute
20
6/4/98SIGMOD'98 -- Cornell Predator Project20 Data Access, relative
21
6/4/98SIGMOD'98 -- Cornell Predator Project21 Callbacks n 10000 bytes, no computation, no data access Ü Cheap control switch with native interface
22
6/4/98SIGMOD'98 -- Cornell Predator Project22 Callbacks, absolute
23
6/4/98SIGMOD'98 -- Cornell Predator Project23 Callbacks, relative
24
6/4/98SIGMOD'98 -- Cornell Predator Project24 Results n Low overheads for invocation, computation, and callbacks n Data access overhead dynamic checks n Overheads for UDFs small in context of processing of real queries Ü JVM forms an efficient safe execution environment for OR-DBMS
25
6/4/98SIGMOD'98 -- Cornell Predator Project25 Caveats n Portability across different JVM versions n Off-the-Shelf JVMs cause integration problems n Security flaws of the JVM
26
6/4/98SIGMOD'98 -- Cornell Predator Project26 Future Work - Jaguar Project n Security u Execution environment on server site with fine grained system resource control u Integration of J-Kernel resource management n Portability u Execution environment on client site integrated with query processing u Optimization of client site UDFs
27
6/4/98SIGMOD'98 -- Cornell Predator Project27
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.