Arjun Suresh S7, R College of Engineering Trivandrum
MEMS-based storage Relational database layout FRM (Flexible Retrieval Model) Query Processing on FRM Evaluation Conclusion Outline
Building Storage on MEMS MEMS are Micro Electrical Mechanical Systems. Basic functions: sensors and actuators Built by standard silicon processing Combine mechanical and electrical components Enable “systems-on-a-chip”
Why need MEMS-based storage? Huge gaps between disks and RAM 1000,000 latency gap (10ms vs 50 ns), widening 50% yearly price gap per byte 1000 life gap MEMS narrows gaps 10X smaller latency than disk 100X cheaper than RAM in the range 1 – 10 GB 100 MB - 1 GB/s bandwidth 10 GB capacity with a penny size Desired for energy and volume critical systems
EEPROM/Flash DRAM Hard Disk Latency Cost per Byte MEMS-based Storage Technology Trends
Using pits in the polymers made by tip heating to store data IBM Millipede
MEMS Storage Architecture Read/write tips Read/write tips Media Bits stored underneath each tip Bits stored underneath each tip side view
MEMS Storage Architecture Media Sled X Y
Springs MEMS Storage Architecture
Anchors attach the springs to the chip. Anchors attach the springs to the chip. Anchor X Y MEMS Storage Architecture
Sled is free to move Sled is free to move X Y MEMS Storage Architecture
Sled is free to move Sled is free to move X Y MEMS Storage Architecture
Springs pull sled toward center Springs pull sled toward center X Y MEMS Storage Architecture
X Y Springs pull sled toward center Springs pull sled toward center MEMS Storage Architecture
Actuators pull sled in both dimensions Actuators pull sled in both dimensions Actuator X Y MEMS Storage Architecture
Actuators pull sled in both dimensions Actuators pull sled in both dimensions X Y MEMS Storage Architecture
Actuators pull sled in both dimensions Actuators pull sled in both dimensions X Y MEMS Storage Architecture
Actuators pull sled in both dimensions Actuators pull sled in both dimensions X Y MEMS Storage Architecture
Actuators pull sled in both dimensions Actuators pull sled in both dimensions X Y MEMS Storage Architecture
Probe tips are fixed Probe tips are fixed Probe tip X Y MEMS Storage Architecture
X Y Probe tips are fixed Probe tips are fixed MEMS Storage Architecture
X Y Sled only moves over the area of a single rectangle Sled only moves over the area of a single rectangle One probe tip per rectangle One probe tip per rectangle Each tip accesses data at the same relative position Each tip accesses data at the same relative position MEMS Storage Architecture
Properties of MEMS Storage Sweep area of One probe tip
Properties of MEMS Storage N bits M bits One tip region One tip sector
Physical Parameters Number of tips6400 Max number of active tips1280 Tip sector size8 bytes Bits per tip region2000X2000 X axis settle time0.125ms Average turnaround time0.06ms
Existing Work on Integration of MEMS Storage Solution proposed by CMU researchers Mapping MEMS storage into conventional disk Adapt I/O scheduling and data placement to MEMS Preliminary study shows Reduce the I/O stall times by 4 to 74 times over disks Improve the overall application run times by 1.9 to 4.4 Reduce the energy consumption by times
Better solutions?? The approach of mapping MEMS into disk Simplify the procedure of integration of MEMS Does not consider the physical properties of MEMS
Relational Data Placement StudentGrade recordID name char(16) perm ID int(8) age int(8) grade int(8) record1Mary record2John record3Bob record4Jane
N-ary Storage Model (NSM) Store records in a relation in slotted disk pages Organize records sequentially on the disk pages Page HeaderMary John Bob Jane P4P3P2p1
Decomposition Storage Model(DSM) Divide a relation into sub-relations based on the number of attributes Each sub-relation corresponds to each attribute Each sub-relation is organized into pages in the same way as NSM Page Header1Mary2 John3Bob4Jane P4P3P2P1 Page Header P4P3P2P1 Page Header P4P3P2P1 Page Header P4P3P2P1 grade nameperm ID age A disk page
Partition Attributes Across (PAX) Within each page, PAX groups all values of each attribute into a mini-page A page is divided into mini-pages based on the number of attributes It stores the same data as NSM in each page Page HeaderMaryJohn BobJane P4P3P2P P4P3P2P P4P3P2P P4P3P2P1 A disk page
Common Workload Requirements Relational data should be compatible with OLTP workloads Due to the update characteristics, relations need to be accessed in a row-wise manner OLAP workloads Only a subset of attributes is of interest, data placement should facilitate data retrieval on a column-wise fashion
Flexible Retrieval Model (FRM) Facilitates data retrieval in both row-wise and column-wise manner Retrieves the relevant subsets of the relations Uses two dimensional layout of MEMS storage Improves the I/O utilization Maximize the concurrent tips to only retrieve the necessary data It is also cache-friendly Use intra-record locality
FRM Data Placement and Retrieval Given a relation with three attributes, the size of each attribute is 8 bytes Placing this relation in 4x4 MEMS-based storage 4 concurrent tips (0, 0) (0, 1) (0, 0) (0, 1) Attr1 Attr2 Attr3 (0, 0) (0, 1) (0, 2) (1, 2)
Query Processing on FRM Selection and projection without index Two-dimensional table scan Selection and projection with index Encode data position as 4-tuple (tip-x, tip-y, offset-x, offset-y) Joins Index-based or hash
Experiment Setup MEMS storage: 1280 concurrent tips out of 6400 total tips Pentium II Celeron 433X2 processors L1 cache:16KB, 32-byte cache line, 20 ns delay L2 cache:128KB, 32-byte cache line, 200 ns delay A relation R with 1.28 million records Sixteen 8-byte attributes in each record Queries: SELECT A 1, A 2, …, A n FROM R WHERE A 1 > Bound;
Memory utilization The selected attributes in queries Consumed memory(MB)
I/O performance NSM and PAX have the same I/O time I/O time of FRM is proportional to the size of retrieved attributes
Selection Queries (2 attributes) Cache Utilization
Selection Queries (13 attributes)
Projection Queries Selectivity = 50%
Projection Queries Selectivity =10%
Conclusion and Future Work Proposed a relational data placement scheme for MEMS-based storage Take advantage of two-dimensional MEMS access feature Arrange MEMS rows and columns to relational attributes and records Save IO cost and improve cache performance Other cache friendly techniques for MEMS- based storage devices are to be explored
Thank You……