Commit 5631f71c authored by Steve Blackburn's avatar Steve Blackburn Committed by GitHub

Merge pull request #155 from john5f35/new-bench-graphchi

WIP: New Benchmark: GraphChi
parents fc7b1a06 656958e8
......@@ -42,6 +42,13 @@ fop:
after_script:
- git clean -df -e "downloads"
graphchi:
script:
- ant -Dbuild.target-jar=dacapo.jar graphchi
- java -jar dacapo.jar graphchi -s livejournal
after_script:
- git clean -df -e "downloads"
h2:
script:
- ant -Dbuild.target-jar=dacapo.jar h2
......
<!--
* Copyright (c) 2009 The Australian National University.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Apache License v2.0.
* You may obtain the license at
*
* http://www.opensource.org/licenses/apache2.0.php
-->
<project name="graphchi" default="all" basedir="../..">
<description>DaCapo GraphChi benchmark</description>
<property file="dacapo.properties"/>
<property name="bm-name" value="graphchi"/>
<property name="bm-version" value="0.2.2"/>
<property name="bm-src" value="${bm-name}-java-src-${bm-version}.tar.gz"/>
<property name="bm-git-url" value="${github.url}/GraphChi/graphchi-java"/>
<property name="bm-git-commit" value="e5136d52512823fb34594e2851cbb23d62dd7ac8"/>
<property name="netflix-mm-dl" value="netflix_mm.gz"/>
<property name="netflix-mm-url" value="https://courses.cs.washington.edu/courses/cse547/16sp/datasets"/>
<property name="livejournal-dl" value="soc-LiveJournal1.txt.gz"/>
<property name="livejournal-url" value="https://snap.stanford.edu/data"/>
<import file="../common.xml"/>
<property name="mvn-home" location="${toolsdir}/apache-maven-${mvn.version}/bin"/>
<property name="mvn-exe" value="${mvn-home}/mvn"/>
<condition property="mvn-exe" value="${mvn-home}/mvn.bat">
<os family="windows"/>
</condition>
<target name="unpack" depends="untar, patch"/>
<target name="bm-build">
<mkdir dir="${bm-build-dir}"/>
<exec executable="${mvn-exe}" dir="${bm-build-dir}" failonerror="yes">
<arg line="assembly:assembly -DdescriptorId=jar-with-dependencies"/>
</exec>
</target>
<target name="data"/>
<target name="jar">
<copy file="${bm-build-dir}/target/${bm-name}-java-${bm-version}-jar-with-dependencies.jar"
tofile="${bm-jars}/${bm-name}-${bm-version}.jar"/>
</target>
</project>
<HTML>
<HEAD>
<TITLE>DaCapo Benchmarks: GraphChi</TITLE>
<META HTTP-EQUIV="Description" NAME="DaCapo Benchmark: GraphChi"
CONTENT="The DaCapo Benchmark: GraphChi.">
<META HTTP-EQUIV="Keywords" NAME="Keywords"
CONTENT="dacapo benchmarks performance java graphchi">
<LINK REL="stylesheet" TYPE="text/css" HREF="../dacapo.css"/>
</HEAD>
<BODY>
<CENTER><H3>GraphChi</H3></CENTER>
<H4>Description:</H4>
<H4>Characteristics:</H4>
<H4>References:</H4>
<H4>Harness:</H4>
<A HREF="index.html" TARGET="_top">Javadoc for fop harness.</A>
</BODY>
</HTML>
\ No newline at end of file
f5d4925861787fca675520cddee88126
\ No newline at end of file
benchmark graphchi
class org.dacapo.harness.GraphChi
thread-model per_cpu
jars "graphchi-0.2.2.jar";
// TODO: calibrate & validate
size netflix args "ALSMatrixFactorization", "${DATA}/graphchi/netflix_mm", "10";
size livejournal args "Pagerank", "${DATA}/graphchi/soc-LiveJournal1.txt", "10", "edgelist";
description
short "A disk-based graph computation engine.",
long "A disk-based system for computing efficiently on graphs with billions of edges, by using parallel sliding windows method on smaller shards of graphs.",
copyright "Copyright 2012 Aapo Kyrola, Guy Blelloch, Carlos Guestrin / Carnegie Mellon University",
license "Apache License, Version 2.0",
url "https://github.com/GraphChi/graphchi-java",
version "0.2.2",
threads "Explicitly multi-threaded, scaled to available processors.";
diff --git orig/pom.xml ./pom.xml
index 52d0b86..1a7857a 100644
--- orig/pom.xml
+++ ./pom.xml
@@ -47,7 +47,7 @@
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
- <version>2.9.0-1</version>
+ <version>2.11.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
@@ -73,11 +73,6 @@
<artifactId>hadoop-core</artifactId>
<version>0.20.2</version>
</dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-math</artifactId>
- <version>2.0</version>
- </dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math</artifactId>
diff --git orig/src/main/java/edu/cmu/graphchi/ChiLogger.java ./src/main/java/edu/cmu/graphchi/ChiLogger.java
index fd67754..0c7ac42 100644
--- orig/src/main/java/edu/cmu/graphchi/ChiLogger.java
+++ ./src/main/java/edu/cmu/graphchi/ChiLogger.java
@@ -63,18 +63,18 @@ public class ChiLogger {
StringBuilder sb = new StringBuilder();
// Minimize memory allocations here.
- dat.setTime(record.getMillis());
- args[0] = dat;
-
-
- // Date and time
- StringBuffer text = new StringBuffer();
- if (formatter == null) {
- formatter = new MessageFormat(format);
- }
- formatter.format(args, text, null);
- sb.append(text);
- sb.append(" ");
+ // dat.setTime(record.getMillis());
+ // args[0] = dat;
+
+
+ // // Date and time
+ // StringBuffer text = new StringBuffer();
+ // if (formatter == null) {
+ // formatter = new MessageFormat(format);
+ // }
+ // formatter.format(args, text, null);
+ // sb.append(text);
+ // sb.append(" ");
// Logger name
/*
* Copyright (c) 2009 The Australian National University.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Apache License v2.0.
* You may obtain the license at
*
* http://www.opensource.org/licenses/apache2.0.php
*/
package org.dacapo.harness;
import java.io.File;
import java.util.Arrays;
import org.dacapo.harness.Benchmark;
import org.dacapo.parser.Config;
public class GraphChi extends Benchmark {
private String[] args;
private Class<?> cls;
public GraphChi(Config config, File scratch, File data) throws Exception {
super(config, scratch, data, false);
}
@Override
protected void prepare(String size) throws Exception {
super.prepare(size);
String[] config_args = config.preprocessArgs(size, scratch, data);
String strAppClsName = config_args[0];
args = Arrays.copyOfRange(config_args, 1, config_args.length);
cls = Class.forName("edu.cmu.graphchi.apps." + strAppClsName, true, loader);
this.method = cls.getMethod("main", new Class[] { String[].class });
}
public void iterate(String size) throws Exception {
method.invoke(null, (Object)args);
}
}
......@@ -406,6 +406,9 @@ See ${log.build.report} for a summary of benchmark build status.
<target name="fop" depends="init,harness">
<build.bm benchmark="fop"/>
</target>
<target name="graphchi" depends="init,harness">
<build.bm benchmark="graphchi"/>
</target>
<target name="jython" depends="init,harness">
<build.bm benchmark="jython"/>
</target>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment