Project

General

Profile

Elements of Research Computing » History » Version 10

Miguel Dias Costa, 29/02/2012 15:05

1 1 Miguel Dias Costa
h1. Elements of Research Computing
2 1 Miguel Dias Costa
3 10 Miguel Dias Costa
*DRAFT*
4 10 Miguel Dias Costa
5 8 Miguel Dias Costa
The goal of this document is to introduce some general concepts, tools and best practices for research oriented computing. Advanced documents for specific topics can be arranged according to demand. Authors/speakers for specific topics are also welcome.
6 1 Miguel Dias Costa
7 3 Miguel Dias Costa
h2. Preliminary remarks
8 3 Miguel Dias Costa
9 3 Miguel Dias Costa
The categorization "Research Computing" was chosen because, on one hand, that's the audience of this document, researchers that use computational tools; on the other hand, traditional terms like HPC, Grid, Cloud tend to separate from the onset the infrastructure that is going to be used to solve a specific problem, but in most cases one doesn't know what the best infrastructure(s) will be.
10 3 Miguel Dias Costa
11 9 Miguel Dias Costa
In any case, not all aspects of Research Computing will be covered - we will focus mainly on non-interactive "jobs" that have some sort of intensive requirement such as cpu, memory, network, storage, etc.
12 3 Miguel Dias Costa
13 3 Miguel Dias Costa
h2. Some terminology
14 3 Miguel Dias Costa
15 3 Miguel Dias Costa
* High Performance
16 3 Miguel Dias Costa
** perform a specific task in a short period of time (e.g. low latency)
17 3 Miguel Dias Costa
18 3 Miguel Dias Costa
* High Throughput
19 3 Miguel Dias Costa
** perform many tasks in a fixed period of time (e.g. high bandwidth)
20 3 Miguel Dias Costa
21 3 Miguel Dias Costa
* Concurrent
22 3 Miguel Dias Costa
** concurrency is a property of the algorithm (e.g. independence of tasks)
23 3 Miguel Dias Costa
24 3 Miguel Dias Costa
* Parallel
25 3 Miguel Dias Costa
** concurrent parts of an algorithm can (or not) be run in parallel
26 3 Miguel Dias Costa
27 3 Miguel Dias Costa
* Distributed
28 3 Miguel Dias Costa
** distributed generally means loosely parallel (e.g. asynchronous)
29 3 Miguel Dias Costa
30 3 Miguel Dias Costa
* Grid
31 3 Miguel Dias Costa
** Grid usally means a collection of clusters with interoperability at scheduler level
32 3 Miguel Dias Costa
33 3 Miguel Dias Costa
* Cloud
34 3 Miguel Dias Costa
** Cloud means a lot of different things (e.g. Infraestructure/Platform/Software as Services)
35 3 Miguel Dias Costa
36 3 Miguel Dias Costa
h2. Aspects of Research Computing
37 3 Miguel Dias Costa
38 6 Miguel Dias Costa
* [[Reproducibility]]
39 6 Miguel Dias Costa
* [[Project management]]
40 6 Miguel Dias Costa
* [[Coding]]
41 6 Miguel Dias Costa
* [[Debugging]]
42 1 Miguel Dias Costa
* [[Profiling]]
43 6 Miguel Dias Costa
* [[Optimization]]
44 5 Miguel Dias Costa
* [[Parallelization]]
45 8 Miguel Dias Costa
* ...