SAUCE: A Web-based Automated Assessment Tool for Teaching Parallel - - PowerPoint PPT Presentation

sauce a web based automated assessment tool for teaching
SMART_READER_LITE
LIVE PREVIEW

SAUCE: A Web-based Automated Assessment Tool for Teaching Parallel - - PowerPoint PPT Presentation

SAUCE: A Web-based Automated Assessment Tool for Teaching Parallel Programming Euro-EDUPAR, Euro-Par 2015, Vienna, Austria Moritz Schlarb, Christian Hundt, Bertil Schmidt Institute of Computer Science, Johannes Gutenberg University Mainz,


slide-1
SLIDE 1

SAUCE: A Web-based Automated Assessment Tool for Teaching Parallel Programming

Euro-EDUPAR, Euro-Par 2015, Vienna, Austria

Moritz Schlarb, Christian Hundt, Bertil Schmidt Institute of Computer Science, Johannes Gutenberg University Mainz, Germany 24.08.2015

slide-2
SLIDE 2

Introduction Technical Aspects Use Cases

Table of Contents

1 Introduction

Features Basic Examples — Live Demo

2 Technical Aspects

Web Application LTI Distributed Execution

3 Use Cases

Parallel Programming Examples — Live Demo

Moritz Schlarb Johannes Gutenberg University Mainz 24.08.2015 1/13

slide-3
SLIDE 3

Introduction

Moritz Schlarb Johannes Gutenberg University Mainz 24.08.2015 2/13

slide-4
SLIDE 4

Introduction Technical Aspects Use Cases

Introduction

SAUCE — System for AUtomated Code Evaluation

SAUCE

is a language-independent, web-based automated assessment tool for programming assignments in practical programming courses within academic environments like universities and schools.

Moritz Schlarb Johannes Gutenberg University Mainz 24.08.2015 3/13

slide-5
SLIDE 5

Introduction Technical Aspects Use Cases

Introduction

SAUCE — System for AUtomated Code Evaluation

Features

Open source (AGPL-3.0) Flexible w. r. t. authentication, authorization and hierarchy

Students working in Teams within Lessons that have Tutors Self-enrolling External authentication LTI tool provider

Submission similarity calculation for plagiarism detection Distributed execution to support accelerators and parallel architectures

Moritz Schlarb Johannes Gutenberg University Mainz 24.08.2015 4/13

slide-6
SLIDE 6

Introduction Technical Aspects Use Cases

Introduction

Basic Examples — Live Demo

Hello World

Plain old “Hello World”

Be square

Square integers read from standard input

Moritz Schlarb Johannes Gutenberg University Mainz 24.08.2015 5/13

slide-7
SLIDE 7

Technical Aspects

Moritz Schlarb Johannes Gutenberg University Mainz 24.08.2015 6/13

slide-8
SLIDE 8

Introduction Technical Aspects Use Cases

Technical Aspects

Web Application

Controller

TurboGears 2 rapid web development framework

Model

SQLAlchemy object-relational mapper (can use any relational database)

View

Mako template engine Bootstrap CSS framework

Moritz Schlarb Johannes Gutenberg University Mainz 24.08.2015 7/13

slide-9
SLIDE 9

Introduction Technical Aspects Use Cases

Technical Aspects

Web Application

Web Browser http://sauce.informatik.uni-mainz.de/... View Model HTTP Request Parameters Results Results Rendered Results HTTP Response Controller

Moritz Schlarb Johannes Gutenberg University Mainz 24.08.2015 8/13

slide-10
SLIDE 10

Introduction Technical Aspects Use Cases

Technical Aspects

LTI — Learning Tools Interoperability

SAUCE implements LTI specification as a tool provider Testing functionality can be used by other teaching platforms (e. g. Moodle or Coursera) Seamless user experience

No need to log in or join a course Test result submitted back to calling platform

Moritz Schlarb Johannes Gutenberg University Mainz 24.08.2015 9/13

slide-11
SLIDE 11

Introduction Technical Aspects Use Cases

Technical Aspects

Distributed Execution Queue Web App Worker compiles submission executes submission enqueues test job dequeues test job for each test case returns test result receives and validates test result

Moritz Schlarb Johannes Gutenberg University Mainz 24.08.2015 10/13

slide-12
SLIDE 12

Use Cases

Moritz Schlarb Johannes Gutenberg University Mainz 24.08.2015 11/13

slide-13
SLIDE 13

Introduction Technical Aspects Use Cases

Use Cases

Parallel Programming Examples — Live Demo

Worker #1 (iaimz086)

CPU: Intel Xeon X5650 6 cores @ 2.67 GHz with 96 GB RAM GPU: Nvidia Tesla K40c with 12 GB video RAM Software: GCC 4.8.2, NVCC 7.0.27, OpenMP 4.0, OpenMPI 1.6.5

Worker #2 (iaimz105)

CPU: Intel Core i7-3970X 6 cores @ 3.50 GHz with 32 GB RAM GPU: Nvidia Tesla K40c with 12 GB video RAM Software: GCC 4.8.2, NVCC 7.0.27, OpenMP 4.0

Moritz Schlarb Johannes Gutenberg University Mainz 24.08.2015 12/13

slide-14
SLIDE 14

Introduction Technical Aspects Use Cases

Use Cases

Parallel Programming Examples — Live Demo

Solving the Poisson Equation using MPI

Asynchronous point-to-point communication

Odd-Even Sort using OpenMP

Thread pool and implicit barriers

Array Reversal using CUDA

Memory coalescence and shared memory

Moritz Schlarb Johannes Gutenberg University Mainz 24.08.2015 13/13

slide-15
SLIDE 15

Thank You!

schlarbm@uni-mainz.de