1 / 36

OpenTS for Windows Compute Cluster Server

OpenTS for Windows Compute Cluster Server. Overview. Introduction OpenTS (academic) for Windows CCS T-converter T-microkernel OpenTS installer Building T++ applications OpenTS SDK User documentation Demo applications Conclusion Proposals for the next step. Introduction.

kiril
Télécharger la présentation

OpenTS for Windows Compute Cluster Server

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. OpenTS for Windows Compute Cluster Server

  2. Overview • Introduction • OpenTS (academic) for Windows CCS • T-converter • T-microkernel • OpenTS installer • Building T++ applications • OpenTS SDK • User documentation • Demo applications • Conclusion • Proposals for the next step

  3. Introduction

  4. Porting OpenTS parallel programming system to Windows Compute Cluster Server Platform • Goals: • to port academic OpenTS version under Windows • to develop a number of test applications (demos, test suite) • Duration: • 10 months: 01.2006—10.2006 • Over and Above the Plan: • Integration with Visual Studio 2005 • T-converter improvements • Auto C call support • Out of scope: • some features of the OpenTS were not included into academic OpenTS for Windows CCS

  5. OpenTS (academic)for Windows CCS

  6. OpenTS (academic)for Windows CCS • OpenTS for Windows includes: • T-converter • T-microkernel • Installer for Windows • Software development kit • Integration with Visual Studio 2005 • User documentation and T++ language reference • Demo applications

  7. T-converter

  8. T-converter • Ported onWindows • Based on OpenC++ • Updated for support ofVisual C++ special language constructions • Updated for proper support of: • “new” declaration: • int tptr p = new tval int [n]; • template classes: • vector<tval int> fa;

  9. T-microkernel

  10. T-microkernel • Platform Abstraction Layer (PAL) developed: • contains system-related calls of WinAPI and POSIX interfaces • provides multiplatform OpenTS kernel code • Assembler code was rewritten to support fast context switching under Windows on AMD64 andx86 hardware platforms

  11. OpenTS installer

  12. OpenTS installer • InstallsCompute Cluster Pack SDK if it was not already installed • Integrates OpenTS with Visual Studio 2005 • Automatically testsOpenTS operability • Uninstalls OpenTS if it was not installed properly • Based on Nullsoft Scriptable Installation System (NSIS)

  13. OpenTS installer UI

  14. Building T++ applications

  15. Building T++ applicationsfrom command line • Using command line: • t++ [options] [srcfile1 …srcfileN] • Options are: • /auto-c-call - allows T-application to call C-versions of T-functions. This may increase T-application productivity • /c - only compilation of source files without linking • /dbg - make debug build. It allows debugger to obtain information about program symbols in the case of application crush • /do - specify location for object files • /not - build application in sequential mode, all T++ keywords are ignored • /o - specify output executable • /p - pass option to used C/C++ compiler • /v - print commands before invocation

  16. Building T++ applicationsin Visual Studio 2005 IDE A new item in “New Project” dialog: OpenTS Console Application A new item in “Add New Item” dialog: T++ File

  17. Building T++ applicationsin Visual Studio 2005 IDE

  18. OpenTS SDK

  19. OpenTS Software Development Kit • Can be installed independently • Contains OpenTS kernel source code • Allows development of extensions to OpenTS • Contains VS2005 project files for building of: • T++ runtime library • Fast context-switching library • T-applications execution tracer • Several simple T-applications • Created with NSIS

  20. User documentation

  21. OpenTS user documentation

  22. T++ language reference

  23. Demo applications

  24. Demo applications written in T++ • POVRay and ALCMD were ported to Windows • A benchmark testing was made to prove the correctness of Windows OpenTS port • Both Windows and Linux were used in testing • Same hardware platform used: AMD64 • Same OpenTS kernel source code used (so-called cross-platform version of microkernel) • Same applications’ (POVRay and ALCMD) source code used for Windows and Linux

  25. Benchmark notations • time(N) — execution time of T++ implementation that depends on a number N of processors used in test run (in seconds) • time_c — execution time of C implementation (in seconds, one processor used in test run) • time%(N) = time(N) / time_c • CoE = 1 / (N * time%(N)) — coefficient of efficiency

  26. POVRay time(%) chart

  27. POVRay CoE chart

  28. ALCMD time(%) chart

  29. ALCMD CoE chart

  30. Sync/Async problem • Problem: CoE for POVRay is decreasing heavily under Windows • Reason: there is no support for asynchronous interaction between processes

  31. POVRay time% Sync / time% Async chart

  32. Sync/Async conclusion • It is reasonable to implement asynchronous mode during the next project due to T-applications performance loss under Windows

  33. Benchmark results • For POVRay: • its time is at the maximum only 12% greater than under Linux • its CoE is at the maximum only 14% less than under Linux • For ALCMD: • its time (in %) is always roughly the same as time under Linux • its CoE sometimes greater by 21% than under Linux

  34. Conclusion • All planned goals are achieved • The work is done for the current project • There are good prospects for the further cooperation

  35. Proposals for thenext step • Asynchronous support • SMP mode • T-program trace visualizer • Generating web-services for T-functions • DMPI support • Fault tolerance for T++ applications • Different schedulers • In future: OpenTS/.NET — T#

  36. Thanks! … … Any questions? … …

More Related