Bioinformatics Custom Computing

typo3.cs.uni.paderborn.de

Bioinformatics Custom Computing

• bioinformatics

– “bioinformatics is the application of computer

science and information technology to the

field of biology” [Wikipedia]

– works on genome information

• many applications

– understanding of biologic processes, e.g.

interaction of genes

– protein structure prediction

– drug discovery and design

• computationally intensive methods

– data mining

– pattern recognition

– machine learning

– visualization

definition, image: Wikipedia

What is Bioinformatics?


Revolutionary Progress in Genome Sequencing

• 2003: Human Genome

Project

– 3’000 mega base pairs (Mbp)

sequenced

– 13 years / 300 Mio US$

• 2007: introduction of next

generation sequencers

– James Watson (454 Life

sciences)

– 2 month / 2 Mio US$

• 2011: duration and cost

greatly reduced

– ~14 days / 30’000 US$

• cost of sequencers also

reduced, available at many

labs

data, images: A. Goesmann Uni Bielefeld, genome.gov, 454 Life Sciences


• data processing is the new bottleneck

– huge amounts of data created at increasing speed

– archiving all data becomes prohibitively expensive

Challenges in Bioinformatics

– researchers like to run increasingly sophisticated analyses on the results

§� foundational research: slow processing and use of computer clusters is OK

§� medical applications: results should be available instantly, no clusters

• CPUs are slow for these tasks

– optimized for

§� computation on large integers and floating points data

§� limited amount of parallelism

§� data reuse, small working sets (caches)

– many bioinformatics application need

§� simple operations on small bitwidth data

§� high throughput processing on streams (difficult for caching)

• custom computers have shown great potential for bioinformatics


• custom computing is “computing without

computers”

– design of application-specific “processor”

– implementation with programmable hardware

(FPGAs)

– massively parallel computation

– speedups for suitable applications: 10-1000x

• challenge in previous systems

– no integrated platforms, languages, tools

– digital circuit design knowledge required

– (too) difficult to program for application

specialists

• new generation of custom computers

– specifically targeted at HPC applications

– programming at a higher abstraction level

images: Nallatech, Convey Computers

What is Custom Computing?


Programming a Maxeler Custom Computer

• accelerator specified in Java using a high-level library

– FPGA internals and tool flow hidden from developer

– suitable for streaming applications

public class Mav_kernel extends Kernel {

}

public Mav_kernel (KernelParameters parameters) {

}

super(parameters);

HWVar x = io.input(“A“, hwFloat(8, 24));

HWVar prev = stream.offset(x, -1);

HWVar next = stream.offset(x, 1);

HWVar sum = prev + x + next;

HWVar result = sum / 3;

io.output(“B“, result, hwFloat(8, 24));

example: Maxeler

A

-1 +1

+

+

/ 3

B


software (C)

device = max_open_device

(maxfile,“/dev/max0“);

float A[SIZE]


host PC

software

main memory A

PCIe

stream_data(device, A);

example: Maxeler

Using a Maxeler Custom Computer

MAX3 accelerator card

DRAM

memory

manager (Java)

Manager m = new Manager

(“Loop“, MAX3);

m.kernel(Mav_kernel,

link(“A“, PCIE);

link(“B“, DRAM(LINEAR));

m.build();

Maxeler

OS

B

FPGA

kernel (Java)

public class Mav_kernel extends Kernel{

public Mav_kernel(KernelParameters

parameters) {

super(parameters);

HWVar x = io.input(“A“, hwFloat(8,24));

HWVar prev = stream.offset(x, -1);

HWVar next = stream.offset(x, 1);

HWVar sum = prev + x + next;

HWVar result = sum / 3;

io.output(“B“, result, hwFloat(8,24));

}

}


Project Group: Bioinformatics Custom Computing

• use custom computing platforms for

bioinformatics

– design accelerators for important algorithms, e.g.,

“short read mapping”, “sequence alignment”

• access to the hottest currently available custom

computers

– Maxeler MaxStation

– Convey HC-1 Hybrid Core Computer

– programming with high-level design tools, no circuit

design knowledge required

• goals

– outperform the fastest available CPU and GPU

implementations

– validation of results with real data and users

(cooperation CeBiTeC Bielefeld)

images: Maxeler, Convey Computers

Maxeler MaxStation

Convey HC-1

~50’000 US$


• the project group is held in English

• website

Organization and further information

– http://www.cs.uni-paderborn.de/fachgebiete/computer-engineering-group/

teaching/ws1112/pg_bio.html

• lecture “Reconfigurable Computing” by Prof. Marco Platzner

– runs concurrently with the project group

– background knowledge on custom computing technology and tools

• advisors

– Heiner Giefers hgiefers@uni-paderborn.de

– Marco Platzner platzner@uni-paderborn.de

– Christian Plessl christian.plessl@uni-paderborn.de

• registration

– please register via the PAUL system and additionally send us an email

More magazines by this user
Similar magazines