예제 #1
0
파일: tests.py 프로젝트: aljoscha/yoka
 def test_configure_once_per_benchmark(self):
     suite = ClusterSuite(name, cluster, systems, [], benchmarks)
     suite.execute()
     # test if each system was only configured the necessary amount of times
     for system in suite.systems:
         self.assertEquals(system.configured, 1)
     for benchmark in suite.benchmarks:
         for system in benchmark.systems:
             self.assertEquals(system.configured, 1)
예제 #2
0
 def test_save(self):
     suite = ClusterSuite("SuiteTest", cluster, systems, [], benchmarks)
     # skip setup and shutdown, just run the tests
     suite.run()
     #check corresponding db entries
     suite_id = suite.id
     suite_uid = suite.uid
     for b in suite.benchmarks:
         data = (suite_uid, suite_id, b.id)
         with results.DB() as db:
             c = db.cursor()
             c.execute("""
             SELECT * FROM results
             WHERE suite_uid = ? and suite_id = ? and
             bench_id = ?
             """, data)
             self.assertEquals(c.fetchall().__len__(), b.times)
예제 #3
0
파일: nightly.py 프로젝트: aljoscha/yoka
        id = "Grep",
        systems = [flink],
        experiment = Grep(),
        times = 3
    ),

    # KMeans
    # PageRank

    Benchmark(
        id = "ALS",
        systems = [flink_als],
        experiment = ALS(),
        times = 3
    ),

    Benchmark(
        id = "Avro",
        systems = [flink],
        experiment = Avro(generators['avro']),
        times = 3
    )

]

suite = ClusterSuite("NightlySuite", cluster, systems, generators.values(), benchmarks)

suite.execute(retry_setup=0,
              shutdown_on_failure=True,
              email_results=True)
예제 #4
0
    Benchmark(
        id = "Grep",
        systems = [flink],
        experiment = Grep(),
        times = 2
    ),

    Benchmark(
        id = "WordCount-new",
        systems = [flink],
        experiment = WordCount(),
        times = 2
    ),
]


generators = [
    Generator(
        id = "TextGenerator",
        systems = [flink],
        experiment = generators.Text(
            size_gb = 1,
            dop = compute_engine_config['num_workers']
        )
    )
]

suite = ClusterSuite("DefaultSuite", cluster, systems, generators, benchmarks)

suite.execute()
예제 #5
0
파일: tests.py 프로젝트: aljoscha/yoka
 def test_failed_experiment(self):
     suite = ClusterSuite(name, cluster, systems, [], failing_benchmarks)
     suite.execute()
예제 #6
0
파일: tests.py 프로젝트: aljoscha/yoka
 def test_failed_shutdown(self):
     suite = ClusterSuite(name, failing_running_cluster, systems, [], benchmarks)
     try:
         suite.execute()
     except core.lib.ClusterSetupException:
         pass
예제 #7
0
파일: tests.py 프로젝트: aljoscha/yoka
 def test_email_plot(self):
     suite = ClusterSuite(name, cluster, systems, [], benchmarks)
     suite.execute(email_results=True)
예제 #8
0
파일: tests.py 프로젝트: aljoscha/yoka
 def test_gen_plot(self):
     suite = ClusterSuite(name, cluster, systems, [], benchmarks)
     suite.execute()
     results.gen_plot(name)
예제 #9
0
custom_flink = Flink(custom_flink_config)

benchmarks = [
    # Normal benchmark
    Benchmark(id="WordCount1000",
              systems=[flink],
              experiment=WordCountFromJar({'num_lines': 1000}),
              times=5),
    # Custom Flink version benchmark
    Benchmark(id="WordCount1000-custom",
              systems=[custom_flink],
              experiment=WordCountFromJar({'num_lines': 1000}),
              times=3),
    Benchmark(id="Grep", systems=[flink], experiment=Grep(), times=2),
    Benchmark(id="WordCount-new",
              systems=[flink],
              experiment=WordCount(),
              times=2),
]

generators = [
    Generator(id="TextGenerator",
              systems=[flink],
              experiment=generators.Text(
                  size_gb=1, dop=compute_engine_config['num_workers']))
]

suite = ClusterSuite("DefaultSuite", cluster, systems, generators, benchmarks)

suite.execute()
예제 #10
0
파일: off_heap.py 프로젝트: mxm/yoka
    "taskmanager.memory.directAllocation: true"
}]
flink_custom = Flink(flink_config_custom)

systems = [hadoop, flink]

benchmarks = [
    Benchmark(id="WordCount-heap",
              systems=[flink],
              experiment=WordCount(),
              times=1),
    Benchmark(id="WordCount-offheap",
              systems=[flink_custom],
              experiment=WordCount(),
              times=1),
]

generators = [
    Generator(
        id="TextGenerator",
        systems=[flink],
        experiment=generators.Text(
            size_gb=150,  # 512 gB of data
            dop=compute_engine_config['num_workers'] *
            compute_engine_config['num_cores']))
]

suite = ClusterSuite("DefaultSuite", cluster, systems, generators, benchmarks)

suite.execute(retry_setup=0, shutdown_on_failure=True, email_results=True)
예제 #11
0
# Aljoscha's project
compute_engine_config['project_name'] = "astral-sorter-757"
# machine prefix
compute_engine_config['prefix'] = "kafka-benchmark-"
# 2 cores 7.5GB RAM
compute_engine_config['machine_type'] = "n1-standard-2"
compute_engine_config['num_cores'] = 2
compute_engine_config['size_mem'] = 7500
compute_engine_config['num_workers'] = 10
compute_engine_config['disk_space_gb'] = 200

cluster = ComputeEngine(compute_engine_config)
hadoop = Hadoop(hadoop_config)

zookeeper = Zookeeper(zookeeper_config)
storm = Storm(storm_config)
kafka = Kafka(kafka_config)

systems = [hadoop, zookeeper, storm, kafka]

benchmarks = [
]

generators = [
]

suite = ClusterSuite("ZookeeperSuite", cluster, systems, generators, benchmarks)

suite.setup()
예제 #12
0
파일: marton.py 프로젝트: mxm/yoka
dop = compute_engine_config['num_workers'] * compute_engine_config['num_cores']

flink_config['num_task_slots'] = compute_engine_config['num_cores']
flink_config['taskmanager_heap'] = 5120  #5gb
flink_config['jobmanager_heap'] = 5120
flink_config['parallelization'] = dop

flink_config['extra_config_entries'] = [
    {
        'entry': "taskmanager.memory.fraction: 0.1"
    },
]

zookeeper = Zookeeper(zookeeper_config)
storm = Storm(storm_config)

cluster = ComputeEngine(compute_engine_config)
hadoop = Hadoop(hadoop_config)
flink = Flink(flink_config)

systems = [hadoop, flink, zookeeper, storm]

suite = ClusterSuite("MartonSuite", cluster, systems, [], [])

suite.setup()

#suite.execute(retry_setup=0,
#              shutdown_on_failure=True,
#              email_results=True)
예제 #13
0
파일: example_local.py 프로젝트: mxm/yoka
from experiments.wordcount import WordCountFromJar

# import data generators for benchmarks
from experiments import generators

cluster = Local(local_cluster_config)
hadoop = Hadoop(hadoop_config)
flink = Flink(flink_config)

systems = [hadoop, flink]

benchmarks = [
    # Normal benchmark
    Benchmark(
        id = "WordCount1000",
        systems = [flink],
        experiment = WordCountFromJar({
            'num_lines' : 1000
        }),
        times = 5
    ),
]


generators = [
]

suite = ClusterSuite("LocalSuite", cluster, systems, generators, benchmarks)

suite.execute()