Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 89AD91042A for ; Thu, 24 Oct 2013 06:44:12 +0000 (UTC) Received: (qmail 77938 invoked by uid 500); 24 Oct 2013 06:44:08 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 77863 invoked by uid 500); 24 Oct 2013 06:44:07 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 77507 invoked by uid 99); 24 Oct 2013 06:44:05 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 24 Oct 2013 06:44:05 +0000 Date: Thu, 24 Oct 2013 06:44:05 +0000 (UTC) From: "Liang Xie (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-8894) Forward port compressed l2 cache from 0.89fb MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-8894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13803910#comment-13803910 ] Liang Xie commented on HBASE-8894: ---------------------------------- 0) hardware or os: System | Supermicro; X9SCD; v0123456789 (Desktop) Service Tag | 0123456789 Platform | Linux Release | CentOS release 6.2 (Final) Kernel | 2.6.32-220.el6.x86_64 Architecture | CPU = 64-bit, OS = 64-bit Threading | NPTL 2.12 SELinux | Disabled Virtualized | No virtualization detected # Processor ################################################## Processors | physical = 1, cores = 4, virtual = 8, hyperthreading = yes Speeds | 8x3292.141 Models | 8xIntel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz Caches | 8x8192 KB # Memory ##################################################### Total | 31.3G Free | 219.9M Used | physical = 31.1G, swap allocated = 33.5G, swap used = 213.6M, virtual = 31.3G Buffers | 438.0M Caches | 20.4G Dirty | 1340 kB UsedRSS | 9.2G Swappiness | 60 DirtyPolicy | 20, 10 DirtyStatus | 0, 0 Locator Size Speed Form Factor Type Type Detail ========= ======== ================= ============= ============= =========== 1333 MHz 1333 MHz 1333 MHz 1333 MHz ChannelA-DIMM0 8192 MB 1333 MHz DIMM DDR3 Synchronous ChannelA-DIMM1 8192 MB 1333 MHz DIMM DDR3 Synchronous ChannelB-DIMM0 8192 MB 1333 MHz DIMM DDR3 Synchronous ChannelB-DIMM1 8192 MB 1333 MHz DIMM DDR3 Synchronous 1) important vm options: -Xmx2560m -XX:MaxDirectMemorySize=2560m -Xms2560m -Xmn512m -Xss256k -XX:MaxPermSize=128m -XX:PermSize=128m -XX:+UseConcMarkSweepGC -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:SurvivorRatio=1 -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+CMSParallelRemarkEnabled -XX:TargetSurvivorRatio=80 -XX:+CMSScavengeBeforeRemark -XX:ConcGCThreads=8 -XX:ParallelGCThreads=8 -XX:PretenureSizeThreshold=4m -XX:+CMSConcurrentMTEnabled -XX:+ExplicitGCInvokesConcurrent -XX:-UseBiasedLocking ... I used the absolutely the same vm options during both bucket cache and l2 cache testing. 2) important config: hbase.bucketcache.ioengine=offheap hfile.l2.bucketcache.ioengine=offheap hbase.bucketcache.size=0.7 hfile.l2.bucketcache.size=0.7 hfile.block.cache.size=0.7 hbase.regionserver.global.memstore.lowerLimit=0.1 hbase.regionserver.global.memstore.upperLimit=0.1 3) jdk version: java -version java version "1.6.0_37" Java(TM) SE Runtime Environment (build 1.6.0_37-b06) Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01, mixed mode) 4) i just tested 100% read, no write at all. additional, my test data size : dfs -du -s -h /hbase/hytst-replication/ycsb_xieliang 3.6g /hbase/hytst-replication/ycsb_xieliang it's a YCSB table with 500w records. I ensure there's a read ops warmup before test running, until almost all data be loaded into os cache. so in this scenario the data could not fit into hbase cache all, but no disk io to dominate the test result:) > Forward port compressed l2 cache from 0.89fb > -------------------------------------------- > > Key: HBASE-8894 > URL: https://issues.apache.org/jira/browse/HBASE-8894 > Project: HBase > Issue Type: New Feature > Reporter: stack > Assignee: Liang Xie > Priority: Critical > Attachments: HBASE-8894-0.94-v1.txt, HBASE-8894-0.94-v2.txt > > > Forward port Alex's improvement on hbase-7407 from 0.89-fb branch: > {code} > 1 r1492797 | liyin | 2013-06-13 11:18:20 -0700 (Thu, 13 Jun 2013) | 43 lines > 2 > 3 [master] Implements a secondary compressed cache (L2 cache) > 4 > 5 Author: avf > 6 > 7 Summary: > 8 This revision implements compressed and encoded second-level cache with off-heap > 9 (and optionally on-heap) storage and a bucket-allocator based on HBASE-7404. > 10 > 11 BucketCache from HBASE-7404 is extensively modified to: > 12 > 13 * Only handle byte arrays (i.e., no more serialization/deserialization within) > 14 * Remove persistence support for the time being > 15 * Keep an index of hfilename to blocks for efficient eviction on close > 16 > 17 A new interface (L2Cache) is introduced in order to separate it from the current > 18 implementation. The L2 cache is then integrated into the classes that handle > 19 reading from and writing to HFiles to allow cache-on-write as well as > 20 cache-on-read. Metrics for the L2 cache are integrated into RegionServerMetrics > 21 much in the same fashion as metrics for the existing (L2) BlockCache. > 22 > 23 Additionally, CacheConfig class is re-refactored to configure the L2 cache, > 24 replace multile constructors with a Builder, as well as replace static methods > 25 for instantiating the caches with abstract factories (with singleton > 26 implementations for both the existing LruBlockCache and the newly introduced > 27 BucketCache based L2 cache) > 28 > 29 Test Plan: > 30 1) Additional unit tests > 31 2) Stress test on a single devserver > 32 3) Test on a single-node in shadow cluster > 33 4) Test on a whole shadow cluster > 34 > 35 Revert Plan: > 36 > 37 Reviewers: liyintang, aaiyer, rshroff, manukranthk, adela > 38 > 39 Reviewed By: liyintang > 40 > 41 CC: gqchen, hbase-eng@ > 42 > 43 Differential Revision: https://phabricator.fb.com/D837264 > 44 > 45 Task ID: 2325295 > 7 ------------------------------------------------------------------------ > 6 r1492340 | liyin | 2013-06-12 11:36:03 -0700 (Wed, 12 Jun 2013) | 21 lines > {code} -- This message was sent by Atlassian JIRA (v6.1#6144)