Open TS for Windows Compute Cluster Server Overview

  • Slides: 36
Download presentation
Open. TS for Windows Compute Cluster Server

Open. TS for Windows Compute Cluster Server

Overview v Introduction v Open. TS (academic) for Windows CCS v T-converter v T-microkernel

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

Introduction

Introduction

Porting Open. TS parallel programming system to Windows Compute Cluster Server Platform v Goals:

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

Open. TS (academic) for Windows CCS

Open. TS (academic) for Windows CCS

Open. TS (academic) for Windows CCS v Open. TS for Windows includes: • T-converter

Open. TS (academic) for Windows CCS v Open. TS 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

T-converter

T-converter

T-converter v Ported on Windows v Based on Open. C++ v Updated for support

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

T-microkernel

T-microkernel

T-microkernel v Platform Abstraction Layer (PAL) developed: • contains system-related calls of Win. API

T-microkernel v Platform Abstraction Layer (PAL) developed: • contains system-related calls of Win. API and POSIX interfaces • provides multiplatform Open. TS kernel code v Assembler code was rewritten to support fast context switching under Windows on AMD 64 and x 86 hardware platforms

Open. TS installer

Open. TS installer

Open. TS installer v Installs Compute Cluster Pack SDK if it was not already

Open. TS installer v Installs Compute Cluster Pack SDK if it was not already installed v Integrates Open. TS with Visual Studio 2005 v Automatically tests Open. TS operability v Uninstalls Open. TS if it was not installed properly v Based on Nullsoft Scriptable Installation System (NSIS)

Open. TS installer UI

Open. TS installer UI

Building T++ applications

Building T++ applications

Building T++ applications from command line v Using command line: Ø t++ [options] [srcfile

Building T++ applications from command line v Using command line: Ø t++ [options] [srcfile 1 … srcfile. N] v 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

Building T++ applications in Visual Studio 2005 IDE A new item in “New Project”

Building T++ applications in Visual Studio 2005 IDE A new item in “New Project” dialog: Open. TS Console Application A new item in “Add New Item” dialog: T++ File

Building T++ applications in Visual Studio 2005 IDE

Building T++ applications in Visual Studio 2005 IDE

Open. TS SDK

Open. TS SDK

Open. TS Software Development Kit v Can be installed independently v Contains Open. TS

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

User documentation

User documentation

Open. TS user documentation

Open. TS user documentation

T++ language reference

T++ language reference

Demo applications

Demo applications

Demo applications written in T++ v POVRay and ALCMD were ported to Windows v

Demo applications written in T++ v POVRay and ALCMD were ported to Windows v A benchmark testing was made to prove the correctness of Windows Open. TS port • Both Windows and Linux were used in testing • Same hardware platform used: AMD 64 • Same Open. TS kernel source code used (socalled cross-platform version of microkernel) • Same applications’ (POVRay and ALCMD) source code used for Windows and Linux

Benchmark notations v time(N) — execution time of T++ implementation that depends on a

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

POVRay time(%) chart

POVRay time(%) chart

POVRay Co. E chart

POVRay Co. E chart

ALCMD time(%) chart

ALCMD time(%) chart

ALCMD Co. E chart

ALCMD Co. E chart

Sync/Async problem v Problem: Co. E for POVRay is decreasing heavily under Windows v

Sync/Async problem v Problem: Co. E for POVRay is decreasing heavily under Windows v Reason: there is no support for asynchronous interaction between processes

POVRay time% Sync / time% Async chart

POVRay time% Sync / time% Async chart

Sync/Async conclusion v It is reasonable to implement asynchronous mode during the next project

Sync/Async conclusion v It is reasonable to implement asynchronous mode during the next project due to Tapplications performance loss under Windows

Benchmark results v For POVRay: • its time is at the maximum only 12%

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

Conclusion v All planned goals are achieved v The work is done for the

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

Proposals for the next step v Asynchronous support v SMP mode v T-program trace

Proposals for the next step v Asynchronous support v SMP mode v T-program trace visualizer v Generating web-services for T-functions v DMPI support v Fault tolerance for T++ applications v Different schedulers v In future: Open. TS/. NET — T#

Thanks! … … Any questions? … …

Thanks! … … Any questions? … …