SAUCE: A Web-based Automated Assessment Tool for Teaching Parallel - - PowerPoint PPT Presentation
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,
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
Introduction
Moritz Schlarb Johannes Gutenberg University Mainz 24.08.2015 2/13
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
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
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
Technical Aspects
Moritz Schlarb Johannes Gutenberg University Mainz 24.08.2015 6/13
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
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
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
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
Use Cases
Moritz Schlarb Johannes Gutenberg University Mainz 24.08.2015 11/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
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