You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mnemonic.apache.org by ga...@apache.org on 2016/05/06 00:39:58 UTC

[09/11] incubator-mnemonic git commit: MNEMONIC-40 - Clean up assembled source package for release MNEMONIC-41 - Create a script for preparing a release of a single package with signing and hashing MNEMONIC-42 - Normalize the names of project submodules

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/allocator-services/pmalloc-service/src/main/native/org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl.c
----------------------------------------------------------------------
diff --git a/allocator-services/pmalloc-service/src/main/native/org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl.c b/allocator-services/pmalloc-service/src/main/native/org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl.c
deleted file mode 100644
index b3bf391..0000000
--- a/allocator-services/pmalloc-service/src/main/native/org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl.c
+++ /dev/null
@@ -1,314 +0,0 @@
-/**
- * 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.
- */
-
-#include "org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl.h"
-
-#include <pmalloc.h>
-
-typedef struct {
-  //size_t size;
-  jlong size;
-} PMBHeader;
-
-#define PMBHSZ (sizeof(PMBHeader))
-
-static void **g_pmp_ptr = NULL;
-static size_t g_pmp_count = 0;
-
-static pthread_mutex_t *g_pmalloc_mutex_ptr = NULL;
-
-static pthread_rwlock_t g_pmp_rwlock = PTHREAD_RWLOCK_INITIALIZER;
-
-/******************************************************************************
- ** JNI implementations
- *****************************************************************************/
-
-JNIEXPORT
-jlong JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_nallocate(JNIEnv* env,
-    jobject this, jlong id, jlong size, jboolean initzero) {
-  pthread_rwlock_rdlock(&g_pmp_rwlock);
-  pthread_mutex_lock(g_pmalloc_mutex_ptr + id);
-  jlong ret = 0L;
-  void *md = *(g_pmp_ptr + id);
-  void* nativebuf = initzero ? pmcalloc(md, 1, size + PMBHSZ) : pmalloc(md, size + PMBHSZ);
-  if (NULL != nativebuf) {
-    ((PMBHeader *) nativebuf)->size = size + PMBHSZ;
-    ret = addr_to_java(nativebuf + PMBHSZ);
-//    	fprintf(stderr, "### nallocate size: %lld, %X, header size: %ld ### \n",
-//    			((PMBHeader *)nativebuf)->size, nativebuf-b_addr(*(g_pmp_ptr + id)), PMBHSZ);
-  }
-  pthread_mutex_unlock(g_pmalloc_mutex_ptr + id);
-  pthread_rwlock_unlock(&g_pmp_rwlock);
-  return ret;
-}
-
-JNIEXPORT
-jlong JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_nreallocate(JNIEnv* env,
-    jobject this, jlong id, jlong address, jlong size, jboolean initzero) {
-  pthread_rwlock_rdlock(&g_pmp_rwlock);
-  pthread_mutex_lock(g_pmalloc_mutex_ptr + id);
-  jlong ret = 0L;
-  void *md = *(g_pmp_ptr + id);
-  void* nativebuf = NULL;
-  void* p = addr_from_java(address);
-  if (NULL != p) {
-    nativebuf = pmrealloc(md, p - PMBHSZ, size + PMBHSZ);
-  } else {
-    nativebuf = initzero ? pmcalloc(md, 1, size + PMBHSZ) : pmalloc(md, size + PMBHSZ);
-  }
-  if (nativebuf != NULL) {
-    ((PMBHeader *) nativebuf)->size = size + PMBHSZ;
-    ret = addr_to_java(nativebuf + PMBHSZ);
-  }
-  pthread_mutex_unlock(g_pmalloc_mutex_ptr + id);
-  pthread_rwlock_unlock(&g_pmp_rwlock);
-  return ret;
-}
-
-JNIEXPORT
-void JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_nfree(
-    JNIEnv* env,
-    jobject this, jlong id,
-    jlong address)
-{
-  pthread_rwlock_rdlock(&g_pmp_rwlock);
-  pthread_mutex_lock(g_pmalloc_mutex_ptr + id);
-  //fprintf(stderr, "nfree Get Called %ld, %X\n", id, address);
-  void *md = *(g_pmp_ptr + id);
-  void* nativebuf = addr_from_java(address);
-  if (nativebuf != NULL) {
-//        fprintf(stderr, "### nfree size: %lld, %X ###, header size: %ld \n",
-//        		((PMBHeader *)(nativebuf - PMBHSZ))->size, nativebuf - PMBHSZ-b_addr(*(g_pmp_ptr + id)), PMBHSZ);
-    pmfree(md, nativebuf - PMBHSZ);
-  }
-  pthread_mutex_unlock(g_pmalloc_mutex_ptr + id);
-  pthread_rwlock_unlock(&g_pmp_rwlock);
-}
-
-JNIEXPORT
-void JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_nsync(
-    JNIEnv* env,
-    jobject this, jlong id)
-{
-}
-
-JNIEXPORT
-jobject JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_ncreateByteBuffer(
-    JNIEnv *env, jobject this, jlong id, jlong size) {
-  pthread_rwlock_rdlock(&g_pmp_rwlock);
-  pthread_mutex_lock(g_pmalloc_mutex_ptr + id);
-  jobject ret = NULL;
-  void *md = *(g_pmp_ptr + id);
-  void* nativebuf = pmalloc(md, size + PMBHSZ);
-  if (NULL != nativebuf) {
-    ((PMBHeader *) nativebuf)->size = size + PMBHSZ;
-    ret = (*env)->NewDirectByteBuffer(env, nativebuf + PMBHSZ, size);
-//    	fprintf(stderr, "### ncreateByteBuffer size: %lld, %X ###, header size: %ld \n",
-//    			((PMBHeader *)nativebuf)->size, nativebuf-b_addr(*(g_pmp_ptr + id)), PMBHSZ);
-  }
-  pthread_mutex_unlock(g_pmalloc_mutex_ptr + id);
-  pthread_rwlock_unlock(&g_pmp_rwlock);
-  return ret;
-}
-
-JNIEXPORT
-jobject JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_nretrieveByteBuffer(
-    JNIEnv *env, jobject this, jlong id, jlong e_addr) {
-  jobject ret = NULL;
-  void* p = addr_from_java(e_addr);
-  if (NULL != p) {
-    void* nativebuf = p - PMBHSZ;
-    ret = (*env)->NewDirectByteBuffer(env, p, ((PMBHeader *) nativebuf)->size - PMBHSZ);
-  }
-  return ret;
-}
-
-JNIEXPORT
-jlong JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_nretrieveSize(JNIEnv *env,
-    jobject this, jlong id, jlong e_addr) {
-  jlong ret = 0L;
-  void* p = addr_from_java(e_addr);
-  if (NULL != p) {
-    void* nativebuf = p - PMBHSZ;
-    ret = ((PMBHeader *) nativebuf)->size - PMBHSZ;
-//        fprintf(stderr, "### nretrieveSize size: %lld, %X ###, header size: %ld \n",
-//        		((PMBHeader *)nativebuf)->size, nativebuf-b_addr(*(g_pmp_ptr + id)), PMBHSZ);
-  }
-  return ret;
-}
-
-JNIEXPORT
-jlong JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_ngetByteBufferHandler(
-    JNIEnv *env, jobject this, jlong id, jobject bytebuf) {
-//	fprintf(stderr, "ngetByteBufferAddress Get Called %X, %X\n", env, bytebuf);
-  jlong ret = 0L;
-  if (NULL != bytebuf) {
-    void* nativebuf = (*env)->GetDirectBufferAddress(env, bytebuf);
-//    	fprintf(stderr, "ngetByteBufferAddress Get Native address %X\n", nativebuf);
-    ret = addr_to_java(nativebuf);
-  }
-//    fprintf(stderr, "ngetByteBufferAddress returned address %016lx\n", ret);
-  return ret;
-}
-
-JNIEXPORT
-jobject JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_nresizeByteBuffer(
-    JNIEnv *env, jobject this, jlong id, jobject bytebuf, jlong size) {
-  pthread_rwlock_rdlock(&g_pmp_rwlock);
-  pthread_mutex_lock(g_pmalloc_mutex_ptr + id);
-  jobject ret = NULL;
-  void *md = *(g_pmp_ptr + id);
-  if (NULL != bytebuf) {
-    void* nativebuf = (*env)->GetDirectBufferAddress(env, bytebuf);
-    if (nativebuf != NULL) {
-      nativebuf = pmrealloc(md, nativebuf - PMBHSZ, size + PMBHSZ);
-      if (NULL != nativebuf) {
-        ((PMBHeader *) nativebuf)->size = size + PMBHSZ;
-        ret = (*env)->NewDirectByteBuffer(env, nativebuf + PMBHSZ, size);
-      }
-    }
-  }
-  pthread_mutex_unlock(g_pmalloc_mutex_ptr + id);
-  pthread_rwlock_unlock(&g_pmp_rwlock);
-  return ret;
-}
-
-JNIEXPORT
-void JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_ndestroyByteBuffer(
-    JNIEnv *env, jobject this, jlong id, jobject bytebuf)
-{
-  pthread_rwlock_rdlock(&g_pmp_rwlock);
-  pthread_mutex_lock(g_pmalloc_mutex_ptr + id);
-  void *md = *(g_pmp_ptr + id);
-  if (NULL != bytebuf) {
-    void* nativebuf = (*env)->GetDirectBufferAddress(env, bytebuf);
-    if (nativebuf != NULL) {
-//            fprintf(stderr, "### ndestroyByteBuffer size: %lld, %X, header size: %ld ### \n",
-//            		((PMBHeader *)(nativebuf - PMBHSZ))->size, nativebuf - PMBHSZ -b_addr(*(g_pmp_ptr + id)), PMBHSZ);
-      pmfree(md, nativebuf - PMBHSZ);
-    }
-  }
-  pthread_mutex_unlock(g_pmalloc_mutex_ptr + id);
-  pthread_rwlock_unlock(&g_pmp_rwlock);
-}
-
-JNIEXPORT
-void JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_nsetHandler(
-    JNIEnv *env, jobject this, jlong id, jlong key, jlong value)
-{
-  pthread_rwlock_rdlock(&g_pmp_rwlock);
-  pthread_mutex_lock(g_pmalloc_mutex_ptr + id);
-  void *md = *(g_pmp_ptr + id);
-  if (id < PMALLOC_KEYS && id >= 0) {
-    pmalloc_setkey(md, key, (void*)value);
-  }
-  pthread_mutex_unlock(g_pmalloc_mutex_ptr + id);
-  pthread_rwlock_unlock(&g_pmp_rwlock);
-}
-
-JNIEXPORT
-jlong JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_ngetHandler(JNIEnv *env,
-    jobject this, jlong id, jlong key) {
-  pthread_rwlock_rdlock(&g_pmp_rwlock);
-  pthread_mutex_lock(g_pmalloc_mutex_ptr + id);
-  void *md = *(g_pmp_ptr + id);
-  jlong ret = (id < PMALLOC_KEYS && id >= 0) ? (long) pmalloc_getkey(md, key) : 0;
-  pthread_mutex_unlock(g_pmalloc_mutex_ptr + id);
-  pthread_rwlock_unlock(&g_pmp_rwlock);
-  return ret;
-}
-
-JNIEXPORT
-jlong JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_nhandlerCapacity(
-    JNIEnv *env, jobject this) {
-  return PMALLOC_KEYS;
-}
-
-JNIEXPORT
-jlong JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_ngetBaseAddress(JNIEnv *env,
-    jobject this, jlong id) {
-  pthread_rwlock_rdlock(&g_pmp_rwlock);
-  void *md = *(g_pmp_ptr + id);
-  jlong ret = (long) b_addr(md);
-  pthread_rwlock_unlock(&g_pmp_rwlock);
-  return ret;
-}
-
-JNIEXPORT
-jlong JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_ninit(JNIEnv *env,
-    jclass this, jlong capacity, jstring pathname, jboolean isnew) {
-  pthread_rwlock_wrlock(&g_pmp_rwlock);
-  size_t ret = -1;
-  void *md = NULL;
-  const char* mpathname = (*env)->GetStringUTFChars(env, pathname, NULL);
-  if (NULL == mpathname) {
-    pthread_rwlock_unlock(&g_pmp_rwlock);
-    throw(env, "Big memory path not specified!");
-  }
-  if ((md = pmopen(mpathname, NULL, capacity)) == NULL) {
-    pthread_rwlock_unlock(&g_pmp_rwlock);
-    throw(env, "Big memory init failure!");
-  }
-  (*env)->ReleaseStringUTFChars(env, pathname, mpathname);
-  g_pmp_ptr = realloc(g_pmp_ptr, (g_pmp_count + 1) * sizeof(void*));
-  g_pmalloc_mutex_ptr = realloc(g_pmalloc_mutex_ptr, (g_pmp_count + 1) * sizeof(pthread_mutex_t));
-  if (NULL != g_pmp_ptr && NULL != g_pmalloc_mutex_ptr) {
-    *(g_pmp_ptr + g_pmp_count) = md;
-    pthread_mutex_init(g_pmalloc_mutex_ptr + g_pmp_count, NULL);
-    ret = g_pmp_count;
-    ++g_pmp_count;
-  } else {
-    pthread_rwlock_unlock(&g_pmp_rwlock);
-    throw(env, "Big memory init Out of memory!");
-  }
-  pthread_rwlock_unlock(&g_pmp_rwlock);
-  return ret;
-}
-
-JNIEXPORT
-void JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_nclose
-(JNIEnv *env, jobject this, jlong id)
-{
-  pthread_rwlock_rdlock(&g_pmp_rwlock);
-  pthread_mutex_lock(g_pmalloc_mutex_ptr + id);
-  void *md = *(g_pmp_ptr + id);
-  pmclose(md);
-  *(g_pmp_ptr + id) = NULL;
-  pthread_mutex_unlock(g_pmalloc_mutex_ptr + id);
-  pthread_mutex_destroy(g_pmalloc_mutex_ptr + id);
-  pthread_rwlock_unlock(&g_pmp_rwlock);
-}
-
-__attribute__((destructor)) void fini(void) {
-  int i;
-  if (NULL != g_pmp_ptr) {
-    for (i = 0; i < g_pmp_count; ++i) {
-      if (NULL != *(g_pmp_ptr + i)) {
-        pmclose(*(g_pmp_ptr + i));
-        *(g_pmp_ptr + i) = NULL;
-        pthread_mutex_destroy(g_pmalloc_mutex_ptr + i);
-      }
-    }
-    free(g_pmp_ptr);
-    g_pmp_ptr = NULL;
-    free(g_pmalloc_mutex_ptr);
-    g_pmalloc_mutex_ptr = NULL;
-    g_pmp_count = 0;
-  }
-  pthread_rwlock_destroy(&g_pmp_rwlock);
-}

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/allocator-services/pmalloc-service/src/main/native/org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl.h
----------------------------------------------------------------------
diff --git a/allocator-services/pmalloc-service/src/main/native/org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl.h b/allocator-services/pmalloc-service/src/main/native/org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl.h
deleted file mode 100644
index 7550462..0000000
--- a/allocator-services/pmalloc-service/src/main/native/org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * 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.
- */
-
-#include <jni.h>
-/* Header for class PMallocServiceImpl */
-
-#include "common.h"
-
-#ifndef _Included_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl
-#define _Included_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class:     org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl
- * Method:    jniInit
- * Signature: (II)V
- */
-JNIEXPORT void JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_jniInit
-(JNIEnv *, jobject, jint, jint);
-
-/*
- * Class:     org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl
- * Method:    jniTerm
- * Signature: ()V
- */
-JNIEXPORT void JNICALL Java_org_apache_mnemonic_service_allocatorservice_internal_PMallocServiceImpl_jniTerm
-(JNIEnv *, jobject);
-
-#ifdef __cplusplus
-}
-#endif
-#endif

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/allocator-services/pmalloc-service/src/main/resources/META-INF/services/org.apache.mnemonic.service.allocatorservice.NonVolatileMemoryAllocatorService
----------------------------------------------------------------------
diff --git a/allocator-services/pmalloc-service/src/main/resources/META-INF/services/org.apache.mnemonic.service.allocatorservice.NonVolatileMemoryAllocatorService b/allocator-services/pmalloc-service/src/main/resources/META-INF/services/org.apache.mnemonic.service.allocatorservice.NonVolatileMemoryAllocatorService
deleted file mode 100644
index 4511285..0000000
--- a/allocator-services/pmalloc-service/src/main/resources/META-INF/services/org.apache.mnemonic.service.allocatorservice.NonVolatileMemoryAllocatorService
+++ /dev/null
@@ -1 +0,0 @@
-org.apache.mnemonic.service.allocatorservice.internal.PMallocServiceImpl

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/allocator-services/pom.xml
----------------------------------------------------------------------
diff --git a/allocator-services/pom.xml b/allocator-services/pom.xml
deleted file mode 100644
index 383afc1..0000000
--- a/allocator-services/pom.xml
+++ /dev/null
@@ -1,90 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.mnemonic</groupId>
-    <artifactId>mnemonic-parent</artifactId>
-    <version>0.1.2-incubating-SNAPSHOT</version>
-    <relativePath>../pom.xml</relativePath>
-  </parent>
- 
-  <groupId>org.apache.mnemonic.service.allocatorservice</groupId>
-  <artifactId>allocator-services-parent-project</artifactId>
-  <packaging>pom</packaging>
- 
-  <name>Mnemonic Project Allocator Services Parent POM</name>
-  <url>http://mnemonic.incubator.apache.org</url>
-
-  <properties>
-    <service.basedir>${project.parent.basedir}</service.basedir>
-  </properties>
-
-  <modules>
-    <module>nvml-vmem-service</module>
-    <module>pmalloc-service</module>
-  </modules>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.mnemonic</groupId>
-      <artifactId>mnemonic-core</artifactId>
-      <version>${project.version}</version>
-      <scope>compile</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.flowcomputing.commons</groupId>
-      <artifactId>commons-primitives</artifactId>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-    </plugins>
-    <pluginManagement>
-      <plugins>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-jar-plugin</artifactId>
-          <version>2.6</version>
-          <configuration>
-            <forceCreation>true</forceCreation>
-	    <outputDirectory>${service.basedir}/service-dist</outputDirectory>
-	    <archive>
-	      <addMavenDescriptor>false</addMavenDescriptor>
-	    </archive>
-          </configuration>
-        </plugin>
-        <plugin>
-          <groupId>org.apache.maven.plugins</groupId>
-          <artifactId>maven-shade-plugin</artifactId>
-          <version>2.4.3</version>
-	  <executions>
-	    <execution>
-	      <phase>package</phase>
-	      <goals>
-		<goal>shade</goal>
-	      </goals>
-	      <configuration>
-		<minimizeJar>true</minimizeJar>
-		<filters>
-		  <filter>
-		    <artifact>*:*</artifact>
-		    <includes>
-		    </includes>
-		    <excludes>
-		      <exclude>META-INFO/**/**</exclude>
-		      <exclude>META-INFO/services/**</exclude>
-		      <exclude>META-INFO/maven/**</exclude>
-		    </excludes>
-		  </filter>
-		  
-		</filters>
-	      </configuration>
-	    </execution>
-	  </executions>
-        </plugin>
-      </plugins>
-    </pluginManagement>
-  </build>
-
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/build-tools/release.sh
----------------------------------------------------------------------
diff --git a/build-tools/release.sh b/build-tools/release.sh
new file mode 100755
index 0000000..590e174
--- /dev/null
+++ b/build-tools/release.sh
@@ -0,0 +1,101 @@
+#!/bin/bash
+
+#
+# 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.
+#
+
+usage(){
+    echo "Usage: $0 Release_Version Next_Release_Version"
+    echo "For example, $0 0.2.0 0.2.1"
+    exit 1
+}
+
+continueprompt() {
+    while true; do
+	read -p "Do you wish to continue?" yn
+	case $yn in
+	    [Yy]* ) break;;
+	    [Nn]* ) exit;;
+	    * ) echo "Please answer yes or no.";;
+	    esac
+	done
+}
+
+[[ -n "$(git status --porcelain)" ]] &&
+    echo "please commit all changes first." && exit
+
+[[ $# -ne 2 ]]  && usage
+
+RELEASE_VERSION="$1"
+NEXT_RELEASE_VERSION="$2"
+
+echo "You have specified:"
+echo "RELEASE_VERSION = ${RELEASE_VERSION}"
+echo "NEXT_RELEASE_VERSION = ${NEXT_RELEASE_VERSION}"
+
+git checkout master
+
+echo "Preparing to create a branch branch-${RELEASE_VERSION} for release"
+continueprompt
+
+git checkout -b branch-${RELEASE_VERSION} || { echo "Create branch failed"; exit; }
+
+mvn versions:set -DgenerateBackupPoms=false -DnewVersion=${RELEASE_VERSION}-incubating
+git commit . -m "Prepare for releasing ${RELEASE_VERSION}-incubating"
+
+git tag -s v${RELEASE_VERSION}-incubating -m "Releasing ${RELEASE_VERSION}-incubating"
+
+rm -rf target/
+
+mvn clean prepare-package -DskipTests -Dremoteresources.skip=true &&
+mvn prepare-package -DskipTests -Dremoteresources.skip=true &&
+mvn deploy -DskipTests -Dremoteresources.skip=true -P apache-release || { echo "Preparation failed"; exit; }
+
+RELEASEBASENAME=apache-mnemonic-${RELEASE_VERSION}-incubating-src
+RELEASEFULLNAME=${RELEASEBASENAME}.tar.gz
+pushd target || { echo "Artifacts not found"; exit; }
+md5sum ${RELEASEFULLNAME} > ${RELEASEFULLNAME}.md5 || { echo "Generate md5 failed"; exit; }
+shasum -a 512 ${RELEASEFULLNAME} > ${RELEASEFULLNAME}.sha512 || { echo "Generate sha failed"; exit; }
+popd
+
+echo "Prepared Artifacts:"
+echo `ls target/${RELEASEFULLNAME}`
+echo `ls target/${RELEASEFULLNAME}.asc`
+echo `ls target/${RELEASEFULLNAME}.md5`
+echo `ls target/${RELEASEFULLNAME}.sha512`
+echo "Please upload those artifacts to your stage repository now."
+continueprompt
+
+#---------------
+echo "Push release branch & label to upstream branch <branch-${RELEASE_VERSION}>."
+continueprompt
+
+git push upstream branch-${RELEASE_VERSION}
+git push upstream v${RELEASE_VERSION}-incubating
+
+echo "Merge release branch <branch-${RELEASE_VERSION}> to master & Commit next version <${NEXT_RELEASE_VERSION}-incubating-SNAPSHOT>."
+continueprompt
+
+git checkout master
+git merge --no-ff branch-${RELEASE_VERSION}
+mvn versions:set -DgenerateBackupPoms=false -DnewVersion=${NEXT_RELEASE_VERSION}-incubating-SNAPSHOT
+git commit . -m "Bump version to ${NEXT_RELEASE_VERSION}-incubating-SNAPSHOT"
+
+echo "Push release merge and new version to upstream."
+continueprompt
+
+git push upstream master
+

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/build-tools/source-assembly.xml
----------------------------------------------------------------------
diff --git a/build-tools/source-assembly.xml b/build-tools/source-assembly.xml
index cda6923..3232377 100644
--- a/build-tools/source-assembly.xml
+++ b/build-tools/source-assembly.xml
@@ -20,14 +20,81 @@
 -->
 
 <assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3"
-	  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd">
   <id>src</id>
   <formats>
+    <format>zip</format>
     <format>tar.gz</format>
     <format>tar.bz2</format>
     <format>zip</format>
   </formats>
+  <moduleSets>
+    <moduleSet>
+      <includes>
+        <include>org.apache.mnemonic:mnemonic-core</include>
+        <include>org.apache.mnemonic:mnemonic-collections</include>
+        <include>org.apache.mnemonic:mnemonic-examples</include>
+      </includes>
+      <sources>
+        <fileSets>
+          <fileSet>
+            <directory>.</directory>
+            <outputDirectory>.</outputDirectory>
+            <useDefaultExcludes>true</useDefaultExcludes>
+            <excludes>
+              <exclude>**/target/**</exclude>
+              <exclude>dependency-reduced-pom.xml</exclude>
+              <exclude>**/*.dat</exclude>
+            </excludes>
+          </fileSet>
+        </fileSets>
+      </sources>
+    </moduleSet>
+    <moduleSet>
+      <includes>
+        <include>org.apache.mnemonic:mnemonic-memory-services</include>
+      </includes>
+      <sources>
+        <fileSets>
+          <fileSet>
+            <directory>.</directory>
+            <outputDirectory>.</outputDirectory>
+            <useDefaultExcludes>true</useDefaultExcludes>
+            <excludes>
+              <exclude>**/target/**</exclude>
+              <exclude>**/service-dist/**</exclude>
+              <exclude>dependency-reduced-pom.xml</exclude>
+              <exclude>**/*.dat</exclude>
+            </excludes>
+          </fileSet>
+        </fileSets>
+      </sources>
+    </moduleSet>
+    <moduleSet>
+      <includes>
+        <include>org.apache.mnemonic:mnemonic-pmalloc-service</include>
+	<include>org.apache.mnemonic:mnemonic-nvml-vmem-service</include>
+      </includes>
+      <sources>
+        <fileSets>
+          <fileSet>
+            <directory>.</directory>
+            <outputDirectory>.</outputDirectory>
+            <useDefaultExcludes>true</useDefaultExcludes>
+            <excludes>
+              <exclude>**/target/**</exclude>
+              <exclude>**/native/build/**</exclude>
+              <exclude>**/native/dist/**</exclude>
+              <exclude>dependency-reduced-pom.xml</exclude>
+              <exclude>**/*.dat</exclude>
+            </excludes>
+          </fileSet>
+        </fileSets>
+	<outputDirectoryMapping>mnemonic-memory-services/${module.artifactId}</outputDirectoryMapping>
+      </sources>
+    </moduleSet>
+  </moduleSets>
   <fileSets>
     <fileSet>
       <directory>${project.basedir}</directory>
@@ -35,19 +102,13 @@
         <include>README*</include>
         <include>LICENSE*</include>
         <include>NOTICE*</include>
+	<include>DISCLAIMER*</include>
+	<include>KEYS</include>
         <include>pom.xml</include>
+	<include>build-tools/**</include>
       </includes>
       <useDefaultExcludes>true</useDefaultExcludes>
     </fileSet>
-    <fileSet>
-      <directory>${project.basedir}/src</directory>
-      <useDefaultExcludes>true</useDefaultExcludes>
-      <excludes>
-        <exclude>/main/native/build/**</exclude>
-	<exclude>dependency-reduced-pom.xml</exclude>
-	<exclude>*.dat</exclude>
-      </excludes>
-    </fileSet>
   </fileSets>
 </assembly>
 

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/collections/pom.xml
----------------------------------------------------------------------
diff --git a/collections/pom.xml b/collections/pom.xml
deleted file mode 100644
index e76a954..0000000
--- a/collections/pom.xml
+++ /dev/null
@@ -1,156 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.mnemonic</groupId>
-    <artifactId>mnemonic-parent</artifactId>
-    <version>0.1.2-incubating-SNAPSHOT</version>
-    <relativePath>../pom.xml</relativePath>
-  </parent>
-
-
-  <groupId>org.apache.mnemonic.collections</groupId>
-  <artifactId>mnemonic-collections</artifactId>
-  <packaging>jar</packaging>
-  <name>Mnemonic Project Collections</name>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.mnemonic</groupId>
-      <artifactId>mnemonic-core</artifactId>
-      <version>${project.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.flowcomputing.commons</groupId>
-      <artifactId>commons-primitives</artifactId>
-      <version>0.6.0</version>
-    </dependency>
-    <dependency>
-      <groupId>org.testng</groupId>
-      <artifactId>testng</artifactId>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-shade-plugin</artifactId>
-        <executions>
-          <execution>
-            <phase>package</phase>
-            <goals>
-              <goal>shade</goal>
-            </goals>
-          </execution>
-        </executions>
-        <configuration>
-          <minimizeJar>true</minimizeJar>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.bsc.maven</groupId>
-        <artifactId>maven-processor-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>process-test</id>
-            <goals><goal>process-test</goal></goals>
-            <phase>generate-test-sources</phase>
-            <configuration>
-              <compilerArguments>-XDenableSunApiLintControl</compilerArguments>
-              <processors>
-                <processor>${project.parent.groupId}.DurableEntityProcessor</processor>
-              </processors>
-            </configuration>
-          </execution>
-          <execution>
-            <id>process</id>
-            <goals><goal>process</goal></goals>
-            <phase>generate-sources</phase>
-            <configuration>
-              <compilerArguments>-XDenableSunApiLintControl</compilerArguments>
-              <processors>
-                <processor>${project.parent.groupId}.DurableEntityProcessor</processor>
-              </processors>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-
-  <profiles>
-    <profile>
-      <id>proguard</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>com.github.wvengen</groupId>
-            <artifactId>proguard-maven-plugin</artifactId>
-            <executions>
-              <execution>
-                <phase>package</phase>
-                <goals><goal>proguard</goal></goals>
-              </execution>
-            </executions>
-            <configuration>
-              <maxMemory>4096m</maxMemory>
-              <proguardInclude>${basedir}/proguard.conf</proguardInclude>
-              <libs>
-                <lib>${java.home}/lib/rt.jar</lib>
-              </libs>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-    <profile>
-      <id>doc</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-javadoc-plugin</artifactId>
-            <configuration>
-              <additionalparam>-Xdoclint:all -Xdoclint:-missing</additionalparam>
-            </configuration>
-            <executions>
-              <execution>
-                <id>attach-javadocs</id>
-                <goals>
-                  <goal>jar</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-    <profile>
-      <id>test</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-surefire-plugin</artifactId>
-            <configuration>
-              <argLine>-Xmx2g -XX:MaxPermSize=1g</argLine>
-              <suiteXmlFiles>
-                <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
-              </suiteXmlFiles>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-  </profile>
-  </profiles>
-
-</project>

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/collections/proguard.conf
----------------------------------------------------------------------
diff --git a/collections/proguard.conf b/collections/proguard.conf
deleted file mode 100644
index a0d98ab..0000000
--- a/collections/proguard.conf
+++ /dev/null
@@ -1,31 +0,0 @@
--keepattributes Signature
--renamesourcefileattribute SourceFile
--keepattributes Exceptions,InnerClasses,Signature,Deprecated,
-                SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
-
--keep class com.intel.bigdatamem.* {
- 	*;
-}
-
--keep class com.intel.bigdatamem.collections.* {
- 	public <methods>;
-}
-
--keepclassmembers,allowoptimization enum * {
-    public static **[] values();
-    public static ** valueOf(java.lang.String);
-}
-
--keepclassmembernames class * {
-    java.lang.Class class$(java.lang.String);
-    java.lang.Class class$(java.lang.String, boolean);
-}
-
--keep public interface ** {
-	public <methods>;
-}
-
--keep public enum ** {
-	*;
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/collections/src/main/java/org/apache/mnemonic/collections/DurableNodeValue.java
----------------------------------------------------------------------
diff --git a/collections/src/main/java/org/apache/mnemonic/collections/DurableNodeValue.java b/collections/src/main/java/org/apache/mnemonic/collections/DurableNodeValue.java
deleted file mode 100644
index 91084a2..0000000
--- a/collections/src/main/java/org/apache/mnemonic/collections/DurableNodeValue.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * 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.mnemonic.collections;
-
-import java.util.Iterator;
-import java.util.NoSuchElementException;
-
-import org.apache.mnemonic.Durable;
-import org.apache.mnemonic.EntityFactoryProxy;
-import org.apache.mnemonic.GenericField;
-import org.apache.mnemonic.DurableEntity;
-import org.apache.mnemonic.DurableGetter;
-import org.apache.mnemonic.DurableSetter;
-
-/**
- * this class defines a non-volatile node for a generic value to form a
- * unidirectional link
- *
- */
-@DurableEntity
-public abstract class DurableNodeValue<E> implements Durable, Iterable<E> {
-  protected transient EntityFactoryProxy[] m_node_efproxies;
-  protected transient GenericField.GType[] m_node_gftypes;
-
-  /**
-   * creation callback for initialization
-   *
-   */
-  @Override
-  public void initializeAfterCreate() {
-    // System.out.println("Initializing After Created");
-  }
-
-  /**
-   * restore callback for initialization
-   *
-   */
-  @Override
-  public void initializeAfterRestore() {
-    // System.out.println("Initializing After Restored");
-  }
-
-  /**
-   * this function will be invoked by its factory to setup generic related info
-   * to avoid expensive operations from reflection
-   *
-   * @param efproxies
-   *          specify a array of factory to proxy the restoring of its generic
-   *          field objects
-   *
-   * @param gftypes
-   *          specify a array of types corresponding to efproxies
-   */
-  @Override
-  public void setupGenericInfo(EntityFactoryProxy[] efproxies, GenericField.GType[] gftypes) {
-    m_node_efproxies = efproxies;
-    m_node_gftypes = gftypes;
-  }
-
-  /**
-   * get the item value of this node
-   *
-   * @return the item value of this node
-   */
-  @DurableGetter(Id = 1L, EntityFactoryProxies = "m_node_efproxies", GenericFieldTypes = "m_node_gftypes")
-  public abstract E getItem();
-
-  /**
-   * set a value to this node item
-   * 
-   * @param value
-   *          the value to be set
-   *
-   * @param destroy
-   *          true if want to destroy exist one
-   *
-   */
-  @DurableSetter
-  public abstract void setItem(E value, boolean destroy);
-
-  /**
-   * get next node
-   *
-   * @return the next node
-   *
-   */
-  @DurableGetter(Id = 2L, EntityFactoryProxies = "m_node_efproxies", GenericFieldTypes = "m_node_gftypes")
-  public abstract DurableNodeValue<E> getNext();
-
-  /**
-   * set next node
-   *
-   * @param next
-   *          specify the next node
-   *
-   * @param destroy
-   *          true if want to destroy the exist node
-   */
-  @DurableSetter
-  public abstract void setNext(DurableNodeValue<E> next, boolean destroy);
-
-  /**
-   * get an iterator instance of this list
-   *
-   * @return an iterator of this list
-   */
-  @Override
-  public Iterator<E> iterator() {
-    return new Intr(this);
-  }
-
-  /**
-   * this class defines a iterator for this non-volatile list
-   *
-   */
-  private class Intr implements Iterator<E> {
-
-    protected DurableNodeValue<E> next = null;
-
-    /**
-     * Constructor
-     *
-     * @param head
-     *          the start point for this iterator
-     *
-     */
-    Intr(DurableNodeValue<E> head) {
-      next = head;
-    }
-
-    /**
-     * determine the existing of next
-     *
-     * @return true if there is a next node
-     *
-     */
-    @Override
-    public boolean hasNext() {
-      return null != next;
-    }
-
-    /**
-     * get next node
-     *
-     * @return the next node
-     */
-    @Override
-    public E next() {
-      if (null == next) {
-        new NoSuchElementException();
-      }
-      E ret = next.getItem();
-      next = next.getNext();
-      return ret;
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/collections/src/test/java/org/apache/mnemonic/collections/DurableNodeValueNGTest.java
----------------------------------------------------------------------
diff --git a/collections/src/test/java/org/apache/mnemonic/collections/DurableNodeValueNGTest.java b/collections/src/test/java/org/apache/mnemonic/collections/DurableNodeValueNGTest.java
deleted file mode 100644
index 0cc0095..0000000
--- a/collections/src/test/java/org/apache/mnemonic/collections/DurableNodeValueNGTest.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*
- * 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.mnemonic.collections;
-
-import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Random;
-
-import org.apache.mnemonic.NonVolatileMemAllocator;
-import org.apache.mnemonic.CommonDurableAllocator;
-import org.apache.mnemonic.Durable;
-import org.apache.mnemonic.EntityFactoryProxy;
-import org.apache.mnemonic.GenericField;
-import org.apache.mnemonic.Reclaim;
-import org.apache.mnemonic.Utils;
-import org.testng.AssertJUnit;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
-
-/**
- *
- *
- */
-
-public class DurableNodeValueNGTest {
-  private long cKEYCAPACITY;
-  private Random m_rand;
-  private NonVolatileMemAllocator m_act;
-
-  @BeforeClass
-  public void setUp() {
-    m_rand = Utils.createRandom();
-    m_act = new NonVolatileMemAllocator(Utils.getNonVolatileMemoryAllocatorService("pmalloc"), 1024 * 1024 * 1024,
-        "./pobj_NodeValue.dat", true);
-    cKEYCAPACITY = m_act.handlerCapacity();
-    m_act.setBufferReclaimer(new Reclaim<ByteBuffer>() {
-      @Override
-      public boolean reclaim(ByteBuffer mres, Long sz) {
-        System.out.println(String.format("Reclaim Memory Buffer: %X  Size: %s", System.identityHashCode(mres),
-            null == sz ? "NULL" : sz.toString()));
-        return false;
-      }
-    });
-    m_act.setChunkReclaimer(new Reclaim<Long>() {
-      @Override
-      public boolean reclaim(Long mres, Long sz) {
-        System.out.println(String.format("Reclaim Memory Chunk: %X  Size: %s", System.identityHashCode(mres),
-            null == sz ? "NULL" : sz.toString()));
-        return false;
-      }
-    });
-
-    for (long i = 0; i < cKEYCAPACITY; ++i) {
-      m_act.setHandler(i, 0L);
-    }
-  }
-
-  @AfterClass
-  public void tearDown() {
-    m_act.close();
-  }
-
-  @Test(enabled = false)
-  public void testSingleNodeValueWithInteger() {
-    int val = m_rand.nextInt();
-    GenericField.GType gtypes[] = {GenericField.GType.INTEGER};
-    DurableNodeValue<Integer> plln = DurableNodeValueFactory.create(m_act, null, gtypes, false);
-    plln.setItem(val, false);
-    Long handler = plln.getHandler();
-    System.err.println("-------------Start to Restore Integer -----------");
-    DurableNodeValue<Integer> plln2 = DurableNodeValueFactory.restore(m_act, null, gtypes, handler, false);
-    AssertJUnit.assertEquals(val, (int) plln2.getItem());
-  }
-
-  @Test(enabled = false)
-  public void testNodeValueWithString() {
-    String val = Utils.genRandomString();
-    GenericField.GType gtypes[] = {GenericField.GType.STRING};
-    DurableNodeValue<String> plln = DurableNodeValueFactory.create(m_act, null, gtypes, false);
-    plln.setItem(val, false);
-    Long handler = plln.getHandler();
-    System.err.println("-------------Start to Restore String-----------");
-    DurableNodeValue<String> plln2 = DurableNodeValueFactory.restore(m_act, null, gtypes, handler, false);
-    AssertJUnit.assertEquals(val, plln2.getItem());
-  }
-
-  @Test(enabled = false)
-  public void testNodeValueWithPerson() {
-
-    Person<Long> person = PersonFactory.create(m_act);
-    person.setAge((short) 31);
-
-    GenericField.GType gtypes[] = {GenericField.GType.DURABLE};
-    EntityFactoryProxy efproxies[] = {new EntityFactoryProxy() {
-      @Override
-      public <A extends CommonDurableAllocator<A>> Durable restore(A allocator, EntityFactoryProxy[] factoryproxys,
-          GenericField.GType[] gfields, long phandler, boolean autoreclaim) {
-        return PersonFactory.restore(allocator, factoryproxys, gfields, phandler, autoreclaim);
-      }
-    } };
-
-    DurableNodeValue<Person<Long>> plln = DurableNodeValueFactory.create(m_act, efproxies, gtypes, false);
-    plln.setItem(person, false);
-    Long handler = plln.getHandler();
-
-    DurableNodeValue<Person<Long>> plln2 = DurableNodeValueFactory.restore(m_act, efproxies, gtypes, handler,
-        false);
-    AssertJUnit.assertEquals(31, (int) plln2.getItem().getAge());
-
-  }
-
-  @Test(enabled = false)
-  public void testLinkedNodeValueWithPerson() {
-
-    int elem_count = 10;
-    List<Long> referlist = new ArrayList();
-
-    GenericField.GType listgftypes[] = {GenericField.GType.DURABLE};
-    EntityFactoryProxy listefproxies[] = {new EntityFactoryProxy() {
-      @Override
-      public <A extends CommonDurableAllocator<A>> Durable restore(A allocator, EntityFactoryProxy[] factoryproxys,
-          GenericField.GType[] gfields, long phandler, boolean autoreclaim) {
-        return PersonFactory.restore(allocator, factoryproxys, gfields, phandler, autoreclaim);
-      }
-    } };
-
-    DurableNodeValue<Person<Long>> firstnv = DurableNodeValueFactory.create(m_act, listefproxies, listgftypes,
-        false);
-
-    DurableNodeValue<Person<Long>> nextnv = firstnv;
-
-    Person<Long> person;
-    long val;
-    DurableNodeValue<Person<Long>> newnv;
-    for (int i = 0; i < elem_count; ++i) {
-      person = PersonFactory.create(m_act);
-      person.setAge((short) m_rand.nextInt(50));
-      person.setName(String.format("Name: [%s]", Utils.genRandomString()), true);
-      nextnv.setItem(person, false);
-      newnv = DurableNodeValueFactory.create(m_act, listefproxies, listgftypes, false);
-      nextnv.setNext(newnv, false);
-      nextnv = newnv;
-    }
-
-    Person<Long> eval;
-    DurableNodeValue<Person<Long>> iternv = firstnv;
-    while (null != iternv) {
-      System.out.printf(" Stage 1 --->\n");
-      eval = iternv.getItem();
-      if (null != eval) {
-        eval.testOutput();
-      }
-      iternv = iternv.getNext();
-    }
-
-    long handler = firstnv.getHandler();
-
-    DurableNodeValue<Person<Long>> firstnv2 = DurableNodeValueFactory.restore(m_act, listefproxies, listgftypes,
-        handler, false);
-
-    for (Person<Long> eval2 : firstnv2) {
-      System.out.printf(" Stage 2 ---> \n");
-      if (null != eval2) {
-        eval2.testOutput();
-      }
-    }
-
-    // Assert.assert, expected);(plist, plist2);
-
-  }
-
-  @Test(enabled = true)
-  public void testLinkedNodeValueWithLinkedNodeValue() {
-
-    int elem_count = 10;
-    long slotKeyId = 10;
-
-    GenericField.GType[] elem_gftypes = {GenericField.GType.DOUBLE};
-    EntityFactoryProxy[] elem_efproxies = null;
-
-    GenericField.GType linkedgftypes[] = {GenericField.GType.DURABLE, GenericField.GType.DOUBLE};
-    EntityFactoryProxy linkedefproxies[] = {new EntityFactoryProxy() {
-      @Override
-      public <A extends CommonDurableAllocator<A>> Durable restore(A allocator, EntityFactoryProxy[] factoryproxys,
-          GenericField.GType[] gfields, long phandler, boolean autoreclaim) {
-        EntityFactoryProxy[] val_efproxies = null;
-        GenericField.GType[] val_gftypes = null;
-        if (null != factoryproxys && factoryproxys.length >= 2) {
-          val_efproxies = Arrays.copyOfRange(factoryproxys, 1, factoryproxys.length);
-        }
-        if (null != gfields && gfields.length >= 2) {
-          val_gftypes = Arrays.copyOfRange(gfields, 1, gfields.length);
-        }
-        return DurableNodeValueFactory.restore(allocator, val_efproxies, val_gftypes, phandler, autoreclaim);
-      }
-    } };
-
-    DurableNodeValue<DurableNodeValue<Double>> nextnv = null, pre_nextnv = null;
-    DurableNodeValue<Double> elem = null, pre_elem = null, first_elem = null;
-
-    Long linkhandler = 0L;
-
-    System.out.printf(" Stage 1 -testLinkedNodeValueWithLinkedNodeValue--> \n");
-
-    pre_nextnv = null;
-    Double val;
-    for (int i = 0; i < elem_count; ++i) {
-      first_elem = null;
-      pre_elem = null;
-      for (int v = 0; v < 3; ++v) {
-        elem = DurableNodeValueFactory.create(m_act, elem_efproxies, elem_gftypes, false);
-        val = m_rand.nextDouble();
-        elem.setItem(val, false);
-        if (null == pre_elem) {
-          first_elem = elem;
-        } else {
-          pre_elem.setNext(elem, false);
-        }
-        pre_elem = elem;
-        System.out.printf("%f ", val);
-      }
-
-      nextnv = DurableNodeValueFactory.create(m_act, linkedefproxies, linkedgftypes, false);
-      nextnv.setItem(first_elem, false);
-      if (null == pre_nextnv) {
-        linkhandler = nextnv.getHandler();
-      } else {
-        pre_nextnv.setNext(nextnv, false);
-      }
-      pre_nextnv = nextnv;
-      System.out.printf(" generated an item... \n");
-    }
-    m_act.setHandler(slotKeyId, linkhandler);
-
-    long handler = m_act.getHandler(slotKeyId);
-
-    DurableNodeValue<DurableNodeValue<Double>> linkedvals = DurableNodeValueFactory.restore(m_act,
-        linkedefproxies, linkedgftypes, handler, false);
-    Iterator<DurableNodeValue<Double>> iter = linkedvals.iterator();
-    Iterator<Double> elemiter = null;
-
-    System.out.printf(" Stage 2 -testLinkedNodeValueWithLinkedNodeValue--> \n");
-    while (iter.hasNext()) {
-      elemiter = iter.next().iterator();
-      while (elemiter.hasNext()) {
-        System.out.printf("%f ", elemiter.next());
-      }
-      System.out.printf(" Fetched an item... \n");
-    }
-
-    // Assert.assert, expected);(plist, plist2);
-
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/collections/src/test/java/org/apache/mnemonic/collections/DurablePersonNGTest.java
----------------------------------------------------------------------
diff --git a/collections/src/test/java/org/apache/mnemonic/collections/DurablePersonNGTest.java b/collections/src/test/java/org/apache/mnemonic/collections/DurablePersonNGTest.java
deleted file mode 100644
index 7694b6d..0000000
--- a/collections/src/test/java/org/apache/mnemonic/collections/DurablePersonNGTest.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * 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.mnemonic.collections;
-
-import org.apache.mnemonic.NonVolatileMemAllocator;
-import org.apache.mnemonic.OutOfHybridMemory;
-import org.apache.mnemonic.Reclaim;
-import org.apache.mnemonic.RetrieveDurableEntityError;
-import org.apache.mnemonic.Utils;
-import org.testng.annotations.Test;
-import java.nio.ByteBuffer;
-import java.util.Random;
-import java.util.UUID;
-
-/**
- *
- *
- */
-
-public class DurablePersonNGTest {
-  private long cKEYCAPACITY;
-
-  @Test(expectedExceptions = { OutOfHybridMemory.class })
-  public void testGenPeople() throws OutOfHybridMemory, RetrieveDurableEntityError {
-    Random rand = Utils.createRandom();
-    NonVolatileMemAllocator act = new NonVolatileMemAllocator(Utils.getNonVolatileMemoryAllocatorService("pmalloc"),
-        1024 * 1024 * 8, "./pobj_person.dat", true);
-    cKEYCAPACITY = act.handlerCapacity();
-    act.setBufferReclaimer(new Reclaim<ByteBuffer>() {
-      @Override
-      public boolean reclaim(ByteBuffer mres, Long sz) {
-        System.out.println(String.format("Reclaim Memory Buffer: %X  Size: %s", System.identityHashCode(mres),
-            null == sz ? "NULL" : sz.toString()));
-        return false;
-      }
-    });
-    act.setChunkReclaimer(new Reclaim<Long>() {
-      @Override
-      public boolean reclaim(Long mres, Long sz) {
-        System.out.println(String.format("Reclaim Memory Chunk: %X  Size: %s", System.identityHashCode(mres),
-            null == sz ? "NULL" : sz.toString()));
-        return false;
-      }
-    });
-
-    for (long i = 0; i < cKEYCAPACITY; ++i) {
-      act.setHandler(i, 0L);
-    }
-
-    Person<Integer> mother;
-    Person<Integer> person;
-
-    long keyidx = 0;
-    long val;
-
-    try {
-      while (true) {
-        // if (keyidx >= KEYCAPACITY) break;
-
-        keyidx %= cKEYCAPACITY;
-
-        System.out.printf("************ Generating People on Key %d ***********\n", keyidx);
-
-        val = act.getHandler(keyidx);
-        if (0L != val) {
-          PersonFactory.restore(act, val, true);
-        }
-
-        person = PersonFactory.create(act);
-        person.setAge((short) rand.nextInt(50));
-        person.setName(String.format("Name: [%s]", UUID.randomUUID().toString()), true);
-        person.setName(String.format("Name: [%s]", UUID.randomUUID().toString()), true);
-        person.setName(String.format("Name: [%s]", UUID.randomUUID().toString()), true);
-        person.setName(String.format("Name: [%s]", UUID.randomUUID().toString()), true);
-
-        act.setHandler(keyidx, person.getHandler());
-
-        for (int deep = 0; deep < rand.nextInt(100); ++deep) {
-
-          mother = PersonFactory.create(act);
-          mother.setAge((short) (50 + rand.nextInt(50)));
-          mother.setName(String.format("Name: [%s]", UUID.randomUUID().toString()), true);
-
-          person.setMother(mother, true);
-
-          person = mother;
-
-        }
-        ++keyidx;
-      }
-    } finally {
-      act.close();
-    }
-  }
-
-  @Test(dependsOnMethods = { "testGenPeople" })
-  public void testCheckPeople() throws RetrieveDurableEntityError {
-    NonVolatileMemAllocator act = new NonVolatileMemAllocator(Utils.getNonVolatileMemoryAllocatorService("pmalloc"),
-        1024 * 1024 * 8, "./pobj_person.dat", true);
-    act.setBufferReclaimer(new Reclaim<ByteBuffer>() {
-      @Override
-      public boolean reclaim(ByteBuffer mres, Long sz) {
-        System.out.println(String.format("Reclaim Memory Buffer: %X  Size: %s", System.identityHashCode(mres),
-            null == sz ? "NULL" : sz.toString()));
-        return false;
-      }
-    });
-    act.setChunkReclaimer(new Reclaim<Long>() {
-      @Override
-      public boolean reclaim(Long mres, Long sz) {
-        System.out.println(String.format("Reclaim Memory Chunk: %X  Size: %s", System.identityHashCode(mres),
-            null == sz ? "NULL" : sz.toString()));
-        return false;
-      }
-    });
-
-    long val;
-    for (long i = 0; i < cKEYCAPACITY; ++i) {
-      System.out.printf("----------Key %d--------------\n", i);
-      val = act.getHandler(i);
-      if (0L == val) {
-        break;
-      }
-      Person<Integer> person = PersonFactory.restore(act, val, true);
-      while (null != person) {
-        person.testOutput();
-        person = person.getMother();
-      }
-    }
-
-    act.close();
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/collections/src/test/java/org/apache/mnemonic/collections/Payload.java
----------------------------------------------------------------------
diff --git a/collections/src/test/java/org/apache/mnemonic/collections/Payload.java b/collections/src/test/java/org/apache/mnemonic/collections/Payload.java
deleted file mode 100644
index a6f6518..0000000
--- a/collections/src/test/java/org/apache/mnemonic/collections/Payload.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * 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.mnemonic.collections;
-
-/**
- * a dummy object that is used for other test cases.
- * 
- * 
- *
- */
-public class Payload implements java.io.Serializable, Comparable<Payload> {
-
-  private static final long serialVersionUID = 187397440699436500L;
-
-  public Payload(int iv, String strv, double dv) {
-    ival = iv;
-    strval = strv;
-    dval = dv;
-  }
-
-  public int ival;
-  public String strval;
-  public double dval;
-
-  @Override
-  public int compareTo(Payload pl) {
-    return ival == pl.ival && strval.equals(pl.strval) && dval == pl.dval ? 0 : 1;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/collections/src/test/java/org/apache/mnemonic/collections/Person.java
----------------------------------------------------------------------
diff --git a/collections/src/test/java/org/apache/mnemonic/collections/Person.java b/collections/src/test/java/org/apache/mnemonic/collections/Person.java
deleted file mode 100644
index 5210847..0000000
--- a/collections/src/test/java/org/apache/mnemonic/collections/Person.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * 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.mnemonic.collections;
-
-import org.apache.mnemonic.Durable;
-import org.apache.mnemonic.EntityFactoryProxy;
-import org.apache.mnemonic.GenericField;
-import org.apache.mnemonic.DurableEntity;
-import org.apache.mnemonic.DurableGetter;
-import org.apache.mnemonic.DurableSetter;
-import org.apache.mnemonic.OutOfHybridMemory;
-import org.apache.mnemonic.RetrieveDurableEntityError;
-import org.testng.annotations.Test;
-
-/**
- *
- *
- */
-
-@DurableEntity
-public abstract class Person<E> implements Durable, Comparable<Person<E>> {
-  E element;
-
-  @Override
-  public void initializeAfterCreate() {
-    System.out.println("Initializing After Created");
-  }
-
-  @Override
-  public void initializeAfterRestore() {
-    System.out.println("Initializing After Restored");
-  }
-
-  @Override
-  public void setupGenericInfo(EntityFactoryProxy[] efproxies, GenericField.GType[] gftypes) {
-
-  }
-
-  @Test
-  public void testOutput() throws RetrieveDurableEntityError {
-    System.out.printf("Person %s, Age: %d ( %s ) \n", getName(), getAge(),
-        null == getMother() ? "No Recorded Mother" : "Has Recorded Mother");
-  }
-
-  public int compareTo(Person<E> anotherPerson) {
-    int ret = 0;
-    if (0 == ret) {
-      ret = getAge().compareTo(anotherPerson.getAge());
-    }
-    if (0 == ret) {
-      ret = getName().compareTo(anotherPerson.getName());
-    }
-    return ret;
-  }
-
-  @DurableGetter(Id = 1L)
-  public abstract Short getAge();
-
-  @DurableSetter
-  public abstract void setAge(Short age);
-
-  @DurableGetter(Id = 2L)
-  public abstract String getName() throws RetrieveDurableEntityError;
-
-  @DurableSetter
-  public abstract void setName(String name, boolean destroy)
-      throws OutOfHybridMemory, RetrieveDurableEntityError;
-
-  @DurableGetter(Id = 3L)
-  public abstract Person<E> getMother() throws RetrieveDurableEntityError;
-
-  @DurableSetter
-  public abstract void setMother(Person<E> mother, boolean destroy) throws RetrieveDurableEntityError;
-
-  @DurableGetter(Id = 4L)
-  public abstract Person<E> getFather() throws RetrieveDurableEntityError;
-
-  @DurableSetter
-  public abstract void setFather(Person<E> mother, boolean destroy) throws RetrieveDurableEntityError;
-}

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/collections/src/test/resources/testng.xml
----------------------------------------------------------------------
diff --git a/collections/src/test/resources/testng.xml b/collections/src/test/resources/testng.xml
deleted file mode 100644
index eb82560..0000000
--- a/collections/src/test/resources/testng.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
-<suite name="Suite" verbose="1" parallel="tests" thread-count="1">
-  <test name="Test">
-    <classes>
-      <class name="org.apache.mnemonic.collections.DurableNodeValueNGTest"/> 
-    </classes>
-  </test> <!-- Test -->
-</suite> <!-- Suite -->
-
-
-<!--
-      <class name="org.apache.mnemonic.collections.Person"/>
-      <class name="org.apache.mnemonic.collections.DurablePersonNGTest"/>
-      <class name="org.apache.mnemonic.collections.DurableListNGTest"/>
-      <class name="org.apache.mnemonic.collections.DurableNodeValueNGTest"/> 
- -->

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
deleted file mode 100644
index 5572c44..0000000
--- a/core/pom.xml
+++ /dev/null
@@ -1,158 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.apache.mnemonic</groupId>
-    <artifactId>mnemonic-parent</artifactId>
-    <version>0.1.2-incubating-SNAPSHOT</version>
-    <relativePath>../pom.xml</relativePath>
-  </parent>
-
-  <groupId>org.apache.mnemonic</groupId>
-  <artifactId>mnemonic-core</artifactId>
-  <packaging>jar</packaging>
-  <name>Mnemonic Project Core</name>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.testng</groupId>
-      <artifactId>testng</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.flowcomputing.commons</groupId>
-      <artifactId>commons-resgc</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.flowcomputing.commons</groupId>
-      <artifactId>commons-primitives</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>com.squareup</groupId>
-      <artifactId>javapoet</artifactId>
-    </dependency>    
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-compiler-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-jar-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <groupId>org.bsc.maven</groupId>
-        <artifactId>maven-processor-plugin</artifactId>
-        <executions>
-          <execution>
-            <id>process-test</id>
-            <goals><goal>process-test</goal></goals>
-            <phase>generate-test-sources</phase>
-            <configuration>
-              <compilerArguments>-XDenableSunApiLintControl</compilerArguments>
-              <processors>
-                <processor>${project.groupId}.DurableEntityProcessor</processor>
-              </processors>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-shade-plugin</artifactId>
-        <executions>
-          <execution>
-            <phase>package</phase>
-            <goals>
-              <goal>shade</goal>
-            </goals>
-            <configuration>
-              <transformers>
-              </transformers>
-              <minimizeJar>true</minimizeJar>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-
-  <profiles>
-    <profile>
-      <id>proguard</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>com.github.wvengen</groupId>
-            <artifactId>proguard-maven-plugin</artifactId>
-            <executions>
-              <execution>
-                <phase>package</phase>
-                <goals><goal>proguard</goal></goals>
-              </execution>
-            </executions>
-            <configuration>
-              <maxMemory>4096m</maxMemory>
-              <proguardInclude>${basedir}/proguard.conf</proguardInclude>
-              <libs>
-                <lib>${java.home}/lib/rt.jar</lib>
-              </libs>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-    <profile>
-      <id>doc</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-javadoc-plugin</artifactId>
-            <configuration>
-              <aggregate>true</aggregate>
-              <show>public</show>
-              <nohelp>true</nohelp>
-              <header>Mnenomic-core, ${project.version}</header>
-              <footer>Mnenomic-core, ${project.version}</footer>
-              <doctitle>Mnenomic-core, ${project.version}</doctitle>
-              <links>
-                <link>http://static.springsource.org/spring/docs/3.0.x/javadoc-api/</link>
-                <additionalparam>-Xdoclint:all -Xdoclint:-missing</additionalparam>
-              </links>
-            </configuration>
-            <executions>
-              <execution>
-                <id>attach-javadocs</id>
-                <goals>
-                  <goal>jar</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-    <profile>
-      <id>test</id>
-      <build>
-        <plugins>
-          <plugin>
-            <groupId>org.apache.maven.plugins</groupId> 
-            <artifactId>maven-surefire-plugin</artifactId>
-            <configuration>
-              <argLine>-Xmx2g -XX:MaxPermSize=1g</argLine>
-              <suiteXmlFiles>
-                <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
-              </suiteXmlFiles>
-            </configuration>
-          </plugin> 
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-
-</project>
-

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/core/proguard.conf
----------------------------------------------------------------------
diff --git a/core/proguard.conf b/core/proguard.conf
deleted file mode 100644
index 889adc6..0000000
--- a/core/proguard.conf
+++ /dev/null
@@ -1,91 +0,0 @@
--dontshrink
--dontoptimize
-
--keepattributes Signature
--renamesourcefileattribute SourceFile
--keepattributes Exceptions,InnerClasses,Signature,Deprecated,
-                SourceFile,LineNumberTable,*Annotation*,EnclosingMethod
-
--keepclasseswithmembers class com.intel.bigdatamem.* {
- 	*** <init>(...);
-}
-
--keep class com.intel.bigdatamem.GenericField* {
-  public <methods>;
-}
-
--keepclassmembers,allowoptimization enum * {
-    public static **[] values();
-    public static ** valueOf(java.lang.String);
-}
-
--keepclassmembernames class * {
-    java.lang.Class class$(java.lang.String);
-    java.lang.Class class$(java.lang.String, boolean);
-}
-
--keep class org.flowcomputing.commons.resgc.ResHolder {
-	public <methods>;
-}
-
--keepclasseswithmembers class com.intel.bigdatamem.ByteBufferBacked* {
-	public <methods>;
-}
-
--keepclasseswithmembers class ** extends javax.annotation.processing.AbstractProcessor {
-	public <methods>;
-}
-
--keepclasseswithmembers class ** extends java.lang.RuntimeException {
-	public <methods>;
-}
-
--keepclasseswithmembers class ** extends java.lang.Exception {
-	public <methods>;
-}
-
--keepclasseswithmembers class ** extends com.intel.bigdatamem.Reclaim {
-	public <methods>;
-}
-
--keep public class com.intel.bigdatamem.CachePool* {
-	public *;
-}
-
--keep public class com.intel.bigdatamem.MemClustering* {
-	public *;
-}
-
--keep public interface ** {
-	public <methods>;
-}
-
--keep public enum ** {
-	*;
-}
-
--keep class ** extends com.intel.bigdatamem.CommonAllocator {
-	public <methods>;
-}
-
--keep class ** extends com.intel.bigdatamem.MemHolder {
-	public <methods>;
-}
-
--keep class com.intel.bigdatamem.Utils {
-	public <methods>;
-	public final <fields>;
-}
-
--keep @NonVolatileEntity class * {
-	public <methods>;
-}
-
--keep public @interface ** {
-	*;
-}
-
--keepclasseswithmembers class * {
-    native <methods>;
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/core/src/main/assembly/assembly.xml
----------------------------------------------------------------------
diff --git a/core/src/main/assembly/assembly.xml b/core/src/main/assembly/assembly.xml
deleted file mode 100644
index 7eca30c..0000000
--- a/core/src/main/assembly/assembly.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<assembly>
-  <id>mixed</id>
-  <formats>
-    <format>jar</format>
-  </formats>
-  <dependencySets>
-    <dependencySet>
-      <useProjectArtifact>true</useProjectArtifact>
-      <outputDirectory>lib</outputDirectory>
-    </dependencySet>
-  </dependencySets>
-  <fileSets>
-    <fileSet>
-      <outputDirectory>/</outputDirectory>
-      <includes>
-        <include>README.txt</include>
-      </includes>
-    </fileSet>
-    <fileSet>
-      <directory>src/main/scripts</directory>
-      <outputDirectory>/bin</outputDirectory>
-      <includes>
-        <include>run.sh</include>
-        <include>run.bat</include>
-      </includes>
-    </fileSet>
-  </fileSets>
-</assembly>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/core/src/main/java/org/apache/mnemonic/Allocatable.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/Allocatable.java b/core/src/main/java/org/apache/mnemonic/Allocatable.java
deleted file mode 100644
index 2fec5c8..0000000
--- a/core/src/main/java/org/apache/mnemonic/Allocatable.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * 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.mnemonic;
-
-/**
- * an interface to allocate memory resources from any underlying memory kind of
- * storage.
- * 
- */
-public interface Allocatable<A extends CommonAllocator<A>> {
-
-  /**
-   * create a memory chunk that is managed by its holder.
-   * 
-   * @param size
-   *          specify the size of memory chunk
-   * 
-   * @param autoreclaim
-   *          specify whether or not to reclaim this chunk automatically
-   *
-   * @return a holder contains a memory chunk
-   */
-  MemChunkHolder<A> createChunk(long size, boolean autoreclaim);
-
-  /**
-   * create a memory chunk that is managed by its holder.
-   * 
-   * @param size
-   *          specify the size of memory chunk
-   * 
-   * @return a holder contains a memory chunk
-   */
-  MemChunkHolder<A> createChunk(long size);
-
-  /**
-   * create a memory buffer that is managed by its holder.
-   * 
-   * @param size
-   *          specify the size of memory buffer
-   * 
-   * @param autoreclaim
-   *          specify whether or not to reclaim this buffer automatically
-   *
-   * @return a holder contains a memory buffer
-   */
-  MemBufferHolder<A> createBuffer(long size, boolean autoreclaim);
-
-  /**
-   * create a memory buffer that is managed by its holder.
-   * 
-   * @param size
-   *          specify the size of memory buffer
-   * 
-   * @return a holder contains a memory buffer
-   */
-  MemBufferHolder<A> createBuffer(long size);
-
-  /**
-   * register a memory chunk for auto-reclaim
-   *
-   * @param mholder
-   *          specify a chunk holder to register
-   */
-  void registerChunkAutoReclaim(MemChunkHolder<A> mholder);
-
-  /**
-   * register a memory buffer for auto-reclaim
-   *
-   * @param mholder
-   *          specify a buffer holder to register
-   */
-  void registerBufferAutoReclaim(MemBufferHolder<A> mholder);
-
-  /**
-   * resize a memory chunk.
-   * 
-   * @param mholder
-   *          specify a chunk holder for resizing
-   * 
-   * @param size
-   *          specify a new size of this memory chunk
-   * 
-   * @return the resized memory chunk holder
-   * 
-   */
-  MemChunkHolder<A> resizeChunk(MemChunkHolder<A> mholder, long size);
-
-  /**
-   * resize a memory buffer.
-   * 
-   * @param mholder
-   *          specify a buffer holder for resizing
-   * 
-   * @param size
-   *          specify a new size of this memory buffer
-   * 
-   * @return the resized memory buffer holder
-   * 
-   */
-  MemBufferHolder<A> resizeBuffer(MemBufferHolder<A> mholder, long size);
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-mnemonic/blob/30836536/core/src/main/java/org/apache/mnemonic/Allocator.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/mnemonic/Allocator.java b/core/src/main/java/org/apache/mnemonic/Allocator.java
deleted file mode 100644
index 28a1119..0000000
--- a/core/src/main/java/org/apache/mnemonic/Allocator.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * 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.mnemonic;
-
-/**
- * an interface to manage the lifecycle of memory allocator
- *
- */
-public interface Allocator<A extends CommonAllocator<A>> extends Allocatable<A> {
-
-  /**
-   * release the underlying memory pool and close it.
-   * 
-   */
-  void close();
-
-  /**
-   * sync. dirty data to underlying memory-like device
-   *
-   */
-  void sync();
-
-  /**
-   * enable active garbage collection. the GC will be forced to collect garbages
-   * when there is no more space for current allocation request.
-   *
-   * @param timeout
-   *          the timeout is used to yield for GC performing
-   *
-   * @return this allocator
-   */
-  A enableActiveGC(long timeout);
-
-  /**
-   * disable active garbage collection.
-   *
-   * @return this allocator
-   */
-  A disableActiveGC();
-
-}