190 likes | 291 Views
Xmas: An Extensible Main-Memory Storage System for High-Performance Applications. Knowledge & Data Engineering Laboratory School of Electrical Engineering Seoul National University Korea. Effort of a Dozen Graduate Students at Seoul National University since 1994 (PI: Professor Sang K. Cha)
E N D
Xmas:An Extensible Main-Memory Storage Systemfor High-Performance Applications Knowledge & Data Engineering Laboratory School of Electrical Engineering Seoul National University Korea
Effort of a Dozen Graduate Students at Seoul National University since 1994(PI: Professor Sang K. Cha) Motivating Embedded DB Applications FMS Control Route Finding in Intelligent Transportation System Steel Mill Process Control Call Handling in Mobile Communication System 40,000 Lines of C++ Implementation Based on Object-Oriented Design Overview
Xmas Features • Action As Server Processing Unit, Where a Transaction Is a Sequence of Actions • Composite Action for Application-Specific High-Level Operation • Multithreaded Server for Concurrent Execution of Multiple Actions • Container for a Collection of Records • T-tree and Hash Indexes on Containers • ARIES Algorithm and Fuzzy Checkpointing With Stable Memory for High-performance Logging • Transaction Scheduling Using Solaris Thread Package • 2 Phase Locking With Priority Inheritance
KOSEF through SNU ERC for Advanced Control and Instrumentation (http://asri.snu.ac.Kr/ercaci.html) (1994~ ) Electronics and Telecommunication Research Institute (http://www.etri.re.kr) (1995~1996) Pohang Iron and Steel Company (http://www.posco.co.kr) (1995) Sponsors
Process Architecture ... Application Application Application Requests from Applications Execution Results to Applications Action Queue Actions ... Action Dispatcher Thread Action Processing Threads Pool Checkpoint Thread Log Flush Thread Xmas Multithreaded Server
Xmas Modules ... Application Application Application Requests & Results Xmas Multithreaded Server request scheduling hold/release Transaction Scheduler Lock Manager Transaction Manager read/write log Database Manager Log Manager write log write log Checkpoint Manager Primary Database Log Buffer Backup Database Stable Log Volume
Storage Model • Logical: • Container for a Collection of Records • T-tree and Hash Indexes on Container • Locks on Container • Physical: • DB/Segment/Page • Segment As Unit of Database Growth and Checkpointing
Logical Components in a Database Containers Hash Index on Container Name Hash Indexes Container Catalog T-Tree Indexes Index Catalog
Application-Specific Action Composition Application Application-Specific Operation Application Composite Action versus Read Update Remove Insert Application-Specific Operation Extended Database Server for a Specific Application Conventional Database Server
Current Research • Model-Based Automated Definition of Composite Actions • Index Structure for Main-Memory Database • Architecture and Performance Enhancement of Xmas • Real World Applications
Related Work • Application-Specific Operation • Monet, Shore, Raima • System Modularization • GENESIS, PRISMA/DB • Main-Memory DB • Strip, Dali, Smallbase
Demo Hardware Environments • Mobile Communication Simulation • RDI UltraBook • 1 CPU (UltraSPARC 200MHz), 128MB Main Memory • Log Disk: IBM DLGA-23080 • Performance Evaluation • SUN Enterprise 3000 • 4 CPUs (UltraSPARC 168MHz), 256MB Main Memory • Log Disk: SEAGATE ST15230W • SUN Sparcserver 1000 • 2 CPUs (SuperSPARC 40MHz), 160MB Main Memory • Stable log buffer(4MB NVSIMM) • Log Disk: FUJITSU M2934S • SUN Ultra 2 • 2 CPUs (UltraSPARC-II 296MHz), 256MB Main Memory • Log Disk: SEAGATE ST34371W
Server Lookup Performance 100 lookups/transaction
Server Update Performance 100 updates/transaction
PSTN VLR HLR MSC VLR MSC BS Demonstrated Application Show the Performance Improvement With Composite Actions for DB Operations at Home Location Register, Which Maintains the Location & Profile Information of Mobile Stations • MSC: mobile switching center VLR: visitor location register • HLR: home location register BS: base station
Demo Process Architecture GUI showing Simulation Status and Performance Socket Statistics Shared Memory Simulation with Basic Actions Simulation with Composite Actions Message Queue Xmas Multithreaded Server
Home Location Register • 4 Containers for Demonstration • Location (Mobile ID, Current Location) • Authentication (Mobile ID, Mobile Serial Number) • Service Profile (Mobile ID, Call Forwarding Flag, Call Waiting Flag) • Call Forwarding (Mobile ID, Call Forwarding Number)
Operation at HLR for Registration • To Process REGNOT Message • Read Mobile Serial Number From Authentication to Authenticate the MS • Read Current Location From Location, Which Is Used for REGCANC • Update Current Location in Location With REGNOT
Operations at HLR for Call Setup • To Process LOCREQ Message • Read Service Profile to Determine Whether Unconditional Call Forwarding Is in Effect • If in Effect, Read Call Forwarding Number From Call Forwarding for Locreq • If Not, Read Current Location of the MS From Location for ROUTREQ • After Receiving routreq Message • If the Dialed MS Is Busy, Read Service Profile to Determine Whether Call Forwarding Is in Effect • If in Effect, Read Call Forwarding Number From Call Forwarding for locreq