Скачать презентацию Program Systems Institute Russian Academy of Sciences Open Скачать презентацию Program Systems Institute Russian Academy of Sciences Open

f2e10bdb4065f20cc6a725d100f19a8d.ppt

  • Количество слайдов: 52

Program Systems Institute Russian Academy of Sciences Open TS: an Advanced Tool for Parallel Program Systems Institute Russian Academy of Sciences Open TS: an Advanced Tool for Parallel and Distributed Computing PSI RAS & Moscow State University, Sergey M. Abramov, 23/02/05 (presentation for Microsoft Research Ltd. , Cambridge) 1

Open TS: an advanced tool for parallel and distributed computing. Proposal Motivation Parallel architecture Open TS: an advanced tool for parallel and distributed computing. Proposal Motivation Parallel architecture multitude: multi-core CPUs, SMP, clusters, PC farms, supercomputers, distributed systems, GRID q Parallel programming is still too complex q Challenge: q µ Parallel programming should be easier to be widely used µ Software should be portable and efficient q Proposal addresses this for Windows platform 2

Open TS: an advanced tool for parallel and distributed computing. Presentation Outline Short self-introduction Open TS: an advanced tool for parallel and distributed computing. Presentation Outline Short self-introduction q Open TS: architecture & applications q Proposal q µ Open TS µ Web service synthesis µ Approach testing (applications) 3

Program Systems Institute Russian Academy of Sciences 1. Short Self-Introduction 4 Program Systems Institute Russian Academy of Sciences 1. Short Self-Introduction 4

Open TS: an advanced tool for parallel and distributed computing. Program Systems Institute PSI Open TS: an advanced tool for parallel and distributed computing. Program Systems Institute PSI RAS was established in 1984 by a decree issued by the USSR government q Goals: to foster the development of computer science in the country q The first buildings of the Institute The first director of the Institute Professor A. Aylamazyan 5

Open TS: an advanced tool for parallel and distributed computing. 2005: PSI RAS, Pereslavl-Zalesski Open TS: an advanced tool for parallel and distributed computing. 2005: PSI RAS, Pereslavl-Zalesski 6

Open TS: an advanced tool for parallel and distributed computing. 2005: Institute Structure q Open TS: an advanced tool for parallel and distributed computing. 2005: Institute Structure q q q Artificial Intelligence Research Centre Medical Informatics Research Centre Research Center for Multiprocessor Systems System Analysis Research Centre Control Processes Research Centre Scientific and educational centre: µ µ International Children’s Computer Centre named after A. Aylamazyan Kindergarten and Primary school “Pochemuchka” 7

Open TS: an advanced tool for parallel and distributed computing. University of Pereslavl-Zalesski 8 Open TS: an advanced tool for parallel and distributed computing. University of Pereslavl-Zalesski 8

Open TS: an advanced tool for parallel and distributed computing. SKIF Supercomputing Project q Open TS: an advanced tool for parallel and distributed computing. SKIF Supercomputing Project q q q Joint project of the Russian Federation and the Republic of Belarus 2000 -2004 10 + 10 organizations PSI RAS is the leading organization from the Russian Federation Hardware and Software 9

Open TS: an advanced tool for parallel and distributed computing. Flagship “SKIF К-1000” Peak Open TS: an advanced tool for parallel and distributed computing. Flagship “SKIF К-1000” Peak performance 2, 5 Tflops q Linpack-performance 2, 0 Tflops q Efficiency factor 80. 1 % q The most powerful supercomputer in ex. USSR q Ranked No 98 in Top 500 (November 2004) q 10

Open TS: an advanced tool for parallel and distributed computing. Moscow State University MSU Open TS: an advanced tool for parallel and distributed computing. Moscow State University MSU 250 2005: MSU celebrates 250 th anniversary 11

Program Systems Institute Russian Academy of Sciences 2. Proposal Background Open TS: Architecture & Program Systems Institute Russian Academy of Sciences 2. Proposal Background Open TS: Architecture & Applications 12

Open TS: an advanced tool for parallel and distributed computing. T-System History q q Open TS: an advanced tool for parallel and distributed computing. T-System History q q Mid-80 -ies Basic ideas of T-System 1990 -ies First implementation of T-System 2001 -2002, “SKIF” GRACE — Graph Reduction Applied to Cluster Environment 2003 -current, “SKIF” Open TS — Open T-system 13

Open TS: an advanced tool for parallel and distributed computing. Open TS: an Outline Open TS: an advanced tool for parallel and distributed computing. Open TS: an Outline q q High-performance computing “Automatic dynamic parallelization” Combining functional and imperative approaches, high-level parallel programming Т++ language: “Parallel dialect” of C++ — an approach popular in 90 -ies 14

Open TS: an advanced tool for parallel and distributed computing. Open TS: Environment 15 Open TS: an advanced tool for parallel and distributed computing. Open TS: Environment 15

Open TS: an advanced tool for parallel and distributed computing. Т-Approach “Pure” functions (tfunc) Open TS: an advanced tool for parallel and distributed computing. Т-Approach “Pure” functions (tfunc) invocations produce grains of parallelism q T-Program is q Functional – on higher level µ Imperative – on low level (optimization) µ C-compatible execution model q “Seamless” C-extension (or Fortran-extension) q Multiple assignment q 16

Open TS: an advanced tool for parallel and distributed computing. Comparison: T-System and MPI Open TS: an advanced tool for parallel and distributed computing. Comparison: T-System and MPI High-level a few keywords Low-level hundred(s) primitives C/Fortran T-System Assembler MPI Sequential Parallel 17

Open TS: an advanced tool for parallel and distributed computing. Т++ = Seven Keywords Open TS: an advanced tool for parallel and distributed computing. Т++ = Seven Keywords + C++ q q q q tfun tval tptr tout tdrop twait tct — Т-function — Т-variable — Т-pointer — Output parameter (like &) — Make ready — Wait for readiness — Т-context 18

Open TS: an advanced tool for parallel and distributed computing. Sample Program #include <stdio. Open TS: an advanced tool for parallel and distributed computing. Sample Program #include tfun int fib (int n) { return n < 2 ? n : fib(n-1)+fib(n-2); } tfun int main (int argc, char **argv) { if (argc != 2) { printf("Usage: fib n"); return 1; } int n = atoi(argv[1]); printf("fib(%d) = %dn", n, (int)fib(n)); return 0; } 19

Open TS: an advanced tool for parallel and distributed computing. Open TS Runtime q Open TS: an advanced tool for parallel and distributed computing. Open TS Runtime q q q Three-tiered architecture (Т, M, S) Design: microkernel , 10 extensions currently «Supermemory» Lightweight threads DMPI: Dynamic MPI µ µ auto selection of MPI implementation dynamic loading and linking 20

Open TS: an advanced tool for parallel and distributed computing. Multithreading & Communications q Open TS: an advanced tool for parallel and distributed computing. Multithreading & Communications q Lightweight threads µ PIXELS (1 000 threads) q Asynchronous communications µ A thread “A” asks non-ready value (or new job) µ Asynchronous request sent: Active messages & Signals delivery over network to stimulate data transfer to the thread “A” µ Context switches (including a quant for communications) q Latency Hiding for node-node exchange 22

Open TS: an advanced tool for parallel and distributed computing. DMPI q Dynamic MPI Open TS: an advanced tool for parallel and distributed computing. DMPI q Dynamic MPI µ µ q Seven implementations of MPI supported now: µ µ µ µ q auto selection of MPI implementation dynamic loading and linking LAM MPICH SCALI MPI MVAPICH IMPI MPICH-G 2 PACX-MPI even PVM can be used instead of MPI 23

Open TS: an advanced tool for parallel and distributed computing. Debugging: WAD, LTDB 24 Open TS: an advanced tool for parallel and distributed computing. Debugging: WAD, LTDB 24

Open TS: an advanced tool for parallel and distributed computing. Statistics Gathering 25 Open TS: an advanced tool for parallel and distributed computing. Statistics Gathering 25

Open TS: an advanced tool for parallel and distributed computing. Message Tracing 26 Open TS: an advanced tool for parallel and distributed computing. Message Tracing 26

Open TS: an advanced tool for parallel and distributed computing. Tests: NASA CG, NASA Open TS: an advanced tool for parallel and distributed computing. Tests: NASA CG, NASA EP, FIB 27

Open TS: an advanced tool for parallel and distributed computing. Open TS: Applying to Open TS: an advanced tool for parallel and distributed computing. Open TS: Applying to Distributed Computing Meta-cluster messaging support (MPICH-G 2, IMPI, PACX-MPI) q Customizable scheduling strategies (network topology information used) q 28

Open TS: an advanced tool for parallel and distributed computing. Out of Scope of Open TS: an advanced tool for parallel and distributed computing. Out of Scope of this Presentation q q q Other T-languages: T-Refal, T-Fortan Memoization Automatically choosing between call-style and fork-style of function invocation Checkpointing Heartbeat mechanism Flavours of data references: “normal”, “glue” and “magnetic” — lazy, eager and ultraeager (speculative) data transfer 29

Open TS: an advanced tool for parallel and distributed computing. T-System in Comparison Related Open TS: an advanced tool for parallel and distributed computing. T-System in Comparison Related work Charm++ mp. C++ Glasgow Parallel Haskell Open TS differentiator FP-based approach Implicit parallelism Allows C/C++ based lowlevel optimization OMPC++ Provides both language and C++ templates library Supports SMP, MPI, PVM, and GRID platforms 30 Cilk

Open TS: an advanced tool for parallel and distributed computing. Out of Comparison Scope Open TS: an advanced tool for parallel and distributed computing. Out of Comparison Scope q Parallel Programming Using C++ (Scientific and Engineering Computation) by Gregory V. Wilson (Editor), Paul Lu (Editor) ABC++, Amelia, CC++, CHAOS++, COOL, C++//, ICC++, Mentat, MPC++, MPI++, p. C++, POOMA, TAU, UC++ 31

Open TS: an advanced tool for parallel and distributed computing. Open TS: Current Status Open TS: an advanced tool for parallel and distributed computing. Open TS: Current Status Tested for quality under “SKIF” project q Approximately 20 applications (some notes below) q Supported by grants of Russian Academy of Sciences q 32

Open TS: an advanced tool for parallel and distributed computing. Т-Applications q q q Open TS: an advanced tool for parallel and distributed computing. Т-Applications q q q q Multi. Gen – biological activity estimation Remote sensing applications Plasma modeling Protein simulation Aeromechanics Query engine for XML AI-applications etc. 33

Open TS: an advanced tool for parallel and distributed computing. Multi. Gen Chelyabinsk State Open TS: an advanced tool for parallel and distributed computing. Multi. Gen Chelyabinsk State University К 0 Level 1 К 12 Level 2 К 21 К 22 Multi-conformation model 34

Open TS: an advanced tool for parallel and distributed computing. Multi. Gen: Speedup National Open TS: an advanced tool for parallel and distributed computing. Multi. Gen: Speedup National Cancer Institute USA Reg. No. NCI-609067 (AIDS drug lead) National Cancer Institute USA Reg. No. NCI-641295 (AIDS drug lead) TOSLAB company (Russia-Belgium) Reg. No. TOSLAB A 2 -0261 (antiphlogistic drug lead) Substance Atom number Rotations number Conformers Exectution time (min. : с) 1 node 4 nodes 16 nodes NCI-609067 28 4 13 9: 33 3: 21 1: 22 TOSLAB A 2 -0261 82 18 49 115: 27 39: 23 16: 09 NCI-641295 126 25 74 266: 19 95: 57 34: 48 35

Open TS: an advanced tool for parallel and distributed computing. Aeromechanics Institute of Mechanics, Open TS: an advanced tool for parallel and distributed computing. Aeromechanics Institute of Mechanics, MSU 36

Open TS: an advanced tool for parallel and distributed computing. Belocerkovski’s approach flow presented Open TS: an advanced tool for parallel and distributed computing. Belocerkovski’s approach flow presented as a collection of small elementary whirlwind (colours: clockwise and contra-clockwise rotation) 37

Open TS: an advanced tool for parallel and distributed computing. Aeromechanics: Speedup 500 steps Open TS: an advanced tool for parallel and distributed computing. Aeromechanics: Speedup 500 steps 1 node 2 nodes 4 nodes 8 nodes C 160 MPI 160 87 56 41 T 214 130 81 61 38

Open TS: an advanced tool for parallel and distributed computing. Creating Images from Space-Born Open TS: an advanced tool for parallel and distributed computing. Creating Images from Space-Born Radar Holograms 39

Open TS: an advanced tool for parallel and distributed computing. Simulating Broadband Radar Signal Open TS: an advanced tool for parallel and distributed computing. Simulating Broadband Radar Signal q. Graphical User Interface q. Non-PSI RAS development team (Space research institute of Khrunichev corp. ) 40

Open TS: an advanced tool for parallel and distributed computing. LANDSAT Image Classification q Open TS: an advanced tool for parallel and distributed computing. LANDSAT Image Classification q Computational “web-service” 41

Program Systems Institute Russian Academy of Sciences 3. The Proposal: Open TS: an Advanced Program Systems Institute Russian Academy of Sciences 3. The Proposal: Open TS: an Advanced Tool for Parallel and Distributed Computing 43

Open TS: an advanced tool for parallel and distributed computing. Open TS Proposal Open Open TS: an advanced tool for parallel and distributed computing. Open TS Proposal Open TS migration to MS Windows q Web service q Approach illustrated by applications: q Artificial intelligence µ Molecular modeling µ 44

Open TS: an advanced tool for parallel and distributed computing. Migration Approach q Goal Open TS: an advanced tool for parallel and distributed computing. Migration Approach q Goal — provide Open TS on Windows clusters and SMPs (Win 32 platform) q Migration issues MPI — available µ Linux-specific memory management µ Compilation of T-programs µ 45

Open TS: an advanced tool for parallel and distributed computing. Web-Service Synthesis T-functions — Open TS: an advanced tool for parallel and distributed computing. Web-Service Synthesis T-functions — are pure — easy to expose as web-services q Ease creation of computational services q Easy integration of computational service with q Data µ Other services µ q Build end-to-end data processing chains 46

Open TS: an advanced tool for parallel and distributed computing. Approach demos and presentations Open TS: an advanced tool for parallel and distributed computing. Approach demos and presentations Current importance of selected applications q Two applications: q µ Artificial Intelligence µ Molecular modeling (QM/MM approach) q Development of T-programs by experts in application areas, not in T-programming µ Testing of T-System usability 47

Open TS: an advanced tool for parallel and distributed computing. AKTIS: Text Categorization System Open TS: an advanced tool for parallel and distributed computing. AKTIS: Text Categorization System q The goal: classification documents into a predefined categories q The categories are defined by a training set: a set of category-labeled documents q Features µ Machine learning techniques will be used µ One-word and multi-word terms will be used µ Extraction of multi-word terms will be based on partial syntactic analysis µ Different types of term occurrence will be taking into account 48

Open TS: an advanced tool for parallel and distributed computing. AKTIS: High Performance Computing Open TS: an advanced tool for parallel and distributed computing. AKTIS: High Performance Computing is Needed q Complicated algorithms and a big incoming data flow require a powerful computational facility q Input texts of varying size and complexity require dynamical load balancing q Open-TS will be used to solve the issues 49

Open TS: an advanced tool for parallel and distributed computing. Moscow State University Team Open TS: an advanced tool for parallel and distributed computing. Moscow State University Team Department of Chemistry, M. V. Lomonosov Moscow State University q Molecular modeling. QM/MM – multiscale technique q 50

Open TS: an advanced tool for parallel and distributed computing. The aim is to Open TS: an advanced tool for parallel and distributed computing. The aim is to study mechanisms of chemical reactions in complex molecular environment by considering multidimensional potential energy surfaces in the QM/MM approach E = EQM + EMM (+ EQM/MM) 51

Open TS: an advanced tool for parallel and distributed computing. Running Project: Cleavage of Open TS: an advanced tool for parallel and distributed computing. Running Project: Cleavage of Insulin by Serine-Carboxyl Peptidases E = EQM + EMM (+ EQM/MM) M Q Catalytic triad: Asp 84 Glu 80 Ser 287 Substrate = Insulin 52

Open TS: an advanced tool for parallel and distributed computing. Project Plan 1. Open Open TS: an advanced tool for parallel and distributed computing. Project Plan 1. Open TS: Preliminary porting design 2. Open TS: Migrating to the Windows platform 3. Open TS: bugfixing and performance tuning 4. Web-service tool: Design of webservice synthesis tool 2005 Q 1 Q 2 Q 3 1 5. Web-service tool: Development and testing 6. AI: Initial implementation 7. AI: Testing and performance tuning on Windows 8. QM/MM: Initial implementation 9. QM/MM: Testing and performance tuning on the Windows 2006 Q 4 Q 1 2 4 6 8 3 5 7 9 53

Program Systems Institute Russian Academy of Sciences THANKS … … QUESTIONS ARE WELCOME … Program Systems Institute Russian Academy of Sciences THANKS … … QUESTIONS ARE WELCOME … … 54