From bba7c562c85ff3c15f665f02cbe7bb3e4ea31ce2 Mon Sep 17 00:00:00 2001 From: pjeli Date: Tue, 5 Apr 2022 17:35:36 -0700 Subject: [PATCH] [#308] Introduce AirConcurrentMap as possible backing HashMap --- build.gradle | 1 + docs/Getting_Started/How_To_Configure.md | 2 +- lib/airconcurrentmap.jar | Bin 0 -> 358670 bytes .../AirConcurrentMapINodeCollection.java | 55 ++++++++++++++++++ .../analytics/BenchmarkGSetFiltering.java | 24 ++++---- .../analytics/TestFiltererLoading.java | 7 +++ 6 files changed, 74 insertions(+), 15 deletions(-) create mode 100644 lib/airconcurrentmap.jar create mode 100644 src/main/java/org/apache/hadoop/hdfs/server/namenode/AirConcurrentMapINodeCollection.java diff --git a/build.gradle b/build.gradle index e262bb9..f0cdff2 100644 --- a/build.gradle +++ b/build.gradle @@ -151,6 +151,7 @@ configurations { } dependencies { + outboundDep files('lib/airconcurrentmap.jar') outboundDep group: 'org.pac4j', name: 'spark-pac4j', version: '1.2.3' outboundDep group: 'org.pac4j', name: 'pac4j-ldap', version: '1.9.4' outboundDep group: 'org.pac4j', name: 'pac4j-jwt', version: '1.9.4' diff --git a/docs/Getting_Started/How_To_Configure.md b/docs/Getting_Started/How_To_Configure.md index 7618aa5..57190db 100644 --- a/docs/Getting_Started/How_To_Configure.md +++ b/docs/Getting_Started/How_To_Configure.md @@ -51,7 +51,7 @@ Definitions of configuration NNA-specific properties: * `nna.localonly.users=` - Local-only accounts; recommended for any applications that intend to use NNA API. * `nna.query.engine.impl=` - The full canonical class name of the QueryEngine implementation to use. Current existing implementations are `org.apache.hadoop.hdfs.server.namenode.JavaStreamQueryEngine` (recommended and the default). If you wish to create your own you may change this property to load it. * `nna.inode.collection.impl=` - The full canonical class name of the INodeFilterer implementation to use. Current existing implementations are `org.apache.hadoop.hdfs.server.namenode.ConcurrentHashMapINodeCollection` (recommended and the default). If you wish to create your own you may change this property to load it. -Other options are: `EclipseINodeCollection` and `NonBlockingHashMapINodeCollection`. You may see less overall memory usage by using one of these other implementations. +Other options are: `EclipseINodeCollection`, `NonBlockingHashMapINodeCollection`, and `AirConcurrentMapINodeCollection`. You may see less overall memory usage by using one of these other implementations. The AirConcurrentMap is experimental at the moment but may provide a performance increase. ** If you have a `/usr/local/nn-analytics/config/security.properties` file please rename it to `/usr/local/nn-analytics/config/application.properties`. The `security.properties` file is now deprecated. Eventually the new `application.properties` file will also be moved to an XML file in the style of other Hadoop ecosystem configurations. diff --git a/lib/airconcurrentmap.jar b/lib/airconcurrentmap.jar new file mode 100644 index 0000000000000000000000000000000000000000..5751c05837b03756a5c825c8a0b34fbd7bd8ecd3 GIT binary patch literal 358670 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 literal 0 HcmV?d00001 diff --git a/src/main/java/org/apache/hadoop/hdfs/server/namenode/AirConcurrentMapINodeCollection.java b/src/main/java/org/apache/hadoop/hdfs/server/namenode/AirConcurrentMapINodeCollection.java new file mode 100644 index 0000000..5c7c9fe --- /dev/null +++ b/src/main/java/org/apache/hadoop/hdfs/server/namenode/AirConcurrentMapINodeCollection.java @@ -0,0 +1,55 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.hadoop.hdfs.server.namenode; + +import com.infinitydb.map.air.AirConcurrentMap; +import java.util.Comparator; +import java.util.Map; +import java.util.stream.StreamSupport; +import org.apache.hadoop.util.GSet; + +/** + * Filters the INode GSet into java.util.ConcurrentHashMap sets. This has great performance in + * memory space vs lookup speed. + */ +public class AirConcurrentMapINodeCollection implements INodeFilterer { + + @Override + public Map filterFiles( + GSet gset) { + AirConcurrentMap acmMap = + new AirConcurrentMap<>(Comparator.comparing(INode::getId)); + StreamSupport.stream(gset.spliterator(), true) + .filter(INode::isFile) + .forEach(node -> acmMap.put(node, node)); + return acmMap; + } + + @Override + public Map filterDirs( + GSet gset) { + AirConcurrentMap acmMap = + new AirConcurrentMap<>(Comparator.comparing(INode::getId)); + StreamSupport.stream(gset.spliterator(), true) + .filter(INode::isDirectory) + .forEach(node -> acmMap.put(node, node)); + return acmMap; + } +} diff --git a/src/test/java/org/apache/hadoop/hdfs/server/namenode/analytics/BenchmarkGSetFiltering.java b/src/test/java/org/apache/hadoop/hdfs/server/namenode/analytics/BenchmarkGSetFiltering.java index 1acb547..f6b4052 100644 --- a/src/test/java/org/apache/hadoop/hdfs/server/namenode/analytics/BenchmarkGSetFiltering.java +++ b/src/test/java/org/apache/hadoop/hdfs/server/namenode/analytics/BenchmarkGSetFiltering.java @@ -21,12 +21,7 @@ import java.util.Map; import java.util.concurrent.TimeUnit; -import org.apache.hadoop.hdfs.server.namenode.ConcurrentHashMapINodeCollection; -import org.apache.hadoop.hdfs.server.namenode.EclipseINodeCollection; -import org.apache.hadoop.hdfs.server.namenode.GSetGenerator; -import org.apache.hadoop.hdfs.server.namenode.INode; -import org.apache.hadoop.hdfs.server.namenode.INodeWithAdditionalFields; -import org.apache.hadoop.hdfs.server.namenode.NonBlockingHashMapINodeCollection; +import org.apache.hadoop.hdfs.server.namenode.*; import org.apache.hadoop.util.GSet; import org.openjdk.jmh.annotations.Benchmark; import org.openjdk.jmh.annotations.BenchmarkMode; @@ -47,7 +42,7 @@ @State(Scope.Benchmark) @BenchmarkMode(Mode.AverageTime) -@OutputTimeUnit(TimeUnit.SECONDS) +@OutputTimeUnit(TimeUnit.MILLISECONDS) @Fork(1) @Warmup(iterations = 5, time = 1) @Measurement(iterations = 5, time = 1) @@ -71,7 +66,7 @@ public static void main(String[] args) throws RunnerException { @Setup(Level.Trial) public void doSetup() { GSetGenerator gSetGenerator = new GSetGenerator(); - gset = gSetGenerator.getGSet((short) 3, 15, 500); + gset = gSetGenerator.getGSet((short) 3, 20, 500); } @Benchmark @@ -79,8 +74,6 @@ public void benchmarkConcurrentJavaFiltering() { ConcurrentHashMapINodeCollection concurrent = new ConcurrentHashMapINodeCollection(); Map files = concurrent.filterFiles(gset); Map dirs = concurrent.filterDirs(gset); - MemoryProfiler.keepReference(files); - MemoryProfiler.keepReference(dirs); } @Benchmark @@ -88,8 +81,6 @@ public void benchmarkNonBlockingHashMapFiltering() { NonBlockingHashMapINodeCollection concurrent = new NonBlockingHashMapINodeCollection(); Map files = concurrent.filterFiles(gset); Map dirs = concurrent.filterDirs(gset); - MemoryProfiler.keepReference(files); - MemoryProfiler.keepReference(dirs); } @Benchmark @@ -97,7 +88,12 @@ public void benchmarkEclipseConcurrentFiltering() { EclipseINodeCollection concurrent = new EclipseINodeCollection(); Map files = concurrent.filterFiles(gset); Map dirs = concurrent.filterDirs(gset); - MemoryProfiler.keepReference(files); - MemoryProfiler.keepReference(dirs); + } + + @Benchmark + public void benchmarkAirConcurrentMapFiltering() { + AirConcurrentMapINodeCollection concurrent = new AirConcurrentMapINodeCollection(); + Map files = concurrent.filterFiles(gset); + Map dirs = concurrent.filterDirs(gset); } } diff --git a/src/test/java/org/apache/hadoop/hdfs/server/namenode/analytics/TestFiltererLoading.java b/src/test/java/org/apache/hadoop/hdfs/server/namenode/analytics/TestFiltererLoading.java index ebf654d..f90cfb4 100644 --- a/src/test/java/org/apache/hadoop/hdfs/server/namenode/analytics/TestFiltererLoading.java +++ b/src/test/java/org/apache/hadoop/hdfs/server/namenode/analytics/TestFiltererLoading.java @@ -20,6 +20,7 @@ package org.apache.hadoop.hdfs.server.namenode.analytics; import org.apache.hadoop.hdfs.MiniDFSCluster; +import org.apache.hadoop.hdfs.server.namenode.AirConcurrentMapINodeCollection; import org.apache.hadoop.hdfs.server.namenode.ConcurrentHashMapINodeCollection; import org.apache.hadoop.hdfs.server.namenode.EclipseINodeCollection; import org.apache.hadoop.hdfs.server.namenode.GSetGenerator; @@ -85,4 +86,10 @@ public void testLoadEclipseFilterer() throws Exception { conf.set("nna.inode.collection.impl", EclipseINodeCollection.class.getCanonicalName()); nna.init(conf, gset); } + + @Test + public void testLoadAirConcurrentMapFilterer() throws Exception { + conf.set("nna.inode.collection.impl", AirConcurrentMapINodeCollection.class.getCanonicalName()); + nna.init(conf, gset); + } }