From subsecret
Jump to: navigation, search
No edit summary
No edit summary
 
(59 intermediate revisions by the same user not shown)
Line 1: Line 1:
=BWA Benchmark=
=BWA Benchmark=
BWA is a tool for mapping reads against a genome. This is nice for doing a non-synthetic benchmark, as meaningful work is done, and IO, Memory and CPU is all used.
==BWA Setup instructions==
==BWA Setup instructions==
*Retrieve https://sourceforge.net/projects/bio-bwa/files/bwa-0.6.2.tar.bz2/download
*Install zlib devlopment libraries (dnf install zlib-devel, apt-get install zlib-dev, apt-get install zlib1g-dev)
**Patch the Makefile:
*Retrieve https://files.subsecret.dk/bwa/bwa-0.6.2-simple.tar.gz (if this cannot compile due to the use of inline, this alternative version can be used https://files.subsecret.dk/bwa/bwa-0.6.2-simple-no-inline.tar.gz)
***Add to DFLAGS: -std=gnu90 -D_NO_SSE2
**Compile BWA with command: ./compile.sh
**Compile BWA
 
*Retrieve ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCF_000005845.2_ASM584v2/GCF_000005845.2_ASM584v2_genomic.fna.gz
*Retrieve https://files.subsecret.dk/benchmark/GCF_000005845.2_ASM584v2_genomic.fna.gz
*Retrieve https://s3.amazonaws.com/public.ged.msu.edu/ecoli_ref-5m-trim.fastq.gz
*Retrieve (normal size benchmark) https://files.subsecret.dk/benchmark/ecolireads.fastq.gz
*Run gunzip GCF_000005845.2_ASM584v2_genomic.fna.gz
*Retrieve (small size benchmark) https://files.subsecret.dk/benchmark/ecolireads-small.fastq.gz
*Run gunzip ecoli_ref-5m-trim.fastq.gz
*Run ./bwa index GCF_000005845.2_ASM584v2_genomic.fna.gz
*Run bwa index GCF_000005845.2_ASM584v2_genomic.fna
 
==Running Benchmark==
==Running Benchmark==
Benchmark command
Benchmark command
*1 thread
*1 thread
**bwa aln GCF_000005845.2_ASM584v2_genomic.fna ecoli_ref-5m-trim.fastq > /dev/null
**./bwa aln GCF_000005845.2_ASM584v2_genomic.fna.gz ecolireads.fastq.gz > /dev/null
*4 threads  
*4 threads  
**bwa aln -t4 GCF_000005845.2_ASM584v2_genomic.fna ecoli_ref-5m-trim.fastq > /dev/null
**./bwa aln -t4 GCF_000005845.2_ASM584v2_genomic.fna.gz ecolireads.fastq.gz > /dev/null
 


==Results==
==Results==
 
{| class="wikitable sortable"
{| class="wikitable"
!Device
!Device
!ARCH
!ARCH
!Kernel
!OS
!OS
!Kernel
!GCC
!GCC
!1 thread walltime
!1 thread walltime (sec.)
!4 thread walltime
!4 thread walltime (sec.)
!8 thread walltime (sec.)
!16 thread walltime (sec.)
|-
|-
|ODROID U2
|armhf
|3.8.13.30
|Ubuntu 14.04 LTS
|
|
|
|
|-
|ODROID C2
|aarch64
|
|
|Ubuntu 16.04 LTS
|
|
|
|
|
|
|
|
|}
==Results (old data)==
These benchmarks are generated with a now unavailable dataset.
{| class="wikitable sortable"
!Device
!ARCH
!Kernel
!OS
!GCC
!1 thread walltime (sec.)
!4 thread walltime (sec.)
!8 thread walltime (sec.)
!16 thread walltime (sec.)
|-
|-
|Raspberry PI 3
|PC (i5-750@2.67GHz)
|aarch64
|x64
|4.4.0-53-generic x86_64
|Ubuntu 16.04
|5.4.0
|162.644
|54.980
|
|
|Fedora 24
|
|
|-
|PC (R7 1700@3.8GHz)
|x64
|4.4.0-75-generic x86_64
|Ubuntu 16.04
|
|
|
|97.116
}
|32.375
|21.908
|18.246
|-
|PC (Xeon Gold 6148@2.4GHz)
|x64
|3.10.0-514.16.1.el7.x86_64
|CentOS 7
|6.3.1
|102.149
|34.774
|22.088
|16.100
|-
|PC (i7-6700k@4.5 GHz)
|x86
|4.6.4-301.fc24.x86_64
|Fedora 24
|6.1.1
|144.221
|53.833
|-
|PC (i7-6700k@4.5 GHz)
|x64
|4.6.4-301.fc24.x86_64
|Fedora 24
|6.1.1
|77.836
|27.840
|-
|PC (i7-980x@4.0 GHz)
|x64
|4.6.4-301.fc24.x86_64
|Fedora 24
|6.1.1
|130.605
|45.549
|-
|ODROID U2
|arm7l
|3.8.13.30
|Ubuntu 14.04.4 LTS
|4.8.4
|939.300
|266.262
|-
|ODROID C2
|arm64
|3.14.65-73
|Ubuntu 16.04 LTS
|5.4.0
|797.158
|235.510
|-
|Raspberry Pi 3
|armv7l
|4.4.13-v7+
|Raspbian Jessie
|4.9.2
|1224.290
|355.897
|-
|ASUS Tinker Board
|armv7l
|4.4.16
|Debian 4.9.2-10
|4.9.2
|786.833
|239.936
|-
|Raspberry Pi 3
|arm64
|4.9.26-v8
|Raspbian Jessie (Debian 64bit chroot)
|6.3.0
|924.110
|297.149
|-
|Orange PI one
|armv7l
|3.4.112
|Armbian Jessie
|4.9.2
|1677.26
|486.256
|-
|Raspberry Pi zero
|armv6l
|4.4.13+
|Raspbian Jessie
|4.9.2
|2801.69
|2812.427
|-
|Raspberry Pi 1 
|armv6l
|4.4.13+
|Raspbian Jessie
|4.9.2
|4031.349
|4072.279
|-
|Raspberry Pi 2
|armv7l
|4.4.13-v7+
|Raspbian Jessie
|4.9.2
|2009.622
|592.694
|}

Latest revision as of 11:15, 14 September 2018

BWA Benchmark

BWA is a tool for mapping reads against a genome. This is nice for doing a non-synthetic benchmark, as meaningful work is done, and IO, Memory and CPU is all used.

BWA Setup instructions

Running Benchmark

Benchmark command

  • 1 thread
    • ./bwa aln GCF_000005845.2_ASM584v2_genomic.fna.gz ecolireads.fastq.gz > /dev/null
  • 4 threads
    • ./bwa aln -t4 GCF_000005845.2_ASM584v2_genomic.fna.gz ecolireads.fastq.gz > /dev/null

Results

Device ARCH Kernel OS GCC 1 thread walltime (sec.) 4 thread walltime (sec.) 8 thread walltime (sec.) 16 thread walltime (sec.)

Results (old data)

These benchmarks are generated with a now unavailable dataset.

Device ARCH Kernel OS GCC 1 thread walltime (sec.) 4 thread walltime (sec.) 8 thread walltime (sec.) 16 thread walltime (sec.)
PC (i5-750@2.67GHz) x64 4.4.0-53-generic x86_64 Ubuntu 16.04 5.4.0 162.644 54.980
PC (R7 1700@3.8GHz) x64 4.4.0-75-generic x86_64 Ubuntu 16.04 97.116 32.375 21.908 18.246
PC (Xeon Gold 6148@2.4GHz) x64 3.10.0-514.16.1.el7.x86_64 CentOS 7 6.3.1 102.149 34.774 22.088 16.100
PC (i7-6700k@4.5 GHz) x86 4.6.4-301.fc24.x86_64 Fedora 24 6.1.1 144.221 53.833
PC (i7-6700k@4.5 GHz) x64 4.6.4-301.fc24.x86_64 Fedora 24 6.1.1 77.836 27.840
PC (i7-980x@4.0 GHz) x64 4.6.4-301.fc24.x86_64 Fedora 24 6.1.1 130.605 45.549
ODROID U2 arm7l 3.8.13.30 Ubuntu 14.04.4 LTS 4.8.4 939.300 266.262
ODROID C2 arm64 3.14.65-73 Ubuntu 16.04 LTS 5.4.0 797.158 235.510
Raspberry Pi 3 armv7l 4.4.13-v7+ Raspbian Jessie 4.9.2 1224.290 355.897
ASUS Tinker Board armv7l 4.4.16 Debian 4.9.2-10 4.9.2 786.833 239.936
Raspberry Pi 3 arm64 4.9.26-v8 Raspbian Jessie (Debian 64bit chroot) 6.3.0 924.110 297.149
Orange PI one armv7l 3.4.112 Armbian Jessie 4.9.2 1677.26 486.256
Raspberry Pi zero armv6l 4.4.13+ Raspbian Jessie 4.9.2 2801.69 2812.427
Raspberry Pi 1 armv6l 4.4.13+ Raspbian Jessie 4.9.2 4031.349 4072.279
Raspberry Pi 2 armv7l 4.4.13-v7+ Raspbian Jessie 4.9.2 2009.622 592.694