Elements of Research Computing » History » Version 3
Miguel Dias Costa, 15/11/2011 14:11
1 | 1 | Miguel Dias Costa | h1. Elements of Research Computing |
---|---|---|---|
2 | 1 | Miguel Dias Costa | |
3 | 1 | Miguel Dias Costa | {{>toc}} |
4 | 1 | Miguel Dias Costa | |
5 | 3 | Miguel Dias Costa | The goal of this document is to introduce some 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 | 3 | 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 performance, 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 | 3 | Miguel Dias Costa | * Project management |
39 | 3 | Miguel Dias Costa | * Code verification |
40 | 3 | Miguel Dias Costa | * Debugging |
41 | 3 | Miguel Dias Costa | * Scability estimates |
42 | 3 | Miguel Dias Costa | * Profiling |
43 | 3 | Miguel Dias Costa | * Optimization |
44 | 3 | Miguel Dias Costa | * Looking for parallelism |
45 | 3 | Miguel Dias Costa | |
46 | 3 | Miguel Dias Costa | h2. Parallel Computing |
47 | 3 | Miguel Dias Costa | |
48 | 3 | Miguel Dias Costa | h3. Embarassingly Parallel (= Distributed ?) |
49 | 3 | Miguel Dias Costa | |
50 | 3 | Miguel Dias Costa | h4. bash subshells |
51 | 3 | Miguel Dias Costa | |
52 | 3 | Miguel Dias Costa | h4. GNU Parallel |
53 | 3 | Miguel Dias Costa | |
54 | 3 | Miguel Dias Costa | h4. Scheduler |
55 | 3 | Miguel Dias Costa | |
56 | 3 | Miguel Dias Costa | h4. MapReduce |
57 | 3 | Miguel Dias Costa | |
58 | 3 | Miguel Dias Costa | h3. Shared Memory Parallelization |
59 | 3 | Miguel Dias Costa | |
60 | 3 | Miguel Dias Costa | h4. POSIX Threads |
61 | 3 | Miguel Dias Costa | |
62 | 3 | Miguel Dias Costa | h4. OpenMP |
63 | 3 | Miguel Dias Costa | |
64 | 3 | Miguel Dias Costa | h3. Distributed Memory Parallelization |
65 | 3 | Miguel Dias Costa | |
66 | 3 | Miguel Dias Costa | h4. MPI |
67 | 3 | Miguel Dias Costa | |
68 | 3 | Miguel Dias Costa | h3. General Purpose GPUs |
69 | 3 | Miguel Dias Costa | |
70 | 3 | Miguel Dias Costa | h4. CUDA |
71 | 3 | Miguel Dias Costa | |
72 | 3 | Miguel Dias Costa | h4. OpenCL |
73 | 3 | Miguel Dias Costa | |
74 | 3 | Miguel Dias Costa | ... |